:root{--bg: #FDFBF6;--bg-elevated: #ffffff;--fg: #2B2E1F;--fg-muted: #6B6F55;--primary: #4B5233;--primary-hover: #5C663C;--accent: #5C6B3D;--accent-hover: #6F7F49;--gold: #C5A062;--danger: #A33A21;--danger-hover: #8A3019;--border: #DCD3B8;--border-strong: #C7B98D;--focus-ring: #4B5233;--radius: 16px;--radius-sm: 12px}:root[data-theme=dark]{--bg: #1C1B14;--bg-elevated: #2A2820;--fg: #F3EEDF;--fg-muted: #B8B49C;--primary: #707C46;--primary-hover: #8B9860;--accent: #707C46;--accent-hover: #8B9860;--gold: #D4AF7A;--danger: #D96B4C;--danger-hover: #E88569;--border: #3D3A2C;--border-strong: #55503A;--focus-ring: #8B9860}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1C1B14;--bg-elevated: #2A2820;--fg: #F3EEDF;--fg-muted: #B8B49C;--primary: #707C46;--primary-hover: #8B9860;--accent: #707C46;--accent-hover: #8B9860;--gold: #D4AF7A;--danger: #D96B4C;--danger-hover: #E88569;--border: #3D3A2C;--border-strong: #55503A;--focus-ring: #8B9860}}*{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:Inter,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:Playfair Display,Inter,serif;font-weight:600;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)}.theme-toggle{position:fixed;top:16px;right:16px;z-index:50;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease,border-color .15s ease}:root[data-theme=dark] .theme-toggle{background:#26231e;border:1px solid rgba(255,255,255,.08);color:#ffffffb3}:root[data-theme=dark] .theme-toggle:hover{background:#322e27;color:#fff}:root[data-theme=light] .theme-toggle{background:#fff;border:1px solid #E5DFC9;color:#6b6f55}:root[data-theme=light] .theme-toggle:hover{background:#fbf8f0;color:#2b2e1f}.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;padding-right:56px;margin-bottom:28px}.account-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:56px;margin-bottom:20px}.account-name{font-size:13px;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-logout{flex-shrink:0;background:none;border:none;min-height:auto;padding:4px 0;color:var(--fg-muted);font-size:13px;font-weight:600;text-decoration:underline}.account-logout:hover{background:none;color:var(--danger)}.brand-side-link{margin-left:auto;font-size:13px;font-weight:600;color:var(--fg-muted);text-decoration:none}.brand-side-link:hover{color:var(--primary)}.brand-mark{display:block;width:48px;height:48px;flex-shrink:0;object-fit:contain}.brand-mark-lg{width:104px;height:104px;margin:0 auto 20px}.brand-name{font-family:Playfair Display,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)}ul{list-style:none;padding:0;margin:0}li{padding:12px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}li:last-child{border-bottom:none}.user-name{font-weight:600}.user-meta{font-size:13px;color:var(--fg-muted);font-weight:400}.doc-link{background:none;border:none;padding:0;min-height:auto;text-align:left;width:100%;display:block;color:inherit;font:inherit}.doc-link:hover{background:none}.doc-link:hover .user-name{color:var(--primary)}.doc-row{display:flex;align-items:center;gap:8px}.doc-row .doc-link{flex:1;width:auto;min-width:0}.doc-delete{flex-shrink:0;width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--fg-muted)}.doc-delete:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.admin{--bg: #1D1B17;--bg-elevated: #26231E;--fg: #F3EFE8;--fg-muted: rgba(255, 255, 255, .65);--primary: #8A9856;--primary-hover: #9CAA68;--accent: #8A9856;--accent-hover: #9CAA68;--danger: #D9695F;--danger-hover: #E38076;--border: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .12);--focus-ring: #8A9856;--input-bg: #2E2A23;--placeholder-color: rgba(255, 255, 255, .35);--radius: 20px;--radius-sm: 14px;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,sans-serif}:root[data-theme=light] .admin{--bg: #FBFAF6;--bg-elevated: #FFFFFF;--fg: #1D1B17;--fg-muted: rgba(29, 27, 23, .65);--primary: #5C6B3D;--primary-hover: #4B5731;--accent: #5C6B3D;--accent-hover: #4B5731;--danger: #A33A21;--danger-hover: #8A3019;--border: rgba(29, 27, 23, .08);--border-strong: rgba(29, 27, 23, .16);--focus-ring: #5C6B3D;--input-bg: #F3F1EA;--placeholder-color: rgba(29, 27, 23, .35)}.admin h1,.admin h2,.admin h3{font-family:Inter,system-ui,sans-serif;font-size:20px;font-weight:600;margin:0}.admin p{font-size:16px}.admin section{margin-bottom:32px}.admin .card{padding:24px}.admin h2{margin-bottom:16px}.card-subtitle{font-size:14px;color:var(--fg-muted);margin:-12px 0 20px}.admin button,.admin .button{min-height:48px;padding:0 24px}.admin .field input,.admin .field textarea,.admin form input{height:48px;background:var(--input-bg);border:1px solid var(--border)}.admin .field textarea{height:auto}.admin input::placeholder{color:var(--placeholder-color)}.admin-header{display:flex;align-items:center;gap:16px;padding-bottom:24px;padding-right:56px;margin-bottom:32px;border-bottom:1px solid var(--border)}.admin-logo{width:56px;height:56px;object-fit:contain;flex-shrink:0}.admin-header-text{margin-left:auto;text-align:right}.admin-header-name{font-size:16px;font-weight:600}.admin-header-role{font-size:14px;font-weight:500;opacity:.7}.header-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg-muted);flex-shrink:0}.header-icon-button:hover{color:var(--fg)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0 8px;color:var(--fg-muted)}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--bg-elevated);color:var(--fg-muted);margin-bottom:16px}.icon-field{position:relative}.icon-field svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--fg-muted);pointer-events:none}.admin .icon-field input{width:100%;height:48px;padding:0 16px 0 44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--fg);font:inherit;font-size:16px}.admin .icon-field input::placeholder{color:var(--placeholder-color)}.admin form .icon-field{width:100%}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--primary) 24%,var(--bg-elevated));color:var(--fg);font-size:13px;font-weight:600;flex-shrink:0}.section-heading{display:flex;align-items:center;justify-content:space-between}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--bg-elevated);color:var(--fg-muted);font-size:13px;font-weight:600}.list-row{display:flex;align-items:center;gap:16px;width:100%}.list-row .user-link{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.list-row-meta{display:flex;align-items:center;gap:6px}.chevron{color:var(--fg-muted);flex-shrink:0}.show-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:16px;background:none;color:var(--primary);min-height:40px;font-size:14px;font-weight:600}.show-all:hover{background:none;color:var(--primary-hover)}.chat-panel{display:flex;flex-direction:column;margin-top:16px}.chat-messages{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow-y:auto;padding:4px 2px}.chat-empty{color:var(--fg-muted);text-align:center;padding:24px 0}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:var(--radius-sm);font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-bubble-user{align-self:flex-end;background:var(--accent);color:#fff}.chat-bubble-assistant{align-self:flex-start;background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg)}.chat-bubble-pending{opacity:.6}.chat-bubble-time{margin-top:4px;font-size:11px;opacity:.6}.composer{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:10px 12px 8px;border:1px solid var(--border);border-radius:16px;background:var(--input-bg, var(--bg-elevated))}.composer-input{width:100%;resize:none;border:none;outline:none;background:transparent;color:var(--fg);font:inherit;font-size:15px;line-height:1.5;padding:0;max-height:200px;overflow-y:auto}.composer-input::placeholder{color:var(--placeholder-color, var(--fg-muted))}.composer-actions{display:flex;align-items:center;gap:4px}.admin .composer-icon{width:30px;height:30px;min-height:30px;padding:0;border-radius:8px;background:transparent;border:none;color:var(--fg-muted)}.admin .composer-icon:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--fg)}.composer-icon.is-active{color:var(--danger)}.admin .composer-send{width:32px;height:32px;min-height:32px;padding:0;border-radius:50%}.composer-send:disabled{opacity:.4;cursor:not-allowed}.pending-row{display:flex;flex-direction:column;gap:14px;width:100%}.pending-row .user-link{display:flex;align-items:center;gap:16px}.pending-row .row-actions{display:flex;gap:8px}.pending-row .row-actions button{flex:1}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-approved{background:var(--accent)}.status-dot-pending{background:var(--fg-muted)}.status-dot-rejected{background:var(--danger)}.section-hint{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted);margin:16px 0 0}.admin li{padding:16px 0;gap:16px}.admin .row-actions{display:flex;gap:8px}.admin .row-actions button{font-size:14px}.user-link{text-decoration:none;color:inherit;display:block;min-width:0}.user-link:hover .user-name{color:var(--primary)}.back-link{display:inline-block;margin-bottom:20px;color:var(--fg-muted);text-decoration:none;font-size:14px}.back-link:hover{color:var(--primary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:14px}.status-badge-pending{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}.status-badge-approved{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.status-badge-rejected{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.admin form{display:flex;flex-direction:column;gap:16px}.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}details.answers-toggle summary{cursor:pointer;color:var(--fg-muted);font-size:13px;font-weight:600;margin-bottom:8px;list-style:none;display:flex;align-items:center;gap:6px}details.answers-toggle summary::-webkit-details-marker{display:none}details.answers-toggle summary:before{content:"▸";display:inline-block;transition:transform .15s ease}details.answers-toggle[open] summary:before{transform:rotate(90deg)}.answer-list{margin:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 14px}.answer-row{padding:10px 0;border-bottom:1px solid var(--border)}.answer-row:last-child{border-bottom:none}.answer-row dt{font-size:13px;color:var(--fg-muted);margin-bottom:2px}.answer-row dd{margin:0;font-size:14px;color:var(--fg);white-space:pre-wrap;word-break:break-word}
