:root{font-family:Arial,sans-serif;color:#16333d;background:#f2f6f6;font-size:16px;color-scheme:light;--navy:#0a2333;--teal:#176b78;--line:#dae5e6;--muted:#5c7379;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}body{margin:0}a{color:var(--teal)}[hidden]{display:none!important}svg{flex:none}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
header{height:88px;padding:18px 4vw;background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #25414f}
.brand{display:flex;align-items:center;gap:28px;color:white;text-decoration:none}.brand img{display:block;width:168px;height:auto}.brand span{border-left:1px solid #34525f;padding-left:28px;font-size:14px;color:#c2d8dd}.header-actions{display:flex;align-items:center;gap:18px}.private-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#b8d2d9}#signout{background:transparent;border-color:#496570;color:white;min-height:40px;padding:9px 14px}
main{max-width:1540px;margin:0 auto;padding:32px 4vw}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(28px,2.6vw,36px);letter-spacing:-.035em;line-height:1.15;margin:0 0 10px}h2{font-size:18px;letter-spacing:-.02em;margin:0;line-height:1.4}p{line-height:1.6}.eyebrow{font-size:13px;color:var(--muted);margin:0 0 12px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 24px}.heading p{margin:0;color:var(--muted);font-size:14px}.heading-actions{display:flex;align-items:center;gap:20px}.heading time{color:var(--muted);font-size:13px}
button,input,select,textarea{font:inherit}button,input,select{min-height:44px;border-radius:9px;padding:11px 14px;border:1px solid #bed1d4}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:var(--teal);color:white;border-color:var(--teal);font-size:14px;font-weight:600;transition:transform 160ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.55;cursor:wait;transform:none}.secondary{background:white;color:var(--teal);border-color:#c3d4d7}.text-button{background:transparent;color:var(--teal);border:0;padding:10px 0;margin-top:15px;text-decoration:underline;justify-content:start;font-weight:400}
input,select,textarea{background:white;color:#173b45}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4fbbc3;outline-offset:3px}form,label{display:grid;gap:8px}form{gap:20px;margin-top:26px}label{font-size:14px}input,select{width:100%;min-width:0}
.auth-panel{max-width:460px;margin:40px auto 60px;padding:32px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px #0a233306}.auth-panel h1{font-size:30px}.auth-panel>p:not(.eyebrow){color:var(--muted);font-size:15px}.auth-panel form button{justify-self:stretch}.auth-mark{display:grid;place-items:center;width:46px;height:46px;background:#e7f3f2;color:var(--teal);border-radius:12px;margin-bottom:22px}.auth-mark .icon{width:24px;height:24px}#message:empty{display:none}#message{max-width:100%;margin:0 0 24px;padding:14px 18px;background:#fff2e9;border:1px solid #e8ccba;border-radius:10px;color:#863c22;white-space:pre-wrap;font-size:14px}
.admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:34px}.dashboard-content{min-width:0}.dashboard-sidebar{align-self:start;position:sticky;top:30px;display:flex;flex-direction:column;gap:26px;padding:9px 0}.sidebar-label{font-size:12px;color:var(--muted);margin:0 12px 10px}.dashboard-sidebar nav{display:grid;gap:6px}.dashboard-sidebar nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:12px;border-radius:9px;text-decoration:none;color:#47636c;font-size:14px}.dashboard-sidebar nav a:first-child{background:#dcefee;color:#135a63;font-weight:600}.sidebar-account{padding:18px;border:1px solid var(--line);border-radius:12px;background:#e8f0f1;font-size:13px;line-height:1.6}.sidebar-account strong{display:block;color:var(--navy);margin-bottom:4px}.sidebar-account p{margin:0;color:#566d73}.sidebar-account a{display:inline-block;margin-top:12px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.stats button{display:block;position:relative;text-align:left;background:white;color:#294a54;border-color:var(--line);padding:20px;min-width:0;border-radius:14px;transition:transform 160ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}.stats .stat-label{display:block;margin-right:30px;font-size:14px;font-weight:500;line-height:1.5}.stats .stat-icon{position:absolute;right:17px;top:17px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#edf5f5;color:var(--teal)}.stats .stat-icon .icon{width:17px;height:17px}.stats strong{display:block;font-size:38px;font-weight:600;line-height:1;letter-spacing:-.045em;margin:20px 0 12px;font-variant-numeric:tabular-nums}.stats .stat-meta{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}.stats button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.stats button[aria-pressed=true] .stat-meta{color:#b5d3d9}.stats button[aria-pressed=true] .stat-icon{background:#214553;color:#8bdbd7}
.overview-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:18px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading .icon{color:var(--teal)}.panel-subtitle{font-size:13px;color:var(--muted);margin:4px 0 0}.pipeline-row+.pipeline-row{margin-top:16px}.pipeline-label{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}.pipeline-label span:last-child{font-variant-numeric:tabular-nums;color:var(--muted)}.pipeline-track{height:7px;border-radius:9px;overflow:hidden;background:#eef3f4}.pipeline-fill{height:100%;width:100%;border-radius:inherit;transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--ease-in-out);background:#75c8c6}.pipeline-progress{background:#398d9b}.pipeline-completed{background:var(--navy)}.notice{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.security-divider{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.notice .icon{width:16px;height:16px;vertical-align:-3px;margin-right:4px}#mfa-offer p{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.6}#mfa-offer button{font-size:13px}#mfa-enabled{margin:0;font-size:14px;font-weight:600;color:#23665c}
.request-list{padding:24px;background:white;border:1px solid var(--line);border-radius:14px;scroll-margin-top:24px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;align-items:end;gap:12px;margin:0;padding-bottom:24px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.filters label{font-size:12px;min-width:0}.filters input,.filters select{font-size:14px;min-height:42px;padding:10px 12px}.filters button{min-height:42px;padding:10px 14px}.toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:20px 0}.toolbar #count{font-size:13px;color:var(--muted)}.toolbar button{min-height:40px;font-size:13px;padding:9px 13px}#requests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;transition:opacity 160ms ease}#requests[aria-busy=true]{opacity:.55}.request{background:#fbfdfd;border:1px solid var(--line);border-radius:12px;padding:22px;margin:0;min-width:0}.request h2{font-size:18px;margin:0 0 6px}.request p{margin:8px 0;overflow-wrap:anywhere;font-size:14px}.request .meta{color:var(--muted);font-size:12px;line-height:1.6}.request a{color:var(--teal)}.request ul{padding-left:18px;line-height:1.65;font-size:14px;margin:18px 0}.request .notes{white-space:pre-wrap;color:#42616b;padding:12px;background:#edf4f4;border-radius:8px}.request>label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;font-size:13px}.request>label select{max-width:180px;min-height:38px;font-size:13px;padding:8px 12px}.request-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.status-badge{padding:6px 9px;border-radius:6px;font-size:12px;white-space:nowrap;background:#e5edf0;color:#315966}.status-new{background:#dff2f1;color:#175e61}.status-in_progress{background:#e6edf7;color:#355981}.status-completed{background:#e7f1e9;color:#37664c}.empty{grid-column:1/-1;padding:48px 24px;border:1px dashed #b5cbd0;border-radius:12px;text-align:center;color:var(--muted)}.empty h2{color:var(--navy);margin-bottom:8px}.empty p{margin:0;font-size:14px}#more{margin-top:20px}
.workflow{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.attention{color:#795722;background:#f8f0df;padding:8px 12px;border-radius:6px;font-weight:500;font-size:13px!important}.attention.ongoing{background:#e9f1f7;color:#355981}.reply-button{display:inline-flex;align-items:center;min-height:40px;margin-top:10px;padding:9px 13px;border:1px solid #b4cbce;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;background:white;transition:transform 160ms var(--ease-out),background-color 160ms ease}.reply-button:active{transform:scale(.98)}.request .note-form label{margin:0;font-size:13px}.note-form{margin:18px 0 0;gap:9px}.note-form textarea{width:100%;resize:vertical;line-height:1.5;padding:10px 12px;border:1px solid #bed1d4;border-radius:8px;min-height:80px;font-size:14px}.note-form button{justify-self:start;min-height:38px;padding:8px 12px;font-size:13px}.note-form small{color:var(--muted);font-size:12px;line-height:1.5}.note-form [role=status]{font-size:13px;color:var(--teal)}.history{margin-top:18px}.history summary{cursor:pointer;padding:8px 0;font-size:13px;color:var(--muted)}.history ul{margin-top:8px}.history li{font-size:12px}.history[open] ul{animation:admin-fade 160ms ease}
footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:24px 0 8px;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer a{color:var(--teal)}#mfa-qr{display:block;max-width:100%;height:auto;background:white;padding:12px;margin:20px auto}#mfa-secret{display:block;overflow-wrap:anywhere;padding:12px;background:#f0f5f5;border:1px solid #b6cdd0;border-radius:8px}#mfa-form input{letter-spacing:.2em}
.dashboard-sidebar nav a:first-child:not([aria-current]){background:transparent;color:#47636c;font-weight:400}.dashboard-sidebar nav a[aria-current]{background:#dcefee;color:#135a63;font-weight:600}
/* A single entrance on sign-in; filtering and refreshing never replay it. */
.admin-enter{animation:admin-enter 300ms var(--ease-out) both}.stats .admin-enter:nth-child(2){animation-delay:40ms}.stats .admin-enter:nth-child(3){animation-delay:80ms}.stats .admin-enter:nth-child(4){animation-delay:120ms}.overview-grid .admin-enter:first-child{animation-delay:80ms}.overview-grid .admin-enter:last-child{animation-delay:120ms}.request-list.admin-enter{animation-delay:160ms}@keyframes admin-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-fade{from{opacity:.3}to{opacity:1}}
@media(hover:hover) and (pointer:fine){button:hover:not(:disabled){background:#105661;transform:translateY(-1px)}.secondary:hover:not(:disabled),.reply-button:hover{background:#edf6f5}.text-button:hover:not(:disabled){background:transparent;color:#0a4550;transform:none}#signout:hover{background:#294552}.stats button:hover:not(:disabled){background:#eef6f5;border-color:#9dbfbf;transform:translateY(-2px)}.stats button[aria-pressed=true]:hover:not(:disabled){background:#183e4c;border-color:#183e4c}.dashboard-sidebar nav a:hover{background:#e0edee}.reply-button:hover{transform:translateY(-1px)}}
@media(max-width:1250px){main{padding:28px 28px}.admin-layout{grid-template-columns:168px minmax(0,1fr);gap:24px}.filters{grid-template-columns:2fr 1fr 1fr 1fr}.filters button{width:max-content}.heading time{display:none}.stats button{padding:18px}.stats .stat-meta{font-size:12px}}
@media(max-width:1000px){.admin-layout{display:block}.dashboard-sidebar{position:static;display:block;padding:0;margin-bottom:26px}.dashboard-sidebar .sidebar-label,.sidebar-account{display:none}.dashboard-sidebar nav{display:flex;flex-wrap:wrap;gap:6px}.dashboard-sidebar nav a{padding:10px 12px}.stats{gap:10px}.stats button{padding:16px}.stats .stat-icon{right:12px;top:12px}.overview-grid{gap:14px}}
@media(max-width:700px){header{height:76px;padding:16px 20px}.brand img{width:145px}.brand span,.private-label{display:none}main{padding:24px 18px}.auth-panel{margin:20px auto 40px;padding:26px}.heading{align-items:flex-start;margin-bottom:22px}.heading h1{font-size:28px}.heading p{font-size:13px}.heading #refresh{min-height:40px;padding:9px 11px}.heading #refresh .button-label{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats button{padding:18px}.stats strong{font-size:34px;margin-top:18px}.stats .stat-icon{right:14px;top:14px}.stats .stat-meta{font-size:12px}.overview-grid{grid-template-columns:1fr}.panel{padding:20px}.request-list{padding:18px}.filters{grid-template-columns:1fr 1fr;gap:14px}.search-field{grid-column:1/-1}.filters button{width:100%}.filters input,.filters select{font-size:16px}.toolbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.toolbar button{font-size:12px}#requests{grid-template-columns:1fr}.request{padding:18px}.request-heading{flex-wrap:wrap;gap:10px}.note-form textarea,.request>label select{font-size:16px}.request>label select{max-width:200px}.dashboard-sidebar nav a{font-size:13px}.dashboard-sidebar nav a .icon{width:17px;height:17px}footer{line-height:1.6}}
@media(max-width:380px){main{padding:20px 12px}.stats button{padding:14px}.stats .stat-label{font-size:13px}.stats .stat-icon{width:25px;height:25px;right:10px;top:10px}.filters{grid-template-columns:1fr}.request-list{padding:14px}.auth-panel{padding:22px}.request>label{display:grid}.request>label select{max-width:none}}
@media(prefers-reduced-motion:reduce){.admin-enter{animation:admin-fade 160ms ease;animation-delay:0ms!important}.pipeline-fill{transition:none}button,.reply-button{transition:background-color 160ms ease,border-color 160ms ease}button:hover:not(:disabled),button:active:not(:disabled),.stats button:hover:not(:disabled),.reply-button:hover,.reply-button:active{transform:none}}
