:root{--brand: #169D89;--brand-deep: #0f7a6b;--brand-soft: #e6f6f3;--ink: #1c2434;--ink-soft: #6b7280;--paper: #f6f7fb;--paper-2: #eef1f6;--panel: #ffffff;--line: #e6e8ee;--brass: #169D89;--brass-deep: #0f7a6b;--copper: #169D89;--copper-deep: #0f7a6b;--pine: #169D89;--clay: #c2410c;--amber: #d97706;--cream: #ffffff;--shadow: 0 10px 30px rgba(28, 36, 52, .05);--shadow-hover: 0 16px 32px rgba(22, 157, 137, .12);--radius: 20px;--ease: cubic-bezier(.22, 1, .36, 1);--sidebar: 240px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Outfit,system-ui,sans-serif;color:var(--ink);background:var(--paper);min-height:100vh}#root{min-height:100vh}h1,h2,h3{font-family:Outfit,system-ui,sans-serif;font-weight:700;letter-spacing:-.03em;margin:0 0 .35em;color:var(--ink)}h1{font-size:1.7rem;line-height:1.15}h2{font-size:1.1rem}h3{font-size:1.02rem}p{color:var(--ink-soft);line-height:1.55}a{color:var(--brand)}.lede{max-width:46rem;font-size:.98rem}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:var(--brand);margin:0 0 .45rem}.muted{color:var(--ink-soft)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.admin{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{background:#fff;border-right:1px solid var(--line);padding:1.2rem 1rem 1.4rem;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:.65rem;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.05rem;padding:.2rem .4rem 1.2rem}.brand-logo{width:1.8rem;height:1.8rem;object-fit:contain;display:block}.nav-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#9aa3b2;margin:.4rem .6rem .5rem;font-weight:700}.side-nav{display:flex;flex-direction:column;gap:.25rem}.side-nav a{text-decoration:none;color:var(--ink-soft);font-weight:600;font-size:.94rem;padding:.7rem .85rem;border-radius:12px}.side-nav a:hover{background:var(--paper);color:var(--ink)}.side-nav a.active{background:var(--brand-soft);color:var(--brand)}.side-foot{margin-top:auto;display:grid;gap:.6rem}.brand-foot,.page-foot{margin:0;color:#9aa3b2;font-size:.78rem;font-weight:650;letter-spacing:.02em}.page-foot{margin-top:2.4rem;padding-top:1rem;border-top:1px solid var(--line)}.auth-foot{margin-top:1.4rem;text-align:center}.btn.danger{background:#fff;color:var(--clay);border-color:#fed7aa}.btn.danger:hover{background:#fff7ed}.card-actions,.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.org-switch select{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:.55rem .7rem;font:inherit}.admin-main{min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 2rem .4rem}.admin-top h1{margin:0}.admin-top p{margin:.15rem 0 0;font-size:.88rem}.admin-user{margin-left:auto;display:flex;align-items:center;gap:.7rem}.admin-user-copy{text-align:right}.admin-user-copy strong{display:block;font-size:.92rem}.admin-user-copy span{color:var(--ink-soft);font-size:.78rem}.nav-toggle,.backdrop{display:none}.content{padding:1rem 2rem 3.5rem;max-width:1180px}.content:has(.kanban){max-width:1420px}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.2rem;flex-wrap:wrap}.page-head h1{display:none}.head-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.58rem 1.1rem;font-weight:650;text-decoration:none;cursor:pointer;font-family:inherit}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:hover{background:var(--brand-deep)}.btn.compact{padding:.38rem .8rem;font-size:.84rem}.btn.ghost,a.ghost,button.btn.ghost{border:0;background:transparent;color:var(--ink-soft);justify-content:flex-start;padding:.55rem .7rem}.panel,.stat,.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.panel{border-radius:var(--radius);padding:1.2rem 1.25rem;margin-bottom:1rem}.panel-head{margin-bottom:.85rem}.stat-grid,.split,.card-grid,.form-grid,.people-grid{display:grid;gap:1rem}.stat-grid{grid-template-columns:1.15fr 1fr 1fr 1.05fr;margin-bottom:1.1rem}.split{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-grid{grid-template-columns:1fr 1fr}.form-grid.tight{margin-top:1.1rem}.full{grid-column:1 / -1}.stat{border-radius:var(--radius);padding:1.15rem 1.2rem}.stat span{display:block;font-size:.78rem;color:var(--ink-soft);font-weight:650}.stat strong{font-size:1.8rem;letter-spacing:-.04em}.stat small{display:block;margin-top:.2rem;color:var(--ink-soft)}.stat .small-strong{font-size:1.15rem;display:block;line-height:1.2}.stat.warn{background:#fff7ed;border-color:#fed7aa}.stat.featured{display:flex;align-items:center;gap:1rem;background:linear-gradient(160deg,#169d89,#0f7a6b);color:#fff;border:0}.stat.featured span,.stat.featured small,.stat.featured .ring-copy span{color:#fffc}.stat.featured strong,.stat.featured .ring-copy strong{color:#fff}.stat.featured .ring-track{stroke:#ffffff40}.stat.featured .ring-value{stroke:#fff}.featured-actions{display:flex;gap:.45rem;margin-top:.85rem;flex-wrap:wrap}.featured-actions .btn{background:#fff;color:var(--brand-deep);border-color:transparent}.featured-actions .featured-dark{background:#0c5f54;color:#fff}.ring-wrap{position:relative;display:grid;place-items:center}.ring{transform:rotate(-90deg)}.ring-md{width:92px;height:92px}.ring-track,.ring-value{fill:none;stroke-width:9}.ring-track{stroke:#e6f6f3}.ring-value{stroke:var(--brand);stroke-linecap:round}.ring-copy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ring-copy strong{font-size:1.15rem;line-height:1}.ring-copy span{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.meter{height:7px;background:var(--brand-soft);border-radius:99px;overflow:hidden;margin:.55rem 0 .2rem}.meter i{display:block;height:100%;width:0;background:var(--brand);border-radius:inherit;animation:fillbar .9s var(--ease) forwards}.meter.compact{width:92px;display:inline-block;vertical-align:middle;margin:0 .45rem 0 0}@keyframes fillbar{to{width:var(--w, 100%)}}.pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.22rem .65rem;font-size:.72rem;font-weight:700;background:var(--paper-2)}.pill:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.pill.on_track,.pill.completed{background:var(--brand-soft);color:var(--brand-deep)}.pill.at_risk,.pill.pending{background:#fef3c7;color:var(--amber)}.pill.behind{background:#ffedd5;color:var(--clay)}.pill.in_progress,.pill.not_started{background:var(--paper-2);color:var(--ink-soft)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.85rem .45rem;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.94rem}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}tbody tr:hover{background:#f8fafb}td a{font-weight:650;text-decoration:none;color:var(--ink)}.plain-list,.goal-list,.slip-list,.work-list{list-style:none;padding:0;margin:0}.plain-list li,.goal-list li,.slip-list li{padding:.8rem 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.15rem}.plain-list a,.slip-list a{font-weight:700;text-decoration:none;color:var(--ink)}.goal-list li{padding-left:2.3rem;position:relative}.goal-list li:before{content:counter(goal);counter-increment:goal;position:absolute;left:0;top:.75rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);display:grid;place-items:center;font-size:.8rem;font-weight:700}.goal-list{counter-reset:goal}.card{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:inherit;border-radius:18px;padding:1.05rem 1.1rem}.card:hover{box-shadow:var(--shadow-hover)}.card small{color:var(--ink-soft)}.work-list li{display:flex;justify-content:space-between;gap:1rem;padding:.95rem .15rem;border-bottom:1px solid var(--line);align-items:flex-start}.work-list li.behind{background:#fff7ed;margin-inline:-.5rem;padding-inline:.7rem;border-radius:12px}.work-list li.completed strong{text-decoration:line-through;opacity:.62}.timeline{position:relative;padding-left:1.15rem}.timeline:before{content:"";position:absolute;left:.35rem;top:.4rem;bottom:.4rem;width:1px;background:var(--brand-soft)}.timeline li{position:relative}.timeline li:after{content:"";position:absolute;left:-1.15rem;top:1.15rem;width:.7rem;height:.7rem;border-radius:50%;background:#fff;border:2px solid var(--brand)}.timeline li.completed:after{background:var(--brand)}.timeline li.behind:after{background:var(--clay);border-color:var(--clay)}.inline-form,.status-form{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin-top:.9rem}label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}input,select,textarea{font:inherit;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px #169d8924}.check{flex-direction:row;align-items:center;gap:.5rem}.check input{width:auto}.flash.error{background:#fff7ed;border:1px solid #fed7aa;padding:.75rem .9rem;border-radius:12px;color:var(--clay)}.empty{padding:2.4rem 1.4rem;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:#fff}.alert-panel{border-color:#fed7aa;background:#fffbeb}.note-body{white-space:pre-wrap;font-family:inherit;background:var(--paper);padding:.8rem;border-radius:12px;border:1px solid var(--line)}.review-block h3{margin-top:1.2rem;font-size:1.02rem}.person{display:flex;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}.person strong{display:block}.person span{color:var(--ink-soft);font-size:.9rem}.avatar{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:700;color:#fff;background:var(--brand);flex:none}.person:nth-child(2n) .avatar{background:#0f7a6b}.person:nth-child(3n) .avatar{background:#0c5f54}.badge{background:var(--brand);color:#fff;border-radius:999px;padding:.05rem .45rem;font-size:.68rem;margin-left:.25rem}.auth-body{background:var(--brand)}.auth-grid{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-panel{color:#fff;padding:clamp(2rem,7vw,5rem);background:radial-gradient(700px 420px at 18% 16%,rgba(255,255,255,.14),transparent 58%),linear-gradient(165deg,#169d89,#0f7a6b 70%);display:flex;flex-direction:column;justify-content:center}.auth-panel h1{font-size:clamp(2.4rem,5vw,4.2rem);color:#fff;max-width:12ch}.auth-panel .lede,.auth-points{color:#ffffffe0}.auth-points{padding:0;list-style:none;display:grid;gap:.65rem;margin:1.4rem 0 0;max-width:34rem}.auth-points li{display:grid;grid-template-columns:auto 1fr;gap:.65rem}.auth-points li:before{content:"";width:.5rem;height:.5rem;margin-top:.4rem;border-radius:50%;background:#fff}.hero-logo-wrap{margin-top:2rem;max-width:240px}.hero-logo{width:100%;height:auto;display:block;filter:brightness(0) invert(1)}.auth-card{background:#fff;padding:clamp(1.6rem,5vw,3.4rem);display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:1.8rem}.auth-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:1.2rem;font-weight:700}.stack{display:flex;flex-direction:column;gap:.85rem;margin:1rem 0}.center{text-align:center}.demo{margin-top:1.2rem;color:var(--ink-soft);font-size:.92rem;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.35rem 1rem .85rem}.demo summary{cursor:pointer;padding:.5rem 0;font-weight:650}.pass-hint{margin:0;font-size:.92rem}.demo-list{list-style:none;padding:0;margin:.35rem 0 0;display:grid;gap:.4rem}.demo-fill{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.6rem .75rem;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:.12rem}.demo-fill:hover{border-color:var(--brand)}.demo-fill span{color:var(--ink-soft);font-size:.88rem}.dropzone{display:grid;place-items:center;gap:.35rem;min-height:160px;border:1.5px dashed var(--brand);border-radius:18px;background:var(--brand-soft);color:var(--brand-deep);text-align:center;padding:1.4rem;cursor:pointer;position:relative}.dropzone.active{background:#d7f3ed}.dropzone span{color:var(--ink-soft);font-size:.9rem}.dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.steps{margin:0;padding-left:1.2rem;color:var(--ink-soft);display:grid;gap:.55rem}.steps code{background:var(--paper);padding:.05rem .35rem;border-radius:6px;color:var(--ink)}.comments{margin-top:1.2rem}.comments .person p{margin:.25rem 0 0;color:var(--ink)}.pill.updated{background:var(--brand-soft);color:var(--brand-deep)}.pill.created{background:#ecfdf5;color:#047857}.pill.skipped{background:var(--paper-2);color:var(--ink-soft)}.review-split{grid-template-columns:.9fr 1.1fr}.company-card{text-align:left;width:100%;font:inherit}.company-open{display:grid;gap:.35rem;width:100%;border:0;background:transparent;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.company-card.active{border-color:var(--brand);box-shadow:var(--shadow-hover)}.company-card em{color:var(--brand);font-style:normal;font-weight:650;font-size:.88rem}.person.compact{border:0;padding:0}.access-list{display:grid;gap:.25rem;margin-top:.55rem}.filter{display:flex;flex-direction:column;gap:.3rem;font-weight:650;font-size:.9rem;min-width:12rem}.kanban{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:1rem;margin-bottom:1.2rem;align-items:start}.kanban-col{background:#fff;border:1px solid var(--line);border-radius:18px;min-height:18rem;overflow:hidden}.kanban-col header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem .55rem}.kanban-col header h2{margin:0;font-size:.98rem}.kanban-col header span{background:var(--brand-soft);color:var(--brand-deep);border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:700}.kanban-col.behind header span,.kanban-col.at_risk header span{background:#ffedd5;color:var(--clay)}.kanban-col.completed header span,.kanban-col.on_track header span{background:var(--brand-soft);color:var(--brand-deep)}.kanban-list{display:grid;gap:.7rem;padding:0 .85rem 1rem}.kanban-card{display:grid;gap:.35rem;text-align:left;width:100%;border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:.85rem .9rem;font:inherit;color:inherit;cursor:pointer}.kanban-card p,.kanban-card small{margin:0}.kanban-actions{display:flex;flex-wrap:wrap;gap:.35rem}.company-summary{cursor:pointer}.company-summary .eyebrow{margin:0}@media(max-width:980px){.kanban{grid-template-columns:1fr 1fr}}@media(max-width:680px){.kanban{grid-template-columns:1fr}}@media(max-width:980px){.stat-grid{grid-template-columns:1fr 1fr}.stat.featured{grid-column:1 / -1}}@media(max-width:900px){.admin{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;transform:translate(-110%);transition:transform .2s var(--ease);width:min(82vw,280px)}.sidebar.open{transform:none}.nav-toggle{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .8rem;font-weight:700}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#1c243447;z-index:35}.split,.form-grid,.auth-grid{grid-template-columns:1fr}.work-list li,.status-form,.page-head{flex-direction:column}.content,.admin-top{padding-left:1.1rem;padding-right:1.1rem}.auth-panel{min-height:36vh}}@media(max-width:680px){.stat-grid{grid-template-columns:1fr}table thead{display:none}table tr{display:block;border:1px solid var(--line);border-radius:14px;margin-bottom:.75rem;padding:.3rem .7rem .5rem;background:#fff}table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.42rem 0}table td:before{content:attr(data-label);font-size:.7rem;text-transform:uppercase;color:var(--ink-soft);font-weight:700}}
