:root{color-scheme:light;--ink:#14243d;--muted:#5c697c;--accent:#c51f34;--accent-hover:#a8182a;--line:#dce2e9;--surface:#fff;--canvas:#f5f7fa;--success:#17613e;--error:#a01829;--radius:14px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0}a{color:var(--ink);text-underline-offset:3px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #728bac;outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:#617997}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.65rem,3.2vw,2.15rem);line-height:1.23;letter-spacing:-.025em;margin-bottom:12px;font-weight:750}h2{font-size:1.125rem;line-height:1.35;margin-bottom:20px}h3{font-size:1rem;line-height:1.4}p{margin-bottom:16px}strong{font-weight:650}[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;left:16px;background:var(--ink);color:white;padding:12px 18px;z-index:10}.skip-link:focus{top:12px}
.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1184px;margin:auto;min-height:80px;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1rem;text-decoration:none;line-height:1.2}.brand strong{display:block;margin-top:3px;font-size:1.125rem}.brand-mark{display:grid;place-items:center;width:38px;height:42px;border-radius:10px;background:var(--accent);color:white;font-size:1.375rem;font-weight:700}.header-link{font-size:.875rem;font-weight:600}.page{max-width:1184px;padding:42px 32px 52px;margin:auto}.page-heading{margin-bottom:26px}.page-heading>p{max-width:700px;color:var(--muted);margin-bottom:0}.eyebrow{display:inline-block;font-size:.8125rem;font-weight:650;letter-spacing:.04em;background:#e9edf3;border-radius:5px;padding:4px 9px;margin-bottom:14px;color:#3f5069}.request-layout{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(230px,1fr);gap:32px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.form-panel{padding:28px 30px 30px}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}.panel-heading h2{margin:0}.required-caption{font-size:.75rem;line-height:1.5;color:var(--muted);max-width:192px;text-align:right}fieldset{border:0;padding:0;margin:0;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:22px;min-width:0}.field>label{display:block;font-weight:650;font-size:.9375rem;margin-bottom:8px}.optional{font-size:.8125rem;font-weight:400;color:var(--muted);margin-left:6px}input,textarea,select{width:100%;color:var(--ink);border:1px solid #bcc7d4;background:white;border-radius:7px;padding:11px 12px;min-width:0;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#798595;opacity:1}textarea{display:block;resize:vertical;line-height:1.6;min-height:94px}.links-input{min-height:144px;font-size:.9375rem}input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--error)}.field-help{font-size:.875rem;color:var(--muted);margin:-2px 0 10px}.field-error{font-size:.875rem;line-height:1.45;color:var(--error);margin:7px 0 0}.form-actions{display:flex;align-items:center;gap:18px;padding-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:7px;min-height:46px;padding:11px 19px;font-weight:650;font-size:.9375rem;line-height:1.45;text-decoration:none;white-space:normal;transition:background .15s}.button-primary{background:var(--accent);color:white}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-secondary{background:white;color:var(--ink);border-color:#bec8d5}.button-secondary:hover:not(:disabled){background:#f1f4f8}.button-quiet{background:transparent;color:var(--ink);border-color:var(--line)}.action-note{font-size:.8125rem;line-height:1.45;color:var(--muted);margin:0;max-width:240px}.help-panel{padding-top:7px}.help-panel h2{margin-bottom:21px}.steps{padding:0;margin:0 0 30px;list-style:none}.steps li{display:flex;gap:12px;align-items:flex-start;margin-bottom:19px;font-size:.9375rem;line-height:1.5;color:#405069}.step-number{display:grid;place-items:center;flex:0 0 26px;height:26px;background:white;border:1px solid var(--line);border-radius:50%;font-size:.8125rem;font-weight:650;color:var(--ink)}.help-note{padding-top:23px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.help-note strong{display:block;color:var(--ink);margin-bottom:8px}.help-note p{margin-bottom:20px}.privacy-note{font-size:.8125rem;color:var(--muted);line-height:1.5}.notice{border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:.9375rem;line-height:1.5;margin-bottom:22px}.notice strong{display:block;margin-bottom:3px}.notice p{margin:4px 0 0}.notice-neutral{background:#edf2f7;color:#354963;border-color:#d4deeb}.notice-success{background:#edf8f1;border-color:#bcdcc8;color:var(--success)}.notice-error{background:#fff2f3;border-color:#ebc7cc;color:var(--error)}.result-notice{margin:24px 0 0}.notice .button{margin-top:12px}.site-footer{max-width:1184px;margin:auto;padding:22px 32px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.8125rem}
.admin-page{max-width:1320px}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px}.login-panel{max-width:460px;padding:30px;margin:16px auto 42px}.login-panel h2{font-size:1.375rem;margin-bottom:10px}.login-panel>p{color:var(--muted);font-size:.9375rem}.login-panel .button-primary{width:100%}.login-panel .notice{margin:18px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 25px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 22px}.stat-value{display:block;font-size:1.875rem;line-height:1.2;font-weight:700;letter-spacing:-.03em;margin-bottom:5px}.stat-label{font-size:.875rem;color:var(--muted)}.list-panel{padding:24px}.list-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:18px}.list-heading h2{margin:0}.list-meta{color:var(--muted);font-size:.8125rem}.filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr);gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.filters .field{margin:0}.filters label{font-size:.8125rem}.requests-list{display:grid;gap:16px}.request-card{border:1px solid var(--line);border-radius:9px;padding:19px 20px;min-width:0}.request-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.request-department{font-size:1rem;margin:0 0 4px;overflow-wrap:anywhere}.request-employee{font-size:.875rem;color:var(--muted);margin:0;overflow-wrap:anywhere}.request-date{font-size:.8125rem;color:var(--muted);white-space:nowrap}.status-tag{display:inline-flex;background:#edf5f0;color:#285b40;border:1px solid #d2e3d8;padding:3px 8px;border-radius:5px;font-size:.8125rem;white-space:nowrap}.basket-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.basket-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;background:#f6f8fb;border-radius:6px;min-width:0}.basket-link{min-width:0;font-size:.875rem;overflow-wrap:anywhere;color:#234f81}.request-comment{font-size:.875rem;line-height:1.55;border-top:1px solid var(--line);padding-top:14px;margin:16px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.request-comment strong{font-size:.8125rem;display:block;margin-bottom:4px}.empty-state{text-align:center;padding:38px 16px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:1.125rem;margin-bottom:8px}.empty-state p{margin:0 auto;max-width:500px;font-size:.9375rem}.loader{padding:40px 16px;text-align:center;color:var(--muted)}.admin-footnote{font-size:.8125rem;color:var(--muted);margin:20px 0 0}.admin-access-message{margin-bottom:0}.session-note{font-size:.875rem;color:var(--muted)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.invite-panel{padding:22px 24px;margin-bottom:25px}.invite-panel h2{margin-bottom:8px}.invite-controls{display:flex;gap:10px}.invite-controls input{flex:1;min-width:0;font-size:.875rem}.invite-controls button{flex:0 0 auto}.invite-status{font-size:.8125rem;color:var(--muted);margin:9px 0 0}
@media(max-width:900px){.request-layout{grid-template-columns:minmax(0,1fr);gap:26px}.help-panel{padding:0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}.steps li{margin-bottom:0}.help-note{padding-top:19px}.help-note p{max-width:650px}.privacy-note{margin-bottom:0}.admin-heading{display:block}.heading-actions{padding:0 0 8px}.request-date{white-space:normal;text-align:right}}
@media(max-width:600px){.header-inner{min-height:72px;padding:15px 20px;gap:12px}.header-link{font-size:.8125rem}.brand{gap:9px;font-size:.875rem}.brand strong{font-size:1rem}.brand-mark{width:33px;height:37px;font-size:1.125rem}.page{padding:28px 16px 34px}.page-heading{margin-bottom:23px}.page-heading>p{font-size:.9375rem}.eyebrow{margin-bottom:12px}.form-panel{padding:22px 18px 24px}.panel-heading{display:block;margin-bottom:23px}.required-caption{display:block;max-width:none;text-align:left;margin-top:6px}.field-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:20px}.form-actions{display:block}.form-actions .button{width:100%}.action-note{margin-top:11px;max-width:none;text-align:center}.steps{display:block}.steps li{margin-bottom:16px}.help-panel{padding:0 5px}.site-footer{padding:20px 20px 26px;display:block}.site-footer span{display:block;margin:4px 0}.notice{padding:13px 14px}.stats-grid{gap:8px;margin-bottom:20px}.stat{padding:15px 10px}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem;line-height:1.4;display:block}.list-panel{padding:20px 14px}.list-heading{display:block}.list-meta{display:block;margin-top:5px}.filters{grid-template-columns:1fr;gap:14px}.request-card{padding:16px 13px}.request-card-header{display:block;margin-bottom:14px}.request-date{display:block;text-align:left;margin-top:8px}.basket-list li{display:block;padding:11px}.status-tag{margin-top:8px}.heading-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.heading-actions .button:last-child{grid-column:1/-1}.login-panel{margin:0;padding:24px 20px}.login-panel .button{width:100%}input,textarea,select{font-size:1rem}.links-input{font-size:1rem}.request-comment{margin-top:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.invite-panel{padding:20px 14px}.invite-controls{display:block}.invite-controls input{font-size:1rem}.invite-controls button{margin-top:10px;width:100%}}
