@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f7fa;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f4f8;--border:#e3e8ef;--border-strong:#cdd5df;--text:#111a27;--text-muted:#5a6779;--text-subtle:#667085;--brand:#2993d1;--primary:#1a6fa8;--primary-hover:#155b8a;--primary-soft:#eaf4fb;--primary-ring:#2993d152;--navy:#2c307a;--success:#17794a;--success-soft:#e7f5ee;--warning:#935600;--warning-soft:#fdf4e3;--danger:#b42318;--danger-soft:#fdedeb;--neutral-soft:#eef1f5;--radius:10px;--radius-sm:7px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-lg:0 12px 32px #10182824, 0 2px 6px #1018280f;--sidebar:252px;--topbar:60px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01";font-family:Inter Variable,Inter,Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}h1,h2,h3,h4{letter-spacing:-.012em;margin:0;line-height:1.25}h1{font-size:1.6rem;font-weight:680}h2{font-size:1.06rem;font-weight:640}h3{font-size:.98rem;font-weight:640}p{margin:0 0 .75rem}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}small,.muted{color:var(--text-muted)}.nowrap{white-space:nowrap}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}svg{flex:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.skip-link{z-index:50;background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:8px 14px;font-weight:600;position:absolute;top:-48px;left:12px}.skip-link:focus{text-decoration:none;top:12px}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.logo{width:32px;height:32px;color:var(--navy)}.brand{height:var(--topbar);border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:0 18px;display:flex}.brand-name{letter-spacing:.03em;color:var(--text);font-size:1.05rem;font-weight:750;line-height:1.1}.brand-sub{color:var(--text-muted);font-size:.74rem;line-height:1.3}.brand .sidebar-close{margin-left:auto;display:none}.nav{flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex;overflow-y:auto}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);padding:16px 10px 6px;font-size:.7rem;font-weight:600}.nav a{color:var(--text-muted);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;font-size:.92rem;font-weight:520;transition:background .12s,color .12s;display:flex}.nav a:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.nav a{position:relative}.nav a.active{background:var(--primary-soft);color:var(--navy);font-weight:620}.nav a.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:4px;position:absolute;top:7px;bottom:7px;left:-12px}.nav a.active svg{color:var(--brand)}.nav-label{flex:1;min-width:0}.nav .count{background:var(--navy);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-grid}.sidebar-user{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:none}.sidebar-user-text{flex:1;min-width:0;line-height:1.25}.sidebar-user-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;display:block;overflow:hidden}.sidebar-user-text span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;display:block;overflow:hidden}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--topbar);-webkit-backdrop-filter:saturate(1.6)blur(10px);backdrop-filter:saturate(1.6)blur(10px);border-bottom:1px solid var(--border);z-index:10;background:#ffffffdb;align-items:center;gap:12px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .menu-btn,.topbar-brand{display:none}.topbar-brand{letter-spacing:.03em;align-items:center;gap:8px;font-weight:750}.topbar-brand .logo{width:26px;height:26px}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.user-chip{text-align:right;line-height:1.2}.user-chip strong{font-size:.88rem;font-weight:600;display:block}.user-chip span{color:var(--text-muted);font-size:.76rem}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.bell .dot{background:var(--danger);color:#fff;border:2px solid var(--surface);text-align:center;border-radius:9px;min-width:18px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:14px;position:absolute;top:3px;right:2px}.content{width:100%;max-width:1280px;margin:0 auto;padding:28px 32px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head>div:first-child{min-width:0}.page-head p{color:var(--text-muted);margin:6px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.stack{flex-direction:column;gap:16px;min-width:0;display:flex}.stack>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:14px 18px;display:flex}.card-body{padding:18px}.card-body>:last-child{margin-bottom:0}.card.flush>.card-body{padding:0}.card.flush{overflow:hidden}.stat{padding:16px 18px}.stat-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.stat-label{color:var(--text-muted);font-size:.8rem;font-weight:550}.stat-icon{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.stat-icon-brand{background:var(--primary-soft);color:var(--primary)}.stat-icon-navy{color:var(--navy);background:#ecedf7}.stat-icon-success{background:var(--success-soft);color:var(--success)}.stat-icon-warning{background:var(--warning-soft);color:var(--warning)}.tabs button{align-items:center;gap:7px;display:inline-flex}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.015em;margin-top:4px;font-size:1.5rem;font-weight:700}.stat-note{color:var(--text-muted);margin-top:2px;font-size:.8rem}.meter{background:var(--neutral-soft);border-radius:5px;gap:2px;height:10px;display:flex;overflow:hidden}.meter span{height:100%;display:block}.meter .m-paid{background:var(--navy)}.meter .m-reserved{background:var(--brand)}.legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:.82rem;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.dl{grid-template-columns:190px minmax(0,1fr);gap:10px 16px;margin:0;display:grid}.dl dt{color:var(--text-muted);font-size:.88rem}.dl dd{overflow-wrap:anywhere;margin:0}.table-wrap{background:linear-gradient(to right, var(--surface) 30%, #fff0) left center / 40px 100% no-repeat local, linear-gradient(to left, var(--surface) 30%, #fff0) right center / 40px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #10182824, transparent) left center / 14px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #10182824, transparent) right center / 14px 100% no-repeat scroll;position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th{text-align:left;color:var(--text-muted);background:var(--surface-2);white-space:nowrap;font-size:.78rem;font-weight:600}th,td{border-bottom:1px solid var(--border);vertical-align:top;padding:11px 14px}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer;transition:background .1s}tbody tr.clickable:hover{background:var(--surface-2)}tfoot td{background:var(--surface-2);font-weight:650}.cell-title{font-weight:600}.badge-stack{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:inline-flex}.cell-sub{color:var(--text-muted);margin-top:1px;font-size:.82rem}.row-go{color:var(--text-subtle);width:1%}tr.clickable:hover .row-go{color:var(--primary)}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}span.truncate,strong.truncate{vertical-align:bottom;display:inline-block}.table-cards{table-layout:auto}.table-cards td.cell-main,.table-cards th.cell-main{width:40%;min-width:230px;max-width:0}.table-cards td.cell-person{white-space:nowrap}.cell-item{min-width:120px;max-width:190px}.table-compact th,.table-compact td{padding:10px}.table-compact th:first-child,.table-compact td:first-child{padding-left:16px}.table-compact .num .cell-sub,.table-cards th,.table-compact th{white-space:normal}.table-cards td.cell-person{max-width:180px}.card-head h2{min-width:0}.collapsible>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius);border-bottom-color:#0000;list-style:none}.collapsible>summary::-webkit-details-marker{display:none}.collapsible>summary:hover{background:var(--surface-2)}.collapsible[open]>summary{border-bottom-color:var(--border);border-radius:var(--radius) var(--radius) 0 0}.collapsible-meta{color:var(--text-muted);flex:none;align-items:center;gap:10px;display:inline-flex}.collapsible .chevron{transition:transform .18s}.collapsible[open] .chevron{transform:rotate(180deg)}.collapsible.flush>.card-body{padding:0}.uni-logo{width:auto;height:34px;display:block}.sidebar-uni{border-top:1px solid var(--border);padding:16px 18px;display:block}.sidebar-uni:hover{background:var(--surface-2)}.sidebar-uni .uni-logo{width:100%;max-width:210px;height:auto}.print-letterhead{width:320px;max-width:100%;height:auto;margin-bottom:8px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:.76rem;font-weight:600;line-height:1.6;display:inline-flex}.badge-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{background:var(--neutral-soft);color:var(--text-muted)}.badge-info{background:var(--primary-soft);color:var(--primary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.alert{border-radius:var(--radius);border:1px solid;border-left-width:4px;margin-bottom:16px;padding:12px 14px 12px 16px;font-size:.93rem}.alert-info{background:var(--primary-soft);border-color:#c4d7ef;border-left-color:var(--primary);color:#14406f}.alert-success{background:var(--success-soft);border-color:#bfe3cf;border-left-color:var(--success);color:#145233}.alert-warning{background:var(--warning-soft);color:#6e4100;border-color:#f1d9a8 #f1d9a8 #f1d9a8 #d68a00}.alert-danger{background:var(--danger-soft);border-color:#f5c6c2;border-left-color:var(--danger);color:#8a1a12}.alert strong{margin-bottom:2px;display:block}.alert a{font-weight:600}.alert-action{align-items:center;gap:14px;display:flex}.alert-action .alert-icon{flex:none}.alert-action .alert-text{flex:1;min-width:0}.alert-action .btn{flex:none}.steps{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 20px;padding:16px 18px;list-style:none;display:grid}.step{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.step+.step:before{content:"";background:var(--border);border-radius:1px;height:2px;position:absolute;top:13px;left:calc(18px - 50%);right:calc(50% + 18px)}.step-done+.step:before{background:var(--brand)}.step-dot{background:var(--surface);border:2px solid var(--border-strong);width:28px;height:28px;color:var(--text-subtle);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid;position:relative}.step-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.step-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.step-text small{min-height:1em;font-size:.74rem}.step-done .step-dot{background:var(--brand);border-color:var(--brand);color:#fff}.step-done .step-label{color:var(--text)}.step-current .step-dot{border-color:var(--brand);color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring)}.step-current .step-label{color:var(--primary)}.step-warn .step-dot{color:var(--warning);border-color:#d68a00;box-shadow:0 0 0 4px #d68a0038}.step-warn .step-label,.step-warn small{color:var(--warning)}.step-danger .step-dot{background:var(--danger);border-color:var(--danger);color:#fff}.step-danger .step-label,.step-danger small{color:var(--danger)}.step-neutral .step-dot{background:var(--text-subtle);border-color:var(--text-subtle);color:#fff}.pass{filter:drop-shadow(0 1px 2px #1018280f)drop-shadow(0 4px 14px #2c307a1a);grid-template-columns:minmax(0,1fr) 230px;margin-bottom:16px;display:grid}.pass-main{color:#fff;background:radial-gradient(420px 220px at 100% 0,#2993d18c,#0000 70%),linear-gradient(120deg,#2c307a 0%,#303a8c 55%,#23629f 100%);border-radius:14px 0 0 14px;padding:18px 24px 20px;position:relative;overflow:hidden}.pass-main:after{content:"";pointer-events:none;border:26px solid #ffffff0f;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-62px;right:-42px}.pass-top{justify-content:space-between;gap:16px;display:flex}.pass-label{letter-spacing:.12em;text-transform:uppercase;color:#b9d9f2;white-space:nowrap;min-width:0;font-size:.7rem;font-weight:650}.pass-route{grid-template-columns:auto minmax(60px,1fr) minmax(0,auto);align-items:center;gap:18px;margin:12px 0 16px;display:grid}.pass-place{flex-direction:column;min-width:0;display:flex}.pass-place-to{text-align:right;align-items:flex-end}.pass-code{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:2.3rem;font-weight:750;line-height:1}.pass-city{color:#d6e2f5;max-width:100%;margin-top:4px;font-size:.86rem}.pass-path{color:#fff;align-items:center;gap:8px;display:flex}.pass-dash{border-top:2px dashed #ffffff73;flex:1;height:0}.pass-plane{color:#fff;transform:rotate(45deg)}.pass-fields{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.pass-field{flex-direction:column;min-width:0;display:flex}.pass-field>span{letter-spacing:.1em;text-transform:uppercase;color:#a9c7e6;font-size:.68rem;font-weight:600}.pass-field>strong{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:650}.pass-stub{background:var(--surface);border-left:2px dashed var(--border-strong);border-radius:0 14px 14px 0;flex-direction:column;gap:10px;padding:18px 20px;display:flex;position:relative}.pass-stub .pass-field>span{color:var(--text-subtle)}.pass-stub .pass-field>strong{color:var(--text)}.pass-main{-webkit-mask:radial-gradient(11px at 100% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(11px at 100% 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(11px at 100% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(11px at 100% 100%,#0000 98%,#000) bottom/100% 51% no-repeat}.pass-stub{-webkit-mask:radial-gradient(11px at 0 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(11px at 0 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(11px at 0 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(11px at 0 100%,#0000 98%,#000) bottom/100% 51% no-repeat}.pass-barcode{width:100%;height:38px;fill:var(--navy);opacity:.85;margin-top:auto}.pass-link{color:inherit;border-radius:14px;transition:transform .15s;display:block}.pass-link:hover{text-decoration:none;transform:translateY(-2px)}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:4px 0 10px;font-size:.78rem;font-weight:650}.next-trip{margin-bottom:18px}.ring{flex:none;place-items:center;display:inline-grid;position:relative}.ring svg{width:100%;height:100%;position:absolute;inset:0}.ring-track{fill:none;stroke:#00000014;stroke-width:4px}.ring-value{fill:none;stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .6s}.ring-ok .ring-value{stroke:var(--brand)}.ring-warning .ring-value{stroke:#d68a00}.ring-danger .ring-value{stroke:var(--danger)}.ring-text{font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:750}.ring-danger .ring-text{color:var(--danger)}.greeting{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.greeting-hello{color:var(--primary);font-size:.9rem;font-weight:600}.greeting-hello:before{content:"";background:var(--brand);vertical-align:1px;width:8px;height:8px;box-shadow:0 0 0 3px var(--primary-ring);border-radius:50%;margin-right:8px;display:inline-block}.greeting-date{color:var(--text-subtle);font-size:.85rem}kbd{font:inherit;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:0 5px;font-size:.7rem;font-weight:600;line-height:1.5}.search-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-width:260px;height:38px;color:var(--text-subtle);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:0 8px 0 12px;font-size:.88rem;transition:border-color .12s,background .12s;display:inline-flex}.search-btn:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text-muted)}.search-btn-text{text-align:left;flex:1}.palette-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a61;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:.12s fade-in;display:flex;position:fixed;inset:0}.palette{background:var(--surface);width:100%;max-width:620px;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:14px;flex-direction:column;max-height:70vh;animation:.14s pop-in;display:flex;overflow:hidden}.palette-search{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:10px;padding:0 14px;display:flex}.palette-search input{box-shadow:none;background:0 0;border:none;min-height:0;padding:16px 0;font-size:1rem}.palette-search input:focus{box-shadow:none}.palette-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-group{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);padding:10px 10px 4px;font-size:.7rem;font-weight:650}.palette-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:9px 10px;display:flex}.palette-item.active{background:var(--primary-soft)}.palette-item.active .palette-icon{color:var(--brand)}.palette-icon{color:var(--text-subtle)}.palette-text{flex-direction:column;flex:1;min-width:0;font-size:.92rem;font-weight:520;display:flex}.palette-text small{font-size:.78rem;font-weight:400}.palette-enter{color:var(--text-subtle)}.palette-empty{text-align:center;color:var(--text-muted);padding:28px}.palette-foot{border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);flex-wrap:wrap;gap:16px;padding:8px 14px;font-size:.75rem;display:flex}.palette-foot kbd{margin-right:2px}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}}.form-section{margin-bottom:18px}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.fields .full{grid-column:1/-1}.field label{margin-bottom:6px;font-size:.86rem;font-weight:600;display:block}.field .req{color:var(--danger);margin-left:2px}.field .hint{color:var(--text-muted);margin-top:5px;font-size:.8rem}.field .error{color:var(--danger);margin-top:5px;font-size:.82rem;font-weight:500}input,select,textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:40px;box-shadow:var(--shadow-sm);background:#fff;padding:8px 11px;font-size:.93rem;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;min-height:84px}input:hover,select:hover,textarea:hover{border-color:#b3bfcd}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-muted)}.invalid input,.invalid select,.invalid textarea,input.invalid{border-color:var(--danger);background:snow}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;accent-color:var(--primary);box-shadow:none;margin:0}.check{cursor:pointer;align-items:flex-start;gap:9px;font-size:.93rem;display:flex}.field label.check{margin-bottom:0;font-size:.93rem;font-weight:400;display:flex}.check input{margin-top:3px}.radio-group{flex-direction:column;gap:8px;display:flex}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);min-height:40px;color:var(--text);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:#f0b8b3}.btn-danger:hover{background:var(--danger-soft)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover{background:#12623c}.btn-ghost{box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-sm{min-height:32px;padding:4px 10px;font-size:.82rem}.btn-link{color:var(--primary);text-align:left;white-space:normal;min-height:0;box-shadow:none;background:0 0;border:none;padding:0;font-weight:500;display:inline}.btn-link:hover{background:0 0;text-decoration:underline}.choice-row{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.choice{border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-align:center;cursor:pointer;font:inherit;color:var(--text);background:#fff;padding:9px 6px;font-size:.86rem;font-weight:600;transition:background .12s,border-color .12s}.choice:hover{background:var(--surface-2)}.choice.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.files{margin:0;padding:0;list-style:none}.files li{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:8px 0;font-size:.9rem;display:flex}.files .grow .file-link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.files .badge{text-overflow:ellipsis;max-width:45%;overflow:hidden}.files li:last-child{border-bottom:none}.files .grow{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 16px 22px;font-size:.88rem;position:relative}.timeline li:before{content:"";background:var(--surface);border:2px solid var(--brand);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:3px}.timeline li:first-child:before{background:var(--brand)}.timeline li:after{content:"";background:var(--border);width:2px;position:absolute;top:19px;bottom:2px;left:7px}.timeline li:last-child{padding-bottom:0}.timeline li:last-child:after{display:none}.countdown{font-variant-numeric:tabular-nums;font-weight:650}.countdown.urgent{color:var(--danger)}.empty{text-align:center;color:var(--text-muted);padding:40px 16px}.empty strong,.empty-title{color:var(--text);margin-bottom:4px;font-size:1rem;font-weight:650;display:block}.empty-illustration svg{width:150px;height:auto;margin:0 auto 14px;display:block}.empty p{max-width:420px;margin:4px auto 16px}.empty-icon{background:var(--surface-3);width:48px;height:48px;color:var(--text-muted);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs button{font:inherit;cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:.92rem}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.notif{border-bottom:1px solid var(--border);gap:12px;padding:14px 18px;display:flex}.notif:last-child{border-bottom:none}.notif.unread{background:#f6f9ff}.notif .pin{background:0 0;border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.notif.unread .pin{background:var(--primary)}.avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.avatar-dark{background:var(--navy);color:#fff}.login-page{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.login-aside{background:radial-gradient(circle at -6% 108%, transparent 0 130px, #2993d180 131px 172px, transparent 173px), radial-gradient(900px 560px at 100% 0%, #3a3f96 0%, transparent 62%), var(--navy);color:#dfe3f5;flex-direction:column;gap:24px;padding:40px 56px;display:flex;position:relative;overflow:hidden}.login-aside:after{content:"";pointer-events:none;background:#2993d173;border-radius:6px;width:38px;height:132px;position:absolute;bottom:-26px;left:150px}.login-aside>*{z-index:1;position:relative}.login-uni{align-self:flex-start;width:auto;height:58px}.login-aside-inner{flex-direction:column;flex:1;justify-content:center;align-self:flex-end;width:100%;max-width:500px;display:flex}.login-kicker-unused{letter-spacing:.1em;text-transform:uppercase;color:#bfe0f5;background:#2993d138;border:1px solid #7fb9e659;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.74rem;font-weight:650;display:inline-flex}.login-aside h1{color:#fff;white-space:normal;margin:16px 0 12px;font-size:2.1rem;line-height:1.15}.login-aside p{color:#c4c9ea;margin:0;font-size:1rem}.login-hero{width:100%;height:auto;margin:18px 0 4px;display:block}.login-points{flex-direction:column;gap:12px;margin:8px 0 0;padding:0;list-style:none;display:flex}.login-points li{align-items:flex-start;gap:12px;font-size:.93rem;display:flex}.login-points svg{color:var(--brand);margin-top:2px}.login-foot{color:#a3a9d6;text-align:right;align-self:flex-end;font-size:.78rem}.login-card-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-card-brand .logo{width:40px;height:40px}.login-card-brand strong{letter-spacing:.04em;font-size:1.1rem;line-height:1.1;display:block}.login-card-brand span{color:var(--text-muted);font-size:.8rem}.login-main{justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-card{width:100%;max-width:460px}.login-card h2{margin-bottom:6px;font-size:1.45rem}.login-group{margin-top:20px}.login-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);margin-bottom:8px;font-size:.72rem;font-weight:600}.user-option{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;text-align:left;color:var(--text);background:#fff;align-items:center;gap:12px;padding:10px 12px;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.user-option+.user-option{margin-top:6px}.user-option:hover{border-color:var(--primary);background:var(--primary-soft)}.user-option .grow{flex:1;min-width:0}.user-option strong{font-size:.92rem;font-weight:600;display:block}.user-option-sub{font-size:.8rem;display:block}.user-option .go{color:var(--text-subtle)}.user-option:hover .go{color:var(--primary)}.backdrop,.print-only{display:none}@media (width<=1080px){.split{grid-template-columns:minmax(0,1fr)}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.login-page{grid-template-columns:minmax(0,1fr)}.login-aside{gap:18px;padding:24px 20px 28px}.login-uni{height:40px}.login-aside-inner{align-self:stretch;max-width:none}.login-aside h1{margin-top:12px;font-size:1.45rem}.login-points,.login-foot,.login-hero,.login-aside:after{display:none}.login-main{align-items:flex-start;padding:24px 16px 40px}}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{width:min(var(--sidebar), 84vw);z-index:40;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.brand .sidebar-close{display:inline-grid}.sidebar-user{display:flex}.backdrop{z-index:30;background:#0f172a6b;display:block;position:fixed;inset:0}.topbar{gap:6px;padding:0 8px 0 6px}.topbar .menu-btn,.topbar-brand{display:inline-flex}.user-chip,.topbar .avatar,.logout-btn{display:none}.search-btn{background:0 0;border-color:#0000;justify-content:center;width:38px;min-width:0;margin-left:auto;padding:0}.search-btn-text,.search-btn kbd{display:none}.topbar-right{margin-left:0}.content{padding:20px 16px 40px}.grid-2,.grid-3,.fields{grid-template-columns:minmax(0,1fr)}.dl{grid-template-columns:minmax(0,1fr);gap:2px}.dl dd{margin-bottom:10px}.choice-row{grid-template-columns:repeat(2,1fr)}h1{font-size:1.35rem}.page-head{align-items:flex-start;margin-bottom:18px}}.as-cards .table-cards thead{display:none}.as-cards .table-cards,.as-cards .table-cards tbody,.as-cards .table-cards tr,.as-cards .table-cards td{width:100%;display:block}.as-cards .table-cards tr{border-bottom:1px solid var(--border);padding:14px 16px;position:relative}.as-cards .table-cards tbody tr:last-child{border-bottom:none}.as-cards .table-cards td{text-align:right;border:none;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.as-cards .table-cards td:before{content:attr(data-label);color:var(--text-muted);text-align:left;flex:none;font-size:.82rem}.as-cards .table-cards td>*{min-width:0}.as-cards .table-cards td.cell-main{text-align:left;padding:0 28px 6px 0;display:block}.as-cards .table-cards td.cell-main:before,.as-cards .table-cards td.row-go:before{content:none}.as-cards .table-cards td.row-go{width:auto;padding:0;position:absolute;top:14px;right:12px}.as-cards .table-cards td.cell-status{flex-wrap:wrap;justify-content:flex-start;padding-bottom:6px}.as-cards .table-cards td.cell-status:before{content:none}.as-cards .table-cards td:empty{display:none}.as-cards .table-cards td.cell-main,.as-cards .table-cards td.cell-person{width:100%;max-width:none}.as-cards .table-cards .hide-cards{display:none}@media (width<=640px){.table-cards thead{display:none}.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{width:100%;display:block}.table-cards tr{border-bottom:1px solid var(--border);padding:14px 16px;position:relative}.table-cards tbody tr:last-child{border-bottom:none}.table-cards td{text-align:right;border:none;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.table-cards td:before{content:attr(data-label);color:var(--text-muted);text-align:left;flex:none;font-size:.82rem}.table-cards td>*{min-width:0}.table-cards td.cell-main{text-align:left;padding:0 28px 6px 0;display:block}.table-cards td.cell-main:before,.table-cards td.row-go:before{content:none}.table-cards td.row-go{width:auto;padding:0;position:absolute;top:14px;right:12px}.table-cards td.cell-status{flex-wrap:wrap;justify-content:flex-start;padding-bottom:6px}.table-cards td.cell-status:before{content:none}.table-cards td:empty{display:none}.table-cards td.cell-main,.table-cards td.cell-person{width:100%;max-width:none}.table-cards .hide-cards{display:none}.alert-action{flex-wrap:wrap;align-items:flex-start}.alert-action .alert-text{flex-basis:calc(100% - 40px)}.alert-action .btn{margin-left:34px}.grid-4{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:12px 14px}.stat-value{font-size:1.15rem}.page-head .actions{width:100%}.page-head .actions .btn{flex:auto}.pass{grid-template-columns:1fr}.pass-main{border-radius:14px 14px 0 0;padding:16px 18px}.pass-code{font-size:1.9rem}.pass-route{gap:10px}.pass-fields{gap:8px}.pass-field>strong{font-size:.8rem}.pass-stub{border-left:none;border-top:2px dashed var(--border-strong);border-radius:0 0 14px 14px;flex-flow:wrap;gap:8px 20px;padding:14px 18px}.pass-main{-webkit-mask:radial-gradient(11px at 0 100%,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(11px at 100% 100%,#0000 98%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(11px at 0 100%,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(11px at 100% 100%,#0000 98%,#000) 100%/51% 100% no-repeat}.pass-stub{-webkit-mask:radial-gradient(11px at 0 0,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(11px at 100% 0,#0000 98%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(11px at 0 0,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(11px at 100% 0,#0000 98%,#000) 100%/51% 100% no-repeat}.pass-top .pass-label+.pass-label{display:none}.pass-fields{grid-template-columns:1fr 1fr auto}.pass-field>span{letter-spacing:.06em;font-size:.62rem}.pass-barcode{flex-basis:100%;height:30px}.steps{grid-template-columns:1fr;gap:0;padding:12px 16px}.step{text-align:left;flex-direction:row;gap:12px;padding:6px 0}.step+.step:before{width:2px;height:16px;inset:-10px auto auto 13px}.step-text{flex-direction:row;align-items:baseline;gap:8px}.step-dot{width:26px;height:26px}}@media (width<=400px){.grid-4{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.sidebar,.topbar,.no-print,.actions,.backdrop,.skip-link,.steps,.greeting,.palette-backdrop{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid;border-color:#bbb}.print-only{display:block}body,:root{background:#fff;font-size:12px}}
