:root {
    --ink:#161c23;
    --ink-soft:#27313b;
    --paper:#ffffff;
    --surface:#f7f8f8;
    --line:#e5e8ea;
    --muted:#77808a;
    --gold:#75b9e8;
    --danger:#b7483e;
    --radius:10px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:#20262d;
    background:#f3f4f4;
}
*{box-sizing:border-box} body{margin:0;background:#f3f4f4;color:#20262d}.portal-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;background:var(--ink);color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding-bottom:20px;border-bottom:1px solid #ffffff22;color:#fff;text-decoration:none}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:11px Georgia,serif;color:var(--gold)}.brand strong,.brand small{display:block;letter-spacing:.14em;font:12px Georgia,serif}.brand small{font-size:9px;color:#ffffff99;margin-top:4px}.sidebar-nav{display:grid;gap:5px;margin-top:24px}.sidebar-nav a{padding:10px 11px;border-radius:8px;color:#dce1e4;text-decoration:none;font-size:13px}.sidebar-nav a:hover{background:#ffffff12;color:#fff}.sidebar-foot{margin-top:auto;padding-top:16px;border-top:1px solid #ffffff22}.sidebar-foot strong,.sidebar-foot span{display:block}.sidebar-foot strong{font-size:12px}.sidebar-foot span{font-size:10px;line-height:1.5;color:#ffffff8f;margin-top:5px}
.main-content{min-width:0;background:var(--paper)}.topbar{height:54px;padding:0 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.menu-button{display:none;border:0;background:transparent;font-size:20px}.topbar-label{font:15px Georgia,serif}.user-chip{margin-left:auto;padding:6px 10px;border-radius:999px;background:#eef0f1;font-size:11px}.page-head{padding:30px 32px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow{color:#58a9dd;letter-spacing:.14em;font-size:11px;margin-bottom:7px}.page-head h1{margin:0;font:400 28px/1.2 Georgia,serif;color:#1d252d}.page-head p{margin:8px 0 0;color:var(--muted);font-size:13px}.role-badge{padding:8px 12px;background:#eef0f1;border-radius:999px;font-size:11px;white-space:nowrap}
.dashboard-body,.portal-form{padding:28px 32px 42px}.form-group-block{margin-bottom:32px}.form-group-block h2,.portal-form legend{margin:0 0 15px;font:400 18px Georgia,serif;color:#202831}.form-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-card{position:relative;min-height:170px;padding:18px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;background:#fff;transition:.18s ease}.form-card:hover{transform:translateY(-2px);border-color:#9ecce9;box-shadow:0 12px 30px #18232d12}.card-module{display:block;color:#58a9dd;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.form-card strong{display:block;margin-top:11px;font:400 17px/1.25 Georgia,serif}.form-card p{color:var(--muted);font-size:12px;line-height:1.5}.card-role{position:absolute;left:18px;bottom:16px;font-size:10px;color:#65707a;background:#f1f3f3;border-radius:999px;padding:4px 8px}
.portal-form{max-width:1600px}.notice{padding:12px 14px;margin-bottom:20px;border-left:3px solid #4aa9e8;background:#f0f1f2;font-size:12px}.validation-summary:empty{display:none}.validation-summary{padding:12px 14px;margin-bottom:18px;background:#fff0ee;color:#8d2e26;border-left:3px solid var(--danger)}fieldset{border:0;padding:0;margin:0 0 24px}.portal-form legend{width:100%;padding-bottom:10px;border-bottom:1px solid var(--line)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.field-wrap.wide{grid-column:1/-1}.field-wrap>label{display:block;margin-bottom:7px;font-size:13px}.required{color:#d06045}.field-wrap input[type=text],.field-wrap input[type=email],.field-wrap input[type=tel],.field-wrap input[type=password],.field-wrap input[type=number],.field-wrap input[type=date],.field-wrap input[type=datetime-local],.field-wrap input[type=file],.field-wrap select,.field-wrap textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #dce0e2;border-radius:9px;background:#fff;color:#242a30;font:inherit;outline:none}.field-wrap textarea{min-height:105px;resize:vertical}.field-wrap input:focus,.field-wrap select:focus,.field-wrap textarea:focus{border-color:#52aae3;box-shadow:0 0 0 2px #52aae322}.field-wrap small{display:block;margin-top:5px;color:#939aa0;font-size:10px}.choice-row{display:flex;flex-wrap:wrap;gap:10px 17px;padding:6px 0}.check-item,.radio-item{display:inline-flex!important;align-items:center;gap:7px;margin:0!important;font-size:13px}.check-item input,.radio-item input{width:16px;height:16px}.scale-row{display:grid;grid-template-columns:repeat(11,1fr);gap:5px}.scale-row label{margin:0}.scale-row input{position:absolute;opacity:0}.scale-row span{height:38px;border:1px solid #dce0e2;border-radius:7px;display:grid;place-items:center;font-size:11px;cursor:pointer}.scale-row input:checked+span{background:#19222b;color:#fff;border-color:#19222b}.workflow-hint{padding:12px 14px;border-radius:8px;background:#f7f8f8;color:#67717a;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px}.button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid #d5d9dc;border-radius:9px;text-decoration:none;font-size:13px;cursor:pointer}.button.ghost{background:#fff;color:#6f777e}.button.primary{border-color:#19222b;background:#19222b;color:#fff}
.success-card{max-width:620px;margin:70px auto;padding:50px;text-align:center;border:1px solid var(--line);border-radius:16px}.success-card h1{font:400 29px Georgia,serif}.success-card p{color:var(--muted)}.success-icon{width:58px;height:58px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:#e8f7ec;color:#19843b;font-size:28px}.success-card code{display:block;margin:15px 0 22px;color:#69727a}
@media(max-width:1050px){.form-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-shell{display:block}.sidebar{position:fixed;z-index:20;left:-245px;width:230px;transition:left .2s}.sidebar.open{left:0}.topbar{padding:0 16px}.menu-button{display:block}.page-head{padding:22px 18px}.page-head h1{font-size:23px}.dashboard-body,.portal-form{padding:20px 18px 32px}.form-card-grid,.field-grid{grid-template-columns:1fr}.field-wrap.wide{grid-column:auto}.scale-row{grid-template-columns:repeat(6,1fr)}}@media(max-width:450px){.form-card-grid{grid-template-columns:1fr}.role-badge{display:none}.form-actions{display:grid}.button{width:100%}}

/* Authentication */
.auth-page{min-height:100vh;background:#eef1f2}.auth-main{min-height:100vh;display:grid;place-items:center;padding:34px}.auth-shell{width:min(1040px,100%);min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:1px solid #dfe4e6;border-radius:20px;background:#fff;box-shadow:0 25px 70px #17212a1a}.auth-brand-panel{padding:58px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#151c23,#25323d);color:#fff}.auth-logo{width:62px;height:62px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:14px Georgia,serif;letter-spacing:.06em}.auth-eyebrow{margin:26px 0 12px;color:#8ecbf2;font-size:11px;letter-spacing:.17em}.auth-brand-panel h1{max-width:520px;margin:0;font:400 40px/1.14 Georgia,serif}.auth-brand-panel>p:not(.auth-eyebrow){max-width:500px;margin:18px 0 0;color:#d0d7dc;font-size:15px;line-height:1.7}.auth-security-note{margin-top:42px;padding-top:22px;border-top:1px solid #ffffff24}.auth-security-note strong,.auth-security-note span{display:block}.auth-security-note strong{font-size:13px}.auth-security-note span{margin-top:7px;color:#aeb8c0;font-size:12px;line-height:1.55}.auth-card{padding:58px;display:flex;flex-direction:column;justify-content:center}.auth-card-head h2{margin:5px 0 0;font:400 32px Georgia,serif}.auth-card-head p{margin:10px 0 0;color:var(--muted);font-size:13px}.auth-form{display:grid;gap:18px;margin-top:30px}.auth-form .field-wrap label{font-size:13px}.auth-form .field-wrap input{min-height:47px}.field-error{display:block;min-height:16px;margin-top:5px;color:#a33830;font-size:11px}.auth-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#59636c}.auth-check input{width:16px;height:16px}.auth-submit{width:100%;min-height:47px}.auth-switch{margin:1px 0 0;text-align:center;color:#727b83;font-size:12px}.auth-switch a{color:#1b75ae;font-weight:600;text-decoration:none}.auth-message-card{width:min(520px,100%);padding:48px;text-align:center;border:1px solid #dfe4e6;border-radius:18px;background:#fff;box-shadow:0 20px 55px #17212a14}.auth-message-card .auth-logo{margin:0 auto}.auth-message-card h1{margin:22px 0 8px;font:400 31px Georgia,serif}.auth-message-card p{margin:0 0 24px;color:var(--muted)}.logout-form{margin:0}.logout-button{padding:6px 10px;border:1px solid #dce0e2;border-radius:999px;background:#fff;color:#4d5861;font-size:11px;cursor:pointer}.logout-button:hover{background:#f2f4f5}
@media(max-width:850px){.auth-main{padding:18px}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-card{padding:38px;min-height:620px}}@media(max-width:450px){.auth-main{padding:0}.auth-shell{min-height:100vh;border:0;border-radius:0}.auth-card{padding:28px 20px}.auth-card-head h2{font-size:28px}.user-chip{display:none}}
