:root{--bg: #ECFEFF;--bg-elevated: #ffffff;--fg: #0C2A33;--fg-muted: #3F6672;--primary: #0891B2;--primary-hover: #0E7490;--accent: #059669;--accent-hover: #047857;--danger: #DC2626;--danger-hover: #B91C1C;--border: #A5D8E4;--border-strong: #67B3C6;--focus-ring: #0891B2;--radius: 14px;--radius-sm: 10px}:root[data-theme=dark]{--bg: #071620;--bg-elevated: #0F2530;--fg: #E3F6FB;--fg-muted: #9BC4D0;--primary: #22D3EE;--primary-hover: #67E4F5;--accent: #34D399;--accent-hover: #6EE7B7;--danger: #F87171;--danger-hover: #FCA5A5;--border: #1E4552;--border-strong: #2C6373;--focus-ring: #22D3EE}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #071620;--bg-elevated: #0F2530;--fg: #E3F6FB;--fg-muted: #9BC4D0;--primary: #22D3EE;--primary-hover: #67E4F5;--accent: #34D399;--accent-hover: #6EE7B7;--danger: #F87171;--danger-hover: #FCA5A5;--border: #1E4552;--border-strong: #2C6373;--focus-ring: #22D3EE}}*{box-sizing:border-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Noto Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;background:var(--bg);color:var(--fg);transition:background-color .2s ease,color .2s ease}h1,h2,h3{font-family:Figtree,Noto Sans,sans-serif;font-weight:700;line-height:1.3;margin:0 0 12px;color:var(--fg)}h1{font-size:26px}h2{font-size:19px}p{margin:0 0 16px;color:var(--fg-muted)}a{color:var(--primary)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.screen{max-width:520px;min-height:100dvh;margin:0 auto;padding:32px 20px calc(32px + env(safe-area-inset-bottom))}.brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.brand-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;font-family:Figtree,sans-serif;font-weight:700;font-size:17px;flex-shrink:0}.brand-name{font-family:Figtree,sans-serif;font-weight:600;font-size:15px;color:var(--fg-muted)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;box-shadow:0 1px 2px #0c2a330a}.status-screen{text-align:center;padding-top:12vh}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin-bottom:20px}.status-icon.status-icon-pending{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}.status-icon.status-icon-success{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.status-icon.status-icon-danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.status-screen p{max-width:380px;margin-left:auto;margin-right:auto}.field{display:block;margin-bottom:20px}.field>span{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--fg-muted)}.field input,.field textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.field input:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:focus,.field textarea:focus{border-color:var(--primary)}.field-checkbox{display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 4px;border-bottom:1px solid var(--border);cursor:pointer}.field-checkbox:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.field-checkbox span{flex:1;min-width:0;overflow-wrap:break-word;font-size:15px;color:var(--fg)}.field-checkbox input{width:24px;height:24px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 22px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .15s ease,opacity .15s ease}button:hover,.button:hover{background:var(--accent-hover)}button:active,.button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.button-secondary{background:transparent;color:var(--fg);border:1.5px solid var(--border-strong)}button.button-secondary:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}.button-danger{background:var(--danger)}.button-danger:hover{background:var(--danger-hover)}.progress-track{height:6px;border-radius:999px;background:var(--border);margin-bottom:8px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .25s ease}.step-indicator{font-size:13px;font-weight:500;color:var(--fg-muted);margin-bottom:20px}.wizard-nav{display:flex;gap:12px;margin-top:28px}.wizard-nav button{flex:1}.save-status{margin-top:16px;font-size:13px;color:var(--fg-muted);display:flex;align-items:center;gap:6px}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.save-dot.saving{background:var(--primary)}.admin section{margin-bottom:28px}.admin h2{margin-bottom:14px}.admin ul{list-style:none;padding:0;margin:0}.admin li{padding:12px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.admin li:last-child{border-bottom:none}.admin .user-name{font-weight:600}.admin .user-meta{font-size:13px;color:var(--fg-muted);font-weight:400}.admin .row-actions{display:flex;gap:8px}.admin .row-actions button{min-height:40px;padding:8px 16px;font-size:14px}.admin form{display:flex;gap:10px;flex-wrap:wrap}.admin form input{flex:1;min-width:160px;padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:16px}.issued-link{margin-top:14px;padding:12px 14px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.issued-link code{word-break:break-all;font-size:13px}.admin li.questionnaire-item{display:block;padding:16px 0}.questionnaire-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px}.questionnaire-header strong{font-family:Figtree,sans-serif}.questionnaire-item details summary{cursor:pointer;color:var(--fg-muted);font-size:13px;margin-bottom:8px}.questionnaire-item pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--fg-muted)}
