.portal-page{background:var(--paper);color:var(--ink)}
.portal-hero{background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.portal-hero-inner{min-height:230px;display:flex;align-items:end;justify-content:space-between;gap:48px;padding-top:64px;padding-bottom:48px}
.portal-hero h1{font:700 clamp(2.4rem,5vw,4.8rem)/1.1 var(--serif);margin:9px 0 0;letter-spacing:0}
.portal-hero p{max-width:520px;margin:0;color:#c9cdcb;font-size:1.04rem;line-height:1.9}
.portal-section{padding:72px 0}
.portal-login-wrap{width:min(980px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr 1fr;border-top:3px solid var(--gold);background:#fff;box-shadow:0 18px 55px rgba(21,25,26,.08)}
.portal-login-copy,.portal-login{padding:48px}
.portal-login-copy{background:#ece9e2}.portal-login-copy h2{font-size:1.8rem;margin:8px 0 16px}.portal-login-copy p{color:var(--muted);line-height:1.9}
.section-kicker{display:block;color:var(--red);font-size:.78rem;font-weight:800}
.portal-form{display:grid;gap:18px}.portal-form label{display:grid;gap:8px}.portal-form label>span{font-size:.86rem;font-weight:800}
.portal-form input,.portal-form select,.portal-form textarea{width:100%;border:1px solid #c9c5bd;background:#fff;color:var(--ink);padding:13px 14px;border-radius:0;font:inherit;line-height:1.5}
.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{outline:2px solid rgba(201,169,74,.55);outline-offset:1px;border-color:#9d7c23}
.portal-submit{justify-self:start;min-width:150px}.form-message{min-height:1.5em;margin:0;color:var(--red);font-weight:700;line-height:1.7}.form-message.success{color:#29633d}
.portal-dashboard{padding-top:48px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:28px}.dashboard-heading h2{margin:5px 0;font-size:2rem}.dashboard-heading p{margin:0;color:var(--muted)}
.portal-quiet-button{border:1px solid #a9aaa7;background:transparent;padding:10px 16px;color:inherit;font:inherit;cursor:pointer}.portal-quiet-button:hover{border-color:var(--red);color:var(--red)}
.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap}.credential-result{display:grid;gap:7px;margin-top:14px;padding:16px;border:1px solid var(--gold);background:#fff8df;direction:rtl}.credential-result code{direction:ltr;text-align:left;font-size:.94rem;user-select:all}.password-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.password-tools label{min-width:0}.password-tools button{min-height:48px;border:1px solid #aaa69f;background:#f5f3ee;padding:8px 12px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}
.password-notice{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff8df;border-right:4px solid var(--gold);padding:20px 24px;margin-bottom:24px}.password-notice p{margin:5px 0 0;color:#62552c}
.portal-tabs{display:flex;border-bottom:1px solid #bcb9b2;margin-bottom:0;overflow-x:auto}.portal-tabs button{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;padding:16px 22px;font:700 .95rem/1.4 inherit;color:#656967;white-space:nowrap;cursor:pointer}.portal-tabs button.active{color:var(--ink);border-color:var(--gold)}
.portal-tabs{scrollbar-width:none}.portal-tabs::-webkit-scrollbar{display:none}
.portal-panel{background:#fff;padding:38px;border-bottom:1px solid var(--line)}.panel-heading{display:flex;gap:18px;align-items:start;margin-bottom:30px}.panel-heading>span{color:var(--red);font:700 .8rem var(--serif);padding-top:7px}.panel-heading h3{font-size:1.65rem;margin:0 0 7px}.panel-heading p{margin:0;color:var(--muted)}
.hearings-list{display:grid}.hearing-row{display:grid;grid-template-columns:1.25fr .85fr 1fr .85fr;gap:24px;padding:20px 0;border-top:1px solid var(--line);align-items:center}.hearing-row:first-child{border-top-color:#a9a69f}.hearing-row strong,.hearing-row span{display:block}.hearing-row small{display:block;color:var(--muted);margin-bottom:5px}.empty-state{border:1px dashed #bbb7ae;padding:32px;text-align:center;color:var(--muted)}
.compact-form{max-width:820px}.two-column{grid-template-columns:1fr 1fr}.full-width{grid-column:1/-1}
.portal-dialog{width:min(540px,calc(100% - 32px));border:0;border-top:3px solid var(--gold);padding:35px;box-shadow:0 24px 90px rgba(0,0,0,.28)}.portal-dialog::backdrop{background:rgba(15,18,19,.72)}.portal-dialog h2{margin:6px 0 10px}.dialog-close{position:absolute;top:14px;left:14px;border:0;background:transparent;font-size:1.8rem;cursor:pointer;color:var(--muted)}
.admin-page{background:#ecebe6;min-height:100vh}.admin-header{height:76px;background:var(--ink);color:#fff}.admin-header .shell{height:100%;display:flex;align-items:center;justify-content:space-between}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.admin-brand img{width:46px;height:46px;object-fit:contain}.admin-brand b,.admin-brand small{display:block}.admin-brand small{color:#bcbfbd;font-size:.68rem;margin-top:2px}.admin-shell{padding-top:44px;padding-bottom:64px}.admin-login{max-width:480px;margin:50px auto;background:#fff;border-top:3px solid var(--gold);padding:42px}.admin-login h1{margin:5px 0 25px;font-size:2rem}
.admin-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-topline h1{margin:4px 0 0}.admin-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#c9c7c0;border:1px solid #c9c7c0;margin-bottom:30px}.admin-metric{background:#fff;padding:18px}.admin-metric span{display:block;color:var(--muted);font-size:.75rem}.admin-metric strong{font:700 1.7rem var(--serif)}
.admin-tabs{display:flex;gap:2px;overflow-x:auto;margin-bottom:20px}.admin-tabs button{border:1px solid #c4c2bb;background:#fff;padding:12px 18px;font:700 .88rem inherit;white-space:nowrap;cursor:pointer}.admin-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.admin-panel{background:#fff;padding:28px}.admin-toolbar{display:flex;align-items:end;gap:14px;margin-bottom:22px}.admin-toolbar label{flex:1;display:grid;gap:6px}.admin-toolbar input{padding:11px 12px;border:1px solid #bbb8b0;font:inherit}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.84rem}.admin-table th,.admin-table td{text-align:right;padding:12px 10px;border-bottom:1px solid #dedbd4;white-space:nowrap}.admin-table th{background:#eeece6;color:#4d514f}.admin-table button{border:1px solid #aaa69d;background:#fff;padding:6px 10px;font:inherit;cursor:pointer}.admin-table button:hover{border-color:var(--red);color:var(--red)}
.admin-editor{display:grid;grid-template-columns:1fr 1.2fr;gap:22px}.admin-editor>.portal-form,.admin-list-panel{border:1px solid var(--line);padding:22px}.admin-list-panel h3{margin-top:0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:inline-block;padding:3px 8px;background:#eee;font-size:.72rem}.status-new{background:#fff0bd}.status-reviewing{background:#dbeaf4}.status-replied{background:#dceede}.status-closed{background:#e5e5e5}
@media(max-width:850px){.portal-hero-inner{display:block;min-height:auto;padding-top:42px}.portal-hero-inner p{margin-top:20px}.portal-login-wrap{grid-template-columns:1fr}.portal-login-copy,.portal-login{padding:30px}.hearing-row{grid-template-columns:1fr 1fr}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-editor{grid-template-columns:1fr}}
@media(max-width:560px){.portal-login-wrap{width:min(100% - 28px,980px)}.portal-section{padding:45px 0}.portal-panel{padding:25px 18px}.two-column{grid-template-columns:1fr}.full-width{grid-column:auto}.hearing-row{grid-template-columns:1fr;gap:10px}.dashboard-heading{align-items:start}.password-notice{display:block}.password-notice .btn{margin-top:14px}.admin-shell{width:min(100% - 24px,var(--shell))}.admin-panel{padding:18px}.admin-metrics{grid-template-columns:1fr 1fr}.admin-toolbar{display:grid}.password-tools{grid-template-columns:1fr}.password-tools button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.portal-page *{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:851px){.hearing-row{grid-template-columns:1fr 1.4fr 1fr 1fr .8fr}.hearing-row>div{min-width:0;overflow-wrap:anywhere}}
.portal-page .portal-submit{background:#8c242b;color:#fff;border:1px solid #8c242b;padding:13px 24px;cursor:pointer}
.portal-page .portal-submit:hover{background:#691b20;color:#fff}
.portal-page .portal-submit:disabled{opacity:.65;cursor:wait}
.portal-form .remember-device{display:flex;align-items:center;gap:10px}
.portal-form .remember-device input{width:18px;height:18px;padding:0}
