:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f4f6;--panel:#fff;--sidebar:#fbfbfd;--surface-2:#f2f1f7;--hover:#f0eff5;--hover-strong:#eceaf5;--chip:#e9e9f1;--accent-chip:#e2ddfb;--track:#eceaf5;--border:#e9e9ef;--border-strong:#8a899b;--text:#2c2b3a;--text-soft:#55546a;--text-faint:#6b6a7e;--accent:#6c5ce7;--accent-ink:#5a4bd4;--accent-soft:#efecfd;--accent-hover:#5a4bd4;--green:#21a065;--green-ink:#0e7a4b;--green-soft:#e5f6ee;--amber:#bd8226;--amber-ink:#8a5a10;--amber-soft:#fdf1de;--red:#e2564d;--red-ink:#c0332a;--red-soft:#fdeceb;--blue:#3592d8;--blue-ink:#1c6ea8;--blue-soft:#e7f2fb;--neutral:#89889a;--neutral-ink:#5f5e72;--neutral-soft:#f2f1f7;--on-accent:#fff;--on-solid:#08080d;--shadow:0 1px 2px #1e1c3c0f, 0 2px 8px #1e1c3c0d;--shadow-lg:0 8px 30px #1e1c3c29;--shadow-hover:0 2px 10px #1e1c3c1a;--overlay:#1c1a3080;--ring:#6c5ce7;--glow-accent:#6c5ce74d;--glow-brand:#3b9ae166;--scrollbar-thumb:#d3d3dd;--scrollbar-thumb-hover:#bfbecb;--toast-bg:#2c2b3a;--toast-fg:#fff;--skel:#eceaf5;--skel-shine:#ffffffbf;--progress-gradient:linear-gradient(90deg, #6c5ce7, #8a7bf0);--login-bg:linear-gradient(160deg, #f4f4f6, #efecfd);--brand-gradient:linear-gradient(135deg, #e2564d, #e8a13a 28%, #2bb673 52%, #3b9ae1 74%, #6c5ce7);--radius:11px;--on-fill:#fff;--paper:#fff;--paper-ink:#000;--pf-instagram:#d6336c;--pf-tiktok:#0f9d76;--pf-youtube:#d63b3b;--pf-facebook:#2f6fe0;--pf-linkedin:#0a6ea4;--pf-x:#57606a;--task-todo:var(--neutral);--task-todo-ink:var(--neutral-ink);--task-todo-soft:var(--neutral-soft);--task-in-progress:var(--accent);--task-in-progress-ink:var(--accent-ink);--task-in-progress-soft:var(--accent-soft);--task-blocked:var(--red);--task-blocked-ink:var(--red-ink);--task-blocked-soft:var(--red-soft);--task-done:var(--green);--task-done-ink:var(--green-ink);--task-done-soft:var(--green-soft);--priority-low:var(--neutral);--priority-low-ink:var(--neutral-ink);--priority-normal:var(--blue);--priority-normal-ink:var(--blue-ink);--priority-high:var(--amber);--priority-high-ink:var(--amber-ink);--priority-urgent:var(--red);--priority-urgent-ink:var(--red-ink);--chart-1:#b8a8f6;--chart-2:#9a86ef;--chart-3:#7a67e9;--chart-4:#5947c9;--chart-5:#3a2d8f;--chart-grid:var(--border);--chart-axis:var(--text-faint)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101019;--panel:#1b1b28;--sidebar:#161622;--surface-2:#242433;--hover:#26263a;--hover-strong:#2f2f45;--chip:#2a2a3c;--accent-chip:#372e63;--track:#2a2a3c;--border:#2c2c3d;--border-strong:#6b6a85;--text:#eceaf5;--text-soft:#b1afc6;--text-faint:#9391aa;--accent:#8a7bf0;--accent-ink:#a99bff;--accent-soft:#2b2452;--accent-hover:#9b8ef5;--green:#2bb673;--green-ink:#4bd396;--green-soft:#12332a;--amber:#e8a13a;--amber-ink:#e2ac5b;--amber-soft:#392b13;--red:#e2564d;--red-ink:#ff8b82;--red-soft:#391e1d;--blue:#3b9ae1;--blue-ink:#68bdf4;--blue-soft:#0f2a3e;--neutral:#75748c;--neutral-ink:#b1afc6;--neutral-soft:#262634;--pf-instagram:#f06595;--pf-tiktok:#38d9a9;--pf-youtube:#ff8787;--pf-facebook:#74a7ff;--pf-linkedin:#4dabdb;--pf-x:#a9b3bf;--on-accent:#08080d;--on-solid:#08080d;--shadow:0 1px 2px #0006, 0 2px 8px #00000052;--shadow-lg:0 8px 30px #0000008c;--shadow-hover:0 2px 10px #00000073;--overlay:#06060ca8;--ring:#a99bff;--glow-accent:#00000073;--glow-brand:#3b9ae147;--scrollbar-thumb:#3a3a52;--scrollbar-thumb-hover:#4b4b68;--toast-bg:#33334a;--toast-fg:#eceaf5;--skel:#26263a;--skel-shine:#ffffff0f;--progress-gradient:linear-gradient(90deg, #7b6bec, #a99bff);--login-bg:linear-gradient(160deg, #101019, #241d47);--chart-1:#55499e;--chart-2:#6b5ccb;--chart-3:#8a7bf0;--chart-4:#a99bff;--chart-5:#cfc7ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101019;--panel:#1b1b28;--sidebar:#161622;--surface-2:#242433;--hover:#26263a;--hover-strong:#2f2f45;--chip:#2a2a3c;--accent-chip:#372e63;--track:#2a2a3c;--border:#2c2c3d;--border-strong:#6b6a85;--text:#eceaf5;--text-soft:#b1afc6;--text-faint:#9391aa;--accent:#8a7bf0;--accent-ink:#a99bff;--accent-soft:#2b2452;--accent-hover:#9b8ef5;--green:#2bb673;--green-ink:#4bd396;--green-soft:#12332a;--amber:#e8a13a;--amber-ink:#e2ac5b;--amber-soft:#392b13;--red:#e2564d;--red-ink:#ff8b82;--red-soft:#391e1d;--blue:#3b9ae1;--blue-ink:#68bdf4;--blue-soft:#0f2a3e;--neutral:#75748c;--neutral-ink:#b1afc6;--neutral-soft:#262634;--pf-instagram:#f06595;--pf-tiktok:#38d9a9;--pf-youtube:#ff8787;--pf-facebook:#74a7ff;--pf-linkedin:#4dabdb;--pf-x:#a9b3bf;--on-accent:#08080d;--on-solid:#08080d;--shadow:0 1px 2px #0006, 0 2px 8px #00000052;--shadow-lg:0 8px 30px #0000008c;--shadow-hover:0 2px 10px #00000073;--overlay:#06060ca8;--ring:#a99bff;--glow-accent:#00000073;--glow-brand:#3b9ae147;--scrollbar-thumb:#3a3a52;--scrollbar-thumb-hover:#4b4b68;--toast-bg:#33334a;--toast-fg:#eceaf5;--skel:#26263a;--skel-shine:#ffffff0f;--progress-gradient:linear-gradient(90deg, #7b6bec, #a99bff);--login-bg:linear-gradient(160deg, #101019, #241d47);--chart-1:#55499e;--chart-2:#6b5ccb;--chart-3:#8a7bf0;--chart-4:#a99bff;--chart-5:#cfc7ff}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45;overflow:hidden}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-track{background:0 0}html{scrollbar-color:var(--scrollbar-thumb) transparent}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.app{width:100vw;height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:238px;height:100%;display:flex}.main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.brand{align-items:center;gap:10px;padding:16px 18px 14px;display:flex}.brand .logo{width:28px;height:28px;color:var(--on-fill);background:var(--brand-gradient);box-shadow:0 2px 6px var(--glow-brand);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.brand .name{letter-spacing:-.2px;font-size:16px;font-weight:700}.brand .name span{color:var(--accent-ink)}.side-scroll{flex:1;padding:4px 10px 16px;overflow-y:auto}.nav{width:100%;color:var(--text-soft);text-align:left;border-radius:9px;align-items:center;gap:10px;margin-bottom:1px;padding:9px 11px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav:hover{background:var(--hover);color:var(--text)}.nav.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav .ic{text-align:center;flex-shrink:0;width:18px;font-size:15px}.nav .badge{background:var(--chip);color:var(--text-soft);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav.active .badge{background:var(--accent-chip);color:var(--accent-ink)}.side-section{margin-top:16px;padding:0 11px}.side-section .head{letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint);justify-content:space-between;align-items:center;margin-bottom:7px;font-size:11px;font-weight:700;display:flex}.side-section .head button{color:var(--text-faint);border-radius:6px;width:20px;height:20px;font-size:16px;line-height:1}.side-section .head button:hover{background:var(--hover-strong);color:var(--accent-ink)}.cli{color:var(--text-soft);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:7px 11px;font-weight:500;transition:background .12s;display:flex}.cli:hover{background:var(--hover)}.cli.active{background:var(--accent-soft);color:var(--text)}.cli .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cli .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cli .type{text-transform:uppercase;letter-spacing:.3px;color:var(--text-faint);font-size:10px;font-weight:700}.side-foot{border-top:1px solid var(--border);color:var(--text-soft);align-items:center;gap:10px;padding:12px 16px;display:flex}.side-foot .who{flex:1;min-width:0;line-height:1.2}.side-foot .who .nm{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.side-foot .who .rl{color:var(--text-faint);text-transform:capitalize;font-size:11px}.side-foot .ib{width:28px;height:28px;color:var(--text-faint);border-radius:7px}.side-foot .ib:hover{background:var(--hover-strong);color:var(--text)}.avatar{width:30px;height:30px;color:var(--on-fill);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:14px;height:60px;padding:0 24px;display:flex}.topbar h1{letter-spacing:-.3px;font-size:19px;font-weight:700}.topbar .sub{color:var(--text-faint);font-size:13px;font-weight:500}.topbar .sp{flex:1}.btn{border-radius:9px;align-items:center;gap:7px;padding:8px 15px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn.solid{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 8px var(--glow-accent)}.btn.solid:hover{background:var(--accent-hover)}.btn.ghost{border:1px solid var(--border-strong);color:var(--text-soft)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.sm{border-radius:8px;padding:5px 11px;font-size:13px}.btn.danger{color:var(--red-ink)}.btn:disabled{opacity:.55;cursor:default}.content{flex:1;padding:24px;overflow-y:auto}.stat-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-row.cols-3{grid-template-columns:repeat(3,1fr)}.stat{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.stat .l{color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.stat .n{letter-spacing:-.6px;margin-top:5px;font-size:28px;font-weight:800}.stat .d{color:var(--text-soft);margin-top:2px;font-size:12px;font-weight:500}.stat .n.green{color:var(--green-ink)}.stat .n.amber{color:var(--amber-ink)}.stat .n.red{color:var(--red-ink)}.dash-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dash-grid .span-2{grid-column:1/-1}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.panel .ph{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 18px;font-size:14.5px;font-weight:700;display:flex}.panel .ph .ic{font-size:15px}.panel .ph .ph-link{color:var(--accent-ink);font-size:12px;font-weight:600}.panel .ph .ph-link:hover{text-decoration:underline}.panel .ph .cnt{color:var(--text-faint);background:var(--surface-2);border-radius:10px;margin-left:auto;padding:2px 9px;font-size:12px;font-weight:600}.panel .pb{padding:6px 8px}.row{cursor:pointer;text-align:left;border-radius:9px;align-items:center;gap:11px;width:100%;padding:9px 11px;transition:background .12s;display:flex}.row:hover{background:var(--hover)}.row .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.row .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row .t .sm{color:var(--text-faint);font-size:12px;font-weight:500}.row .meta{color:var(--text-soft);flex-shrink:0;font-size:12px;font-weight:600}.pill{border-radius:20px;flex-shrink:0;padding:2px 9px;font-size:11px;font-weight:700}.pill.green{background:var(--green-soft);color:var(--green-ink)}.pill.amber{background:var(--amber-soft);color:var(--amber-ink)}.pill.red{background:var(--red-soft);color:var(--red-ink)}.pill.blue{background:var(--blue-soft);color:var(--blue-ink)}.pill.gray{background:var(--neutral-soft);color:var(--neutral-ink)}.pill.purple{background:var(--accent-soft);color:var(--accent-ink)}.empty{text-align:center;color:var(--text-faint);padding:26px;font-size:13px;font-weight:500}.kanban{align-items:flex-start;gap:14px;height:100%;padding-bottom:8px;display:flex;overflow-x:auto}.stage{background:var(--surface-2);border-radius:14px;flex-direction:column;flex-shrink:0;width:270px;max-height:100%;display:flex}.stage .sh{flex-shrink:0;align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.stage .sh .nm{font-size:13.5px;font-weight:700}.stage .sh .ct{color:var(--text-faint);font-size:12px;font-weight:600}.stage .sh .val{color:var(--text-soft);margin-left:auto;font-size:12px;font-weight:700}.stage .sbar{border-radius:3px;height:3px;margin:0 14px 8px}.stage .sbody{flex:1;min-height:40px;padding:2px 10px 10px;overflow-y:auto}.stage.drag-over{outline:2px dashed var(--accent);outline-offset:-4px}.stage.lost-col{background:var(--surface-2);opacity:.85}.deal{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);cursor:grab;border-left:3px solid var(--accent);border-radius:11px;margin-bottom:8px;padding:11px 12px}.deal:hover{box-shadow:var(--shadow-hover)}.deal.dragging{opacity:.4}.deal .dn{margin-bottom:5px;font-weight:600}.deal .dm{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;display:flex}.deal .val{color:var(--text);font-weight:700}.deal .na{color:var(--text-soft);border-top:1px solid var(--border);align-items:center;gap:6px;margin-top:8px;padding-top:7px;font-size:12px;display:flex}.deal .na.contact{border-top:none;margin-top:0;padding-top:4px}.deal .na .stale{color:var(--red-ink);font-weight:600}.addcard{text-align:left;width:100%;color:var(--text-faint);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:500}.addcard:hover{background:var(--hover-strong);color:var(--text-soft)}.roster{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.ccard{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-top:3px solid var(--accent);text-align:left;border-radius:14px;padding:16px;transition:box-shadow .12s,transform .1s;display:block}.ccard:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.ccard .ct{align-items:center;gap:10px;margin-bottom:10px;display:flex}.ccard .logo{width:34px;height:34px;color:var(--on-fill);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.ccard .nm{font-size:15px;font-weight:700}.ccard .sub{color:var(--text-faint);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.ccard .stats{border-top:1px solid var(--border);gap:16px;margin-top:10px;padding-top:12px;display:flex}.ccard .stats .s .v{font-size:14px;font-weight:700}.ccard .stats .s .k{color:var(--text-faint);font-size:11px;font-weight:600}.ccard .prog{background:var(--track);border-radius:4px;height:6px;margin-top:12px;overflow:hidden}.ccard .prog i{background:var(--accent);border-radius:4px;height:100%;display:block}.cd-head{align-items:center;gap:14px;margin-bottom:4px;display:flex}.cd-head .logo{width:46px;height:46px;color:var(--on-fill);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.cd-head h1{letter-spacing:-.3px;font-size:22px;font-weight:700}.cd-head .meta{color:var(--text-soft);align-items:center;gap:8px;margin-top:2px;font-size:13px;font-weight:500;display:flex}.tabs{border-bottom:1px solid var(--border);gap:2px;margin:16px 0 20px;display:flex}.tab{color:var(--text-soft);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 15px;font-weight:600;transition:color .12s;display:inline-block}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.tab .b{background:var(--surface-2);color:var(--text-soft);border-radius:9px;margin-left:5px;padding:1px 7px;font-size:11px;font-weight:700}.two-col{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}.col-gap{flex-direction:column;gap:16px;display:flex}.card2{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.card2 .h{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:13px 16px;font-weight:700;display:flex}.card2 .h .sp{flex:1}.card2 .b{padding:14px 16px}.kv{border-bottom:1px solid var(--border);justify-content:space-between;padding:7px 0;font-size:13.5px;display:flex}.kv:last-child{border:none}.kv .k{color:var(--text-soft);font-weight:500}.kv .v{font-weight:600}.phase-block{margin-bottom:9px}.phase{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:12px;padding:12px 14px;display:flex}.phase .phase-main{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.phase .phase-main .nm{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.phase .pcnt{color:var(--text-faint);background:var(--surface-2);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11.5px;font-weight:600}.phase .chev{color:var(--text-faint);flex-shrink:0;font-size:13px;line-height:1;transition:transform .15s}.phase .phase-main:hover .chev{color:var(--text-soft)}.phase.expanded{border-bottom-right-radius:0;border-bottom-left-radius:0}.phase.expanded .chev{transform:rotate(90deg)}.phase-tasks{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 11px 11px;padding:10px 10px 4px}.phase-tasks .dtask:last-of-type{margin-bottom:0}.phase-tasks .tempty{color:var(--text-faint);margin:6px 4px;font-size:12.5px}.phase-tasks-foot{padding:6px 2px 2px}.phase .idx{background:var(--surface-2);width:26px;height:26px;color:var(--text-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.phase.done .idx{background:var(--green);color:var(--on-solid)}.phase.in_progress .idx{background:var(--accent);color:var(--on-accent)}.phase.review .idx{background:var(--amber);color:var(--on-solid)}.phase .nm{flex:1;font-weight:600}.phase .dates{color:var(--text-soft);gap:14px;font-size:12px;font-weight:500;display:flex}.phase .dates .lbl{color:var(--text-faint);font-weight:600}.phase .dates .overdue{color:var(--red-ink);font-weight:700}.phase select{border:1px solid var(--border-strong);color:var(--text-soft);border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600}.timeline-bar{background:var(--track);border-radius:5px;height:8px;margin:6px 0 18px;overflow:hidden}.timeline-bar i{background:var(--progress-gradient);border-radius:5px;height:100%;display:block}.notes{flex-direction:column;height:calc(100vh - 320px);min-height:360px;display:flex}.notes-body{flex-direction:column;flex:1;gap:2px;padding:12px 4px 6px;display:flex;overflow-y:auto}.note{border-radius:10px;gap:10px;padding:9px 10px;transition:background .12s;display:flex}.note:hover{background:var(--surface-2)}.note .nb{flex:1;min-width:0}.note .nh{align-items:center;gap:7px;min-height:22px;margin-bottom:3px;font-size:12px;display:flex}.note .nh b{font-weight:700}.note .nh .tm{color:var(--text-faint);font-size:11px;font-weight:500}.note .nh .sp{flex:1}.note .nh .tag{color:var(--text-faint);font-size:11px;font-style:italic}.note .tx{white-space:pre-wrap;word-break:break-word}.note .acts{opacity:0;align-items:center;gap:2px;transition:opacity .12s;display:flex}.note:hover .acts,.note:focus-within .acts{opacity:1}.note .nedit textarea{border:1px solid var(--border-strong);resize:vertical;width:100%;min-height:66px;font:inherit;border-radius:9px;padding:8px 11px}.note .nedit textarea:focus{border-color:var(--accent)}.note .nedit-acts{gap:7px;margin-top:7px;display:flex}.notes-pinned{border:1px solid var(--border);background:var(--accent-soft);border-radius:12px;margin-bottom:10px;padding:4px}.notes-pinned .sh{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);align-items:center;gap:7px;padding:7px 10px 4px;font-size:11px;font-weight:700;display:flex}.notes-pinned .sh .cnt{color:var(--text-faint);font-weight:600}.notes-pinned .note:hover{background:var(--surface)}.notes-more{align-self:center;margin:10px 0 4px}.notes-filter{flex-wrap:wrap;gap:6px;padding:11px 2px 0;display:flex}.notes-filter .chip{background:var(--chip);color:var(--text-soft);border-radius:999px;padding:3px 11px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.notes-filter .chip:hover{color:var(--text)}.notes-filter .chip.on{background:var(--accent-chip);color:var(--accent-ink)}.notes-kind{border:1px solid var(--border-strong);background:var(--panel);border-radius:11px;align-self:stretch;padding:0 9px;font-size:13px;font-weight:600}.note .tp-promote{margin-left:0}.note .nedit-acts select{border:1px solid var(--border-strong);background:var(--panel);border-radius:7px;padding:4px 8px;font-size:12px}.composer{border-bottom:1px solid var(--border);gap:9px;padding-bottom:12px;display:flex}.composer textarea{border:1px solid var(--border-strong);resize:none;border-radius:11px;flex:1;height:44px;padding:10px 13px;transition:border .12s}.composer textarea:focus{border-color:var(--accent)}.doc{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);text-align:left;cursor:pointer;border-radius:11px;align-items:center;gap:12px;width:100%;margin-bottom:9px;padding:12px 14px;display:flex}.doc .ic{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.doc .ic.proposal{background:var(--accent-soft);color:var(--accent-ink)}.doc .ic.invoice{background:var(--green-soft);color:var(--green-ink)}.doc .ic.contract{background:var(--blue-soft);color:var(--blue-ink)}.doc .ic.other{background:var(--neutral-soft);color:var(--text-soft)}.doc .nm{flex:1;font-weight:600}.doc .nm .sm{color:var(--text-faint);font-size:12px;font-weight:500}.doc .amt{font-weight:700}.day-list{max-width:760px}.dtask{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:11px;align-items:center;gap:12px;margin-bottom:8px;padding:11px 14px;display:flex}.dtask.done{opacity:.6}.dtask.done .t{color:var(--text-faint);text-decoration:line-through}.chk{border:2px solid var(--border-strong);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;font-size:11px;transition:all .12s;display:flex}.chk:hover{border-color:var(--green)}.chk.on{background:var(--green);border-color:var(--green);color:var(--on-solid)}.dtask .t{flex:1;font-weight:500}.daygroup{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);align-items:center;gap:8px;margin:18px 0 10px;font-size:12px;font-weight:700;display:flex}.tsec:first-of-type .daygroup{margin-top:0}.daygroup .cnt,.daygroup .act{letter-spacing:0;text-transform:none;font-weight:600}.daygroup .act{margin-left:auto}.tempty{color:var(--text-faint);padding:2px 2px 14px;font-size:13px}.dtask{border-left-width:3px}.dtask[data-priority=low]{border-left-color:var(--priority-low)}.dtask[data-priority=normal]{border-left-color:var(--border)}.dtask[data-priority=high]{border-left-color:var(--priority-high)}.dtask[data-priority=urgent]{border-left-color:var(--priority-urgent)}.dtask.busy{opacity:.6}.dtask .tmain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dtask .tmain .t{text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.dtask .sub{min-width:0;color:var(--text-faint);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.dtask .sub .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dtask .sub .sep{color:var(--border-strong)}.dtask .due{color:var(--text-soft);flex-shrink:0;font-size:12px;font-weight:600}.dtask .due.late{color:var(--red-ink);font-weight:700}.dtask .resched,.ecard .resched,.dtask .prio,.ecard .prio{text-overflow:ellipsis;opacity:0;border:1px solid var(--border-strong);max-width:96px;color:var(--text-soft);background:var(--panel);border-radius:8px;flex-shrink:0;padding:3px 6px;font-size:12px;font-weight:600;transition:opacity .12s}.dtask:hover .resched,.dtask:focus-within .resched,.ecard:hover .resched,.ecard:focus-within .resched,.dtask:hover .prio,.dtask:focus-within .prio,.ecard:hover .prio,.ecard:focus-within .prio{opacity:1}.dtask .prio.gray,.ecard .prio.gray{border-color:var(--neutral);color:var(--neutral-ink)}.dtask .prio.blue,.ecard .prio.blue{border-color:var(--blue);color:var(--blue-ink)}.dtask .prio.amber,.ecard .prio.amber{border-color:var(--amber);color:var(--amber-ink)}.dtask .prio.red,.ecard .prio.red{border-color:var(--red);color:var(--red-ink)}@media (prefers-reduced-motion:reduce){.dtask .resched,.ecard .resched,.dtask .prio,.ecard .prio{transition:none}}.tsec.drag-over{outline:2px dashed var(--accent);outline-offset:3px;border-radius:12px}.dtask[draggable=true]{cursor:grab}.dtask.dragging{opacity:.4}.drop-line{background:var(--accent);border-radius:2px;height:2px;margin:-1px 0}.qb .drop-line{margin:-4px 0 2px}.tw-toolbar .sp,.tw-quickadd .sp,.tp-head .sp,.tp-foot .sp,.qc-head .sp,.tcard .df .sp{flex:1}.kbd{background:var(--chip);border:1px solid var(--border);color:var(--text-faint);border-radius:5px;padding:0 5px;font-size:11px;font-weight:600;line-height:16px}.dtask .sub .breason{color:var(--red-ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.daygroup .collapse-toggle{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:6px;align-items:center;gap:8px;margin:-1px -4px;padding:1px 4px;display:inline-flex}.daygroup .collapse-toggle:hover{background:var(--hover);color:var(--text-soft)}.daygroup .collapse-toggle .tri{font-size:10px}.tw-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tw-views{margin-right:6px}.tw-views button{flex:none;padding:6px 14px;font-size:13px}.fchip{border:1px solid var(--border-strong);color:var(--text-soft);background:var(--panel);border-radius:8px;max-width:160px;padding:5px 9px;font-size:12px;font-weight:600}.tw-search{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;width:190px;padding:6px 11px;font-size:13px;transition:border .12s}.tw-search:focus{border-color:var(--accent)}.tw-arranged{color:var(--text-faint);font-size:12px;font-weight:600}.tw-quickadd{text-align:left;border:1px dashed var(--border-strong);width:100%;color:var(--text-faint);border-radius:11px;align-items:center;gap:7px;margin-bottom:14px;padding:10px 14px;font-weight:500;transition:border-color .12s,color .12s;display:flex}.tw-quickadd:hover{border-color:var(--accent);color:var(--text-soft);background:var(--hover)}.tw-kanban{align-items:flex-start}.tcard{cursor:grab;padding:0}.tcard.nodrag{cursor:default}.tcard[data-priority=low]{border-left-color:var(--priority-low)}.tcard[data-priority=normal]{border-left-color:var(--border)}.tcard[data-priority=high]{border-left-color:var(--priority-high)}.tcard[data-priority=urgent]{border-left-color:var(--priority-urgent)}.tcard.done{opacity:.65}.tcard.done .dn{color:var(--text-faint);text-decoration:line-through}.tcard-main{text-align:left;width:100%;padding:11px 12px;display:block}.tc-client{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.dtask .tsub .cname{white-space:nowrap}.tc-client .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tc-noclient{color:var(--text-faint)}.tc-blocked{color:var(--red-ink);background:var(--red-soft);border-radius:7px;margin-top:6px;padding:4px 8px;font-size:12px;font-weight:500}.tcard .df{align-items:center;gap:7px;margin-top:8px;display:flex}.tw-kanban .tempty{padding:4px 4px 8px}.lane-unassigned{border:1px dashed var(--border-strong);background:0 0}.lane-head{align-items:center;gap:9px;padding:12px 14px 8px;display:flex}.lane-ghost{border:2px dashed var(--border-strong);width:30px;height:30px;color:var(--text-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.lane-who{min-width:0;line-height:1.25}.lane-who .nm{font-size:13.5px;font-weight:700}.lane-who .ld{color:var(--text-faint);font-size:11.5px;font-weight:500}.lane-meter{background:var(--track);border-radius:3px;gap:3px;height:6px;margin:0 14px 8px;display:flex;overflow:hidden}.lane-meter span{border-radius:3px;height:100%;display:block}.lane-drop{border:1px dashed var(--accent);color:var(--accent-ink);background:var(--accent-soft);border-radius:11px;padding:11px 12px;font-size:12.5px;font-weight:600}.md-sum{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;display:flex}.md-count{line-height:1.35}.md-count b{font-size:15px;display:block}.md-count span{color:var(--text-soft);font-size:12px;font-weight:500}.md-sum .sp{flex:1}.md-week{gap:5px;display:flex}.md-day{background:var(--surface-2);border-radius:8px;flex-direction:column;align-items:center;gap:1px;width:44px;padding:6px 0;display:flex}.md-day em{text-transform:uppercase;letter-spacing:.4px;color:var(--text-soft);font-size:10px;font-style:normal;font-weight:600}.md-day b{font-size:13px}.md-day.on{background:var(--accent-soft)}.md-day.on em,.md-day.on b{color:var(--accent-ink)}.md-day.dim{opacity:.55}.md-later{text-align:center;color:var(--text-faint);margin-top:20px;font-size:13px}.md-later a{color:var(--accent-ink);font-weight:600}.md-later a:hover{text-decoration:underline}.tpanel-overlay{z-index:60;position:fixed;inset:0}.tpanel{background:var(--panel);border-left:1px solid var(--border);width:480px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);z-index:61;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.tpanel:focus{outline:none}.tp-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:13px 18px;display:flex}.tp-head .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tp-head .crumb{color:var(--text-soft);font-size:12px;font-weight:600}.tp-head .crumb.faint{color:var(--text-faint);font-weight:500}.tp-head .sep{color:var(--border-strong)}.tp-head .ib{width:28px;height:28px;color:var(--text-faint);border-radius:7px;justify-content:center;align-items:center;display:flex}.tp-head .ib:hover{background:var(--hover-strong);color:var(--text)}.tp-body{flex:1;padding:16px 18px;overflow-y:auto}.tp-title{letter-spacing:-.2px;background:0 0;border:1px solid #0000;border-radius:9px;width:100%;margin:-6px -9px 8px;padding:6px 9px;font-size:17px;font-weight:700;transition:border .12s}.tp-title:hover{border-color:var(--border-strong)}.tp-title:focus{border-color:var(--accent)}.tp-status{margin-bottom:14px}.tp-status button{white-space:nowrap;padding:7px 4px;font-size:12.5px}.tp-blocked label{color:var(--red-ink)}.tp-blocked input{border-color:var(--red)}.tp-activity{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.tp-activity h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:700}.tp-event{color:var(--text-soft);gap:9px;margin-bottom:9px;font-size:12.5px;line-height:1.4;display:flex}.tp-event b{color:var(--text);font-weight:600}.tp-event .when{color:var(--text-faint)}.tp-foot{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:12px 18px;display:flex}.tp-save{color:var(--text-faint);font-size:12px;font-weight:500}.tp-save.busy{color:var(--text-soft)}.tp-checklist{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.tp-check-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.tp-check-head h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);font-size:11px;font-weight:700}.tp-check-head .cnt{color:var(--text-faint);font-size:11px;font-weight:600}.tp-check-bar{background:var(--track);border-radius:2px;flex:1;height:4px;overflow:hidden}.tp-check-bar span{background:var(--green);border-radius:2px;height:100%;transition:width .2s;display:block}.tp-check-item{align-items:center;gap:9px;padding:5px 2px;font-size:13px;display:flex}.tp-check-item .chk{border-width:1.5px;width:16px;height:16px;font-size:9px}.tp-check-item .lbl{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.tp-check-item .lbl.done{color:var(--text-faint);font-weight:400;text-decoration:line-through}.tp-check-item .rm,.tp-comment .rm{visibility:hidden;color:var(--text-faint);border-radius:5px;flex-shrink:0;padding:2px 5px;font-size:11px}.tp-check-item:hover .rm,.tp-comment:hover .rm,.tp-check-item .rm:focus-visible,.tp-comment .rm:focus-visible{visibility:visible}.tp-check-item .rm:hover,.tp-comment .rm:hover{color:var(--red-ink);background:var(--hover-strong)}.tp-additem{color:var(--text-faint);padding:4px 2px;font-size:12px;font-weight:600}.tp-additem:hover{color:var(--text-soft)}.tp-additem-input{border:1px solid var(--border-strong);background:var(--panel);border-radius:8px;width:100%;margin-top:4px;padding:6px 10px;font-size:13px;transition:border .12s}.tp-additem-input:focus{border-color:var(--accent)}.tp-check-item .rm.promote:hover{color:var(--accent-ink);background:var(--accent-soft)}.tp-check-item .chk.locked{opacity:.55;cursor:default}.tp-promoted{white-space:nowrap;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;margin-left:7px;padding:1px 6px;font-size:10px;font-weight:700}.tp-promote{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:2px 0 8px 25px;padding:10px;display:flex}.tp-promote .f{flex-direction:column;gap:3px;min-width:0;display:flex}.tp-promote .f label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);font-size:10px;font-weight:700}.tp-promote .f select,.tp-promote .f input{border:1px solid var(--border-strong);background:var(--panel);border-radius:7px;max-width:150px;padding:4px 7px;font-size:12px}.tp-promote-act{gap:6px;margin-left:auto;display:flex}.tp-comment{gap:9px;margin-bottom:10px;display:flex}.tp-comment .cbody{flex:1;min-width:0}.tp-comment .who{color:var(--text-soft);align-items:center;gap:4px;margin-bottom:3px;font-size:12.5px;display:flex}.tp-comment .who b{color:var(--text);font-weight:600}.tp-comment .who .when{color:var(--text-faint)}.tp-comment .who .rm{margin-left:auto}.tp-comment .rm.confirm{visibility:visible;color:var(--red-ink);font-weight:600}.tp-comment .bubble{background:var(--surface-2);color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:9px;padding:8px 10px;font-size:12.5px;line-height:1.45}.tp-composer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:9px;padding:12px 18px;display:flex}.tp-composer input{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;flex:1;min-width:0;padding:7px 11px;font-size:13px;transition:border .12s}.tp-composer input:focus{border-color:var(--accent)}.tp-composer .send{width:30px;height:30px;color:var(--accent-ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.tp-composer .send:hover{background:var(--hover-strong)}.tp-composer .send:disabled{color:var(--text-faint);opacity:.5}.qc{background:var(--panel);border:1px solid var(--border);width:640px;max-width:calc(100vw - 24px);max-height:76vh;box-shadow:var(--shadow-lg);z-index:61;border-radius:18px;flex-direction:column;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.qc:focus{outline:none}.qc-head{border-bottom:1px solid var(--border);align-items:center;gap:9px;padding:13px 18px;display:flex}.qc-head h2{font-size:14px;font-weight:700}.qc-hint{gap:5px;display:flex}.qc-body{padding:16px 18px 6px;overflow-y:auto}.qc-input{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;width:100%;padding:10px 12px;font-size:15px;transition:border .12s}.qc-input:focus{border-color:var(--accent)}.qc-unmatched{color:var(--amber-ink);margin-top:8px;font-size:12px;font-weight:500}.qc-fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.qc-fields>div{grid-column:span 2}.qc-fields>.qc-span3{grid-column:span 3}.qc-fields label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.qc-fields select,.qc-fields input{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;width:100%;padding:7px 9px;font-size:13px}.qc-echo{color:var(--text-soft);background:var(--surface-2);border-radius:9px;margin-top:12px;padding:8px 11px;font-size:12.5px;line-height:1.45}.qc-echo b{color:var(--text)}.qc-more{color:var(--text-faint);margin-top:10px;padding:3px 0;font-size:12.5px;font-weight:600}.qc-more:hover{color:var(--accent-ink)}.qc .field{margin:12px 0 0}.qc .form-err{margin-top:8px;margin-bottom:0}.qc-again{color:var(--text-soft);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.eisen{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.eisen .quad{background:var(--panel);min-height:150px;padding:12px 14px 14px}.eisen .quad.drag-over{outline:2px dashed var(--accent);outline-offset:-4px}.eisen .qh{align-items:center;gap:8px;margin-bottom:10px;display:flex}.eisen .qh .hint{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);font-size:11px;font-weight:600}.eisen .qh .cnt{color:var(--text-faint);background:var(--surface-2);border-radius:10px;margin-left:auto;padding:2px 9px;font-size:12px;font-weight:600}.eisen .empty{text-align:left;padding:16px 4px;font-size:12px}.ecard{border:1px solid var(--border);background:var(--panel);cursor:grab;border-left-width:3px;border-radius:11px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 11px;display:flex}.ecard:hover{box-shadow:var(--shadow-hover)}.ecard.dragging{opacity:.4}.ecard[data-priority=low]{border-left-color:var(--priority-low)}.ecard[data-priority=normal]{border-left-color:var(--border)}.ecard[data-priority=high]{border-left-color:var(--priority-high)}.ecard[data-priority=urgent]{border-left-color:var(--priority-urgent)}.ecard .emain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ecard .emain .t{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.ecard .sub{min-width:0;color:var(--text-faint);align-items:center;gap:6px;font-size:11.5px;font-weight:500;display:flex}.ecard .sub .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ecard .due{color:var(--text-soft);flex-shrink:0;font-size:11.5px;font-weight:600}.ecard .due.late{color:var(--red-ink);font-weight:700}.cal-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.cal-nav .btn{justify-content:center;min-width:34px}.cal-wds,.cal-days{background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.cal-wds{border-bottom:1px solid var(--border)}.cal-wd{background:var(--panel);text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);padding:8px 10px;font-size:11px;font-weight:700}.cal-day{background:var(--panel);flex-direction:column;gap:3px;min-width:0;min-height:104px;padding:4px 5px 6px;display:flex}.cal-day.outside{background:var(--surface-2)}.cal-day.outside .cd-head .n{color:var(--text-faint)}.cd-head{border-radius:8px;align-items:center;gap:6px;width:100%;padding:3px 5px;transition:background .12s;display:flex}.cd-head:hover{background:var(--hover)}.cd-head .n{color:var(--text-soft);text-align:left;min-width:20px;font-size:12.5px;font-weight:700}.cd-head .c{color:var(--text-faint);margin-left:auto;font-size:11px;font-weight:600}.cal-day.today .cd-head .n{background:var(--accent);color:var(--on-accent);text-align:center;border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;display:inline-flex}.cd-events{flex-direction:column;gap:3px;min-width:0;display:flex}.cev{background:var(--chip);border-left:3px solid var(--neutral);min-width:0;color:var(--text);border-radius:7px;align-items:center;gap:5px;padding:3px 7px;font-size:11.5px;font-weight:600;display:flex}.cev:hover{background:var(--hover-strong)}.cev .ic{color:var(--text-faint);flex-shrink:0;font-size:10px}.cev .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cev.done .t{color:var(--text-faint);text-decoration:line-through}.cd-more{color:var(--text-faint);border-radius:7px;align-self:flex-start;padding:2px 7px;font-size:11px;font-weight:600}.cd-more:hover{background:var(--hover);color:var(--text-soft)}.cal-grid.week .cal-day{min-height:420px}.cal-grid.week.compact .cal-day{min-height:132px;max-height:132px;overflow-y:auto}.cal-legend{border-top:1px solid var(--border);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;font-size:11.5px;font-weight:600;display:flex}.cal-legend .cl{align-items:center;gap:5px;display:inline-flex}.cal-legend .cl.note{margin-left:auto;font-weight:500}.cal-day-list .row .t{white-space:normal}.gantt{--g-label:210px;--g-track:22px;padding:4px 0 0}.gantt-head{grid-template-columns:var(--g-label) 1fr;border-bottom:1px solid var(--border);align-items:end;gap:12px;padding:6px 16px 8px;display:grid}.gh-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);font-size:11px;font-weight:700}.gh-scale{height:16px;position:relative}.gtick{color:var(--text-faint);white-space:nowrap;padding-left:4px;font-size:11px;font-weight:600;position:absolute;top:0}.gantt-group{border-bottom:1px solid var(--border)}.gantt-group:last-child{border-bottom:0}.gg-head{align-items:center;gap:9px;padding:10px 16px 6px;font-size:13px;font-weight:700;display:flex}.gg-head .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.gg-head .cnt{color:var(--text-faint);background:var(--surface-2);border-radius:10px;margin-left:auto;padding:2px 9px;font-size:11px;font-weight:600}.grow{grid-template-columns:var(--g-label) 1fr;align-items:center;column-gap:12px;padding:5px 16px 9px;display:grid}.grow:hover{background:var(--hover)}.gr-label{align-items:center;gap:7px;min-width:0;display:flex}.gr-label .t{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.gr-track{height:var(--g-track);background:var(--track);border-radius:5px;position:relative}.gline{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.gnow{background:var(--accent);border-radius:2px;width:2px;position:absolute;top:-3px;bottom:-3px}.gbar{background:var(--panel);border:1px solid;border-radius:5px;min-width:3px;height:14px;position:absolute;top:4px;overflow:hidden}.gbar i{opacity:.42;height:100%;display:block}.gbar.inferred{border-style:dashed}.gbar.clip-start{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.gbar.clip-end{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.gm{background:var(--text-soft);border-radius:1px;width:9px;height:9px;margin-left:-4.5px;position:absolute;top:7px;transform:rotate(45deg)}.gm.done{background:var(--green)}.gt{background:var(--text-soft);border-radius:2px;min-width:2px;height:4px;position:absolute;bottom:2px}.gt.done{background:var(--green)}.gnodates{color:var(--text-faint);font-size:11px;font-weight:600;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.gr-meta{color:var(--text-faint);grid-column:2;margin-top:4px;font-size:11px;font-weight:500}.cal-legend .gk{flex-shrink:0;display:inline-block}.cal-legend .gk.bar{border:1px solid var(--border-strong);background:var(--track);border-radius:4px;width:18px;height:10px}.cal-legend .gk.bar.inferred{border-style:dashed}.cal-legend .gk.mark{background:var(--text-soft);border-radius:1px;width:8px;height:8px;transform:rotate(45deg)}.skel-cal{border-radius:14px;height:660px}.chart-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.chart-grid .span-2{grid-column:1/-1}.chart-note{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);border-radius:11px;margin:0 0 16px;padding:11px 14px;font-size:13px;font-weight:500}.chart{margin:0}.chart figcaption{flex-direction:column;gap:2px;padding:4px 6px 12px;display:flex}.chart figcaption .ct{font-size:14px;font-weight:700}.chart figcaption .cn{color:var(--text-faint);font-size:12px;font-weight:500}.cg{display:block;overflow:visible}.cg .ctick{fill:var(--chart-axis);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.cg .cval{fill:var(--text);font-size:12px;font-weight:700}.cg .cdonut-n{fill:var(--text);font-size:20px;font-weight:800}.cg .cdonut-l{fill:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;padding:0 6px;display:flex}.chart-legend{color:var(--text-soft);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.chart-legend li{align-items:center;gap:8px;display:flex}.chart-legend .sw{border-radius:3px;flex-shrink:0;width:11px;height:11px}.chart-data{margin-top:12px}.chart-data summary{cursor:pointer;color:var(--text-faint);border-radius:8px;width:fit-content;padding:4px 6px;font-size:12px;font-weight:600}.chart-data summary:hover{background:var(--hover);color:var(--text-soft)}.chart-data .ftable{margin-top:8px}.chart-data .ftable .num{text-align:right;font-variant-numeric:tabular-nums}.heat{flex-direction:column;gap:4px;padding:0 6px;display:flex}.heat-row{align-items:center;gap:8px;display:flex}.heat-row .hr{width:46px;color:var(--chart-axis);flex-shrink:0;font-size:11px;font-weight:600}.heat-cells{flex-wrap:nowrap;gap:4px;display:flex}.heat-cell{border-radius:4px;flex-shrink:0;width:16px;height:16px}.heat-key{color:var(--text-faint);align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:600;display:flex}.banner{border-radius:11px;margin:0 0 16px;padding:10px 14px;font-size:13px;font-weight:600}.banner.red{background:var(--red-soft);color:var(--red-ink)}.banner.amber{background:var(--amber-soft);color:var(--amber-ink)}.banner.green{background:var(--green-soft);color:var(--green-ink)}.panel .ph .pill{margin-left:auto}.int-copy{color:var(--text-soft);max-width:72ch;margin:4px 6px 14px;font-size:13px;line-height:1.55}.int-copy code,.int-missing code{background:var(--surface-2);border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.int-missing{flex-direction:column;gap:6px;margin:0 6px 14px;display:flex}.int-facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:0 6px 16px;display:grid}.int-facts dt{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);margin-bottom:3px;font-size:11px;font-weight:700}.int-facts dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.int-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:0 6px 6px;display:flex}.int-actions .meta{color:var(--text-faint);font-size:12px;font-weight:500}.btn.disabled{opacity:.55;cursor:default;pointer-events:none}.overlay{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);width:520px;max-width:calc(100vw - 48px);max-height:88vh;box-shadow:var(--shadow-lg);z-index:61;border-radius:18px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modal.wide{width:720px}.modal:focus{outline:none}.m-head{border-bottom:1px solid var(--border);padding:20px 24px 14px}.m-head h2{font-size:19px;font-weight:700}.m-head p{color:var(--text-soft);margin-top:3px;font-size:13px}.m-body{padding:18px 24px;overflow-y:auto}.m-foot{border-top:1px solid var(--border);align-items:center;gap:10px;padding:14px 24px;display:flex}.m-foot .sp{flex:1}.field{margin-bottom:14px}.field label,.field .field-label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input,.field textarea,.field select{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;width:100%;padding:9px 12px;transition:border .12s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.field.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field .checkline{align-items:center;gap:8px;font-weight:600;display:flex}.field .checkline input{width:auto}.color-grid{flex-wrap:wrap;gap:8px;display:flex}.color-grid .sw{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.color-grid .sw.on{border-color:var(--text)}.color-grid .sw-custom{background:conic-gradient(#e2564d,#e8a13a,#2bb673,#3b9ae1,#8a63d2,#e2564d);display:inline-block}.color-grid .sw-custom input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0}.color-grid .color-hex{font-variant-numeric:tabular-nums;color:var(--text-faint);align-self:center;font-size:12px}.logo-img{object-fit:cover;background:var(--surface-2)}.logo-row{align-items:center;gap:12px;display:flex}.logo-preview{object-fit:cover;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-shrink:0;width:46px;height:46px}.logo-preview.empty{color:var(--on-fill);border:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.logo-controls{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.seg{gap:6px;display:flex}.seg-field{border:0;min-inline-size:0;padding:0}.seg-field legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600;display:block}.seg button{border:1px solid var(--border-strong);color:var(--text-soft);border-radius:9px;flex:1;padding:8px;font-weight:600}.seg button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.form-err{color:var(--red-ink);min-height:16px;margin-bottom:8px;font-size:13px;font-weight:600}.toast{background:var(--toast-bg);color:var(--toast-fg);box-shadow:var(--shadow-lg);z-index:100;border-radius:11px;padding:11px 20px;font-size:13.5px;font-weight:600;transition:transform .3s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{transform:translate(-50%)translateY(0)}.avset{align-items:center;display:flex}.avset .avatar{border:2px solid var(--panel);margin-left:-6px}.login-screen{z-index:200;background:var(--login-bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.login-card{background:var(--panel);width:410px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:20px;padding:30px}.login-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:4px;display:flex}.login-brand .logo{width:30px;height:30px;color:var(--on-fill);background:var(--brand-gradient);border-radius:9px;justify-content:center;align-items:center;font-size:16px;display:flex}.login-brand .name{font-size:19px;font-weight:700}.login-brand .name span{color:var(--accent-ink)}.login-sub{text-align:center;color:var(--text-soft);margin-bottom:18px;font-size:13.5px}.login-card input{border:1px solid var(--border-strong);border-radius:11px;width:100%;margin-bottom:10px;padding:11px 14px;font-size:15px}.login-card input:focus{border-color:var(--accent)}.login-err{color:var(--red-ink);text-align:center;min-height:16px;margin:2px 0 6px;font-size:13px;font-weight:600}.login-card .btn{justify-content:center;width:100%;margin-top:2px}.login-note{text-align:center;color:var(--text-faint);margin-top:14px;font-size:11.5px;line-height:1.5}.gate{text-align:center;max-width:400px;margin:9vh auto 0}.gate .glyph{background:var(--accent-soft);width:66px;height:66px;color:var(--accent-ink);border-radius:18px;justify-content:center;align-items:center;margin:0 auto 18px;font-size:28px;display:flex}.gate .glyph.muted{background:var(--neutral-soft);color:var(--text-faint)}.gate h2{font-size:21px;font-weight:700}.gate p{color:var(--text-soft);margin:6px 0 20px}.gate input{border:1px solid var(--border-strong);text-align:center;border-radius:11px;width:100%;padding:12px 14px;font-size:17px}.gate input:focus{border-color:var(--accent)}.gate .btn{justify-content:center;width:100%;margin-top:6px}.gate .err{color:var(--red-ink);min-height:16px;margin-top:8px;font-size:13px;font-weight:600}.team-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 0;display:flex}.team-row:last-child{border-bottom:none}.team-row .who{flex:1;min-width:0}.team-row .who .nm{font-weight:600}.team-row .who .sub{color:var(--text-faint);font-size:12px}.team-row select{border:1px solid var(--border-strong);border-radius:8px;padding:5px 7px;font-size:12px}.team-row .fin{color:var(--text-soft);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.skel{background:var(--skel);border-radius:8px;position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg, transparent, var(--skel-shine), transparent);animation:1.4s ease-in-out infinite skel-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skel-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skel:after{animation:none}}.skel-title{width:180px;height:20px}.skel-stat-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.skel-stat{border-radius:14px;height:92px}.skel-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.skel-card{border-radius:14px;height:260px}.skel-wide{border-radius:14px;height:340px;margin-bottom:16px}.skel-btn{border-radius:9px;width:210px;height:36px}.skel-group{width:120px;height:12px;margin:22px 0 12px}.skel-task{border-radius:11px;height:44px;margin-bottom:8px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.finance-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.seg a{border:1px solid var(--border-strong);color:var(--text-soft);text-align:center;white-space:nowrap;border-radius:9px;flex:1;padding:8px 14px;font-size:13px;font-weight:600}.seg a:hover{background:var(--hover)}.seg a.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.ftable-wrap{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;overflow-x:auto}.ftable{border-collapse:collapse;width:100%;font-size:13.5px}.ftable th,.ftable td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:10px 14px}.ftable thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);background:var(--surface-2);font-size:11.5px;font-weight:700}.ftable tbody tr:last-child td{border-bottom:0}.ftable tbody tr:hover{background:var(--hover)}.ftable .num{text-align:right;font-variant-numeric:tabular-nums}.ftable .sm{color:var(--text-faint);white-space:normal;font-size:12px}.ftable a{color:var(--accent-ink);font-weight:600}.ftable .red{color:var(--red-ink)}.ftable.lines input{width:100%;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 8px}.ftable.lines input:hover:not(:disabled){border-color:var(--border)}.ftable.lines input:focus{border-color:var(--accent);background:var(--panel)}.ftable.lines .num input{text-align:right;font-variant-numeric:tabular-nums}.ftable.lines .add-row{background:var(--surface-2)}.ftable .row-actions{justify-content:flex-end;gap:6px;display:flex}.aging-bar{background:var(--track);border-radius:5px;flex:1;min-width:60px;height:8px;overflow:hidden}.aging-bar i{background:var(--neutral);border-radius:5px;height:100%;display:block}.aging-bar i.green{background:var(--green)}.aging-bar i.amber{background:var(--amber)}.aging-bar i.red{background:var(--red)}.panel .pb.no-pad{padding:0}.panel .pf{border-top:1px solid var(--border);justify-content:flex-end;padding:12px 14px;display:flex}.note-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}@media (max-width:1080px){.note-grid{grid-template-columns:minmax(0,1fr)}}.note-edit{flex-direction:column;gap:12px;display:flex}.note-title{color:var(--text);background:0 0;border:1px solid #0000;border-radius:9px;margin:-6px -8px;padding:6px 8px;font-size:19px;font-weight:700}.note-title:hover{border-color:var(--border)}.note-title:focus{border-color:var(--accent);outline:none}.note-meta{align-items:center;gap:10px;display:flex}.note-meta label{color:var(--text-soft);font-size:13px;font-weight:600}.note-meta select{border:1px solid var(--border-strong);background:var(--panel);color:var(--text);border-radius:9px;padding:6px 10px;font-size:13px}.note-meta select:focus{border-color:var(--accent);outline:none}.note-meta .sp{flex:1}.note-body{resize:vertical;width:100%;min-height:420px;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:11px;padding:14px 16px;line-height:1.65}.note-body:focus{border-color:var(--accent);outline:none}.note-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.note-foot .sp{flex:1}.exlist{flex-direction:column;gap:10px;display:flex}.exrow{background:var(--panel);border:1px solid var(--border);border-radius:11px;gap:10px;padding:11px 12px;display:flex}.exrow.off{opacity:.5}.exinc{flex-shrink:0;padding-top:8px}.exmain{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.extitle{width:100%;color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:9px;padding:7px 10px;font-weight:500}.extitle:focus{border-color:var(--accent);outline:none}.exdesc{color:var(--text-soft);font-size:12px}.exfields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.exfields select,.exfields input{width:100%;color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:9px;padding:6px 9px;font-size:12.5px}.exfields select:focus,.exfields input:focus{border-color:var(--accent);outline:none}.exhint{color:var(--amber-ink);font-size:12px;font-weight:500}.inv-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}@media (max-width:980px){.inv-grid{grid-template-columns:minmax(0,1fr)}}.inv-totals{width:320px;max-width:100%;margin:14px 0 0 auto;font-size:13.5px}.inv-totals>div{justify-content:space-between;padding:7px 2px;display:flex}.inv-totals>div span{color:var(--text-soft)}.inv-totals>div b{font-variant-numeric:tabular-nums}.inv-totals .due{border-top:1px solid var(--border);margin-top:4px;padding-top:11px;font-size:15px}.inv-totals .green{color:var(--green-ink)}.inv-totals .amber{color:var(--amber-ink)}.inv-totals .red{color:var(--red-ink)}.inv-notes{color:var(--text-soft);white-space:pre-wrap;margin-top:14px;font-size:13px}.print-page{background:var(--bg);height:100vh;padding:28px 20px 60px;overflow:auto}.print-deny{text-align:center;max-width:460px;color:var(--text-soft);margin:80px auto}.invoice-sheet{background:var(--panel);max-width:780px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;margin:0 auto;padding:46px 52px 40px}.invoice-sheet header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:34px;display:flex}.invoice-sheet h1{letter-spacing:-.01em;margin:0;font-size:30px}.invoice-sheet header .num{color:var(--text-faint);margin-top:2px;font-size:13.5px}.invoice-sheet header .from{text-align:right;color:var(--text-soft);font-size:13px}.invoice-sheet .meta{flex-wrap:wrap;gap:40px;margin-bottom:30px;font-size:13.5px;display:flex}.invoice-sheet .meta span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:3px;font-size:11px;display:block}.invoice-sheet table.lines{border-collapse:collapse;width:100%;font-size:13.5px}.invoice-sheet table.lines th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1.5px solid var(--border-strong);padding:0 0 8px;font-size:11px}.invoice-sheet table.lines td{border-bottom:1px solid var(--border);vertical-align:top;padding:11px 0}.invoice-sheet table.lines .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:20px}.invoice-sheet .totals{width:290px;margin:22px 0 0 auto;font-size:13.5px}.invoice-sheet .totals>div{justify-content:space-between;padding:6px 0;display:flex}.invoice-sheet .totals>div span{color:var(--text-soft)}.invoice-sheet .totals b{font-variant-numeric:tabular-nums}.invoice-sheet .totals .due{border-top:1.5px solid var(--border-strong);margin-top:5px;padding-top:11px;font-size:16px}.invoice-sheet .terms,.invoice-sheet .notes{color:var(--text-soft);white-space:pre-wrap;margin-top:30px;font-size:12.5px}.print-hint{text-align:center;max-width:780px;color:var(--text-faint);margin:16px auto 0;font-size:12px}.cal-sheet{background:var(--panel);max-width:1040px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;margin:0 auto;padding:46px 52px 40px}.cal-sheet header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.cal-sheet h1{font-size:23px;font-weight:800}.cal-sheet .num{color:var(--text-soft);margin-top:3px;font-size:13px;font-weight:600}.cal-sheet .from{text-align:right;color:var(--text-soft);font-size:12.5px}.cs-legend{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-soft);flex-wrap:wrap;gap:14px;padding:9px 0;font-size:11.5px;font-weight:600;display:flex}.cs-legend span{align-items:center;gap:5px;display:inline-flex}.cs-legend i{border-radius:2px;width:9px;height:9px}.cs-month h2{margin:22px 0 10px;font-size:17px;font-weight:800}.cs-month h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:20px 0 8px;font-size:13px;font-weight:800}.cs-grid{border:1px solid var(--border);border-radius:9px;overflow:hidden}.cs-wds,.cs-week{grid-template-columns:repeat(7,1fr);display:grid}.cs-wds{background:var(--chip);border-bottom:1px solid var(--border)}.cs-wds div{color:var(--text-faint);text-transform:uppercase;padding:5px 7px;font-size:10.5px;font-weight:700}.cs-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:78px;padding:4px 5px 6px}.cs-week:last-child .cs-day{border-bottom:0}.cs-day:last-child{border-right:0}.cs-day.outside{background:var(--chip)}.cs-day.outside .n{color:var(--text-faint)}.cs-day .n{color:var(--text-soft);margin-bottom:3px;font-size:11px;font-weight:700;display:block}.cs-post{align-items:baseline;gap:4px;margin-bottom:2px;font-size:9.5px;line-height:1.35;display:flex}.cs-post i{border-radius:50%;flex-shrink:0;width:5px;height:5px;transform:translateY(-1px)}.cs-post .tm{color:var(--text-soft);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.cs-post .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cs-detail{flex-direction:column;gap:10px;display:flex}.cs-entry{border-bottom:1px solid var(--border);grid-template-columns:190px 1fr;gap:16px;padding-bottom:10px;display:grid}.cs-when{color:var(--text-soft);flex-direction:column;gap:2px;font-size:11.5px;display:flex}.cs-when b{color:var(--text);font-size:12.5px}.cs-marks{flex-wrap:wrap;gap:6px;font-size:10.5px;font-weight:700;display:flex}.cs-copy{font-size:12px;line-height:1.5}.cs-copy .base{white-space:pre-wrap}.cs-copy .variant{border-left:2px solid var(--border);white-space:pre-wrap;margin-top:5px;padding-left:9px}.cs-copy .links{color:var(--text-faint);flex-direction:column;gap:1px;margin-top:5px;font-size:11px;display:flex}.cs-empty{color:var(--text-faint);font-size:12px}.cev.post{text-align:left;cursor:pointer;width:100%}.cev.post .tm{color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10.5px;font-weight:700}.cev.post.s-review{background:var(--amber-soft)}.cev.post.s-approved{background:var(--blue-soft)}.cev.post.s-scheduled{background:var(--accent-soft)}.cev.post.done{opacity:.62}.cev.post.done .t{text-decoration:none}.status-strip{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;display:flex}.pill.faint{opacity:.45}.pf-picker{flex-wrap:wrap;gap:7px;display:flex}.pf-opt{border:1.5px solid var(--border);background:var(--panel);color:var(--text-soft);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:600;transition:border-color .12s,background .12s;display:inline-flex}.pf-opt:hover{background:var(--hover)}.pf-opt.on{font-weight:700}.pf-opt .ic{font-size:11px}.pf-marks{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.pf-mark{font-size:12px;line-height:1}.link-list{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.link-row{background:var(--chip);border-radius:9px;align-items:center;gap:9px;padding:5px 7px;display:flex}.link-row .t{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-size:12.5px;font-weight:600;overflow:hidden}.link-row .t:hover{text-decoration:underline}.link-add{gap:7px;display:flex}.link-add select{flex-shrink:0;width:auto}.link-add input{flex:1;min-width:0}.post-caption{resize:vertical;min-height:132px}.post-caption.over{border-color:var(--red)}.cap-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:8px;display:flex}.cap-tab{color:var(--text-faint);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.cap-tab:hover{color:var(--text)}.cap-tab.on{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.cap-tab .ic{font-size:11px}.cap-dot{background:var(--text-faint);border-radius:50%;width:5px;height:5px}.cap-tab.on .cap-dot{background:var(--accent)}.cap-over{background:var(--red-soft);min-width:14px;height:14px;color:var(--red-ink);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.cap-foot{align-items:center;gap:9px;margin-top:5px;display:flex}.cap-foot .field-hint{margin-top:0}.field-hint.danger{color:var(--red-ink);font-weight:600}.pv-stage{grid-template-columns:minmax(0,300px) 1fr;align-items:start;gap:16px;margin-top:10px;display:grid}.pv-side{flex-direction:column;gap:8px;display:flex}.pv-side .field-hint{margin-top:0}.pv-toggle{color:var(--text-soft);cursor:pointer;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.pv{--pv-bg:#fff;--pv-ink:#262626;--pv-muted:#8e8e8e;--pv-line:#dbdbdb;--pv-accent:#ff3040;background:var(--pv-bg);color:var(--pv-ink);border:1px solid var(--pv-line);border-radius:10px;font-size:13px;line-height:1.4;overflow:hidden}.pv-facebook{--pv-bg:#fff;--pv-ink:#050505;--pv-muted:#65676b;--pv-line:#ced0d4;--pv-accent:#1877f2}.pv-x{--pv-bg:#fff;--pv-ink:#0f1419;--pv-muted:#536471;--pv-line:#cfd9de;--pv-accent:#1d9bf0}.pv-linkedin{--pv-bg:#fff;--pv-ink:#1b1f23;--pv-muted:#666;--pv-line:#e0e0e0;--pv-accent:#0a66c2}.pv-vertical{--pv-bg:#000;--pv-ink:#fff;--pv-muted:#ffffffb8;--pv-line:#000;border-color:#2a2a2a}.pv-head{align-items:center;gap:9px;padding:9px 11px;display:flex}.pv-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:inline-flex}.pv-who{flex-direction:column;flex:1;min-width:0;display:flex}.pv-who b{font-size:13px;font-weight:700}.pv-handle{color:var(--pv-muted);font-size:11.5px}.pv-dots{color:var(--pv-muted);flex-shrink:0}.pv-media{background:repeating-linear-gradient(45deg,#0000000b,#0000000b 9px,#00000005 9px 18px);justify-content:center;align-items:center;width:100%;display:flex}.pv-media-note{letter-spacing:.08em;text-transform:uppercase;color:var(--pv-muted);font-size:11px;font-weight:700}.pv-body{padding:9px 11px}.pv-caption{white-space:pre-wrap;word-break:break-word}.pv-hidden{display:none}.pv-more{color:var(--pv-muted);font-weight:500}.pv-empty{color:var(--pv-muted)}.pv-actions{color:var(--pv-ink);gap:14px;padding:7px 11px 11px;font-size:16px;display:flex}.pv-actions .pv-save{margin-left:auto}.pv-frame{background:#000;width:100%;position:relative}.pv-media.fill{height:100%;position:absolute;inset:0}.pv-chrome{color:#fff;text-shadow:0 1px 3px #0000008c;flex-direction:column;display:flex;position:absolute;inset:0}.pv-vtop{padding:9px 10px}.pv-progress{background:#ffffffd9;border-radius:2px;height:2px;margin-bottom:9px;display:block}.pv-vwho{align-items:center;gap:7px;font-size:12px;display:flex}.pv-vwho .pv-avatar{width:24px;height:24px;font-size:9px}.pv-rail{flex-direction:column;gap:14px;font-size:17px;display:flex;position:absolute;bottom:26%;right:7px}.pv-vbottom{flex-direction:column;gap:8px;margin-top:auto;padding:10px;display:flex}.pv-vcaption{padding-right:22%;font-size:12px}.pv-vbar{color:#ffffffd9;border:1px solid #fff9;border-radius:999px;padding:6px 12px;font-size:11.5px}.pv-overlay-text{color:#fff;text-shadow:0 1px 4px #0009;white-space:pre-wrap;font-size:13px;font-weight:700;position:absolute}.pv-safe{pointer-events:none;position:absolute;inset:0}.pv-safe i{background:#e2564d57;border:0 dashed #e2564dbf;position:absolute}.pv-safe i.t{border-bottom-width:1px;top:0;left:0;right:0}.pv-safe i.b{border-top-width:1px;bottom:0;left:0;right:0}.pv-safe i.l{border-right-width:1px;top:0;bottom:0;left:0}.pv-safe i.r{border-left-width:1px;top:0;bottom:0;right:0}.pv-safe-box{letter-spacing:.05em;text-transform:uppercase;color:#ffffffd9;border:1px dashed #fff9;justify-content:flex-end;align-items:flex-end;padding:3px 5px;font-size:9px;font-weight:700;display:flex;position:absolute}@media (max-width:720px){.pv-stage{grid-template-columns:1fr}}.wf{border:1px solid var(--border);border-radius:11px;padding:11px}.wf-now{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.wf-now .field-hint{margin-top:0}.wf-moves{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.wf-log{border-top:1px solid var(--border);flex-direction:column;gap:3px;max-height:148px;margin-top:11px;padding-top:9px;display:flex;overflow-y:auto}.wf-entry{align-items:baseline;gap:6px;font-size:12px;display:flex}.wf-entry .who{color:var(--text);flex-shrink:0;font-weight:700}.wf-entry .what{color:var(--text-soft);flex:1;min-width:0}.wf-entry .when{color:var(--text-faint);flex-shrink:0;font-weight:500}.field-hint{color:var(--text-faint);margin-top:5px;font-size:11.5px;font-weight:500}fieldset.field{border:0;min-width:0;margin-inline:0;padding:0}fieldset.field>legend{padding:0}.field.row3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.gate-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.admin-landing{gap:12px;max-width:760px;display:grid}.admin-card{border:1px solid var(--border);background:var(--panel);border-radius:13px;align-items:center;gap:14px;padding:16px 18px;transition:border-color .12s,transform .12s;display:flex}.admin-card:hover{border-color:var(--accent);transform:translateY(-1px)}.admin-card .ic{background:var(--hover);width:42px;height:42px;color:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;font-size:20px;display:grid}.admin-card .tx{flex:1;min-width:0}.admin-card .nm{align-items:center;gap:8px;font-weight:700;display:flex}.admin-card p{color:var(--text-faint);margin:3px 0 0;font-size:12.5px}.admin-card .go{color:var(--text-faint);flex-shrink:0}.rt{border:1px solid var(--border-strong);background:var(--panel);border-radius:11px;overflow:hidden}.rt-bar{border-bottom:1px solid var(--border);background:var(--hover);z-index:2;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex;position:sticky;top:0}.rt-grp{border-right:1px solid var(--border);gap:2px;margin-right:2px;padding-right:6px;display:flex}.rt-grp:last-of-type{border-right:0}.rt-btn{min-width:28px;height:28px;color:var(--text-soft);background:0 0;border:1px solid #0000;border-radius:7px;padding:0 6px;font-size:12.5px;font-weight:700;transition:background .12s,color .12s}.rt-btn:hover:not(:disabled){background:var(--panel);color:var(--text)}.rt-btn.on{background:var(--accent);color:#fff}.rt-btn:disabled{opacity:.35}.rt-surface{outline:none;min-height:280px;padding:14px 16px;font-size:14px;line-height:1.65}.rt-loading{border:1px solid var(--border-strong);background:var(--panel);border-radius:11px}.rt-surface>*+*{margin-top:10px}.rt-surface h1{font-size:21px;font-weight:700;line-height:1.3}.rt-surface h2{font-size:17.5px;font-weight:700;line-height:1.35}.rt-surface h3{font-size:15px;font-weight:700}.rt-surface ul,.rt-surface ol{padding-left:22px}.rt-surface ul{list-style:outside}.rt-surface ol{list-style:decimal}.rt-surface li{margin:3px 0}.rt-surface li>p{margin:0}.rt-surface blockquote{border-left:3px solid var(--accent);color:var(--text-soft);padding-left:12px}.rt-surface code{background:var(--hover);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.rt-surface pre{background:var(--hover);border-radius:9px;padding:11px 13px;overflow-x:auto}.rt-surface pre code{background:0 0;padding:0}.rt-surface hr{border:0;border-top:1px solid var(--border)}.rt-surface a{color:var(--accent);text-decoration:underline}.rt-surface ul[data-type=taskList]{padding-left:2px;list-style:none}.rt-surface ul[data-type=taskList] li{align-items:flex-start;gap:9px;display:flex}.rt-surface ul[data-type=taskList] li>label{flex-shrink:0;margin-top:3px}.rt-surface ul[data-type=taskList] li>div{flex:1;min-width:0}.rt-surface ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-faint);text-decoration:line-through}.rt-surface p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--text-faint)}.note-filters{flex-wrap:wrap;gap:9px;margin-bottom:12px;display:flex}.nf-search{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.nf-search .ic{color:var(--text-faint);pointer-events:none;position:absolute;left:11px}.nf-search input{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;width:100%;padding:9px 32px}.nf-search input:focus{border-color:var(--accent);outline:none}.nf-clear{width:20px;height:20px;color:var(--text-faint);background:var(--hover);border-radius:50%;font-size:11px;position:absolute;right:8px}.note-filters select{border:1px solid var(--border-strong);background:var(--panel);border-radius:9px;padding:9px 11px;font-size:13px;font-weight:600}.note-snippet{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;font-weight:500;display:block;overflow:hidden}.save-state.dirty{color:var(--amber)}.save-state.error{color:var(--red);font-weight:700}.save-state.saved{color:var(--green)}.note-history{border:1px solid var(--border);background:var(--hover);border-radius:11px;margin-top:14px;padding:12px 14px}.note-history .hh{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.note-history ul{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.note-history li{border:1px solid var(--border);background:var(--panel);border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:9px 11px;display:grid}.note-history .vt{align-items:baseline;gap:8px;min-width:0;display:flex}.note-history .vt b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-history .vp{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;grid-column:1;margin:0;font-size:12px;overflow:hidden}.note-history li>.btn{grid-area:1/2/span 2}.note-foot{flex-wrap:wrap}.dtask .tmain{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.dtask .tmain:hover .t{text-underline-offset:2px;text-decoration:underline}.note-task{text-align:left;font:inherit;color:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;padding:0;overflow:hidden}.note-task:hover{text-underline-offset:2px;text-decoration:underline}.task-desc{resize:vertical;min-height:62px;font:inherit}.ct-tasks-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.task-group{margin-bottom:16px}.tg-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);align-items:center;gap:9px;padding:0 2px 7px;font-size:12px;font-weight:700;display:flex}.tg-head .cnt{letter-spacing:0;text-transform:none;margin-left:auto;font-weight:600}.retainer-head{color:var(--text-soft);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.retainer-counter{align-items:center;gap:7px;display:flex}.retainer-counter .btn{min-width:26px;padding:2px 8px;line-height:1.3}.rc-value{white-space:nowrap;min-width:0}.inv-notes.warn{color:var(--amber);font-weight:600}@media (max-width:860px){.app{flex-direction:column;height:auto;min-height:100vh}body{overflow:auto}.sidebar{border-right:0;border-bottom:1px solid var(--border);z-index:30;width:100%;height:auto;position:sticky;top:0}.brand{padding:11px 14px}.side-scroll{scrollbar-width:none;align-items:center;gap:6px;padding:0 12px 10px;display:flex;overflow-x:auto}.side-scroll::-webkit-scrollbar{display:none}.side-scroll .nav{background:var(--hover);white-space:nowrap;border-radius:999px;flex-shrink:0;width:auto;margin:0;padding:7px 12px}.side-section{display:none}.side-foot{border-top:1px solid var(--border);padding:8px 12px}.main{height:auto;overflow:visible}.content{padding:14px;overflow:visible}.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:11px 14px}.topbar h1{font-size:18px}.dash-grid,.chart-grid,.two-col,.note-grid,.inv-grid,.eisen,.field.row2,.field.row3{grid-template-columns:minmax(0,1fr)}.dash-grid .span-2,.chart-grid .span-2{grid-column:auto}.stat-row,.stat-row.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban,.cal-grid,.gantt,.roster{overflow-x:auto}.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.tpanel{width:100vw;max-width:none}.qc{max-height:calc(100dvh - 32px);top:16px}.qc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-fields>div,.qc-fields>.qc-span3{grid-column:span 1}}@media (max-width:560px){.stat-row,.stat-row.cols-3{grid-template-columns:minmax(0,1fr)}.note-filters{flex-direction:column}.note-filters select{width:100%}.rt-surface{min-height:220px;padding:12px}}@media print{html,body{background:var(--paper);height:auto;overflow:visible}body .sidebar,body .topbar,body .tabs,body .toaster,body .print-hint,body .finance-toolbar{display:none}body .print-page{background:var(--paper);height:auto;padding:0;overflow:visible}body .invoice-sheet{max-width:none;box-shadow:none;background:var(--paper);color:var(--paper-ink);border:0;border-radius:0;margin:0;padding:0}.invoice-sheet table.lines tr,.invoice-sheet .totals{break-inside:avoid}body .cal-sheet{max-width:none;box-shadow:none;background:var(--paper);color:var(--paper-ink);--pf-instagram:#d6336c;--pf-tiktok:#0f9d76;--pf-youtube:#d63b3b;--pf-facebook:#2f6fe0;--pf-linkedin:#0a6ea4;--pf-x:#57606a;--panel:#fff;--chip:#f4f3f8;--border:#d9d7e2;--text:#16151f;--text-soft:#45435a;--text-faint:#6b6a7e;border:0;border-radius:0;margin:0;padding:0}.cal-sheet .cs-week,.cal-sheet .cs-entry,.cal-sheet .cs-legend{break-inside:avoid}.cal-sheet .cs-month+.cs-month{break-before:page}.cal-sheet .cs-day{min-height:74px}.cal-sheet .cs-day.outside .n{opacity:.45}@page{margin:18mm 16mm}}
