:root{--bg: #f0ede4;--bg-2: #e6ddc8;--panel: #faf8f2;--panel-2: #f0ede4;--panel-3: #e6ddc8;--line: #d9d1be;--line-soft: #e8e1d1;--fg: #1b1d22;--fg-2: #3f434b;--muted: #5b616b;--muted-2: #949aa3;--accent: #1b1d22;--on-accent: #faf8f2;--bad: #c2402c;--lift: 0 11px 20px -10px rgba(0, 20, 60, .32);--lift-lg: 0 20px 30px -12px rgba(0, 20, 60, .4);--drop: drop-shadow(0 7px 11px rgba(0, 40, 90, .28));--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .55);--wall: none;--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .86);--stroke: rgba(255, 255, 255, .6);--chrome: rgba(250, 248, 242, .7);--chrome-strong: rgba(250, 248, 242, .82);--chrome-blur: blur(26px) saturate(1.35);--desk-ink: #1b1d22;--desk-shadow: 0 1px 2px rgba(255, 255, 255, .55);--t-orange: #f0952f;--t-pink: #d64ba0;--t-brown: #a6703c;--t-purple: #7a5bd0;--t-blue: #4a86f0;--t-green: #3fbf7a;--t-cyan: #2b9bd8;--radius: 8px;--radius-sm: 4px;--folder-r: 2px 8px 8px 8px;--mono: "SF Mono", ui-monospace, SFMono-Regular, "Cascadia Mono", "Roboto Mono", Consolas, "Courier New", monospace;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--sidebar-w: 232px;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='88' height='88' filter='url(%23g)'/%3E%3C/svg%3E");color-scheme:light}[data-theme=noir]{--bg: #000000;--bg-2: #0b0b0b;--panel: #0b0b0b;--panel-2: #131313;--panel-3: #1b1b1b;--line: #262626;--line-soft: #1a1a1a;--fg: #ededed;--fg-2: #b0b0b0;--muted: #7d7d7d;--muted-2: #565656;--accent: #ffffff;--on-accent: #000000;--bad: #ff8f7a;--lift: 0 11px 20px -10px rgba(0, 0, 0, .8);--lift-lg: 0 20px 30px -12px rgba(0, 0, 0, .9);--drop: drop-shadow(0 7px 11px rgba(0, 0, 0, .7));--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .14);--glass: rgba(22, 27, 46, .62);--glass-strong: rgba(18, 22, 38, .86);--stroke: rgba(255, 255, 255, .15);--chrome: rgba(10, 10, 10, .66);--chrome-strong: rgba(10, 10, 10, .8);--desk-ink: #eaf0ff;--desk-shadow: 0 1px 3px rgba(0, 0, 0, .7);color-scheme:dark}[data-ink=light]{--desk-ink: #eaf0ff;--desk-shadow: 0 1px 3px rgba(0, 0, 0, .65);--glass: rgba(22, 27, 46, .5);--stroke: rgba(255, 255, 255, .28)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:600}a{color:var(--fg);text-underline-offset:2px}::selection{background:var(--fg);color:var(--bg)}.lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.eyebrow{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100%;overflow:hidden;background:var(--wall),var(--bg);background-size:cover;background-position:center}.app.rail{--sidebar-w: 56px}.sidebar.is-rail{align-items:center;padding:0 0 10px}.rail-top{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 8px;border-bottom:1px solid var(--line)}.rail-mark{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--fg)}.rail-item{width:38px;height:34px;display:grid;place-items:center;border:0;background:none;border-radius:6px;cursor:pointer;color:var(--fg-2);font-size:14px;position:relative}.rail-item:hover,.rail-item.active{background:var(--panel);color:var(--fg)}.rail-item.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--fg)}.rail-nav{display:flex;flex-direction:column;gap:3px;padding:8px 0}.rail-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--line);width:100%}.collapse-btn{border:0;background:none;cursor:pointer;color:var(--muted);padding:2px 5px;border-radius:4px;font-size:13px;line-height:1}.collapse-btn:hover{background:var(--panel);color:var(--fg)}.sidebar{background:var(--chrome);backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur);border-right:1px solid var(--stroke);display:flex;flex-direction:column;overflow-y:auto;padding-bottom:10px}.brand{padding:15px 16px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px}.brand-mark{font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--fg)}.brand-badge{margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--muted-2);border:1px solid var(--line);border-radius:3px;padding:1px 5px}.theme-dots{display:flex;gap:5px}.theme-dot{width:13px;height:13px;border-radius:50%;cursor:pointer;border:1px solid var(--line);padding:0}.theme-dot.paper{background:linear-gradient(140deg,#f5f1e7,#e0d5bd)}.theme-dot.noir{background:linear-gradient(140deg,#2a2a2a,#000)}.theme-dot.on{outline:1.5px solid var(--fg);outline-offset:1.5px}.setup-card{margin:12px;border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;background:var(--panel);box-shadow:var(--inset-hi)}.setup-card .row{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fg-2)}.setup-bar{height:4px;background:var(--panel-3);border-radius:3px;margin:9px 0 6px;overflow:hidden}.setup-bar span{display:block;height:100%;background:var(--t-green)}.setup-count{font-size:10px;color:var(--muted);letter-spacing:.06em}.nav-section{padding:3px 0}.nav-label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding:14px 16px 5px}.nav-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;text-align:left;padding:7px 16px;cursor:pointer;color:var(--fg-2);font-size:12.5px}.nav-item:hover{color:var(--fg);background:var(--panel)}.nav-item.active{color:var(--fg);background:var(--panel);font-weight:600}.nav-item.active .nav-icon{opacity:1}.nav-item.child{padding-left:38px;font-size:12px}.nav-item.soon{color:var(--muted-2);cursor:default}.nav-item.soon:hover{background:none;color:var(--muted-2)}.nav-icon{width:14px;flex-shrink:0;opacity:.75}.nav-count{margin-left:auto;font-size:10.5px;color:var(--muted-2)}.nav-chev{margin-left:auto;font-size:9px;color:var(--muted-2)}.nav-soon-tag{margin-left:auto;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--line-soft);border-radius:3px;padding:0 4px}.sidebar-foot{margin-top:auto;padding:12px 16px 0;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted-2);display:flex;flex-direction:column;gap:6px}.sidebar-foot button{background:none;border:0;color:var(--muted);padding:0;cursor:pointer;text-align:left;font-size:11px}.sidebar-foot button:hover{color:var(--fg)}.main{overflow:hidden;display:flex;flex-direction:column;min-width:0;position:relative;background:transparent}.main>.page-head h1{color:var(--desk-ink);text-shadow:var(--desk-shadow)}.main>.page-head .sub{color:var(--desk-ink);opacity:.72;text-shadow:var(--desk-shadow)}.win{position:fixed;background:var(--glass-strong);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid var(--stroke);border-radius:15px;box-shadow:0 34px 80px -30px #0f193799;display:flex;flex-direction:column;overflow:hidden;max-width:calc(100vw - 24px)}.win .titlebar{cursor:grab;-webkit-user-select:none;user-select:none;background:transparent}.win .titlebar:active{cursor:grabbing}.win .traffic i{cursor:pointer}.win-body{flex:1;overflow:auto;padding:14px 16px}.title-chip{width:9px;height:9px;border-radius:2px;margin-left:4px}.win-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:transparent}.desk{flex:1;position:relative;overflow:hidden;color:var(--desk-ink)}.desk-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(120,130,150,.09) 1px,transparent 1px),linear-gradient(to bottom,rgba(120,130,150,.09) 1px,transparent 1px);background-size:96px 96px}[data-ink=light] .desk-grid{background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.08) 1px,transparent 1px)}.coord{position:absolute;pointer-events:none;font-size:8.5px;letter-spacing:.1em;color:var(--desk-ink);opacity:.35;white-space:nowrap}.menubar{display:flex;align-items:center;gap:18px;padding:6px 16px;flex-shrink:0;background:var(--chrome-strong);backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur);border-bottom:1px solid var(--stroke);font-size:11.5px}.menubar .wordmark{font-weight:700;letter-spacing:.16em;text-transform:uppercase}.menubar button.mi{background:none;border:0;cursor:pointer;color:var(--fg-2);font-size:11.5px;padding:2px 4px;border-radius:3px}.menubar button.mi:hover{background:var(--panel-2);color:var(--fg)}.menubar .clock{font-size:11px;color:var(--fg-2)}.desk-status{position:absolute;top:16px;left:20px;max-width:460px}.desk-status .avail{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--desk-ink);text-shadow:var(--desk-shadow)}.desk-status .avail i{width:8px;height:8px;border-radius:50%;background:#3fbf7a;box-shadow:0 0 7px #3fbf7ae6}.desk-status p{margin:7px 0 0;font-size:12.5px;color:var(--desk-ink);opacity:.85;text-shadow:var(--desk-shadow)}.wall-pill{position:absolute;top:14px;right:20px;display:flex;align-items:center;gap:9px;padding:6px 10px 6px 14px;border-radius:100px;background:var(--glass-strong);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--stroke);box-shadow:var(--lift);z-index:6}.wall-pill .lbl{font-size:9px;letter-spacing:.16em}.wall-pill .swatches{display:flex;gap:6px}.wall-pill .sw{width:19px;height:19px;border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.14);padding:0;background-size:cover}.wall-pill .sw.on{outline:2px solid var(--fg);outline-offset:1.5px}.wall-pill .sw.upload{display:grid;place-items:center;font-size:11px;background:var(--panel);color:var(--muted)}.desk-icon{position:absolute;width:92px;text-align:center;background:none;border:0;padding:5px 3px;cursor:pointer;border-radius:5px;-webkit-user-select:none;user-select:none}.desk-icon:hover{background:#ffffff29}.desk-icon.sel{background:var(--glass);outline:1px solid var(--stroke)}.desk-icon.dragging{opacity:.7}.desk-icon .lbl{display:block;margin-top:6px;font-size:9px;letter-spacing:.07em;text-transform:uppercase;line-height:1.35;color:var(--desk-ink);text-shadow:var(--desk-shadow);word-break:break-word}.desk-icon .sub{display:block;font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;opacity:.62;color:var(--desk-ink);text-shadow:var(--desk-shadow)}.desk-icon .folder-ic{width:54px;height:42px}.desk-icon .folder-ic .cnt{font-size:10.5px}.desk-icon:hover .folder-ic{transform:translateY(-3px) scale(1.06)}.badge-lock{position:absolute;right:16px;bottom:34px;width:17px;height:17px;border-radius:50%;background:#22262e;display:grid;place-items:center;box-shadow:0 2px 5px #00000073;font-size:8px;color:#ffd76a}.widget{position:absolute;width:250px;background:var(--glass-strong);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--stroke);border-radius:13px;box-shadow:var(--lift-lg);overflow:hidden;z-index:5}.widget-head{display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);cursor:grab;border-bottom:1px solid var(--line-soft)}.widget-head:active{cursor:grabbing}.widget-head .drag{letter-spacing:-1px;opacity:.6}.widget-body{padding:11px 13px 13px}.widget-stat{display:flex;align-items:baseline;gap:8px}.widget-stat .big{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--fg)}.widget-stat .unit{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.widget-line{display:flex;gap:8px;align-items:center;font-size:11px;padding:4px 0;cursor:pointer;color:var(--fg-2)}.widget-line:hover{color:var(--fg)}.widget-line .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-line .d{font-size:10px;color:var(--muted)}.widget-line .d.late{color:var(--bad)}.dock{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:18px;background:var(--glass-strong);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);border:1px solid var(--stroke);box-shadow:0 20px 44px -20px #0f19378c;z-index:7}.dock button{width:42px;height:42px;border-radius:11px;border:0;cursor:pointer;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700;box-shadow:0 6px 14px -8px #00143c99,inset 0 1px #ffffff59;transition:transform .16s cubic-bezier(.2,.85,.3,1)}.dock button:hover{transform:translateY(-6px) scale(1.08)}.dock .sep{width:1px;height:26px;background:var(--stroke)}.folder-ic{display:block;position:relative;width:46px;height:36px;margin:0 auto;filter:drop-shadow(1px 1px 0 rgba(30,26,20,.34));transition:transform .12s steps(3,end)}.folder-ic .back{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--fc, #5b9bd5);filter:brightness(.78) saturate(.9);border-radius:2px;clip-path:polygon(0 0,44% 0,52% 21%,100% 21%,100% 100%,0 100%)}.folder-ic .front{position:absolute;left:0;right:0;top:27%;bottom:0;background:var(--fc, #5b9bd5);border-radius:1px 1px 2px 2px;box-shadow:inset 0 1px #ffffff6b,inset 0 -1px #00000029}.folder-ic .grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:var(--grain);background-size:88px 88px;mix-blend-mode:multiply;opacity:.5;border-radius:2px}.folder-ic .cnt{position:absolute;top:27%;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:9.5px;font-weight:700;color:#fffffff5;text-shadow:0 1px 0 rgba(0,0,0,.28)}.folder-item{width:68px;text-align:center;background:none;border:0;padding:5px 2px;cursor:pointer;border-radius:4px}.folder-item:hover .folder-ic{transform:translateY(-3px) scale(1.06)}.folder-item.on{background:var(--glass)}.folder-item.on .lbl{font-weight:700}.folder-item .lbl{display:block;margin-top:5px;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--desk-ink);text-shadow:var(--desk-shadow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-item .sub{display:block;font-size:8px;opacity:.7;margin-top:1px;color:var(--desk-ink);text-shadow:var(--desk-shadow)}.panel .folder-item .lbl,.panel .folder-item .sub{color:var(--fg-2);text-shadow:none}.folder-shelf{display:flex;flex-wrap:wrap;gap:2px;padding:4px 0 12px;border-bottom:1px solid var(--line-soft);margin-bottom:12px}.wall-dots{display:flex;flex-wrap:wrap;gap:6px}.wall-dot{width:26px;height:20px;border-radius:4px;cursor:pointer;border:1px solid var(--line);padding:0;background-size:cover}.wall-dot.on{outline:1.5px solid var(--fg);outline-offset:1.5px}.wall-dot.plain{background:var(--panel-2)}.thumb-file{width:100%;text-align:center;background:none;border:0;padding:0;cursor:pointer}.thumb-file .img{width:100%;display:block;box-shadow:0 11px 20px -10px #00143c80,inset 0 0 0 1px #ffffff59;transition:transform .22s cubic-bezier(.2,.85,.3,1),box-shadow .22s ease}.thumb-file:hover .img{transform:translateY(-6px) scale(1.04);box-shadow:var(--lift-lg)}.thumb-file .cap{margin-top:7px;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.topstrip{display:flex;align-items:center;gap:10px;padding:10px 22px;flex-shrink:0;background:var(--chrome-strong);backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur);border-bottom:1px solid var(--stroke)}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);border-radius:100px;padding:5px 14px;width:250px;color:var(--muted)}.search input{border:0;background:transparent;outline:none;width:100%;font-size:12.5px;color:var(--fg)}.search input::placeholder{color:var(--muted-2)}.search:focus-within{border-color:var(--muted)}.spacer{flex:1}.page-head{padding:18px 22px 0;flex-shrink:0}.page-head h1{font-size:23px;font-weight:700;letter-spacing:-.02em}.page-head .sub{color:var(--muted);font-size:11.5px;margin-top:3px}.head-row{display:flex;align-items:flex-start;gap:12px}.viewtabs{display:flex;align-items:flex-end;gap:3px;margin-top:18px;border-bottom:1px solid var(--line)}.viewtab{background:var(--chrome);border:1px solid var(--stroke);border-bottom:0;backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur);padding:7px 14px;cursor:pointer;color:var(--muted);font-size:12px;white-space:nowrap;margin-bottom:-1px;border-radius:3px 10px 0 0;display:flex;align-items:center;gap:7px}.viewtab:hover{color:var(--fg)}.viewtab.active{background:var(--chrome-strong);color:var(--fg);font-weight:700;box-shadow:var(--inset-hi)}.viewtab .x{opacity:0;color:var(--muted);font-size:13px;line-height:1}.viewtab:hover .x{opacity:1}.toolbar{display:flex;align-items:center;gap:7px;padding:12px 22px;flex-shrink:0}.icon-btn{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-sm);width:30px;height:28px;display:grid;place-items:center;cursor:pointer;color:var(--fg-2);font-size:12px;padding:0}.icon-btn:hover{background:var(--panel-3);color:var(--fg)}.icon-btn.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.seg{display:flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:0;background:var(--panel);color:var(--muted);padding:5px 11px;cursor:pointer;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.seg button+button{border-left:1px solid var(--line)}.seg button:hover{color:var(--fg)}.seg button.on{background:var(--accent);color:var(--on-accent)}.filterbar{display:flex;align-items:center;gap:10px;padding:0 22px 12px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;font-size:12px;white-space:nowrap;color:var(--fg-2)}.btn:hover{background:var(--panel-3);color:var(--fg)}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700;box-shadow:var(--lift)}.btn-primary:hover{opacity:.86;background:var(--accent);color:var(--on-accent)}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--panel-2);color:var(--fg);border-color:transparent}.btn-danger{color:var(--muted);border-color:transparent;background:transparent}.btn-danger:hover{background:var(--panel-3);color:var(--bad)}.btn-sm{padding:3px 8px;font-size:11px}.board-scroll{flex:1;overflow:auto;padding:0 22px 26px}.board{display:flex;gap:20px;align-items:flex-start;min-height:0}.group{display:flex;flex-direction:column;gap:9px}.group-label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);border:1px solid var(--stroke);background:var(--glass-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:3px 10px 10px;padding:3px 10px;align-self:flex-start;box-shadow:var(--inset-hi)}.group-cols{display:flex;gap:11px;align-items:flex-start}.column{width:266px;flex-shrink:0;display:flex;flex-direction:column}.column-head{display:flex;align-items:center;gap:8px;padding:0 2px 9px}.stage-bar{width:3px;height:14px;border-radius:2px;background:var(--muted);flex-shrink:0}.stage-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.column-name{font-size:13px;font-weight:700;color:var(--desk-ink);text-shadow:var(--desk-shadow)}.column-count{font-size:11.5px;color:var(--desk-ink);opacity:.7;text-shadow:var(--desk-shadow)}.column-meta{margin-left:auto;font-size:10.5px;color:var(--desk-ink);opacity:.6;text-shadow:var(--desk-shadow)}.column-body{background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid var(--stroke);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:16px;min-height:210px;max-height:calc(100vh - 300px);overflow-y:auto}.column.drag-over .column-body{border-color:var(--t-green);background:var(--panel-3)}.column-empty{flex:1;min-height:180px}.add-card{width:100%;border:1px dashed var(--line);background:transparent;color:var(--muted-2);border-radius:var(--radius-sm);padding:6px;cursor:pointer;font-size:11.5px}.add-card:hover{border-color:var(--muted);color:var(--fg)}.card{position:relative;margin-top:12px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--fc, var(--t-blue));border-radius:var(--folder-r);padding:11px 12px 10px;cursor:pointer;box-shadow:var(--lift),var(--inset-hi);transition:transform .2s cubic-bezier(.2,.85,.3,1),box-shadow .2s ease}.card:before{content:"";position:absolute;top:-12px;left:-1px;width:78px;height:13px;background:var(--fc, var(--t-blue));filter:brightness(1.12);clip-path:polygon(0 0,78% 0,100% 100%,0 100%);border-radius:4px 4px 0 0}.card:hover{transform:translateY(-4px);box-shadow:var(--lift-lg),var(--inset-hi)}.card.dragging{opacity:.35}.card-title{font-size:13px;font-weight:700;color:var(--fg);line-height:1.3;margin-bottom:8px}.card-progress{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--fg-2);margin-bottom:9px}.card-progress .over{color:var(--bad);font-weight:700}.card-meta{display:flex;flex-direction:column;gap:3px}.meta-row{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-row b{color:var(--fg-2);font-weight:600}.meta-row.late b{color:var(--bad)}.donut{flex-shrink:0;display:block}.donut circle{fill:none;stroke-width:2.4}.donut .track{stroke:var(--panel-3)}.donut .fill{stroke:var(--t-green);stroke-linecap:round}.project-page{flex:1;overflow-y:auto;display:flex;flex-direction:column}.project-head{padding:14px 24px 0;flex-shrink:0;background:var(--chrome-strong);backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur);border-bottom:1px solid var(--stroke)}.crumb{background:none;border:0;color:var(--muted);cursor:pointer;padding:0;font-size:11px;margin-bottom:10px;letter-spacing:.1em;text-transform:uppercase}.crumb:hover{color:var(--fg)}.project-title-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.project-title{font-size:22px;font-weight:700;border:0;background:transparent;padding:2px 5px;margin-left:-5px;border-radius:4px;width:min(560px,100%);letter-spacing:-.02em;color:var(--fg)}.project-title:hover{background:var(--panel)}.project-title:focus{background:var(--panel);outline:1px solid var(--muted-2)}.project-sub{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11.5px;margin:5px 0 14px;flex-wrap:wrap}.stage-select{border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:100px;padding:3px 11px;font-size:11.5px;cursor:pointer}.head-stat{text-align:right;padding-left:18px;border-left:1px solid var(--line)}.head-stat .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}.head-stat .v{font-size:18px;font-weight:700;color:var(--fg)}.tabbar{display:flex;gap:3px;align-items:flex-end;overflow-x:auto}.tab{background:var(--chrome);border:1px solid var(--stroke);border-bottom:0;backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur);padding:7px 13px;cursor:pointer;color:var(--muted);font-size:12px;white-space:nowrap;margin-bottom:-1px;border-radius:3px 10px 0 0}.tab:hover{color:var(--fg)}.tab.active{background:var(--chrome-strong);color:var(--fg);font-weight:700}.tab-badge{font-size:10px;color:var(--muted-2);margin-left:6px}.tab-pane{padding:20px 24px 60px;max-width:1060px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;box-shadow:var(--inset-hi)}.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}.panel-head h3{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px 16px}.field label{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.input,.textarea,select.input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:var(--radius-sm);padding:6px 9px;outline:none}.input:focus,.textarea:focus{border-color:var(--muted);background:var(--panel)}.input::placeholder,.textarea::placeholder{color:var(--muted-2)}.textarea{resize:vertical;min-height:82px;line-height:1.6}.check-row{display:flex;align-items:center;gap:8px}input[type=checkbox]{accent-color:var(--t-green);width:14px;height:14px;cursor:pointer}.empty{color:var(--muted-2);font-size:12px;padding:24px 4px;text-align:center}.row-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.hint{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.6}.task-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line-soft)}.task-row:last-child{border-bottom:0}.task-row .t{flex:1;border:0;background:transparent;padding:2px 5px;border-radius:4px;color:var(--fg)}.task-row .t:focus{background:var(--panel-2);outline:1px solid var(--muted-2)}.task-row.done .t{text-decoration:line-through;color:var(--muted-2)}.task-due{font-size:11px;color:var(--muted);border:1px solid transparent;background:transparent;border-radius:4px;padding:2px 4px}.task-due:hover{border-color:var(--line)}.task-due.late{color:var(--bad)}.activity-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft)}.activity-row:last-child{border-bottom:0}.act-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);margin-top:7px;flex-shrink:0}.act-body{flex:1}.act-time{font-size:10.5px;color:var(--muted-2)}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);padding:24px;text-align:center;color:var(--muted);cursor:pointer;background:var(--bg);font-size:12px}.dropzone:hover,.dropzone.over{border-color:var(--t-green);color:var(--fg);background:var(--panel-2)}.file-row{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line-soft)}.file-row:last-child{border-bottom:0}.file-icon{width:34px;height:34px;border-radius:2px 5px 5px;background:var(--fc, var(--t-blue));display:grid;place-items:center;font-size:8.5px;letter-spacing:.06em;color:#fffffff2;text-transform:uppercase;flex-shrink:0;box-shadow:var(--inset-hi)}.file-meta{font-size:10.5px;color:var(--muted-2)}.mood-canvas{position:relative;border:1px solid var(--line);border-radius:var(--radius);background-color:var(--panel);background-image:linear-gradient(to right,rgba(128,128,128,.13) 1px,transparent 1px),linear-gradient(to bottom,rgba(128,128,128,.13) 1px,transparent 1px);background-size:var(--cell) var(--cell);background-position:10px 10px;padding:10px;overflow:hidden}.mood-item{position:absolute;padding:3px;cursor:grab;touch-action:none}.mood-item.dragging{cursor:grabbing;z-index:20}.mood-item.dragging .frame{box-shadow:var(--lift-lg)}.mood-item .frame{position:relative;width:100%;height:100%;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--lift),var(--inset-hi)}.mood-item:hover .frame{border-color:var(--muted-2)}.mood-item .media{flex:1;min-height:0;overflow:hidden}.mood-item img{display:block;width:100%;height:100%;object-fit:cover}.mood-swatch{width:100%;height:100%}.mood-text{padding:9px 10px;font-size:12px;line-height:1.5;color:var(--fg-2);height:100%;overflow:auto}.mood-link{padding:9px 10px;font-size:11px;word-break:break-all;overflow:auto;height:100%}.mood-cap{flex:none;padding:4px 7px;font-size:10.5px;color:var(--muted);border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:5px}.mood-cap input{flex:1;border:0;background:transparent;padding:1px 2px;border-radius:3px;font-size:10.5px;color:var(--fg-2);min-width:0}.mood-cap input:focus{outline:1px solid var(--muted-2);background:var(--panel-2)}.mood-x{position:absolute;top:-6px;right:-6px;z-index:3;width:19px;height:19px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--fg);cursor:pointer;font-size:11px;line-height:1;opacity:0;box-shadow:var(--lift);padding:0}.mood-item:hover .mood-x{opacity:1}.mood-resize{position:absolute;right:1px;bottom:1px;z-index:3;width:15px;height:15px;cursor:nwse-resize;opacity:0;background:linear-gradient(135deg,transparent 0 46%,var(--muted-2) 46% 56%,transparent 56% 70%,var(--muted-2) 70% 80%,transparent 80%);border-bottom-right-radius:var(--radius-sm)}.mood-item:hover .mood-resize{opacity:1}.mood-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.mood-toolbar input[type=range]{width:130px;accent-color:var(--fg)}.mood-headline{font-size:16px;font-weight:700;border:0;background:transparent;width:100%;padding:5px 6px;margin:0 0 14px -6px;border-radius:4px;color:var(--fg)}.mood-headline:focus{background:var(--panel);outline:1px solid var(--muted-2)}.mood-headline::placeholder{color:var(--muted-2);font-weight:400}table.fin{width:100%;border-collapse:collapse}table.fin th{text-align:left;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);font-weight:700;padding:0 8px 7px 0;border-bottom:1px solid var(--line)}table.fin td{padding:4px 8px 4px 0;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.fin td.num,table.fin th.num{text-align:right}table.fin input{width:100%;border:1px solid transparent;background:transparent;border-radius:4px;padding:4px 6px;color:var(--fg)}table.fin input:focus{border-color:var(--muted-2);background:var(--bg);outline:none}table.fin input.num{text-align:right}.totals{margin-left:auto;width:min(320px,100%);margin-top:14px}.totals .line{display:flex;justify-content:space-between;padding:4px 0;font-size:12.5px;color:var(--fg-2)}.totals .line.grand{border-top:1px solid var(--line);margin-top:5px;padding-top:9px;font-size:17px;font-weight:700;color:var(--fg)}.totals .line.bal{color:var(--fg);font-weight:700}.note-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:13px 15px;margin-bottom:12px;box-shadow:var(--lift),var(--inset-hi)}.note-card.pinned{border-left:3px solid var(--t-orange)}.note-title{border:0;background:transparent;font-weight:700;font-size:13px;width:100%;padding:2px 4px;margin-left:-4px;border-radius:4px;color:var(--fg)}.note-title:focus{background:var(--panel-2);outline:1px solid var(--muted-2)}.note-body{border:0;background:transparent;width:100%;resize:vertical;min-height:64px;padding:4px;margin-left:-4px;border-radius:4px;line-height:1.7;font-family:var(--mono);color:var(--fg-2)}.note-body:focus{background:var(--bg);outline:1px solid var(--muted-2)}.note-foot{display:flex;align-items:center;gap:10px;font-size:10.5px;color:var(--muted-2);margin-top:8px}.settings-page{flex:1;overflow-y:auto;padding:20px 24px 60px;max-width:900px}.sortable-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-soft)}.sortable-row:last-child{border-bottom:0}.grip{cursor:grab;color:var(--muted-2);font-size:13px;-webkit-user-select:none;user-select:none}.color-input{width:28px;height:26px;padding:0;border:1px solid var(--line);border-radius:4px;background:none;cursor:pointer;flex-shrink:0}.tint-row{display:flex;gap:7px;padding-top:4px;flex-wrap:wrap}.tint-dot{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;padding:0;box-shadow:var(--inset-hi)}.tint-dot.on{border-color:var(--fg)}table.list{width:100%;border-collapse:collapse}table.list th{text-align:left;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);font-weight:700;padding:9px 12px;border-bottom:1px solid var(--stroke);position:sticky;top:0;background:var(--chrome-strong);backdrop-filter:var(--chrome-blur);-webkit-backdrop-filter:var(--chrome-blur)}table.list td{padding:10px 12px;border-bottom:1px solid var(--line-soft);color:var(--fg-2)}table.list tbody tr{cursor:pointer}table.list tbody tr:hover{background:var(--panel)}table.list td strong{color:var(--fg);font-weight:700}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:2px 9px;border-radius:100px;border:1px solid var(--line);background:var(--panel);color:var(--fg-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1418226b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;z-index:50}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(520px,100%);max-height:88vh;overflow:hidden;box-shadow:0 34px 80px -30px #0f193799;display:flex;flex-direction:column}.titlebar{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--line);flex:none;background:var(--panel-2)}.traffic{display:flex;gap:7px}.traffic i{width:11px;height:11px;border-radius:50%;display:block}.traffic .r{background:#ff5f57}.traffic .y{background:#febc2e}.traffic .g{background:#28c840}.titlebar .name{margin-left:6px;font-size:11px;font-weight:700;color:var(--fg);letter-spacing:.1em;text-transform:uppercase}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:11px;margin-bottom:18px}.stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px 15px;box-shadow:var(--lift),var(--inset-hi);border-top:2px solid var(--fc, var(--t-blue))}.stat .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stat .v{font-size:25px;font-weight:700;color:var(--fg);margin-top:6px;letter-spacing:-.02em}.stat .n{font-size:10.5px;color:var(--muted-2);margin-top:2px}.mini-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}.mini-row:last-child{border-bottom:0}.mini-row:hover .mini-title{color:var(--fg)}.mini-title{flex:1;font-size:12.5px;color:var(--fg-2)}.mini-sub{font-size:10.5px;color:var(--muted-2)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}
