:root{
  --navy:#13233c;
  --navy2:#1d3150;
  --gold:#ba8b3f;
  --bg:#f4f6f9;
  --ink:#172235;
  --muted:#6d7888;
  --line:#e2e7ee;
  --green:#17745a;
  --white:#fff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#d8e0eb;padding:27px 18px;display:flex;flex-direction:column;z-index:30}
.sidebar-top{display:flex;align-items:flex-start;gap:10px;padding:0 10px 28px;border-bottom:1px solid #ffffff18}
.brand{font-family:Georgia,serif;color:white;font-size:20px;font-weight:700;padding:0;display:flex;align-items:center;gap:12px;min-width:0}
.brand span{overflow:hidden;text-overflow:ellipsis}
.brand:first-letter{color:#dfb86f}
.sidebar nav{padding-top:22px;flex:1}
.sidebar nav a{display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 13px;margin:3px 0;border-radius:7px;font-size:14px;font-weight:650;line-height:1.15}
.sidebar nav a:hover{background:#ffffff12;color:white}
.sidebar nav a:hover .nav-icon{color:white}
.nav-icon{width:22px;min-width:22px;height:22px;display:inline-grid;place-items:center;color:#c6d0dd;font:700 17px/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI Symbol","Segoe UI",sans-serif}
.nav-icon-money{font-size:14px;letter-spacing:0}
.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-label{display:block;color:#8190a5;font-size:10px;font-weight:800;letter-spacing:1.5px;margin:20px 13px 8px}
.profile{display:flex;gap:9px;align-items:center;border-top:1px solid #ffffff18;padding:18px 4px 0}
.profile div{min-width:0;flex:1}
.profile b,.profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile small{color:#91a0b3}
.profile button{color:#9ca9b8;background:none;border:0;font-size:18px}
.avatar{width:34px;height:34px;border-radius:50%;background:#c49b57;color:white;display:grid;place-items:center;font-weight:700}
.mobile-menu-toggle,.sidebar-close{display:none;appearance:none;border:0;background:transparent;cursor:pointer}
.sidebar-backdrop,.sidebar-backdrop[hidden]{display:none}
.content{margin-left:248px;min-height:100vh;padding:0 36px 48px}
.content>header{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.mobile-menu-toggle{width:42px;height:42px;min-width:42px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy);box-shadow:0 8px 22px rgba(22,39,62,.08);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.mobile-menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
.sidebar-close{width:36px;height:36px;min-width:36px;border:1px solid #ffffff20;border-radius:8px;color:#d8e0eb;align-items:center;justify-content:center}
.sidebar-close span{position:relative;display:block;width:16px;height:16px}
.sidebar-close span::before,.sidebar-close span::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;border-radius:2px;background:currentColor}
.sidebar-close span::before{transform:rotate(45deg)}
.sidebar-close span::after{transform:rotate(-45deg)}
.global-search{width:min(530px,60%);background:white;border:1px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;gap:10px}
.global-search input{border:0;outline:0;width:100%;background:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7dde6;background:white;color:var(--ink);padding:9px 15px;border-radius:7px;font-weight:650;cursor:pointer}
.btn.primary{background:var(--navy);border-color:var(--navy);color:white}
.btn.danger{color:#b22b31;border-color:#ebc4c7}
.btn.wide{width:100%;padding:12px}
.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px;gap:20px}
.page-head h1{font:700 30px/1.2 Georgia,serif;margin:2px 0 7px;color:#152640}
.page-head p{margin:0;color:var(--muted)}
.eyebrow{font:800 10px/1.4 Inter,sans-serif!important;color:var(--gold)!important;letter-spacing:1.6px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:17px;margin-bottom:22px}
.metrics article,.panel{background:white;border:1px solid var(--line);border-radius:10px}
.metric-link{display:block;height:100%;border-radius:10px}.metric-link:focus-visible{outline:3px solid #b98a3d;outline-offset:3px}
.metrics article{min-height:112px;height:100%;padding:21px;display:flex;align-items:center;gap:15px}
.metrics strong{display:block;font:700 25px/1.1 Georgia,serif}
.metrics small,.list-row small,td small{display:block;color:var(--muted)}
.metric-icon{width:43px;height:43px;border-radius:9px;display:grid;place-items:center;font-size:20px}
.metric-icon.navy{background:#e9edf3;color:var(--navy)}
.metric-icon.gold{background:#faf1e2;color:#9d702a}
.metric-icon.green{background:#e5f4ef;color:var(--green)}
.metric-icon.gray{background:#edf0f4}
.grid-two{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.panel{padding:21px}
.panel-pad{padding:21px 21px 0}
.panel h2{font:700 17px Georgia,serif;margin:0 0 17px}
.panel-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.panel-head a,.row-actions a,.row-actions button{color:#345b85;font-weight:650;font-size:12px}
.dashboard-stack{display:grid;gap:20px}
.agenda-panel{margin-bottom:0}
.list-row{padding:13px 3px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;gap:12px}
.list-row:last-child{border:0}
.list-row>div{flex:1}
.file-icon{width:38px;height:42px;border-radius:5px;background:#eef1f5;color:#506178;display:grid;place-items:center;font-size:9px;font-weight:800}
.date-chip{width:48px;min-width:48px;height:48px;border-radius:8px;background:#edf3f1;color:#1d5948;display:grid;place-items:center;font-weight:800}
.date-chip small{font-size:10px;color:#527568;margin-top:-8px}
.hearing-row .badge{margin-left:auto}
.activity-dot{width:9px;height:9px;border:2px solid #b48a48;border-radius:50%}
.empty{padding:28px;text-align:center;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 17px}
.filters input,.filters select,.form-panel input,.form-panel select,.form-panel textarea,.login-card input{border:1px solid #d8dee7;border-radius:7px;padding:10px 12px;background:white}
.filters input{flex:1 1 280px;min-width:0}.filters select{flex:1 1 155px;min-width:155px}.filters .btn{flex:0 0 auto}
.table-wrap{padding:0;overflow:auto}
table{width:100%;border-collapse:collapse}
th{color:#6f7b8d;text-transform:uppercase;letter-spacing:.6px;font-size:10px;text-align:left;background:#fafbfc}
th,td{padding:14px 16px;border-bottom:1px solid #e9edf2}
td a b{color:#263f61}
.badge{background:#e7f3ee;color:#247359;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.badge.neutral{background:#eef1f5;color:#57677b}
.badge.warning{background:#fff6df;color:#9d702a}
.badge.danger{background:#fdebed;color:#b22b31}
.danger-text{color:#b22b31!important;font-weight:700}
.money-amount{font-variant-numeric:tabular-nums}
.deadline-warning{margin:14px 0 0;color:#9d702a;font-weight:700}
.danger-alert{background:#fdebed!important;border-color:#f1bdc4!important;color:#9b2028!important}
.row-overdue td{background:#fffafa}
.row-actions{display:flex;gap:10px;align-items:center}
.row-actions form{margin:0}
.row-actions button{background:none;border:0;padding:0;cursor:pointer}
.row-actions .link-danger,.link-danger{color:#b22b31}
.row-actions .link-action,.link-action{color:#345b85}
.details dl{display:grid;grid-template-columns:150px 1fr;margin:0}
.details dt,.details dd{padding:11px;border-bottom:1px solid var(--line);margin:0}
.details dt{color:var(--muted);font-weight:700}
.hash{font:12px ui-monospace,monospace;overflow-wrap:anywhere}
.form-panel{max-width:760px}
.form-panel form p{display:grid;gap:6px}
.form-panel label,.login-card label{font-weight:700;font-size:13px}
.form-panel input,.form-panel select,.form-panel textarea{width:100%}
.actions{display:flex;gap:9px;justify-content:flex-end}
.actions form{margin:0}
.hint{color:var(--muted)!important;font-size:12px}
.alert{padding:12px 15px;border:1px solid #b9dfd2;background:#e9f8f2;color:#17654d;border-radius:7px;margin-bottom:18px}
.notification-wrap{position:fixed;right:27px;bottom:27px;z-index:45}.notification-bell{width:54px;height:54px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:22px;box-shadow:0 12px 28px #13233c55;cursor:pointer;animation:bell-in .45s ease}.notification-bell.has-notifications{animation:bell-in .45s ease,ring 3.5s 1s ease-in-out infinite}.notification-bell span{position:absolute;right:-3px;top:-3px;min-width:20px;padding:1px 5px;border-radius:20px;background:#bc363b;color:#fff;font:700 11px Inter}.notification-popover{position:absolute;right:0;bottom:68px;width:min(360px,calc(100vw - 36px));padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 45px #13233c2b;animation:pop-in .2s ease}.notification-popover>div{display:flex;justify-content:space-between;padding:3px 5px 10px}.notification-popover button{border:0;background:transparent;font-size:20px;cursor:pointer}.notification-item{display:block;padding:10px 7px;border-top:1px solid var(--line)}.notification-item b,.notification-item small{display:block}.notification-item small{color:var(--muted)}.notification-item.urgent b{color:#b22b31}@keyframes pop-in{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes bell-in{from{transform:scale(.5)}to{transform:none}}@keyframes ring{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(13deg)}92%{transform:rotate(-13deg)}95%{transform:rotate(7deg)}}
.pagination{display:flex;justify-content:center;gap:18px;padding:20px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}
.login-brand{background:var(--navy);color:white;padding:11vh 9vw;display:flex;flex-direction:column;justify-content:center}
.brandmark{font-size:35px;color:#d5aa62}
.login-brand h1{font:700 48px/1.13 Georgia,serif;margin:28px 0 20px}
.login-brand em{color:#d1a75f;font-style:normal}
.login-brand p{max-width:500px;color:#b7c3d2;font-size:17px}
.security-note{margin-top:50px;color:#b7c3d2}
.login-card{padding:12vh 8vw;background:white}
.login-card h2{font:700 30px Georgia,serif;margin-bottom:5px}
.login-card>p,.login-card>small{color:var(--muted)}
.login-card form{margin:32px 0 23px}
.login-card label,.login-card input{display:block;width:100%;margin:9px 0}
.forgot{display:block;text-align:right;color:#365b81;margin:13px 0 20px}
.center-card{max-width:480px;margin:12vh auto;background:white;padding:35px;border:1px solid var(--line);border-radius:10px}
.search-groups{display:grid;gap:18px}
.section-gap{margin-top:20px}
.finance-grid{margin-top:17px}
@media(max-width:900px){
  body{overflow-x:hidden}
  body.sidebar-open{overflow:hidden}
  .sidebar{width:min(286px,86vw);padding:24px 18px;transform:translateX(-110%);transition:transform .22s ease;box-shadow:18px 0 45px rgba(12,25,42,.24);z-index:60}
  body.sidebar-open .sidebar,.sidebar.is-open{transform:translateX(0)}
  .sidebar-top{padding:0 6px 22px}
  .brand{font-size:19px}
  .sidebar nav a{gap:12px;min-height:52px;padding:12px 12px;font-size:17px;text-align:left}
  .nav-icon{width:24px;min-width:24px;height:24px;font-size:19px}
  .nav-icon-money{font-size:15px}
  .nav-label{font-size:10px}
  .sidebar-close{display:inline-flex}
  .sidebar-backdrop{position:fixed;inset:0;background:rgba(11,23,39,.46);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:50}
  .sidebar-backdrop:not([hidden]){display:block}
  .content{margin-left:0;padding:0 18px 35px}
  .mobile-menu-toggle{display:inline-flex}
  .content>header{gap:12px}
  .global-search{width:min(530px,100%);flex:1}
  .grid-two{grid-template-columns:1fr}
  .login-shell{grid-template-columns:1fr}
  .login-brand{display:none}
}
@media(max-width:600px){
  .content>header{height:auto;padding:14px 0;gap:10px}
  .global-search{width:auto;min-width:0}
  .content>header>.btn{display:none}
  .page-head{align-items:flex-start;flex-direction:column}
  .metrics{grid-template-columns:1fr}
  .filters{flex-wrap:wrap}
  .filters input,.filters select{min-width:100%;width:100%}
  .details dl{grid-template-columns:1fr}
  .details dd{padding-top:0}
  .hearing-row{align-items:flex-start}
  .hearing-row .badge{margin-left:0}
  .login-card{padding:10vh 8vw}
  .login-shell{display:block}
}
