:root{--navy:#071827;--navy2:#102a3c;--ink:#152536;--muted:#667689;--line:#dce3e8;--surface:#fff;--bg:#f4f6f8;--orange:#f58220;--orange2:#d96b0d;--blue:#2674a8;--green:#21855b;--red:#ba3a3a;--amber:#a66512}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 Arial,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.08em;margin:0 8px 34px}.brand img{width:36px;height:36px;object-fit:contain}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;justify-content:space-between;width:100%;border:0;border-radius:8px;padding:12px 14px;background:transparent;color:#c8d3dc;text-align:left;font:inherit;cursor:pointer}.nav-item:hover,.nav-item.active{background:var(--navy2);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--orange)}.count{min-width:24px;padding:1px 7px;border-radius:20px;background:var(--orange);color:#fff;text-align:center;font-size:.8rem}.role-switcher{margin-top:auto;padding:14px;background:var(--navy2);border-radius:10px}.role-switcher label{display:block;margin-bottom:7px;color:#b9c7d1;font-size:.82rem}.role-switcher select{width:100%;padding:10px;border:1px solid #426075;border-radius:6px;background:#fff;color:var(--ink)}main{min-width:0;padding:30px 36px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.78rem;font-weight:700;margin:0 0 5px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:2rem}h2{margin-bottom:7px}.top-actions{display:flex;gap:10px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:7px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.primary{border:1px solid var(--orange);background:var(--orange);color:#fff}.primary:hover{background:var(--orange2)}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.view,.role-dashboard{display:none}.view.active,.role-dashboard.active{display:block}.metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;margin-bottom:22px}.metrics article,.panel,.client-card,.admin-module{background:var(--surface);border:1px solid var(--line);border-radius:10px}.metrics article{padding:18px;border-top:3px solid var(--blue)}.metrics span,.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:1.9rem;margin:5px 0}.metrics small{font-size:.78rem}.warning{color:var(--amber)!important}.danger{color:var(--red)!important}.panel{padding:22px}.panel-head,.client-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-head p,.section-heading p{color:var(--muted);margin-bottom:0}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse}th,td{padding:14px 12px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}td:first-child b,td:first-child span{display:block}td:first-child span{color:var(--muted);font-size:.82rem}.priority,.status{display:inline-block;border-radius:20px;padding:5px 9px;font-style:normal;font-size:.76rem;font-weight:700;text-transform:uppercase}.priority.high{background:#fee5e5;color:var(--red)}.priority.normal{background:#eaf0f4;color:#506173}.status.scheduling{background:#e3f0fa;color:var(--blue)}.status.rfi{background:#fff0dc;color:var(--amber)}.status.review{background:#eee8fa;color:#68469d}.status.complete{background:#e0f3ea;color:var(--green)}.work-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.compact h3{display:flex;justify-content:space-between}.compact h3 span{color:var(--muted)}.work-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.work-card span{color:var(--muted)}.client-projects{display:grid;gap:12px;margin-top:20px}.client-card{display:flex;justify-content:space-between;align-items:center;padding:20px;text-decoration:none;color:var(--ink)}.client-card b,.client-card span{display:block}.client-card b{font-size:1.08rem}.client-card span{color:var(--muted);margin-top:4px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.admin-module{padding:20px}.admin-module b,.admin-module span{display:block}.admin-module span{color:var(--muted);margin-top:7px;font-size:.88rem}.empty-state{text-align:center;padding:80px 20px}.empty-state p{color:var(--muted)}
.project-tabs{display:flex;gap:4px;overflow:auto;margin:0 0 18px;border-bottom:1px solid var(--line)}.project-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 13px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer}.project-tabs button.active{border-bottom-color:var(--orange);color:var(--ink);font-weight:700}.project-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0 0}.details-grid div{border-bottom:1px solid var(--line);padding-bottom:12px}.details-grid dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.details-grid dd{margin:6px 0 0;font-weight:700}.timeline ol{list-style:none;padding:0;margin:18px 0 0}.timeline li{position:relative;padding:0 0 22px 18px;border-left:2px solid var(--line)}.timeline li:before{content:'';position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--orange)}.timeline b,.timeline span,.timeline time{display:block}.timeline span,.timeline time{color:var(--muted);font-size:.84rem}.records{margin-top:18px}
.tab-panel{display:none}.tab-panel.active{display:block}.record-list{display:grid;gap:12px;margin-top:18px}.record-card{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(240px,2fr) auto;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:8px}.record-card b,.record-card span{display:block}.record-card span{color:var(--muted);font-size:.84rem}.record-card p{margin:0}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(3,1fr)}.work-columns,.admin-grid{grid-template-columns:repeat(2,1fr)}.project-layout{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.role-switcher{margin-top:18px}main{padding:24px 18px}.topbar,.client-heading{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.work-columns,.admin-grid,.details-grid,.record-card{grid-template-columns:1fr}.panel{padding:16px}.client-card{align-items:flex-start;gap:12px;flex-direction:column}}

.project-link{display:block;color:var(--ink);text-decoration:none}.project-link:hover b{text-decoration:underline;color:var(--blue)}.empty-copy{color:var(--muted);margin:14px 0 0}.count:empty{display:none}

.record-total{color:var(--muted)}.record-total strong{color:var(--ink);font-size:1.35rem}.project-directory{display:grid;gap:12px;margin-top:20px}.directory-card{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(280px,1fr) auto;align-items:center;gap:20px;padding:18px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.directory-card:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(21,37,54,.08)}.directory-card b,.directory-card span{display:block}.directory-card b{font-size:1.05rem}.directory-card span{color:var(--muted);margin-top:3px}.directory-card dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}.directory-card dt{color:var(--muted);font-size:.72rem;text-transform:uppercase}.directory-card dd{margin:3px 0 0}@media(max-width:720px){.directory-card{grid-template-columns:1fr}.directory-card dl{grid-template-columns:1fr 1fr}}

.rfi-actions{display:flex;align-items:center;gap:14px}.rfi-summary{display:flex;gap:28px;padding:18px 0;margin-top:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.rfi-summary strong{color:var(--ink);font-size:1.2rem}.rfi-directory{display:grid;gap:10px;margin-top:18px}.rfi-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.7fr) minmax(150px,.7fr) auto;align-items:center;gap:18px;padding:17px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.rfi-card:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(21,37,54,.08)}.rfi-card b,.rfi-card span{display:block}.rfi-card div span,.rfi-location{color:var(--muted);font-size:.82rem}.rfi-card p{margin:0}.rfi-empty{padding:32px;text-align:center;border:1px dashed var(--line);border-radius:9px}.rfi-empty p{margin:6px 0 0;color:var(--muted)}@media(max-width:850px){.rfi-card{grid-template-columns:1fr}.rfi-actions{align-items:flex-end;flex-direction:column}.rfi-summary{flex-wrap:wrap}}

.notification-list{display:grid;gap:10px;margin-top:20px}.notification-card{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:14px;padding:17px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.notification-card:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(21,37,54,.08)}.notification-dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}.notification-card p{margin:3px 0 0;color:var(--muted)}.notification-meta{text-align:right;color:var(--muted);font-size:.8rem}.notification-meta span,.notification-meta time{display:block}@media(max-width:720px){.notification-card{grid-template-columns:auto 1fr}.notification-meta{grid-column:2;text-align:left}}
