:root{--navy:#061b2e;--panel:#0d2942;--line:#2c5977;--orange:#ff7a1a;--text:#f7fbff;--muted:#9fc7df}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,#16496c,var(--navy) 48%);color:var(--text);font-family:Segoe UI,Arial,sans-serif}
.login{width:min(940px,92vw);margin:8vh auto;display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#0a2339;box-shadow:0 28px 90px #0008}
.brand,form{padding:56px}.brand{background:linear-gradient(135deg,#123d5d,#071c30)}.brand span,.eyebrow{font-weight:800}.brand h1{font-size:48px;margin:80px 0 8px}.brand p,header p{color:var(--muted)}
form h2{margin-top:0}label{display:block;margin:18px 0;color:var(--muted)}input{width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#061b2e;color:white;font-size:16px}
button,.logout{display:inline-block;border:0;border-radius:10px;background:var(--orange);color:white;padding:14px 20px;font-weight:800;text-decoration:none;cursor:pointer}form button{width:100%;margin:8px 0 18px}.error{color:#ff9c8d}
.portal{width:min(1120px,94vw);margin:40px auto}.portal header{display:flex;justify-content:space-between;align-items:center;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}h1{margin:8px 0}
.portal-help{margin:22px 0;padding:14px 18px;border:1px solid #244e68;border-radius:14px;background:#071f31;color:#9edcff}
.client-directory{display:grid;gap:18px}.client-group{border:1px solid #2b5d78;border-radius:18px;background:#0b2940;overflow:hidden}.client-group summary{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:20px 22px;cursor:pointer;list-style:none}.client-group summary::-webkit-details-marker{display:none}.client-group summary span{color:var(--orange);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.client-group summary strong{font-size:1.3rem}.client-group summary small{color:var(--muted)}
.location-list{display:grid;gap:16px;padding:0 18px 18px}.location-group{padding:18px;border-radius:15px;background:#061c2d;border:1px solid #214a63}.location-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.location-heading span{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.location-heading h2{margin:0;font-size:1.1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.card{display:block;min-height:150px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#092239;color:white;text-decoration:none}.card:hover{border-color:var(--orange);transform:translateY(-2px)}.card strong,.card span{display:block}.card strong{font-size:20px;margin-bottom:12px}.card span,footer,small{color:var(--muted);line-height:1.5}footer{margin-top:28px}
.access-center{margin-top:22px;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:22px}.access-center h2{font-size:2rem;margin:8px 0}.access-center p{margin:0;color:var(--muted)}.primary-action{font-size:1rem}
.client-dialog{width:min(720px,92vw);border:1px solid var(--line);border-radius:20px;padding:0;background:#0a2339;color:var(--text);box-shadow:0 30px 100px #000b}.client-dialog::backdrop{background:#02101dcc;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:25px 25px 10px}.dialog-head h2{margin:7px 0}.dialog-close{background:transparent;border:1px solid var(--line);font-size:1.5rem;padding:5px 12px}.client-dialog>p{padding:0 25px;color:var(--muted)}.tree-options{display:grid;gap:12px;padding:15px 25px 25px}.tree-option{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;background:#0d304b;border:1px solid var(--line);padding:17px}.tree-option:hover{border-color:var(--orange);background:#123d5d}.tree-option strong,.tree-option small{display:block}.tree-option small{margin-top:4px}.tree-option b{font-size:1.5rem}.radio-dot{width:18px;height:18px;border:2px solid #7fcdf7;border-radius:50%;box-shadow:inset 0 0 0 4px #0d304b}.tree-option:hover .radio-dot{background:var(--orange);border-color:var(--orange)}.dialog-actions{padding:0 25px 25px}.back-action{background:transparent;border:1px solid var(--line)}
.client-access{margin-top:22px;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.section-heading h2{margin:8px 0}.section-heading p{margin:0;color:var(--muted);max-width:700px}.secure-badge,.account-status{display:inline-block;border:1px solid #2b8b6a;border-radius:999px;padding:7px 11px;color:#54e3a4;font-size:.78rem;font-weight:800}.account-list{display:grid;gap:14px;margin-top:24px}.account-card{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:16px;background:#071f33}.account-card h3{margin:9px 0 12px}.account-card p{margin:6px 0;color:var(--muted)}code{padding:3px 7px;border-radius:6px;background:#041422;color:#fff;font-family:Consolas,monospace}.credential-form{padding:0;min-width:230px}.credential-form button{width:100%}.credential-form small{display:block;margin-top:7px;text-align:center}.issued-password{margin-top:22px;padding:20px;border:1px solid #e4a24a;border-radius:14px;background:#3c2a12}.issued-password p{margin:10px 0}.issued-password code{font-size:1.05rem}.issued-password small{color:#ffd798}
@media(max-width:700px){.login{grid-template-columns:1fr}.brand,form{padding:30px}.brand h1{margin:30px 0 8px}.portal header,.section-heading{align-items:flex-start;gap:18px;flex-direction:column}.client-group summary,.account-card{grid-template-columns:1fr}.credential-form{min-width:0}.location-heading{display:block}.location-heading span{display:block;margin-bottom:5px}}
