:root{--bg:#f5f6f7;--surface:#fff;--surface-2:#eef0f1;--ink:#1d1f1e;--ink-2:#3c403e;--muted:#66706c;--line:#1d1f1e1a;--line-strong:#1d1f1e2e;--accent:#0e6e57;--accent-hover:#0a5744;--accent-tint:#e2efea;--blue:#185fa5;--blue-bg:#e4eef8;--purple:#5b4bb7;--purple-bg:#ebe8f8;--amber:#8f5f0d;--amber-bg:#f7edd8;--green:#0e6e45;--green-bg:#e0f1e8;--red:#a32d2d;--red-bg:#f7e4e4;--gray:#5a625e;--gray-bg:#eceeed;--nav-bg:#14342b;--nav-bg-2:#0f2a23;--nav-ink:#ffffffbd;--nav-ink-strong:#fff;--nav-hover:#ffffff14;--nav-active:#ffffff24;--nav-line:#ffffff1f;--nav-w:240px;--radius:10px;--radius-lg:14px;--shadow-1:0 1px 2px #1d1f1e0d;--shadow-2:0 2px 6px #1d1f1e12, 0 8px 24px #1d1f1e0f;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-underline-offset:2px}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:600;line-height:1.2}h2{letter-spacing:-.005em;margin:0 0 8px;font-size:17px;font-weight:600}h3{margin:0 0 8px;font-size:15px;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topbar{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(18px);border-bottom:1px solid var(--line);background:#ffffffc7;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:600;text-decoration:none}.topbar nav a{color:var(--muted);transition:color .15s var(--ease), background .15s var(--ease);border-radius:7px;padding:5px 10px;font-size:13px;font-weight:500;text-decoration:none}.topbar nav a:hover,.topbar nav a.active{color:var(--ink);background:var(--surface-2)}.topbar .who{color:var(--muted);font-size:13px}.topbar form{margin:0}.app{grid-template-columns:var(--nav-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--nav-bg);color:var(--nav-ink);flex-direction:column;align-self:start;height:100vh;padding:14px 0 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .side-brand{color:var(--nav-ink-strong);letter-spacing:-.01em;padding:4px 16px 14px;font-size:14.5px;font-weight:600;line-height:1.3;text-decoration:none;display:block}.sidebar .side-brand span{color:var(--nav-ink);letter-spacing:.02em;font-size:11.5px;font-weight:400;display:block}.sidebar .side-cta{margin:0 12px 14px}.sidebar .side-cta .btn{width:100%}.side-group{padding:0 8px}.side-label{text-transform:uppercase;letter-spacing:.09em;color:#ffffff6b;padding:12px 8px 5px;font-size:10.5px;font-weight:500}.side-item{height:34px;color:var(--nav-ink);transition:background .15s var(--ease), color .15s var(--ease);border-radius:6px;align-items:center;gap:9px;margin:1px 0;padding:0 8px;font-size:13px;font-weight:450;text-decoration:none;display:flex}.side-item:hover{background:var(--nav-hover);color:var(--nav-ink-strong)}.side-item.active{background:var(--nav-active);color:var(--nav-ink-strong);font-weight:500}.side-item .ico{text-align:center;opacity:.9;flex:none;width:17px;font-size:13px}.side-item .tally{font-variant-numeric:tabular-nums;color:var(--nav-ink-strong);background:#ffffff24;border-radius:9px;margin-left:auto;padding:1px 7px;font-size:11px}.side-foot{border-top:1px solid var(--nav-line);margin-top:auto;padding:10px 12px 0}.side-foot .who{color:var(--nav-ink-strong);font-size:12.5px;font-weight:500}.side-foot .role{color:#ffffff80;text-transform:capitalize;font-size:11.5px}.side-foot form{margin-top:8px}.side-foot .btn.ghost{width:100%;color:var(--nav-ink);border-color:var(--nav-line);background:0 0}.side-foot .btn.ghost:hover{background:var(--nav-hover);color:var(--nav-ink-strong)}.page{min-width:0;padding:26px 32px 64px}.page.capped{max-width:1600px}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:4px;height:auto;padding:10px 12px;position:static}.sidebar .side-brand{padding:0 10px 0 4px}.sidebar .side-brand span{display:none}.sidebar .side-cta{order:3;margin:0 0 0 auto}.side-group{gap:2px;padding:0;display:flex}.side-label{display:none}.side-foot{border-top:0;align-items:center;gap:8px;margin:0 0 0 8px;padding:0;display:flex}.side-foot .role{display:none}.side-foot form{margin:0}.page{padding:20px 16px 56px}}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head .hint{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:20px 22px}.grid{gap:14px;display:grid}.rec-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;max-width:1600px;display:grid}@media (max-width:900px){.rec-grid{grid-template-columns:1fr}}.stage-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.stage-row:first-child{border-top:0}.stage-row .grip{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;width:22px;font-size:12px}.stage-row .nm{flex:1;min-width:0}.stage-row form{align-items:center;gap:6px;margin:0;display:inline-flex}.stage-row .mini{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease);border-radius:7px;padding:3px 9px;font-family:inherit;font-size:12px}.stage-row .mini:hover{background:var(--surface-2);border-color:var(--accent)}.stage-row .mini.danger{color:var(--red)}.stage-row input[type=text]{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:7px;width:190px;padding:4px 8px;font-family:inherit;font-size:13px}.skip-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px 16px;display:grid}.skip-grid label{align-items:center;gap:7px;padding:3px 0;font-size:13px;display:flex}.skip-grid label.locked{color:var(--muted)}.sep{border:0;border-top:1px solid var(--line);margin:16px 0}.btn{background:var(--accent);color:#fff;cursor:pointer;transition:background .15s var(--ease), transform .15s var(--ease);border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-hover)}.btn:active{transform:scale(.98)}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);font-weight:500}.btn.ghost:hover{background:var(--surface-2)}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{color:var(--muted);font-size:12.5px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:8px;padding:8px 11px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0e6e5726}.field input::placeholder,.field textarea::placeholder{color:#8a938f}textarea.note-in{resize:vertical;border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:68px;color:var(--ink);border-radius:8px;padding:8px 11px;font-family:inherit;font-size:14px}textarea.note-in:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0e6e5726}.error{background:var(--red-bg);color:var(--red);border-radius:8px;margin-bottom:14px;padding:9px 13px;font-size:13px}.hint{color:var(--muted);font-size:12.5px}.empty{color:var(--muted);padding:6px 0;font-size:13px}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.6;display:inline-flex}.chip:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.chip.t-blue{background:var(--blue-bg);color:var(--blue)}.chip.t-purple{background:var(--purple-bg);color:var(--purple)}.chip.t-amber{background:var(--amber-bg);color:var(--amber)}.chip.t-green{background:var(--green-bg);color:var(--green)}.chip.t-red{background:var(--red-bg);color:var(--red)}.chip.t-gray{background:var(--gray-bg);color:var(--gray)}.badge{background:var(--accent-tint);color:var(--accent-hover);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge.amber{background:var(--amber-bg);color:var(--amber)}.count{font-variant-numeric:tabular-nums;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:500}.board-wrap{overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:4px;overflow-x:auto}.board-wrap::-webkit-scrollbar{display:none}.board-wrap.drag-active{scroll-behavior:auto}.board{align-items:flex-start;gap:10px;min-width:max-content;display:flex}.col-stage{background:var(--surface-2);border-radius:var(--radius-lg);border:1px solid #0000;flex:none;width:300px;padding:10px}.col-stage h4{color:var(--ink-2);align-items:center;gap:7px;margin:2px 4px 10px;font-size:12.5px;font-weight:500;display:flex}.col-stage h4 .dot{border-radius:50%;flex:none;width:7px;height:7px}.col-stage h4 .count{background:var(--surface);margin-left:auto}.dot.t-blue{background:var(--blue)}.dot.t-purple{background:var(--purple)}.dot.t-amber{background:var(--amber)}.dot.t-green{background:var(--green)}.dot.t-red{background:var(--red)}.dot.t-gray{background:var(--gray)}.scard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);transition:box-shadow .15s var(--ease), transform .15s var(--ease);margin-bottom:8px;padding:10px 12px}.scard:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.scard .head{align-items:center;gap:9px;display:flex}.scard a{color:var(--ink);font-size:13.5px;font-weight:500;text-decoration:none}.scard a:hover{color:var(--accent-hover)}.scard .meta{color:var(--muted);margin:1px 0 0;font-size:12px}.scard form{gap:6px;margin-top:9px;display:flex}.scard select{border:1px solid var(--line-strong);background:var(--surface);min-width:0;color:var(--ink);border-radius:7px;flex:1;padding:4px 6px;font-family:inherit;font-size:12px}.scard .btn{padding:4px 10px;font-size:12px}.col-empty{color:var(--muted);padding:6px 8px 4px;font-size:12px}.scard[draggable=true]{cursor:grab}.scard.dragging{opacity:.4;cursor:grabbing}.col-stage.drop-ok{outline:1px dashed var(--accent);outline-offset:-2px}.col-stage.drop-no{opacity:.5}.col-stage.drop-over{background:var(--accent-tint);outline:2px solid var(--accent);outline-offset:-2px}.card-record{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:7px;margin-top:8px;padding:6px 8px;font-size:11.5px;overflow:hidden}.scard form.card-owner{grid-template-columns:auto 1fr;align-items:center;gap:7px;margin-top:8px;display:grid}.card-owner label{color:var(--muted);font-size:11.5px}.card-custom{margin-top:7px;font-size:12px}.card-custom summary{color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none}.scard .card-custom form{gap:6px;margin-top:7px;display:grid}.card-custom input,.card-custom textarea{border:1px solid var(--line-strong);width:100%;min-width:0;font:inherit;background:var(--surface);color:var(--ink);border-radius:7px;padding:5px 7px;font-size:12px}.card-custom textarea{resize:vertical;min-height:56px}.card-custom .mini{justify-self:start}.fieldbox{border-top:1px solid var(--line);align-items:baseline;gap:8px;padding:7px 0;display:flex}.fieldbox:first-child{border-top:0}.fieldbox .lbl{color:var(--muted);min-width:150px;font-size:12.5px}.fieldbox .val{word-break:break-word;flex:1;min-width:0;font-size:13.5px}.fieldbox form{margin:0}.addfield{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;margin-top:12px;display:grid}@media (max-width:700px){.addfield{grid-template-columns:1fr}}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}.kv{grid-template-columns:130px 1fr;gap:7px 14px;font-size:13.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.hist{margin:0;padding:0;list-style:none}.hist li{border-top:1px solid var(--line);padding:9px 0;font-size:13.5px}.hist li:first-child{border-top:0}.hist .when{color:var(--muted);margin-top:1px;font-size:12px}table.list{border-collapse:collapse;width:100%;font-size:13.5px}table.list th,table.list td{text-align:left;border-top:1px solid var(--line);padding:9px 12px}table.list thead th{color:var(--muted);border-top:0;font-size:12px;font-weight:500}.search{border:1px solid var(--line-strong);background:var(--surface);width:230px;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:8px;padding:7px 12px;font-family:inherit;font-size:13px}.search:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0e6e5726}.step{align-items:center;gap:10px;padding:5px 0;font-size:13.5px;display:flex}.step .ring{border:2px solid var(--line-strong);width:22px;height:22px;color:var(--muted);transition:background .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.step.done .ring{background:var(--accent);border-color:var(--accent);color:#fff}.step.now .ring{border-color:var(--accent);color:var(--accent)}.step.now{color:var(--accent-hover);font-weight:600}.stagebar{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 18px;display:flex}.stagebar button,.stagebar .seg{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 13px;font-family:inherit;font-size:12.5px;font-weight:500;display:inline-flex}.stagebar button{cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease)}.stagebar button:hover{border-color:var(--accent);color:var(--accent-hover);background:var(--accent-tint)}.stagebar .seg.done{background:var(--accent-tint);color:var(--accent-hover);border-color:#0000}.stagebar .seg.now{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.stagebar .seg.off{opacity:.45}.stagebar .reason{flex-basis:100%;margin-top:2px}.stagebar .reason input{width:320px;max-width:100%}.tl{margin:0;padding:0;list-style:none}.tl li{border-top:1px solid var(--line);padding:10px 0 10px 26px;font-size:13.5px;position:relative}.tl li:first-child{border-top:0}.tl li:before{content:"";background:var(--gray);border-radius:50%;width:8px;height:8px;position:absolute;top:17px;left:6px}.tl li.e-stage:before{background:var(--accent)}.tl li.e-note:before{background:var(--purple)}.tl li.e-doc:before{background:var(--blue)}.tl li.e-doc-good:before{background:var(--green)}.tl li.e-doc-bad:before{background:var(--red)}.tl li.e-task:before{background:var(--amber)}.tl .when{color:var(--muted);margin-top:1px;font-size:12px}.tl .sub{color:var(--ink-2)}.quickadd{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);margin-bottom:8px;padding:10px 12px}.quickadd input{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:7px;margin-bottom:6px;padding:5px 8px;font-family:inherit;font-size:12.5px}.quickadd input:focus{border-color:var(--accent);outline:none}.quickadd .btn{width:100%;padding:5px 0;font-size:12px}.qa-more{text-align:center;color:var(--muted);margin-top:6px;font-size:11.5px;display:block}.qa-more:hover{color:var(--accent-hover)}.contact-links{vertical-align:middle;gap:8px;display:inline-flex}.contact-links a{background:var(--surface-2);border:1px solid var(--line);width:26px;height:26px;transition:background .15s var(--ease);border-radius:7px;justify-content:center;align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.contact-links a:hover{background:var(--accent-tint)}.dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:1000px){.dash-grid{grid-template-columns:1fr}}.barrow{grid-template-columns:168px 1fr 46px;align-items:center;gap:10px;padding:5px 0;display:grid}.barlbl{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.bartrack{background:var(--surface-2);border-radius:5px;height:10px;overflow:hidden}.barval{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.loadrow{grid-template-columns:190px 1fr auto;align-items:center;gap:10px;padding:7px 0;display:grid}.loadname{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;overflow:hidden}.loadname:hover{color:var(--accent-hover)}.stack{background:var(--surface-2);border-radius:6px;min-width:6px;height:12px;display:flex;overflow:hidden}.stack>span{display:block}.swatch{vertical-align:middle;border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.own-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:3px 16px;display:grid}.own-grid label{align-items:center;gap:7px;padding:3px 0;font-size:13px;display:flex}.own-who{color:var(--muted);margin-left:auto;font-size:11.5px}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:100%;max-width:400px;padding:28px}.login-card h1{margin:0 0 4px;font-size:21px}.login-card .sub{color:var(--muted);margin:0 0 20px;font-size:13.5px}.demo-box{border:1px dashed var(--line-strong);color:var(--muted);border-radius:8px;margin-top:18px;padding:11px 13px;font-size:12px}.demo-box code{background:var(--surface-2);border-radius:4px;padding:1px 6px}.password-wrap{width:100%;display:block;position:relative}.password-wrap>input{width:100%;padding-right:42px!important}.password-eye{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;line-height:1;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-eye svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.password-eye:hover,.password-eye:focus-visible{background:var(--surface-2);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.doc-list{margin:0;padding:0;list-style:none}.doc-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.doc-row:first-child{border-top:0}.doc-main{flex:240px;min-width:200px}.doc-row .when{color:var(--muted);word-break:break-word;margin-top:2px;font-size:12px}.doc-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn.sm{padding:3px 9px;font-size:12px}.doc-rename{align-items:center;gap:4px;display:flex}.doc-rename input{width:190px;font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:3px 7px;font-size:12px}.pfp{object-fit:cover;border-radius:50%;flex:none;display:block}.doc-add{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:14px;padding-top:14px;display:grid}.doc-add input[type=file]{max-width:100%;font-size:12px}.doc-actions input[type=file]{max-width:190px;font-size:11.5px}
