:root{--navy:#0b2948;--blue:#1672c4;--gold:#f3c847;--bg:#f2f5f8;--ink:#172334;--muted:#6a7888;--line:#dbe2ea;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}.side{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(180deg,#0b2948,#071a2e);color:white;padding:25px 17px;display:flex;flex-direction:column}.side-brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.logo{width:42px;height:42px;border-radius:11px;background:var(--blue);display:grid;place-items:center;color:white;font-size:23px;font-weight:800}.side-brand b,.side-brand small,.user small{display:block}.side-brand b{font-size:19px;letter-spacing:.1em}.side-brand small,.user small{color:#adc0d1}.user{padding:13px;border:1px solid #ffffff1b;border-radius:9px;margin-bottom:15px;font-size:13px}.user small{text-transform:capitalize;margin-top:3px}.side nav{display:grid;gap:4px}.side nav a{color:#cbd7e2;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:13px}.side nav a:hover,.side nav a.active{background:#ffffff16;color:white}.side nav a.active{box-shadow:inset 3px 0 var(--gold)}.main{margin-left:245px;padding:26px 32px 50px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.top span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:700}.top h1{margin:4px 0 0;font-size:28px}.btn{border:1px solid transparent;border-radius:8px;padding:9px 13px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}.primary{background:var(--blue);color:white}.secondary{background:white;border-color:var(--line);color:var(--ink)}.alert{padding:12px 15px;border-radius:9px;margin-bottom:16px}.success{background:#eaf8ef;color:#176b37}.error{background:#fff0ef;color:#9b1c14}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:18px;box-shadow:0 5px 18px #17344f0a}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.stat{margin:0}.stat span{color:var(--muted);font-size:13px}.stat b{display:block;font-size:29px;margin-top:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card h3{margin-top:0}.card p{color:var(--muted);line-height:1.6}.actionbar,.toolbar{display:flex;gap:10px;align-items:center}.actionbar{justify-content:space-between;margin-bottom:16px}.actionbar p{color:var(--muted)}.toolbar input,.toolbar select{min-width:220px;border:1px solid var(--line);border-radius:8px;padding:9px 11px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:15px}.formgrid label,.stack label{display:grid;gap:5px;font-size:12px;font-weight:700}.formgrid input,.formgrid select,.formgrid textarea,.stack input{border:1px solid #cbd5df;border-radius:8px;padding:9px 11px;background:white}.formgrid .wide{grid-column:1/-1}details summary{font-weight:700;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 9px;border-bottom:1px solid #e7ebef;text-align:left;vertical-align:top}th{font-size:11px;text-transform:uppercase;color:#667587}td small{display:block;color:var(--muted);margin-top:3px}.tablewrap{overflow:auto}.badge{background:#edf3f8;border:1px solid #d8e1e9;padding:4px 7px;border-radius:20px;font-size:11px}.avatar{width:40px;height:45px;object-fit:cover;border-radius:4px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eef4f8,#dce8f2)}.auth-card{width:min(480px,100%);background:white;padding:30px;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px #102b451f}.auth-card h1{margin:16px 0 6px}.auth-card p{color:var(--muted)}.stack{display:grid;gap:14px}.org-paper{background:white;border:1px solid var(--line);border-radius:14px;padding:25px;margin-top:15px;min-height:650px}.org-paper>header{text-align:center;border-bottom:1px solid #e5eaf0;padding-bottom:18px}.org-paper h2{margin:0 0 5px}.org-paper footer{text-align:right;border-top:1px solid #e5eaf0;padding-top:12px;font-size:12px}.org-scroll{overflow:auto;padding:28px 0}.org-tree{display:table;margin:auto;text-align:center;min-width:max-content}.org-tree ul{padding-top:22px;position:relative;display:flex;justify-content:center;margin:0;padding-left:0}.org-tree li{list-style:none;position:relative;padding:22px 8px 0}.org-tree li:before,.org-tree li:after{content:"";position:absolute;top:0;right:50%;border-top:1px solid #778797;width:50%;height:22px}.org-tree li:after{right:auto;left:50%;border-left:1px solid #778797}.org-tree li:only-child:before,.org-tree li:only-child:after{display:none}.org-tree li:only-child{padding-top:0}.org-tree li:first-child:before,.org-tree li:last-child:after{border:0}.org-tree li:last-child:before{border-right:1px solid #778797}.org-tree ul ul:before{content:"";position:absolute;top:0;left:50%;border-left:1px solid #778797;height:22px}.person{width:135px;min-height:155px;border:1px solid #536272;background:white;padding:9px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 8px #1a2c3e18}.person img,.person>span{width:58px;height:64px;object-fit:cover;background:#e9eff4;display:grid;place-items:center;font-weight:800}.person b{font-size:11px;margin-top:6px}.person small,.person em{font-size:9px}.person em{font-style:normal;font-weight:700;margin-top:3px}.empty{height:400px;display:grid;place-items:center;color:var(--muted)}.future h2{margin-top:0}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.module-grid article{border:1px solid var(--line);border-radius:10px;padding:16px}.module-grid b,.module-grid span{display:block}.module-grid span{font-size:12px;color:var(--muted);margin-top:5px}
@media(max-width:900px){.side{position:static;width:auto}.side nav{grid-template-columns:repeat(2,1fr)}.main{margin:0;padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.grid2,.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}}@media(max-width:560px){.stats,.module-grid{grid-template-columns:1fr}.actionbar,.toolbar{align-items:stretch;flex-direction:column}.toolbar input,.toolbar select{width:100%}.top h1{font-size:23px}}
@media print{body{background:white}.no-print,.side{display:none!important}.main{margin:0;padding:0}.org-paper{border:0;box-shadow:none}.org-scroll{overflow:visible}.person{box-shadow:none;break-inside:avoid}@page{size:landscape;margin:7mm}}
.side .user{cursor:pointer;transition:.15s}.side .user:hover,.side .user:focus{background:#ffffff12;border-color:#ffffff35;outline:none}
.item-decision-form{min-width:230px}.item-decision-form input{width:100%;border:1px solid #cbd5df;border-radius:7px;padding:7px 8px;margin-bottom:7px}.item-decision-form .btn{padding:6px 9px;font-size:11px}
.form-actions,.row-actions{display:flex;gap:8px;align-items:center}.row-actions a,.row-actions button{border:0;background:transparent;color:var(--blue);font-weight:700;font-size:12px;padding:0;cursor:pointer}.row-actions button{color:#b42318}.table-input{width:100%;min-width:120px;border:1px solid #cbd5df;border-radius:7px;padding:7px 8px}.check{display:flex;align-items:center;gap:6px;white-space:nowrap}

/* Independent scrolling for the fixed menu on short desktop screens. */
@media screen and (min-width:901px){
  .side{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
  .side nav{flex:0 0 auto;padding-bottom:12px}
  .side::-webkit-scrollbar{width:8px}
  .side::-webkit-scrollbar-track{background:#071a2e}
  .side::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:10px;border:2px solid #071a2e}
  .side::-webkit-scrollbar-thumb:hover{background:#ffffff5c}
}
