/* Visual language shared with the firm's intranet. Assets are served locally. */
:root{color-scheme:dark;--navy:#002d56;--ink:#f1f3f5;--muted:#b1bac4;--accent:#86b7fe;--line:#495463;--bg:#1a2635;--gold:#c5a059;font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
body{background:var(--bg);color:var(--ink)}
.sidebar{background:#152130;border-right:1px solid #384656;padding:28px 20px;overflow-y:auto}
.sidebar>*{flex-shrink:0}
.brand{display:block;font-family:inherit;letter-spacing:0}
.brand-logo{background:#e4e6e9;padding:13px;border-radius:10px;border:1px solid #c5a05966}
.brand-logo img{display:block;width:100%;height:auto}
.brand small{text-align:center;color:var(--gold);font-size:10px;letter-spacing:1.6px;margin-top:15px}
.nav-label{color:#b3bfce;margin-top:30px}
nav a{color:#dce2e9;border:1px solid transparent}
nav a:hover{background:#25364a;border-color:#43556c}
nav a[aria-current]{background:#0d6efd26;border-color:#458df2;color:#b6d4fe}
.profile{border-color:var(--line)}
.profile small,.profile span{color:var(--muted);overflow-wrap:anywhere}
.profile .link{color:#ffadb5}
.topbar{background:#1a2635;border-bottom:1px solid #495463;height:72px}
.topbar>span:first-child{font-size:17px;font-weight:600;color:#f8f9fa}
.workspace-label{color:var(--gold)}
main{max-width:none}
h1{font-size:32px;letter-spacing:-.6px;font-weight:600}
h2,h3{color:#f8f9fa}
.eyebrow{color:var(--gold)}
button,.button{background:#0d6efd;border-color:#0d6efd;color:#fff;border-radius:6px}
button:hover,.button:hover{background:#0b5ed7;border-color:#0a58ca;filter:none}
button.secondary,.button.secondary{background:transparent;border-color:#7f91a6;color:#dce4ee}
button.secondary:hover,.button.secondary:hover{background:#344254;border-color:#a2b1c2}
.link,.link:hover{background:transparent;border:0}
.panel,.request-card{background:#212529;border:1px solid #46505d;border-radius:12px}
.request-card{padding:30px;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.request-card:hover{background:#2b3035;border-color:#6ea8fe;transform:translateY(-3px)}
.card-icon{background:#0d6efd26;color:#86b7fe;border-radius:50%;width:58px;height:58px;font-size:18px}
.request-card h3{margin-top:20px;font-size:21px}
.request-card p{color:#b7c0ca;font-size:14px}
.card-action{color:#91bdff}
th{background:#19232f;color:#bec9d6}
td,th{border-color:#3d4855}
tbody tr:hover{background:#ffffff04}
.ticket-subject{color:#f1f3f5}
.badge{background:#123b62;color:#b6d7fa}
.badge.resolved{background:#183d30;color:#a3d9bb}
input,select,textarea{background:#17212d;color:#f1f3f5;border-color:#647387}
input::placeholder,textarea::placeholder{color:#98a7b9;opacity:1}
input[readonly]{background:#28313d;color:#c5cdd8}
input[type=checkbox]{accent-color:#0d6efd}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-color:#86b7fe}
input[type=file]::file-selector-button{background:#33465b;color:#f1f3f5;border:0;border-radius:4px;padding:7px 10px;margin-right:12px}
.required{color:#ffadb5}
.help-panel{background:#202d3d;border-color:#49586b}
.field-editor{background:#192430;border-color:#4e5d70}
.preview-panel{background:#212529;border-top:3px solid var(--gold)}
.notice{background:#173e32;border-color:#39775f;color:#d1e7dd}
.notice p{color:inherit}
.notice.error{background:#48252c;border-color:#a95f6b;color:#f5c2c7}
.skip{background:#212529;color:#fff}
.empty{color:#d6dfe8}
footer{color:#adb8c6}
.login-page{background:linear-gradient(135deg,#002d56,#001a33);min-height:100vh}
.login-page .sidebar,.login-page .topbar,.login-page footer{display:none}
.login-page .workspace{margin-left:0}
.login-page main{min-height:100vh;display:grid;align-content:center;padding:32px 20px}
.login-panel{max-width:480px;width:100%;margin:0 auto;padding:42px;text-align:center;background:#ffffff0d;border:1px solid #c5a05966;border-radius:15px;box-shadow:0 18px 45px #00000026}
.login-logo{background:#ffffffbf;border:1px solid #c5a05933;border-radius:12px;padding:15px;display:inline-block}
.login-logo img{width:250px;max-width:100%;height:auto;display:block}
.login-panel h1{font-family:inherit;font-size:26px;font-weight:500;letter-spacing:-.3px;margin:27px 0 15px}
.login-panel .lead{font-size:15px;margin:0 0 28px;color:#c5d1dc}
.login-panel .button{display:flex;width:100%;background:#fff;border:2px solid transparent;color:#17212d;gap:12px;padding:13px 16px}
.login-panel .button:hover{background:#c5a059;color:#14202e;border-color:#c5a059}
.google-mark{width:20px;height:20px}
.login-panel .muted{color:#c0ccd8;margin-top:22px}
.login-footer{color:#b1becd;font-size:12px;margin-top:32px}
@media(prefers-reduced-motion:reduce){.request-card{transition:none}.request-card:hover{transform:none}}
@media(max-width:780px){.sidebar{border-right:0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px}.brand-logo{max-width:180px;padding:8px}.brand small{margin:0;text-align:left}.sidebar nav{gap:4px}nav a{padding:10px 12px;margin:0}.topbar{height:56px}.topbar>span:first-child{font-size:15px}h1{font-size:28px}.login-panel{padding:30px 24px}}
.remote-description{white-space:pre-wrap;overflow-wrap:anywhere}
