:root{--navy:#142d3b;--ink:#183341;--muted:#637784;--border:#e1e8eb;--mint:#c6efdc;--bg:#f4f7f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.65 'Segoe UI',Tahoma,sans-serif;color:var(--ink)}a{color:#176b62;text-decoration:none}a:hover{text-decoration:underline}aside{position:fixed;inset:0 auto 0 0;width:238px;background:var(--navy);padding:29px 22px;color:#dce8ee;display:flex;flex-direction:column;overflow-y:auto}.brand{font-size:38px;font-weight:800;color:var(--mint);letter-spacing:-2px}.brand span{color:#fff}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500}.role{font-size:12px;border:1px solid #36505e;padding:7px 10px;border-radius:6px;margin:20px 0 10px}nav{flex:1}nav p{font-size:9px;letter-spacing:2px;color:#87a6b8;margin:23px 10px 8px}nav a{display:block;padding:7px 10px;color:#d5e1e7;border-radius:5px;font-size:12px}nav a:hover{background:#244353;text-decoration:none;color:white}main{margin-left:238px;padding:34px 40px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}h1{font-size:29px;line-height:1.3;letter-spacing:-.7px;margin:6px 0}h2{font-size:20px;margin:0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#6a8589;margin:0}.pill,.tag{display:inline-block;border-radius:20px;background:var(--mint);padding:6px 13px;font-size:10px;font-weight:700;white-space:nowrap}.tag{background:#edf4f4;color:#346f68;padding:3px 9px}.phase-note{background:#e8f1ee;border-left:3px solid #38917c;padding:10px 15px;font-size:12px;border-radius:3px;margin-bottom:22px}.muted,small{color:var(--muted)}.notice{font-size:12px;max-width:1100px}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:20px 0 24px}.filters label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}input,select,textarea{border:1px solid #d6e0e5;background:white;border-radius:6px;padding:9px 11px;font:inherit;color:var(--ink);max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #72bfa9}button{border:0;background:#226f61;color:white;border-radius:6px;padding:11px 17px;font:600 12px 'Segoe UI',Tahoma,sans-serif;cursor:pointer}.secondary{color:var(--ink);border:1px solid #d0dde0;background:white}.logout{color:#c7d9e3;background:#203d4e;width:100%;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:24px 0}.stats article,.sync-grid article{background:white;border:1px solid var(--border);border-radius:10px;padding:21px 22px}.stats article span{display:block;color:var(--muted);font-size:11px}.stats strong{display:block;font-size:29px;font-weight:650;letter-spacing:-.8px;margin:10px 0 5px;font-variant-numeric:tabular-nums}.stats small{font-size:10px}.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.compact strong{font-size:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 14px;gap:15px}.section-heading a{font-size:12px}.table-card{background:white;border:1px solid var(--border);border-radius:9px;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#eef3f4;font-size:10px;font-weight:650;color:#5a727e;padding:13px 18px}td{font-size:12px;padding:15px 18px;border-top:1px solid #edf1f3;max-width:450px;overflow:hidden;text-overflow:ellipsis}tbody tr:hover{background:#fafcfc}.empty{text-align:center;padding:55px 20px;color:var(--muted);font-size:14px}.empty small{font-size:11px}.sync-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.sync-grid article{padding:15px 18px}.sync-grid p{font-size:11px;color:var(--muted);margin:5px 0}.entry{background:white;border:1px solid var(--border);border-radius:8px;padding:16px 20px;margin:20px 0}.entry summary{cursor:pointer;font-weight:600}.entry-form{max-width:650px;margin:20px 0}.entry-form p{display:flex;flex-direction:column;gap:5px;font-size:12px}.entry-form textarea{height:90px}.entry-form input[type=checkbox]{align-self:start}.errorlist,.warning{color:#9a4c2d;background:#fff1e7;padding:10px 17px;border-radius:5px;font-size:12px}.message{background:var(--mint);padding:12px 18px;border-radius:5px}.pagination{display:flex;gap:18px;margin:20px 0;font-size:12px}footer{color:#8a9ca4;font-size:10px;margin-top:38px;border-top:1px solid var(--border);padding-top:18px}.login-main{margin:0;max-width:850px;min-height:100vh;margin-inline:auto}.login-card{background:white;border:1px solid var(--border);border-radius:12px;padding:36px;max-width:460px;margin:45px auto}.login-card label,.login-card input{display:block;width:100%}.login-card label{font-size:12px}.login-card button{width:100%;margin-top:12px}@media(max-width:1100px){main{padding:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats strong{font-size:25px}}@media(max-width:720px){aside{position:static;width:100%;padding:16px}aside .brand{font-size:26px}aside nav{display:flex;gap:4px;overflow:auto}nav p,.role{display:none}nav a{white-space:nowrap}aside form{margin-top:8px}.logout{padding:6px}main{margin:0;padding:18px}h1{font-size:24px}.stats{gap:9px}.stats article{padding:15px}.stats strong{font-size:21px}.stats small{font-size:9px}.filters input{width:145px}.login-main{padding:20px}}

/* Mobile navigation is a disclosure panel; desktop retains its sidebar. */
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.navigation-panel{display:flex;flex:1;flex-direction:column;min-height:0}
.navigation-panel[hidden],.menu-toggle[hidden]{display:none}
.menu-toggle{display:none;align-items:center;gap:9px;min-height:44px;padding:10px 12px;background:#244353;border:1px solid #45616f;color:#fff}
.menu-toggle:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.menu-icon{display:flex;flex-direction:column;gap:4px;width:20px}
.menu-icon span{display:block;height:2px;width:20px;background:currentColor;border-radius:2px;transition:transform .15s,opacity .15s}
.menu-toggle[aria-expanded="true"] .menu-icon span:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-icon span:last-child{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:720px){
  aside{padding:14px 18px}
  .menu-toggle{display:inline-flex;flex-shrink:0}
  aside .brand{font-size:28px;line-height:1.2}
  .brand small{margin-top:6px}
  .navigation-panel{margin-top:16px;border-top:1px solid #36505e;padding-top:8px}
  aside nav{display:block;overflow:visible}
  aside nav p{display:block;margin:18px 10px 8px}
  aside .role{display:block;margin:10px 0}
  aside nav a{white-space:normal;font-size:14px;min-height:44px;padding:10px 12px}
  aside form{margin:16px 0 4px}
  aside .logout{min-height:44px;padding:10px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.menu-icon span{transition:none}}
