:root{--bg:#0c0f13;--panel:#151a20;--panel2:#1b2129;--line:#2a333e;--text:#f4f7fa;--muted:#96a2ae;--accent:#e28a2b;--green:#50b987;--yellow:#e1b84f;--red:#dc6262}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0%,#1a2027 0,#0c0f13 36%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(12,15,19,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.brand{font-weight:800;letter-spacing:.08em}.brand-mark{color:var(--accent);margin-right:9px}.topbar nav{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:14px}.topbar a{color:var(--text);text-decoration:none}.shell{max-width:1440px;margin:auto;padding:34px 4vw 70px}.hero,.project-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.hero h1,.project-header h1{font-size:34px;margin:4px 0 8px;letter-spacing:-.03em}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:800;margin:0}.muted{color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:15px;padding:18px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:28px;margin-top:6px}.danger-metric strong{color:var(--red)}.grid{display:grid;gap:18px}.dashboard-grid{grid-template-columns:1.25fr .75fr}.project-grid{grid-template-columns:1fr .48fr}.span2{grid-column:1}.card{background:linear-gradient(155deg,rgba(28,34,42,.97),rgba(18,23,29,.97));border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 18px 40px rgba(0,0,0,.16)}.section-head{display:flex;justify-content:space-between;margin-bottom:14px}.section-head h2{margin:4px 0 0;font-size:18px}.project-list,.activity-list,.task-list,.file-list,.decision-list{display:flex;flex-direction:column;gap:9px}.project-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid transparent;border-radius:13px;color:var(--text);text-decoration:none;background:#11161c}.project-row:hover{border-color:#3a4654;background:#171d24}.project-row small,.file-list small{display:block;color:var(--muted);margin-top:4px}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--green);box-shadow:0 0 14px rgba(80,185,135,.45)}.status-dot.yellow{background:var(--yellow)}.status-dot.red{background:var(--red)}.arrow{color:var(--accent)}.activity{display:grid;grid-template-columns:12px 1fr;gap:8px;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.05)}.activity-icon{color:var(--accent)}.activity strong,.activity small,.activity time{display:block}.activity small,.activity time{font-size:11px;color:var(--muted);margin-top:3px}.compact{max-height:640px;overflow:auto}.back{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:22px}.project-title-line{display:flex;align-items:center;gap:12px}.pill{border:1px solid #46515d;border-radius:999px;padding:7px 11px;font-size:11px;color:#cbd3dc;background:#151a20}.pill.small{padding:4px 8px}.input{width:100%;border:1px solid #35404c;background:#0f1419;color:var(--text);padding:11px 12px;border-radius:10px;outline:none}.input:focus{border-color:var(--accent)}.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.primary{background:var(--accent);color:#14110c}.secondary{background:#2c3641;color:var(--text)}.full{width:100%;margin-top:16px}.inline-form{display:grid;grid-template-columns:1fr 145px 120px auto;gap:8px;margin-bottom:14px}.stack-form{display:flex;flex-direction:column;gap:8px}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.textarea{min-height:76px;resize:vertical}.decision-form{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.task{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:12px;background:#11161c;border-radius:11px}.task.done{opacity:.55}.task.done strong{text-decoration:line-through}.check{width:28px;height:28px;border-radius:8px;border:1px solid #45515e;background:#161c22;color:var(--green);cursor:pointer}.task-main small{display:block;color:var(--muted);margin-top:3px}.file-list{margin-top:14px}.file-list a{padding:10px 0;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05)}.decision{padding:15px;background:#11161c;border-radius:12px}.decision>div{display:flex;justify-content:space-between;align-items:center}.decision time{color:var(--muted);font-size:11px}.decision h3{margin:11px 0 6px}.decision p{margin:0 0 8px;color:#e0e5eb}.decision small{color:var(--muted)}.login-wrap{min-height:72vh;display:grid;place-items:center}.login-card{width:min(420px,100%)}.login-card label{font-size:12px;color:var(--muted);display:block;margin:14px 0 6px}.flash{padding:11px 14px;border-radius:10px;margin-bottom:14px;background:#213a2f}.flash.danger{background:#48282a}.flash.warning{background:#493b22}@media(max-width:900px){.metrics{grid-template-columns:1fr 1fr}.dashboard-grid,.project-grid{grid-template-columns:1fr}.span2{grid-column:auto}.inline-form{grid-template-columns:1fr 1fr}.inline-form .btn{grid-column:span 2}.topbar nav span{display:none}}@media(max-width:560px){.metrics{grid-template-columns:1fr 1fr}.shell{padding:24px 16px}.topbar{padding:0 16px}.hero h1,.project-header h1{font-size:27px}.row,.inline-form{grid-template-columns:1fr}.inline-form .btn{grid-column:auto}.project-row small{display:none}}

.nav-signout{background:transparent;border:0;color:var(--text);font:inherit;cursor:pointer}.topbar nav form{margin:0}.inline-form{grid-template-columns:minmax(160px,1fr) 140px 135px 110px auto}.status-dot.yellow{box-shadow:0 0 12px #e1b84f44}.status-dot.red{box-shadow:0 0 12px #dc626244}@media(max-width:1100px){.inline-form{grid-template-columns:1fr 1fr}.inline-form .btn{grid-column:span 2}}@media(max-width:560px){.inline-form{grid-template-columns:1fr}.inline-form .btn{grid-column:auto}}

.topbar{height:auto;min-height:68px;gap:18px;padding-top:12px;padding-bottom:12px}.topbar nav{flex-wrap:wrap;justify-content:flex-end;gap:14px}.member-card{padding:16px 0;border-bottom:1px solid var(--line)}.member-card h3{margin:0 0 8px}.form-error{color:var(--red)}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filter-tabs a{text-decoration:none}.selected{border-color:var(--accent);color:var(--accent)}.task-main a,.deadline-group a{color:var(--text);text-decoration:none}.deadline-group{margin-bottom:16px}.search-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:20px}@media(max-width:560px){.topbar{align-items:flex-start;flex-direction:column}.topbar nav{justify-content:flex-start;gap:12px}.search-form{grid-template-columns:1fr}}

/* Project directory and project spaces. Counts describe recorded work, not release readiness. */
html{scroll-padding-top:110px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portfolio-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:8px 0 28px}
.portfolio-hero h1{font-size:clamp(18px,1.7vw,24px);letter-spacing:-.025em;margin:10px 0 8px;line-height:1.25}@media(min-width:1100px){.portfolio-hero h1{white-space:nowrap}}
.portfolio-hero .muted{font-size:15px;line-height:1.6;margin:0}
.hero-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;line-height:1.4}
.portfolio-metrics{gap:16px;margin-bottom:32px}
.portfolio-metrics .metric{color:var(--text);text-decoration:none;border-radius:14px;padding:18px 20px}
.portfolio-metrics a.metric:hover{border-color:#596879}
.portfolio-metrics .metric span{font-size:10px;letter-spacing:.1em;font-weight:700}
.portfolio-metrics .metric strong{font-size:32px;margin:5px 0}
.portfolio-metrics .metric small{font-size:12px;color:var(--muted);line-height:1.5}
.portfolio-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}
.portfolio-layout>section{min-width:0}
.portfolio-heading{align-items:center;margin-bottom:18px;gap:12px}
.portfolio-heading h2{font-size:22px;margin-top:7px}
.text-link{color:var(--accent);text-decoration:none;font-size:13px;white-space:nowrap}
.text-link:hover{text-decoration:underline}
.project-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-space{display:flex;flex-direction:column;min-width:0;min-height:284px;padding:22px 20px 18px;border:1px solid var(--line);border-top:3px solid #596879;border-radius:16px;background:linear-gradient(140deg,#1c232c,#13191f);color:var(--text);text-decoration:none;box-shadow:0 12px 24px #0000001c;transition:border-color .15s,background .15s}
.project-space.critical{border-top-color:var(--red)}
.project-space.high{border-top-color:var(--accent)}
.project-space:hover{border-color:#687788;background:linear-gradient(140deg,#232d38,#171f27)}
.project-space-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.project-health{display:inline-flex;align-items:center;gap:8px;color:#c4cdd7;font-size:12px}
.project-space h3{font-size:21px;letter-spacing:-.025em;line-height:1.3;margin:20px 0 8px;overflow-wrap:anywhere}
.space-description{font-size:13px;line-height:1.65;color:#b0bdca;margin:0 0 20px;overflow-wrap:anywhere}
.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto;padding:14px 0 18px;border-top:1px solid #ffffff0e}
.project-facts span{display:block;font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--muted);margin-bottom:6px}
.project-facts strong{font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.project-space-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid #ffffff0e}
.project-space-bottom>small{font-size:11px;color:#c5cfda;text-align:right}
.card-arrow{display:inline-block;color:var(--accent);font-size:18px;margin-left:8px;vertical-align:middle}
.avatar-stack{display:flex;align-items:center;flex-wrap:wrap;padding-left:2px}
.person-avatar{display:inline-flex;justify-content:center;align-items:center;width:30px;height:30px;flex-shrink:0;margin-left:-2px;border:2px solid #171d24;border-radius:50%;background:#493724;color:#ffe4c1;font-size:10px;font-weight:800;letter-spacing:.02em}
.person-avatar:nth-child(3n+2){background:#21443e;color:#c4f1df}
.person-avatar:nth-child(3n){background:#303f59;color:#d1e0fc}
.data-note{font-size:11px;line-height:1.6;color:var(--muted);margin:18px 0 0}
.activity-panel{padding:22px 20px;position:sticky;top:96px}
.activity-caption{font-size:11px;color:var(--muted);margin:0 0 22px}
.timeline{max-height:660px;overflow:auto;padding-right:4px}
.timeline-entry{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;padding:0 0 24px}
.timeline-entry:not(:last-child):before{content:"";position:absolute;left:4px;top:12px;bottom:0;width:1px;background:var(--line)}
.timeline-dot{position:relative;margin-top:5px;width:9px;height:9px;border:2px solid var(--accent);background:var(--panel);border-radius:50%;z-index:1}
.timeline-project{display:block;color:var(--accent);font-size:10px;line-height:1.4;margin-bottom:5px}
.timeline-entry strong{display:block;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.timeline-entry p{font-size:12px;line-height:1.5;margin:5px 0;color:#b0bdca;overflow-wrap:anywhere}
.timeline-entry time{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:6px}
.project-overview{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 26px}
.project-overview>div:first-child{max-width:780px;min-width:0}
.project-overview h1{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;line-height:1.2;margin:10px 0;overflow-wrap:anywhere}
.project-overview .muted{font-size:14px;line-height:1.7;margin:0}
.workspace-meta{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}
.workspace-meta .muted{font-size:12px}
.workspace-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}
.tool-card{display:flex;align-items:center;gap:12px;padding:17px 14px;background:#151c24;border:1px solid var(--line);border-radius:13px;color:var(--text);text-decoration:none;min-width:0}
.tool-card:hover{border-color:#687788;background:#1d2732}
.tool-symbol{display:flex;justify-content:center;align-items:center;width:32px;height:32px;background:#e28a2b16;border-radius:9px;color:var(--accent);font-size:20px;flex-shrink:0}
.tool-card div{min-width:0;flex:1}
.tool-card strong{display:block;font-size:13px;line-height:1.5}
.tool-card small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:2px}
.tool-card>span:last-child{color:var(--accent);font-size:16px}
@media(max-width:1100px){.portfolio-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.project-card-grid{gap:14px}.project-space{padding:18px 16px}.project-space h3{font-size:19px}.project-facts{grid-template-columns:1fr;gap:12px}.workspace-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.portfolio-layout{grid-template-columns:1fr}.activity-panel{position:static;margin-top:8px}.timeline{max-height:none}.project-facts{grid-template-columns:1fr 1fr}.portfolio-hero{align-items:flex-start;flex-direction:column;gap:18px}.portfolio-metrics{margin-bottom:24px}.project-overview{flex-direction:column}.workspace-meta{align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(max-width:560px){html{scroll-padding-top:155px}.project-card-grid{grid-template-columns:1fr}.project-space{min-height:0;padding:20px}.project-space h3{font-size:23px}.portfolio-metrics{gap:10px}.portfolio-metrics .metric{padding:14px}.portfolio-metrics .metric strong{font-size:28px}.portfolio-metrics .metric small{font-size:10px}.portfolio-heading{align-items:flex-end}.portfolio-heading h2{font-size:20px}.text-link{font-size:11px}.workspace-tools{grid-template-columns:1fr 1fr;gap:9px}.tool-card{padding:12px 10px;gap:8px}.tool-symbol{width:26px;height:26px;font-size:17px}.tool-card>span:last-child{display:none}.tool-card strong{font-size:12px}.tool-card small{font-size:9px}.project-overview h1{font-size:29px}.hero-actions{width:100%}.hero-actions a{flex:1}.project-facts{gap:12px}.project-title-line{align-items:center;gap:9px}}
@media(prefers-reduced-motion:reduce){.project-space{transition:none}}

.date-control{display:flex;align-items:center;min-width:0;border:1px solid #35404c;border-radius:10px;background:#0f1419;overflow:hidden;color-scheme:dark}.date-control:focus-within{border-color:var(--accent)}.date-control .input{min-width:0;flex:1;border:0;background:transparent;border-radius:0;padding-right:4px}.calendar-trigger{display:flex;align-items:center;justify-content:center;gap:5px;align-self:stretch;min-width:42px;border:0;border-left:1px solid #35404c;background:#28323e;color:var(--accent);cursor:pointer;padding:8px;font-size:22px}.calendar-trigger:hover{background:#354352}.calendar-chevron{font-size:12px}.calendar-picker-supported .date-control input::-webkit-calendar-picker-indicator{display:none}.date-control input:focus-visible{outline:0}

.calendar-dropdown{position:fixed;z-index:1000;width:300px;max-width:calc(100vw - 24px);padding:14px;border:1px solid #556373;border-radius:14px;background:#1b232d;color:var(--text);box-shadow:0 14px 45px #0009}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.calendar-month{font-size:15px}.calendar-button{border:0;border-radius:7px;min-height:32px;min-width:32px;background:#2c3744;color:var(--text);cursor:pointer;font:inherit;font-size:13px}.calendar-header .calendar-button{font-size:22px}.calendar-button:hover{background:#425164}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;color:var(--muted);font-size:10px;line-height:26px}.calendar-day{min-width:0;background:transparent}.calendar-day[aria-pressed=true]{background:var(--accent);color:#14110c;font-weight:800}.calendar-day[aria-current=date]{box-shadow:inset 0 0 0 1px var(--accent)}.calendar-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.calendar-footer .calendar-button{padding:6px 10px}
