:root{--navy:#0b2338;--navy2:#102f48;--ink:#10283d;--muted:#617285;--teal:#008f8a;--teal-dark:#007873;--line:#dce5e9;--surface:#fff;--wash:#f5f8fa;--red:#b62632;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--wash);font-size:15px;line-height:1.5}a{color:var(--teal-dark);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.12}h2{font-size:1.42rem;letter-spacing:-.025em}h3{font-size:1.1rem;letter-spacing:-.018em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-weight:790;font-size:1.42rem;letter-spacing:.035em}.brand:hover{text-decoration:none}.brand img{height:42px;width:42px;object-fit:contain}.brand small{display:block;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.button{appearance:none;border:1px solid transparent;background:var(--teal);color:white;display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:11px 18px;border-radius:8px;font-size:.92rem;font-weight:700;line-height:1.25;transition:background .15s,transform .15s,border-color .15s;text-decoration:none}.button:hover{background:var(--teal-dark);text-decoration:none}.button:active{transform:translateY(1px)}.button.secondary{background:#fff;color:var(--teal-dark);border-color:#9bc9c8}.button.secondary:hover{background:#ebf8f7}.button.quiet{background:transparent;color:inherit;border-color:var(--line)}.button.quiet:hover{background:#f4f7f8}.button.danger{color:#9f2732;border-color:#efc6cb;background:#fff}.button.danger:hover{background:#fff2f4}.button.small{padding:7px 11px;font-size:.78rem;border-radius:6px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #68d3cf;outline-offset:2px}.muted{color:var(--muted)}.error{padding:11px 13px;border:1px solid #e6aab0;border-radius:8px;background:#fff3f4;color:#9c2430}.notice{padding:11px 13px;border:1px solid #a6d7d4;border-radius:8px;background:#eaf8f6;color:#006e69}.field{margin:19px 0}.field label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:700}.field input,.field select{width:100%;min-height:49px;padding:11px 13px;border:1px solid #bdcbd3;border-radius:8px;background:#fff;color:var(--ink);font-size:1rem}.field input::placeholder{color:#8d9ba8}.field input:focus,.field select:focus{border-color:var(--teal);outline:3px solid #b6e9e6;outline-offset:0}.hint{display:block;margin-top:5px;color:var(--muted);font-size:.78rem}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,56%) minmax(440px,44%);background:#fff}.login-visual{min-height:100vh;background:#082235 url('/portal-assets/elevator-shaft.webp') center 52%/cover no-repeat;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#08223522),linear-gradient(0deg,#08223580,transparent 30%);pointer-events:none}.visual-caption{position:absolute;z-index:1;left:clamp(26px,5vw,80px);bottom:37px;color:#eaf7f8;font-size:.84rem;letter-spacing:.02em}.visual-caption span{display:block;width:48px;height:2px;background:#39c6c1;margin-bottom:15px}.login-content{display:flex;align-items:center;justify-content:center;padding:44px clamp(34px,5vw,90px);min-height:100vh}.login-inner{width:min(100%,520px)}.login-brand{margin-bottom:69px}.login-brand img{height:51px;width:51px}.login-brand .brand-word{font-size:2rem;line-height:1}.login-brand small{margin-top:3px}.login-intro{padding-left:22px;border-left:3px solid var(--teal);margin-bottom:56px}.login-intro h1{font-size:clamp(1.7rem,2.4vw,2.25rem);margin-bottom:10px}.login-intro p{margin:0;font-size:1rem;color:#455a6d}.login-form h2{font-size:2rem;margin-bottom:25px}.login-form .field{margin:0 0 22px}.login-form .button{width:100%;margin-top:9px;min-height:52px;font-size:1rem}.login-foot{margin-top:38px;color:#83909b;font-size:.78rem}.login-form .error{margin-bottom:22px}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:246px minmax(0,1fr)}.admin-nav{background:linear-gradient(155deg,#071d33,#0d2942 70%,#0b2138);color:#f7fbfc;padding:27px 16px;display:flex;flex-direction:column;gap:48px}.admin-nav .brand{font-size:1.17rem;padding:0 12px;align-items:center}.admin-nav .brand img{width:35px;height:35px}.admin-nav .brand small{color:#b8d6de;font-size:.6rem}.admin-nav nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;border-radius:7px;padding:12px 15px;color:#d8e5ea;font-weight:600;font-size:.9rem}.nav-link:hover,.nav-link.active{background:#087c7c;color:#fff;text-decoration:none}.nav-icon{width:18px;display:inline-flex;justify-content:center;color:#9fd9d9;font-size:1.1rem;line-height:1}.nav-link.active .nav-icon{color:white}.nav-foot{margin-top:auto;padding:0 14px;color:#8eacb9;font-size:.75rem}.admin-main{min-width:0;background:#fff}.admin-top{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 clamp(24px,3vw,52px)}.admin-top strong{font-size:1.15rem;letter-spacing:-.02em}.admin-top-right{display:flex;align-items:center;gap:17px}.identity{text-align:right;font-size:.86rem;line-height:1.2}.identity span{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.admin-content{max-width:1440px;margin:auto;padding:34px clamp(24px,3vw,52px) 90px}.admin-intro{margin-bottom:34px}.admin-intro h1{margin-bottom:7px}.admin-intro p{font-size:1.02rem;color:var(--muted);margin:0}.summary-strip{display:grid;grid-template-columns:1.3fr 1fr 1.25fr 1fr;border-block:1px solid var(--line);padding:20px 0;margin-bottom:30px}.summary-item{padding:0 28px;border-left:1px solid var(--line);min-width:0}.summary-item:first-child{border:0;padding-left:0}.summary-item .label{display:block;color:var(--muted);font-size:.81rem;font-weight:650;margin-bottom:7px}.summary-item strong{display:block;overflow-wrap:anywhere;font-size:1.28rem;font-weight:740;letter-spacing:-.02em}.summary-item:first-child strong{color:var(--teal-dark)}.summary-item .micro{font-size:.8rem;color:var(--muted)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 35px}.action-card{min-height:119px;display:flex;align-items:center;gap:18px;padding:22px;border:1px solid #d1dde2;border-radius:10px;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}.action-card:hover{border-color:#5dbdb8;box-shadow:0 8px 24px #112f4512;transform:translateY(-1px);text-decoration:none}.action-card .glyph{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:8px;color:var(--teal-dark);background:#dff5f3;font-size:1.5rem}.action-card strong{display:block;font-size:1.05rem;margin-bottom:2px}.action-card small{color:var(--muted);font-size:.81rem}.action-card .arrow{margin-left:auto;color:var(--teal);font-size:1.3rem}.section{padding-top:25px;margin-top:28px;border-top:1px solid var(--line);scroll-margin-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:17px}.section-heading h2{margin-bottom:2px}.section-heading p{margin:0;color:var(--muted);font-size:.88rem}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:610px;text-align:left}.data-table th{background:#f1f5f6;color:#46596a;font-size:.76rem;letter-spacing:.035em;text-transform:uppercase;font-weight:750}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table td{font-size:.88rem}.data-table td strong{font-weight:700}.data-table td code{font-size:.85rem;color:var(--teal-dark);white-space:nowrap}.data-table .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;gap:6px;color:#116b61;font-weight:600}.status:before{content:"";height:7px;width:7px;border-radius:50%;background:#17a089}.status.disabled{color:#8d5360}.status.disabled:before{background:#bd6b78}.inline-form{display:inline}.inline-form select{padding:7px;border:1px solid #c7d5da;border-radius:6px;color:var(--ink);background:#fff;font-size:.78rem}.account-form{padding:22px;border:1px solid #bfd9db;border-radius:10px;background:#f7fbfb;margin-bottom:20px}.account-form h3{margin-bottom:4px}.account-form p{font-size:.85rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.account-form .field{margin:13px 0}.account-form .field input,.account-form .field select{min-height:43px;font-size:.9rem}.form-actions{display:flex;gap:10px;margin-top:15px}.account-form details{margin-top:14px}.account-form summary{cursor:pointer;color:var(--teal-dark);font-weight:650}.note{font-size:.84rem;color:var(--muted);margin-top:15px}.simple-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e9f4f4,#f5f8fa)}.simple-panel{width:min(100%,620px);background:#fff;padding:38px;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px #0b233812}.simple-panel .brand{margin-bottom:30px}.simple-panel h1{font-size:2rem}.simple-panel .button{margin-top:10px}
@media(max-width:1050px){.login-shell{grid-template-columns:50% 50%}.login-content{padding:36px}.summary-strip{grid-template-columns:repeat(2,1fr);row-gap:20px}.summary-item:nth-child(3){border:0;padding-left:0}.admin-shell{grid-template-columns:200px minmax(0,1fr)}.action-grid{grid-template-columns:1fr}}
.account-form>summary{display:inline-flex;list-style:none}.account-form>summary::-webkit-details-marker{display:none}.account-form>form{margin-top:15px}.reset-detail{position:relative;font-size:.78rem;color:var(--teal-dark)}.reset-detail summary{cursor:pointer;font-weight:700;white-space:nowrap}.reset-detail form{display:flex;gap:6px;align-items:center;margin-top:8px}.reset-detail input{width:150px;padding:7px 9px;border:1px solid #bacbd0;border-radius:6px;font-size:.78rem}
.account-form>summary.button{color:#fff}.account-form>summary.button:hover{color:#fff}
@media(max-width:700px){.login-shell{display:block}.login-visual{min-height:185px;height:185px;background-position:center 44%}.login-visual:after{background:linear-gradient(0deg,#08223596,transparent 85%)}.visual-caption{left:22px;bottom:14px;font-size:.72rem}.visual-caption span{margin-bottom:6px}.login-content{min-height:calc(100vh - 185px);padding:30px 24px 50px;align-items:flex-start}.login-brand{margin-bottom:28px}.login-brand img{height:38px;width:38px}.login-brand .brand-word{font-size:1.55rem}.login-intro{margin-bottom:30px}.login-intro h1{font-size:1.48rem}.login-form h2{font-size:1.7rem;margin-bottom:20px}.admin-shell{display:block}.admin-nav{gap:15px;padding:14px 16px}.admin-nav .brand{padding:0}.admin-nav nav{display:flex;gap:4px;overflow-x:auto;padding-bottom:3px}.nav-link{white-space:nowrap;padding:8px 10px;font-size:.78rem}.nav-foot{display:none}.admin-top{height:66px;padding:0 18px}.admin-top-right{gap:9px}.identity{font-size:.78rem}.admin-top .button{padding:7px 9px;font-size:.76rem}.admin-content{padding:25px 18px 60px}.summary-strip{grid-template-columns:1fr 1fr;gap:17px 0}.summary-item{padding:0 12px}.summary-item:nth-child(odd){border:0;padding-left:0}.summary-item strong{font-size:1.04rem}.section-heading{align-items:start}.form-grid{grid-template-columns:1fr}.action-card{min-height:95px;padding:15px}.action-card .glyph{width:42px;height:42px;flex-basis:42px}.simple-panel{padding:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.data-table{min-width:0}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.data-table tbody tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:12px;gap:10px;background:#fff}.data-table td{border:0;padding:0;min-width:0;overflow-wrap:anywhere}.data-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;font-weight:750;margin-bottom:4px}.data-table td:first-child{grid-column:1/-1}.data-table td:last-child{grid-column:1/-1}.data-table .actions{align-items:flex-start;gap:9px}.data-table .inline-form{display:inline-flex;gap:5px}.data-table .reset-detail{width:100%;margin-top:3px}.data-table td code{white-space:normal}.account-form{padding:14px}.account-form>summary.button{width:100%}}
