:root{color-scheme:dark;--bg:#0a0d0b;--bg-soft:#0e1210;--panel:#121613;--panel-2:#181d19;--panel-3:#1f2520;--line:#242b26;--line-soft:#1a201c;--ink:#eef4ef;--ink-soft:#9fada3;--ink-faint:#5f6b63;--moss:#3ed974;--moss-deep:#1fa35c;--moss-mint:#9bedb6;--moss-dim:rgba(62,217,116,.12);--moss-glow:rgba(62,217,116,.35);--amber:#e8b54a;--amber-dim:rgba(232,181,74,.14);--red:#ff6b5e;--red-dim:rgba(255,107,94,.13);--r:14px;--r-sm:9px;--shadow:0 8px 28px rgba(0,0,0,.45);--font-d:"Onest",system-ui,sans-serif;--font-b:"Golos Text",system-ui,sans-serif}[data-theme=light]{color-scheme:light;--bg:#eef1ee;--bg-soft:#e8ece8;--panel:#f8faf8;--panel-2:#ffffff;--panel-3:#f1f4f1;--line:#dbe1db;--line-soft:#e4e9e4;--ink:#131a15;--ink-soft:#5d6a61;--ink-faint:#98a49b;--moss:#1da85a;--moss-deep:#12813f;--moss-mint:#1da85a;--moss-dim:rgba(29,168,90,.1);--moss-glow:rgba(29,168,90,.25);--amber:#b17c14;--amber-dim:rgba(177,124,20,.12);--red:#d63c30;--red-dim:rgba(214,60,48,.1);--shadow:0 8px 24px rgba(20,40,25,.1)}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-color:var(--line) transparent}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font-b);min-height:100vh;overflow-x:hidden;transition:background .35s,color .35s}h1,h2,h3,.num{font-family:var(--font-d)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink)}option{color:var(--ink);background:var(--panel-2)}::placeholder{color:var(--ink-faint)}.num{font-variant-numeric:tabular-nums}::selection{background:var(--moss-glow)}.aurora{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;pointer-events:none;opacity:.5;filter:blur(90px)}.aurora i{position:absolute;border-radius:50%}.aurora i:nth-child(1){width:44vw;height:44vw;left:-8vw;top:-14vh;background:radial-gradient(circle,rgba(62,217,116,.13),transparent 65%);animation:drift1 26s ease-in-out infinite alternate}.aurora i:nth-child(2){width:36vw;height:36vw;right:-6vw;top:22vh;background:radial-gradient(circle,rgba(31,163,92,.1),transparent 65%);animation:drift2 34s ease-in-out infinite alternate}[data-theme=light] .aurora{opacity:.35}@keyframes drift1{to{transform:translate(6vw,8vh) scale(1.12)}}@keyframes drift2{to{transform:translate(-5vw,-6vh) scale(.92)}}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.login{position:relative;z-index:2;min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(400px,94vw);display:flex;flex-direction:column;align-items:center;text-align:center}.login .mark{width:64px;height:64px;border-radius:19px;background:var(--moss);display:grid;place-items:center;box-shadow:0 0 44px var(--moss-glow);opacity:0;animation:markIn .7s cubic-bezier(.22,1.4,.36,1) .15s forwards}@keyframes markIn{0%{opacity:0;transform:scale(.6) translateY(18px)}to{opacity:1;transform:none}}.login .mark svg{width:36px;height:36px}.login .mark path{stroke-dasharray:60;stroke-dashoffset:60;animation:sprout 1.1s cubic-bezier(.22,1,.36,1) .5s forwards}@keyframes sprout{to{stroke-dashoffset:0}}.login h1{font-size:25px;font-weight:800;letter-spacing:-.02em;margin-top:22px;opacity:0;animation:rise .6s cubic-bezier(.22,1,.36,1) .55s forwards}.login .sub{color:var(--ink-soft);font-size:13.5px;margin-top:6px;opacity:0;animation:rise .6s cubic-bezier(.22,1,.36,1) .7s forwards}.login form{width:100%;display:flex;flex-direction:column;gap:11px;margin-top:26px}.field{position:relative;opacity:0;animation:rise .6s cubic-bezier(.22,1,.36,1) forwards}.field:nth-of-type(1){animation-delay:.85s}.field:nth-of-type(2){animation-delay:1s}.login .actions{opacity:0;animation:rise .6s cubic-bezier(.22,1,.36,1) 1.15s forwards}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.field input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 16px 15px 44px;font-size:14.5px;outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--moss-deep);box-shadow:0 0 0 3px var(--moss-dim)}.field input::placeholder{color:var(--ink-faint)}.field svg{position:absolute;left:15px;top:50%;translate:0 -50%;width:17px;height:17px;color:var(--ink-faint);pointer-events:none}.login .go{width:100%;margin-top:4px;padding:14px;border-radius:12px;background:var(--moss);color:#07130b;font:700 14.5px var(--font-d);box-shadow:0 6px 26px var(--moss-glow);transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,filter .2s}.login .go:hover{filter:brightness(1.06);box-shadow:0 8px 32px var(--moss-glow)}.login .go:disabled{opacity:.6;cursor:default}.login .err{color:var(--red);font-size:13px;min-height:18px;margin-top:12px}.login .hintline{color:var(--ink-faint);font-size:12px;margin-top:16px}.login .soundbtn{margin-top:10px;color:var(--ink-faint);font-size:12px;display:inline-flex;gap:6px;align-items:center}.login .soundbtn:hover{color:var(--ink-soft)}.login-card.shake{animation:shake .45s}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.login-card.leaving{animation:leave .5s cubic-bezier(.5,0,.75,0) forwards}@keyframes leave{to{opacity:0;transform:scale(.96) translateY(-14px)}}.app{position:relative;z-index:2;display:grid;grid-template-columns:62px 1fr;min-height:100vh}.rail{position:sticky;top:0;height:100vh;width:62px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 11px;border-right:1px solid var(--line-soft);background:color-mix(in srgb,var(--panel) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:110;transition:width .22s cubic-bezier(.22,1,.36,1)}.rail:hover{width:196px;background:var(--panel);box-shadow:14px 0 40px #00000059;align-items:stretch}.nav-label{display:none;font:600 13px var(--font-d);white-space:nowrap}.rail:hover .nav-label{display:block}.rail:hover .tip{display:none}.rail:hover .nav-btn{display:flex;align-items:center;width:100%;justify-content:flex-start;gap:12px;padding:0 10px}.rail:hover .nav-btn svg{flex:0 0 19px}.rail:hover .nav-btn.on:before{left:-11px}.rail:hover .mark{align-self:flex-start;margin-left:3px}.rail .mark{width:34px;height:34px;border-radius:10px;background:var(--moss);display:grid;place-items:center;margin-bottom:14px;box-shadow:0 0 22px var(--moss-glow)}.rail .mark svg{width:20px;height:20px}.rail nav{display:flex;flex-direction:column;gap:4px}.rail .nav-btn{position:relative;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:var(--ink-faint);transition:color .18s,background .18s}.rail .nav-btn:hover{color:var(--ink);background:var(--panel-2)}.rail .nav-btn.on{color:var(--moss);background:var(--moss-dim)}.rail .nav-btn.on:before{content:"";position:absolute;left:-11px;width:3px;height:18px;border-radius:3px;background:var(--moss)}.rail .nav-btn svg{width:19px;height:19px}.rail .tip{position:absolute;left:52px;top:50%;translate:0 -50%;background:var(--panel-3);border:1px solid var(--line);padding:4px 9px;border-radius:7px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,translate .15s;z-index:120}.rail .nav-btn:hover .tip{opacity:1;translate:6px -50%}.rail .spacer{flex:1}.main{display:flex;flex-direction:column;min-width:0}.top{display:flex;align-items:center;gap:14px;padding:16px 22px 10px}.hello h1{font-size:19px;font-weight:700;letter-spacing:-.01em}.hello p{font-size:12.5px;color:var(--ink-faint);margin-top:1px}.top .grow{flex:1}.iconbtn{position:relative;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;color:var(--ink-soft);transition:.2s}.iconbtn:hover{color:var(--ink);border-color:var(--ink-faint)}.ava{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--moss-deep),var(--moss));display:grid;place-items:center;font:700 13px var(--font-d);color:#07130b}.live-pill{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:99px;padding:7px 13px;background:var(--panel)}.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--moss);animation:pulse 2.4s infinite}.live-pill.off i{background:var(--ink-faint);animation:none}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--moss-glow)}50%{box-shadow:0 0 0 6px transparent}}.kpis{position:relative;z-index:46;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:10px 22px 4px}.kpi{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);padding:15px 17px 13px;display:flex;flex-direction:column;gap:2px;transition:border-color .25s}.kpi:hover{border-color:var(--line)}.kpi .lbl{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:7px}.kpi .lbl i{width:7px;height:7px;border-radius:50%;background:var(--moss)}.kpi .val{font:800 25px/1.15 var(--font-d);letter-spacing:-.02em;margin-top:5px}.kpi .sub{font-size:12px;color:var(--ink-faint)}.kpi.warn .lbl i{background:var(--red)}.kpi.warn .val{color:var(--red)}.kpi{overflow:visible}.kpi-pop{position:absolute;left:8px;right:8px;top:calc(100% - 6px);z-index:45;background:color-mix(in srgb,var(--panel-2) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px 4px;opacity:0;translate:0 -6px;pointer-events:none;transition:opacity .22s,translate .22s cubic-bezier(.22,1,.36,1)}.kpi:hover .kpi-pop{opacity:1;translate:0 0}.kp-row{display:flex;gap:10px;align-items:baseline;padding:5px 10px;font-size:12px;border-radius:7px}.kp-row:hover{background:var(--moss-dim)}.kp-left{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.kp-right{font:600 12px var(--font-d);white-space:nowrap}.boardwrap{margin:10px 22px 22px;min-width:0;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);display:flex;flex-direction:column;flex:1}.bhead{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}.bhead h2{font-size:15px;font-weight:700}.bhead .total{font-size:12.5px;color:var(--ink-faint)}.bhead .total b{color:var(--ink);font-weight:600}.bhead .hint{margin-left:auto;font-size:12px;color:var(--ink-faint)}.board{display:flex;gap:10px;padding:12px;overflow-x:auto;flex:1;scrollbar-width:none}.board::-webkit-scrollbar{height:0}.board-rail{overflow-x:auto;overflow-y:hidden;height:12px;scrollbar-color:var(--line) transparent}.board-rail>div{height:1px}.board-rail::-webkit-scrollbar{height:10px}.board-rail::-webkit-scrollbar-track{background:var(--panel-2);border-radius:8px}.board-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:2px solid var(--panel-2)}.board-rail::-webkit-scrollbar-thumb:hover{background:var(--moss-deep)}.col{flex:0 0 218px;display:flex;flex-direction:column;border-radius:12px;background:var(--bg-soft);border:1px solid transparent;transition:border-color .2s,background .2s}[data-theme=light] .col{background:var(--panel-3)}.col.over{border-color:var(--moss-deep);background:var(--moss-dim)}.chead{display:flex;align-items:baseline;gap:7px;padding:11px 12px 7px}.chead h3{font-size:13px;font-weight:600}.chead .cnt{font:600 11.5px var(--font-d);color:var(--moss);background:var(--moss-dim);border-radius:6px;padding:1px 7px}.chead .csum{margin-left:auto;font:600 11.5px var(--font-d);color:var(--ink-faint)}.cards{display:flex;flex-direction:column;gap:8px;padding:2px 8px 10px;min-height:60px;flex:1}.card{position:relative;overflow:hidden;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:11px;padding:11px 12px 10px;cursor:grab;user-select:none;-webkit-user-select:none;transition:transform .18s,box-shadow .18s,border-color .18s,opacity .2s}.card:hover{transform:translateY(-2px);border-color:var(--line);box-shadow:var(--shadow)}.card .cl{font-size:11.5px;color:var(--ink-faint);display:flex;align-items:center;gap:6px}.card .cl .ring{margin-left:auto}.card h4{font-size:13px;font-weight:600;line-height:1.3;margin:3px 0 7px}.card .row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;row-gap:4px}.card .sum{font:700 14px var(--font-d);color:var(--moss);white-space:nowrap}[data-theme=light] .card .sum{color:var(--moss-deep)}.card .due{margin-left:auto;font-size:11px;color:var(--ink-faint);background:var(--panel-3);padding:2px 7px;border-radius:6px;white-space:nowrap}.card .due.hot{color:var(--red);background:var(--red-dim);font-weight:600}.card .who{font-size:11px;color:var(--ink-faint);margin-top:6px;display:flex;gap:5px;align-items:center}.card .who i{width:16px;height:16px;border-radius:5px;background:var(--panel-3);display:grid;place-items:center;font:600 9px var(--font-d);color:var(--ink-soft);font-style:normal}.ring{width:20px;height:20px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:2.6}.ring .b{stroke:var(--panel-3)}.ring .f{stroke:var(--moss);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1)}.card.lift{opacity:.35;filter:grayscale(.6)}.ghost{position:fixed;z-index:90;pointer-events:none;width:202px;rotate:3deg;scale:1.04;box-shadow:0 18px 44px #00000080,0 0 0 1px var(--moss-deep),0 0 30px var(--moss-glow);transition:none}.card.dropflash{animation:dropin .55s cubic-bezier(.22,1.4,.36,1)}@keyframes dropin{0%{transform:scale(.94);box-shadow:0 0 0 6px var(--moss-glow)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.card.remote{animation:remoteFlash 1.6s ease-out}@keyframes remoteFlash{0%{box-shadow:0 0 0 3px var(--moss-glow);border-color:var(--moss-deep)}to{box-shadow:0 0 0 0 transparent}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0408058c;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scrim.on{opacity:1;pointer-events:auto}.peek{position:fixed;z-index:70;top:10px;right:10px;bottom:10px;width:min(430px,94vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:peekIn .38s cubic-bezier(.32,.72,0,1)}@keyframes peekIn{0%{transform:translate(calc(100% + 20px))}to{transform:none}}.phead{position:relative;padding:18px 18px 14px;border-bottom:1px solid var(--line-soft)}.phead .pcl{font-size:12px;color:var(--ink-faint)}.phead h3{font-size:17px;font-weight:700;margin:2px 24px 10px 0}.phead .psum{font:800 24px var(--font-d);color:var(--moss);letter-spacing:-.02em}[data-theme=light] .phead .psum{color:var(--moss-deep)}.phead .pdue{font-size:12px;color:var(--ink-faint);margin-top:2px}.pclose{position:absolute;top:12px;right:12px}.stepper{display:flex;gap:4px;margin-top:13px}.stepper i{flex:1;height:5px;border-radius:4px;background:var(--panel-3);position:relative;overflow:hidden}.stepper i.f:after,.stepper i.h:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--moss);border-radius:inherit;animation:fillw .6s cubic-bezier(.22,1,.36,1) both}.stepper i.h:after{opacity:.45}@keyframes fillw{0%{transform:scaleX(0);transform-origin:left}}.slabels{display:flex;justify-content:space-between;font-size:9.5px;color:var(--ink-faint);margin-top:5px}.ptabs{display:flex;gap:4px;margin-top:14px;background:var(--panel-3);border-radius:11px;padding:4px}.ptabs button{position:relative;flex:1;padding:8px 6px;border-radius:8px;font:600 12.5px var(--font-d);color:var(--ink-soft);transition:.18s}.ptabs button:hover{color:var(--ink)}.ptabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 2px 8px #00000040}.ptabs .tab-dot{position:absolute;top:6px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--amber)}.derived{background:var(--panel-3);border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;margin-bottom:12px}.derived h4{margin-bottom:8px}.dgrid{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px;font-size:12.5px}.dgrid span{color:var(--ink-faint)}.dgrid b{font-weight:600}.dgrid b.yes{color:var(--moss)}[data-theme=light] .dgrid b.yes{color:var(--moss-deep)}.dnote{font-size:11px;color:var(--ink-faint);margin-top:8px}.ready{font-size:12.5px;line-height:1.45;border-radius:11px;padding:10px 13px;margin-bottom:14px}.ready.warn{background:var(--amber-dim);color:var(--amber)}.ready.ok{background:var(--moss-dim);color:var(--moss)}[data-theme=light] .ready.ok{color:var(--moss-deep)}.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.pgrid label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--ink-soft)}.pgrid .lhint{color:var(--ink-faint);font-size:10.5px}.pgrid input,.pgrid select{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink);outline:none;transition:border-color .2s}.pgrid input:focus,.pgrid select:focus{border-color:var(--moss-deep)}.pgrid .wide{grid-column:1 / -1}.pgrid-actions{display:flex;gap:10px;align-items:center;margin-top:4px}.pgrid-actions .btn{flex:0 0 auto;padding:11px 18px}.saved-ok{color:var(--moss);font-size:12.5px;animation:fin .3s}.pbody{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:16px}.pbody h4{font-size:11.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.pempty{font-size:12.5px;color:var(--ink-faint)}.perr{font-size:12.5px;color:var(--red)}.line{display:flex;gap:8px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--line-soft);font-size:13px}.line:last-child{border-bottom:none}.line .q{color:var(--ink-faint);font-size:12px}.line .p{margin-left:auto;font:600 13px var(--font-d);white-space:nowrap}.line.total{border-top:1px solid var(--line);border-bottom:none;margin-top:2px;padding-top:10px}.line.total .p{color:var(--moss);font-size:15px;font-weight:700}[data-theme=light] .line.total .p{color:var(--moss-deep)}.paybar{height:9px;border-radius:6px;background:var(--panel-3);overflow:hidden;margin:6px 0}.paybar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--moss-deep),var(--moss));transition:width 1s cubic-bezier(.22,1,.36,1)}.payrow{display:flex;font-size:12px;color:var(--ink-faint)}.payrow b{color:var(--ink)}.payrow span:last-child,.payrow .num:last-child{margin-left:auto}.paylist{margin-top:8px}.docs{display:flex;flex-wrap:wrap;gap:7px}.doc{display:flex;align-items:center;gap:7px;font-size:12.5px;border:1px solid var(--line);border-radius:9px;padding:7px 11px;color:var(--ink);text-decoration:none;transition:.18s}.doc:hover{border-color:var(--moss-deep);color:var(--moss);background:var(--moss-dim)}.phistory{display:flex;flex-direction:column;gap:2px}.hev{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line-soft)}.hev:last-child{border-bottom:none}.hev time{flex:0 0 44px;font:600 11px var(--font-d);color:var(--moss-deep);padding-top:2px}.hev .ht{font-size:12.5px;line-height:1.35}.hev .hs{font-size:11px;color:var(--ink-faint);margin-top:1px}.pfoot{display:flex;gap:9px;padding:14px 18px;border-top:1px solid var(--line-soft)}.btn{flex:1;padding:11px;border-radius:11px;font:600 13px var(--font-d);text-align:center;border:1px solid var(--line);transition:.18s}.btn:hover{border-color:var(--ink-faint)}.btn.pri{background:var(--moss);border-color:transparent;color:#07130b;font-weight:700}.btn.pri:hover{box-shadow:0 4px 18px var(--moss-glow)}.pform{display:flex;gap:8px;width:100%}.pform input,.pform select{flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;outline:none}.pform input:focus,.pform select:focus{border-color:var(--moss-deep)}.pform .short{flex:0 0 74px}.pform .btn{flex:0 0 auto;padding:10px 14px}@media (max-width:760px){.peek{top:0;right:0;bottom:0;left:0;width:100%;border-radius:0}}.pulse-wrap{display:grid;grid-template-columns:1fr 300px;gap:12px;padding:0 22px 22px;flex:1;min-height:0}.pulse-wrap .boardwrap{margin:10px 0 0}.pulse-rail{display:flex;flex-direction:column;gap:12px;margin-top:10px;min-height:0}.panelbox{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r);padding:14px 15px;display:flex;flex-direction:column;min-height:0}.panelbox h2{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--moss);animation:pulse 2.4s infinite}.today{margin-top:11px;position:relative;padding-left:16px}.today:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--line)}.tev{position:relative;padding:5px 0 9px}.tev:before{content:"";position:absolute;left:-16px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--ink-faint)}.tev.moss:before{border-color:var(--moss);background:var(--moss-dim)}.tev time{font:600 11px var(--font-d);color:var(--moss);letter-spacing:.03em}.tev .tt{font-size:12.5px;margin-top:1px}.tev .ts{font-size:11px;color:var(--ink-faint)}.tlink{text-align:left;color:var(--ink);font-size:12.5px}.tlink:hover{color:var(--moss)}.feed{margin-top:10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.fev{display:flex;gap:9px;padding:7px 6px;border-radius:9px;transition:background .2s;text-align:left;animation:fin .4s cubic-bezier(.22,1,.36,1)}.fev:hover{background:var(--panel-2)}.fev i{flex:0 0 26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:13px;background:var(--panel-3);font-style:normal}.fev .ft{display:block;font-size:12.5px;line-height:1.35}.fev .ft b{font-weight:600}.fev .fs{display:block;font-size:11px;color:var(--ink-faint);margin-top:1px}.newdeal-btn{display:flex;align-items:center;gap:8px;padding:10px 17px;border-radius:11px;background:var(--moss);color:#07130b;font:700 13.5px var(--font-d);box-shadow:0 4px 20px var(--moss-glow);transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.newdeal-btn:hover{box-shadow:0 6px 28px var(--moss-glow);transform:translateY(-1px)}.seg{display:flex;gap:4px;background:var(--panel-3);border-radius:10px;padding:4px}.seg button{flex:1;padding:8px;border-radius:7px;font:600 12.5px var(--font-d);color:var(--ink-soft)}.seg button.on{background:var(--panel);color:var(--ink)}.modal select{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:13.5px;color:var(--ink)}.kpi .spark{position:absolute;right:14px;bottom:12px;width:92px;height:32px;overflow:visible;pointer-events:none}.kpi .spark path{fill:none;stroke:var(--moss);stroke-width:2;stroke-linecap:round}@media (max-width:1100px){.pulse-wrap{grid-template-columns:1fr}.pulse-rail{display:none}}.tsearch{margin-left:auto;min-width:220px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:9px 13px;font-size:13px;outline:none;transition:border-color .2s}.tsearch:focus{border-color:var(--moss-deep)}.clients .bhead .hint,.catalog .bhead .hint{margin-left:auto}.catalog .bhead .hint{margin-left:12px}.tbl{overflow-y:auto;flex:1;padding:6px 16px 16px}.trow{display:flex;gap:16px;padding:13px 0;border-bottom:1px dashed var(--line-soft);align-items:flex-start}.trow:last-child{border-bottom:none}.tmain{flex:0 0 260px;min-width:0}.tmain b{font-size:13.5px;font-family:var(--font-d)}.tmeta{display:block;font-size:12px;color:var(--ink-faint);margin-top:2px}.tdeals{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.tdeal{display:flex;gap:10px;align-items:baseline;text-align:left;border:1px solid var(--line-soft);border-radius:10px;padding:8px 12px;font-size:12.5px;transition:.18s}.tdeal:hover{border-color:var(--moss-deep);background:var(--moss-dim)}.td-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-stage{color:var(--moss);background:var(--moss-dim);border-radius:6px;padding:1px 8px;font-size:11px;white-space:nowrap}[data-theme=light] .td-stage{color:var(--moss-deep)}.td-sum{font:600 12.5px var(--font-d);white-space:nowrap}.cgroup{padding:8px 0 4px}.cgroup h3{font-size:11.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em;margin:10px 0 4px}.citem{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--line-soft);font-size:13px}.citem:last-child{border-bottom:none}.citem .cprice{margin-left:auto;font:600 12.5px var(--font-d);color:var(--ink-soft);white-space:nowrap}@media (max-width:760px){.trow{flex-direction:column;gap:8px}.tmain{flex:none}.tsearch{min-width:0;flex:1}}.search{display:flex;align-items:center;gap:9px;min-width:250px;padding:9px 13px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--ink-faint);font-size:13px;transition:border-color .2s,box-shadow .2s}.search:hover{border-color:var(--moss-deep);box-shadow:0 0 0 3px var(--moss-dim)}.search kbd{margin-left:auto;font:600 11px var(--font-d);background:var(--panel-3);border:1px solid var(--line);padding:2px 7px;border-radius:6px;color:var(--ink-soft)}.pal{position:fixed;z-index:80;left:50%;top:14vh;translate:-50% 0;width:min(560px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px #0000008c;animation:chatIn .22s cubic-bezier(.22,1,.36,1)}.pal input{width:100%;background:none;border:none;outline:none;color:var(--ink);font:15px var(--font-b);padding:17px 18px;border-bottom:1px solid var(--line-soft)}.pal input::placeholder{color:var(--ink-faint)}.plist{max-height:52vh;overflow-y:auto;padding:8px}.pgroup h5{font-size:10.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;padding:8px 12px 4px}.pitem{display:flex;width:100%;align-items:center;gap:11px;padding:9px 12px;border-radius:10px;font-size:13.5px;cursor:pointer;color:var(--ink);text-decoration:none;text-align:left}.pitem:hover{background:var(--moss-dim)}.pitem i{flex:0 0 28px;height:28px;border-radius:8px;background:var(--panel-3);display:grid;place-items:center;font-size:13px;font-style:normal}.pitem .pt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pitem .k{font-size:11px;color:var(--ink-faint);white-space:nowrap}.pal .phint{padding:9px 16px;font-size:11.5px;color:var(--ink-faint);border-top:1px solid var(--line-soft);display:flex;gap:14px}@media (max-width:760px){.search{min-width:0;flex:1}.search kbd{display:none}}.createmenu{position:relative;margin-top:12px}.createmenu>.btn{width:100%;text-align:left;padding:10px 14px}.createmenu-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;animation:fin .2s}.createmenu-list button{text-align:left;padding:10px 12px;border-radius:9px;font-size:13px;transition:.15s}.createmenu-list button:hover{background:var(--moss-dim);color:var(--moss)}[data-theme=light] .createmenu-list button:hover{color:var(--moss-deep)}.createmenu .note{margin-top:8px;font-size:12px}.createmenu .note.ok{color:var(--moss)}.createmenu .note.err{color:var(--red)}.docmake{display:flex;align-items:center;gap:10px;margin-top:12px}.docmake .btn{flex:0 0 auto;padding:10px 16px}.docmake .note{font-size:12px;color:var(--ink-faint)}.docmake .note.ok{color:var(--moss)}[data-theme=light] .docmake .note.ok{color:var(--moss-deep)}.docmake .note.err{color:var(--red)}.citem-name{font-size:13px;text-align:left;color:var(--ink)}.citem-name:hover{color:var(--moss)}.citem-name .chev{font-size:11px;color:var(--ink-faint)}.norms{padding:4px 0 12px 12px;border-left:2px solid var(--line);margin:2px 0 8px}.norm-row{display:flex;gap:8px;margin-bottom:8px}.norm-row select,.norm-row input{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12.5px}.norm-row select{flex:1;min-width:0}.norm-row input{width:110px}.norm-del{color:var(--ink-faint);padding:0 6px}.norm-del:hover{color:var(--red)}.wh-low{color:var(--red);font-style:normal;font-weight:600}.wh-pending{color:var(--amber);font-weight:600}.wh-actions{margin-left:auto;display:flex;gap:8px}.wh-actions .btn{flex:0 0 auto;padding:8px 13px}.wh-form{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--line-soft)}.wh-form input,.wh-form select{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;min-width:0}.wh-form input:focus,.wh-form select:focus{outline:none;border-color:var(--moss-deep)}.wh-form .short{width:110px}.wh-form .btn{flex:0 0 auto;padding:10px 14px}.wh-block{padding:8px 0}.wh-block h3{font-size:11.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em;margin:10px 0 4px}.wh-calc{border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;margin-bottom:10px}.wh-deal{font:600 13.5px var(--font-d);color:var(--ink);padding:2px 0}.wh-deal:hover{color:var(--moss)}.wh-qty{width:90px;margin-left:auto;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:13px;text-align:right}.wh-row.low span:first-child{color:var(--red)}.wh-search{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13.5px;margin:10px 0 4px;color:var(--ink)}.wh-search::placeholder{color:var(--ink-faint)}.wh-search:focus{outline:none;border-color:var(--moss-deep)}.wh-group{margin-bottom:14px}.wh-group h4{font:600 13px var(--font-d);color:var(--moss);letter-spacing:.01em;padding:8px 0 4px;border-bottom:1px solid var(--line-soft);display:flex;gap:8px;align-items:baseline}.wh-group h4 .q{color:var(--ink-faint);font-size:11.5px;font-weight:500}.wh-edit-btn{color:var(--ink-faint);font-size:13px;padding:2px 6px;border-radius:6px;line-height:1}.wh-edit-btn:hover{color:var(--moss);background:var(--moss-dim)}.wh-edit{border-bottom:none}.wh-cat input{flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13px;color:var(--ink)}.wh-cat input:focus{outline:none;border-color:var(--moss-deep)}.wh-cats .line{gap:10px}.modal{position:fixed;z-index:75;left:50%;top:50%;translate:-50% -50%;width:min(360px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px;animation:chatIn .3s cubic-bezier(.32,.72,0,1)}.modal h3{font-size:16px;font-weight:700}.modal p{font-size:12.5px;color:var(--ink-soft);margin:6px 0 14px}.modal form{display:flex;flex-direction:column;gap:10px}.modal input{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:13.5px;outline:none}.modal input:focus{border-color:var(--moss-deep)}.modal-actions{display:flex;gap:9px;margin-top:4px}.assist-fab{position:fixed;z-index:55;right:20px;bottom:20px;width:52px;height:52px;border-radius:16px;background:var(--moss);color:#07130b;display:grid;place-items:center;box-shadow:0 8px 30px var(--moss-glow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .2s}.assist-fab svg{width:24px;height:24px}.assist-fab:hover{transform:translateY(-2px) scale(1.05)}.assist-fab.hidden{opacity:0;pointer-events:none}.chat{position:fixed;z-index:65;right:14px;bottom:14px;top:14px;width:min(380px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:chatIn .34s cubic-bezier(.32,.72,0,1)}@keyframes chatIn{0%{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}.chat-head{display:flex;align-items:center;gap:9px;padding:13px 14px;border-bottom:1px solid var(--line-soft);font-size:13.5px}.chat-head .chat-dot{width:8px;height:8px;border-radius:50%;background:var(--moss);animation:pulse 2.4s infinite}.chat-head .chat-sub{color:var(--ink-faint);font-size:11.5px;flex:1}.chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.chat-hello{color:var(--ink-soft);font-size:13px;display:flex;flex-direction:column;gap:8px;margin:auto 0}.chat-hello button{text-align:left;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12.5px;color:var(--ink);transition:.18s}.chat-hello button:hover{border-color:var(--moss-deep);background:var(--moss-dim)}.msg{max-width:88%;padding:9px 12px;border-radius:13px;font-size:13px;line-height:1.45;white-space:pre-wrap;word-break:break-word;animation:fin .3s cubic-bezier(.22,1,.36,1)}@keyframes fin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg.user{align-self:flex-end;background:var(--moss);color:#07130b;border-bottom-right-radius:5px;font-weight:500}.msg.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line-soft);border-bottom-left-radius:5px}.msg.typing{display:flex;gap:4px;padding:12px 14px}.msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);animation:blink 1.2s infinite}.msg.typing i:nth-child(2){animation-delay:.2s}.msg.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,70%,to{opacity:.3}35%{opacity:1}}.chat-input{display:flex;gap:8px;padding:11px;border-top:1px solid var(--line-soft)}.chat-input input{flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:13px;outline:none}.chat-input input:focus{border-color:var(--moss-deep)}.chat-input .btn{flex:0 0 auto;padding:10px 15px}@media (max-width:760px){.assistant-root{display:none}}.reveal{opacity:0;transform:translateY(14px);animation:riseIn .6s cubic-bezier(.22,1,.36,1) forwards}@keyframes riseIn{to{opacity:1;transform:none}}.screen-loading{min-height:100vh;display:grid;place-items:center;color:var(--ink-faint);font-size:13px}@media (max-width:760px){.app{grid-template-columns:1fr}.rail{position:fixed;top:auto;bottom:0;left:0;right:0;height:58px;width:100%;flex-direction:row;justify-content:center;padding:6px 10px;border-right:none;border-top:1px solid var(--line-soft)}.rail .mark,.rail .spacer{display:none}.rail nav{flex-direction:row}.rail .tip{display:none}.main{padding-bottom:64px}.top{flex-wrap:wrap;gap:8px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.citem-edit{color:var(--ink-faint);padding:2px 8px;border-radius:7px}.citem-edit:hover{color:var(--moss);background:var(--moss-dim)}.catman{border:1px solid var(--line-soft);border-radius:12px;padding:8px 14px;margin:8px 0 12px}.catman-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line-soft);font-size:13px}.catman-row span{flex:1}.catman-row:last-of-type{border-bottom:none}.acc{border:1px solid var(--line-soft);border-radius:12px;margin:8px 0;transition:border-color .2s,background .2s}.acc.over{border-color:var(--moss-deep);background:var(--moss-dim)}.acc-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;font:600 13.5px var(--font-d);color:var(--ink);text-align:left}.acc-head:hover{color:var(--moss)}.acc-chev{display:inline-block;color:var(--ink-faint);transition:transform .2s}.acc-chev.open{transform:rotate(90deg)}.acc-count{margin-left:auto;font-size:11.5px;color:var(--moss);background:var(--moss-dim);border-radius:6px;padding:1px 8px}.acc-body{padding:0 14px 10px;animation:fin .25s}.citem.draggable{cursor:grab;border-radius:9px;padding-left:4px}.citem.draggable:hover{background:var(--panel-2)}.citem .grip{color:var(--ink-faint);font-size:11px;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.citem.lift{opacity:.35}.stepper .step-btn{flex:1;padding:0;height:5px;border-radius:4px;background:var(--panel-3);position:relative;overflow:hidden;cursor:pointer;transition:transform .12s}.stepper .step-btn:hover{transform:scaleY(1.8)}.stepper .step-btn.f:after,.stepper .step-btn.h:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--moss);border-radius:inherit}.stepper .step-btn.h:after{opacity:.45}.slabels .slabel-btn{font-size:9.5px;color:var(--ink-faint);padding:2px 0;cursor:pointer}.slabels .slabel-btn:hover{color:var(--moss)}.btn.danger{background:var(--red);border-color:transparent;color:#fff;font-weight:700}.btn.danger-outline{border-color:var(--red-dim);color:var(--red)}.btn.danger-outline:hover{background:var(--red-dim);border-color:var(--red)}.danger-confirm{border:1px solid var(--red-dim);border-radius:12px;padding:12px 14px}.danger-confirm p{font-size:12.5px;color:var(--ink-soft);margin-bottom:10px}.insta-field{display:flex;align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}.insta-field em{font-style:normal;color:var(--ink-faint);font-size:12.5px;padding:0 2px 0 12px;white-space:nowrap}.insta-field input{flex:1;min-width:0;background:none;border:none;outline:none;padding:10px 12px 10px 2px;font-size:13px}.insta-link{display:inline-block;margin-top:4px;font-size:11.5px;color:var(--moss);text-decoration:none}[data-theme=light] .insta-link{color:var(--moss-deep)}.client-open{text-align:left;color:var(--ink);font-size:13.5px}.client-open:hover b{color:var(--moss)}.client-open .chev{font-size:11px;color:var(--ink-faint)}.modal.wizard{width:min(460px,94vw)}.wiz-steps{display:flex;gap:6px;margin:10px 0 14px}.wiz-steps span{flex:1;text-align:center;font:600 11.5px var(--font-d);color:var(--ink-faint);padding:7px 4px;border-radius:8px;background:var(--panel-3)}.wiz-steps span.on{color:#07130b;background:var(--moss)}.wiz-steps span.done{color:var(--moss);background:var(--moss-dim)}.wiz-body{display:flex;flex-direction:column;gap:10px;max-height:56vh;overflow-y:auto;padding-right:2px}.wiz-label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--ink-soft)}.wiz-label input,.wiz-label select{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:13.5px;color:var(--ink);outline:none}.wiz-label input:focus,.wiz-label select:focus{border-color:var(--moss-deep)}.wiz-check{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer;flex-wrap:wrap}.wiz-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--moss)}.wiz-similar{border:1px solid var(--amber-dim);border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;gap:6px}.wiz-similar span{font-size:11.5px;color:var(--amber)}.wiz-similar button{text-align:left;font-size:13px;padding:6px 9px;border-radius:8px;border:1px solid var(--line)}.wiz-similar button:hover{border-color:var(--moss-deep);background:var(--moss-dim)}.wiz-unpick{margin-left:10px;font-size:11.5px;color:var(--ink-faint);text-decoration:underline}.wiz-dims{display:flex;gap:8px;align-items:center}.wiz-dims input{flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:13.5px}.wiz-dims .wiz-pieces{flex:0 0 64px}.wiz-calc{font-size:12.5px;color:var(--ink-soft)}.wiz-calc b{color:var(--moss)}.wiz-extras{display:flex;flex-direction:column;gap:7px}.wiz-meters{width:90px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12.5px}.est-badge{font-size:11px;color:var(--ink-faint);text-transform:none;letter-spacing:0}.est-badge.ok{color:var(--moss)}.addline{display:flex;flex-direction:column;gap:9px;margin-top:10px;border:1px solid var(--line-soft);border-radius:12px;padding:12px}.addline select,.addline>input{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink)}.addline select:focus,.addline input:focus{outline:none;border-color:var(--moss-deep)}.stages-btn{flex:0 0 auto;padding:8px 13px;margin-left:10px}.stage-sys{font-style:normal;font-size:11px;color:var(--ink-faint)}.tasksview .board{align-items:flex-start}.tnew{display:flex;gap:8px;margin:2px 0 12px;max-width:720px}.tnew input,.tnew select{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink)}.tnew input:focus,.tnew select:focus{outline:none;border-color:var(--moss-deep)}.tnew input[name=title]{flex:1;min-width:0}.tnew .tdays{width:74px}.tcol .csum{font-size:11px;color:var(--ink-faint)}.tempty{font-size:12px;color:var(--ink-faint);padding:10px 4px;text-align:center;border:1px dashed var(--line-soft);border-radius:12px}.tcard{cursor:grab}.tcard .trow{display:flex;align-items:flex-start;gap:8px}.tcard .trow h4{flex:1;margin:0}.tdone{flex:0 0 auto;width:24px;height:24px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-faint);font-size:13px;line-height:1;cursor:pointer;transition:all .18s}.tdone:hover{border-color:var(--moss-deep);color:var(--moss-deep);transform:scale(1.08)}.tdeal{display:block;margin:4px 0 2px;padding:0;border:none;background:none;font-size:12px;color:var(--moss-deep);cursor:pointer;text-align:left;text-decoration:underline dotted;text-underline-offset:3px}.tauthor{font-size:11px;color:var(--ink-faint);margin-left:auto}.tignored{margin-top:8px;padding:5px 9px;border-radius:9px;background:var(--red-dim);color:var(--red);font-size:11.5px;font-weight:600}.tedit{cursor:default;display:flex;flex-direction:column;gap:8px}.tedit input,.tedit select{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13px;color:var(--ink);min-width:0}.tedit input:focus,.tedit select:focus{outline:none;border-color:var(--moss-deep)}.tedit .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tedit select{flex:1}.tedit .tdays{width:74px}.tedit-actions .btn{flex:0 0 auto;padding:7px 12px;font-size:12.5px}.tedit-actions .norm-del{margin-left:auto}.tdone-wrap{margin-top:14px}.tdone-toggle{font-size:12.5px}.tdone-list{margin-top:8px;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;max-width:720px}.tdone-row{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px dashed var(--line-soft);font-size:13px}.tdone-row:last-child{border-bottom:none}.tdr-title{flex:1;text-decoration:line-through;color:var(--ink-faint)}.tdr-who,.tdr-at{font-size:12px;color:var(--ink-faint)}.tev.hot:before{border-color:var(--red);background:color-mix(in srgb,var(--red) 25%,transparent)}.tev.hot time{color:var(--red)}.pb-count{display:inline-block;margin-left:7px;padding:1px 8px;border-radius:999px;background:var(--moss-dim);color:var(--moss);font-size:11.5px;font-weight:600;vertical-align:middle}.team-note{font-size:12.5px;color:var(--moss);background:var(--moss-dim);border-radius:10px;padding:10px 13px;margin:8px 0}.team-table{display:flex;flex-direction:column;gap:8px;margin-top:12px}.team-row{display:grid;grid-template-columns:1fr 190px auto;gap:14px;align-items:center;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:12px 16px}.team-row.off{opacity:.55}.tm-name b{font-size:14px}.tm-marks{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.mark{font-size:11px;color:var(--ink-faint);border:1px solid var(--line-soft);border-radius:999px;padding:2px 9px}.mark.on{color:var(--moss);border-color:var(--moss-dim);background:var(--moss-dim)}.mark.off{color:var(--red);border-color:var(--red-dim);background:var(--red-dim)}.tm-role{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:13px;color:var(--ink)}.tm-role:focus{outline:none;border-color:var(--moss-deep)}.tm-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tm-acts .btn{padding:8px 12px;font-size:12.5px}.tm-acts .btn:disabled{opacity:.45;cursor:not-allowed}.rolematrix{margin-top:26px}.rolematrix h3{font-size:15px;margin:0}.rm-sub{font-size:12px;color:var(--ink-faint);margin:4px 0 12px}.rm-scroll{overflow-x:auto;border:1px solid var(--line-soft);border-radius:14px}.rolematrix table{border-collapse:collapse;width:100%;min-width:640px}.rolematrix th{font-size:11.5px;font-weight:600;color:var(--ink-faint);text-align:center;padding:11px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.rolematrix th:first-child{text-align:left}.rolematrix th.locked{color:var(--moss)}.rolematrix td{padding:10px;border-bottom:1px dashed var(--line-soft);vertical-align:top}.rolematrix tr:last-child td{border-bottom:none}.rm-perm{min-width:230px}.rm-perm b{display:block;font-size:13px}.rm-perm span{display:block;font-size:11px;color:var(--ink-faint);margin-top:2px}.rm-cell{text-align:center}.rm-cell input{width:17px;height:17px;accent-color:var(--moss-deep);cursor:pointer}.rm-cell input:disabled{cursor:not-allowed;opacity:.4}.modal textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:13px;color:var(--ink);resize:vertical;box-sizing:border-box}.modal textarea:focus{outline:none;border-color:var(--moss-deep)}.hire-btn{flex:0 0 auto;margin-left:10px;padding:9px 14px}.tm-ava{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--panel);overflow:hidden;padding:0;cursor:pointer;float:left;margin-right:11px;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:12.5px;font-weight:600}.tm-ava img{width:100%;height:100%;object-fit:cover}.tm-ava:hover{border-color:var(--moss-deep)}.tm-open{background:none;border:none;padding:0;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.tm-open:hover{color:var(--moss-deep)}.tm-pos{font-size:11.5px;color:var(--ink-faint);margin-left:8px}.modal.wide{max-width:640px;width:calc(100vw - 40px)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--ink-faint);margin-bottom:9px}.modal label input,.modal label select{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink)}.modal label input:focus,.modal label select:focus{outline:none;border-color:var(--moss-deep)}.emp-head{display:flex;gap:16px;align-items:center;margin-bottom:16px}.emp-photo{position:relative;width:84px;height:84px;flex:0 0 auto;border-radius:18px;border:1px solid var(--line);background:var(--panel-2);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:var(--ink-faint);margin:0}.emp-photo img{width:100%;height:100%;object-fit:cover}.emp-photo i{position:absolute;left:0;right:0;bottom:0;padding:3px 0;text-align:center;font-style:normal;font-size:9.5px;background:#0000008c;color:#fff;opacity:0;transition:opacity .18s}.emp-photo:hover i{opacity:1}.emp-head h3{margin:0 0 3px}.emp-sub{font-size:12px;color:var(--ink-faint);margin:0 0 7px}.rm-toggle{display:flex;align-items:center;gap:10px;width:100%;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:13px 16px;cursor:pointer;color:var(--ink);font:inherit;text-align:left}.rm-toggle:hover{border-color:var(--moss-deep)}.rm-toggle b{font-size:14px}.rm-caret{color:var(--moss);font-size:12px}.rm-count{margin-left:auto;font-size:11.5px;color:var(--ink-faint)}.rolematrix.open .rm-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.rolematrix.open .rm-sub{margin-top:10px}.radio-btn{display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-size:13px;color:var(--ink);cursor:pointer;transition:all .2s}.radio-btn:hover{border-color:var(--moss-deep);color:var(--moss);transform:translateY(-1px)}.modal.radio{max-width:400px;text-align:center}.modal.radio h3,.modal.radio p{text-align:left}.radio-orb{position:relative;width:112px;height:112px;margin:22px auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--moss-dim);transition:background .3s}.radio-orb i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--moss);opacity:0}.radio-orb.connecting i,.radio-orb.live i{animation:ripple 2.4s cubic-bezier(.22,1,.36,1) infinite}.radio-orb i:nth-child(2){animation-delay:.8s}.radio-orb i:nth-child(3){animation-delay:1.6s}.radio-orb.live{background:var(--moss);box-shadow:0 0 34px -6px var(--moss)}.radio-orb.talking{animation:pulse 1.1s ease-in-out infinite}.radio-orb.error{background:var(--red-dim)}@keyframes ripple{0%{transform:scale(.72);opacity:.85}to{transform:scale(1.5);opacity:0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.radio-state{text-align:center!important;font-size:13px;color:var(--ink-faint);margin:0 0 10px}.radio-log{text-align:left;font-size:12px;color:var(--ink-faint);border:1px solid var(--line-soft);border-radius:12px;padding:10px 13px;margin-bottom:12px;max-height:120px;overflow-y:auto}.radio-log div{padding:2px 0}.btn.danger{border-color:var(--red);color:var(--red)}@media (max-width:760px){.app{grid-template-columns:1fr}.rail{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;width:100%;flex-direction:row;justify-content:space-around;align-items:center;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--line-soft);z-index:120}.rail .mark,.rail .spacer{display:none}.rail nav{display:flex;flex:1;justify-content:space-around}.rail:hover{width:100%;box-shadow:none;background:color-mix(in srgb,var(--panel) 70%,transparent)}.rail:hover .nav-btn{width:auto;justify-content:center;padding:7px 10px;gap:0}.nav-btn{width:auto;padding:7px 10px}.rail:hover .nav-label,.nav-label,.nav-btn .tip{display:none}.main{padding-bottom:64px}.top{flex-wrap:wrap;gap:8px;padding:12px 14px 8px}.hello h1{font-size:19px}.hello p{font-size:11.5px}.grow,.live-pill,.ava{display:none}.hello{flex:1 1 100%}.search{order:1;flex:0 0 auto;width:44px;justify-content:center;padding:9px;font-size:0;gap:0}.search svg{font-size:13px}.radio-btn{order:2;flex:1 1 40%;justify-content:center}.newdeal-btn{order:3;flex:1 1 40%;justify-content:center;text-align:center}.kpis{display:flex;overflow-x:auto;gap:10px;padding:0 14px;scroll-snap-type:x mandatory}.kpi{flex:0 0 78%;scroll-snap-align:start}.kpi-pop{display:none}.pulse-wrap{padding:0 14px 14px}.board{padding:8px 0}.col{flex:0 0 82%}.bhead{flex-wrap:wrap;gap:6px}.bhead .hint{display:none}.grid2{grid-template-columns:1fr}.modal{width:calc(100vw - 24px);max-width:none;max-height:88vh;overflow-y:auto}.modal label input,.modal label select,.modal textarea{font-size:16px}.team-row{grid-template-columns:1fr;gap:10px}.tm-acts{justify-content:flex-start;flex-wrap:wrap}.tnew{flex-wrap:wrap}.tnew input[name=title]{flex:1 1 100%}.tcol{flex:0 0 82%}.radio-orb{width:92px;height:92px}}@media (display-mode:standalone){.top{padding-top:calc(12px + env(safe-area-inset-top))}}.boardstack{display:flex;flex-direction:column;min-height:0;flex:1}.bfilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0}.bfilters select,.bfilter-client{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:12.5px;color:var(--ink)}.bfilters select:focus,.bfilter-client:focus{outline:none;border-color:var(--moss-deep)}.bfilter-client{width:150px}.bfilter-chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12.5px;color:var(--ink-faint);cursor:pointer;transition:all .18s}.bfilter-chip:hover{border-color:var(--moss-deep);color:var(--ink)}.bfilter-chip.on{background:var(--red-dim);border-color:var(--red);color:var(--red)}.bfilter-clear{background:none;border:none;color:var(--moss);font-size:12.5px;cursor:pointer;padding:8px 4px;text-decoration:underline dotted;text-underline-offset:3px}@media (max-width:760px){.bfilters{padding:0 2px}.bfilter-client{flex:1;width:auto;min-width:90px}}.blocklist{margin:8px 0 4px;padding-left:18px;font-size:13px;color:var(--ink);display:flex;flex-direction:column;gap:5px}.blocklist li{list-style:"— ";padding-left:4px}.blockhint{font-size:12px;color:var(--ink-faint);margin-top:10px}.phcount{font-size:11px;color:var(--ink-faint);font-weight:500;margin-left:6px}.phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:8px}.phthumb{position:relative;aspect-ratio:1;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;padding:0;background:var(--panel-2);cursor:zoom-in;transition:transform .18s,border-color .18s}.phthumb:hover{transform:scale(1.03);border-color:var(--moss-deep)}.phthumb img{width:100%;height:100%;object-fit:cover;display:block}.phcap{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;font-size:10px;line-height:1.3;text-align:left;background:linear-gradient(transparent,#000000b8);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phview{position:fixed;z-index:90;top:4vh;right:4vw;bottom:4vh;left:4vw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:zoom-out}.phview img{max-width:100%;max-height:82vh;border-radius:14px;box-shadow:0 30px 80px #0009}.phmeta{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12.5px;color:var(--ink-soft);text-align:center}.phmeta span{font-size:11.5px;color:var(--ink-faint)}.weekly h3{margin-bottom:14px}.wk-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.wk-tile{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:12px 13px;display:flex;flex-direction:column;gap:2px}.wk-tile span{font-size:11px;color:var(--ink-faint)}.wk-tile b{font-size:19px}.wk-tile i{font-style:normal;font-size:11.5px;color:var(--ink-faint)}.wk-tile.ok b{color:var(--moss)}.wk-tile.bad b{color:var(--red)}.wk-sec{margin-bottom:14px}.wk-sec h4{font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}.wk-row{display:flex;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line-soft);font-size:13px}.wk-row:last-child{border-bottom:none}.wk-row span{flex:1;min-width:0}.wk-row b{font-weight:600;white-space:nowrap;font-size:12.5px}.wk-reason{color:var(--red);font-weight:500}@media (max-width:760px){.wk-tiles{grid-template-columns:repeat(2,1fr)}}@media print{.scrim,.rail,.top,.kpis,.boardstack,.pulse-rail,.modal-actions{display:none!important}.modal.weekly{position:static;inset:auto;width:auto;max-width:none;max-height:none;border:none;box-shadow:none;overflow:visible}body,.app{background:#fff;color:#000}}.del-btn{flex:0 0 auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-faint);font-size:12px;line-height:1;cursor:pointer;transition:all .18s}.del-btn:hover{border-color:var(--red);color:var(--red)}.del-ask{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-faint);background:var(--red-dim);border:1px solid var(--red);border-radius:999px;padding:4px 10px;white-space:nowrap}.del-err{color:var(--red);max-width:340px;white-space:normal}.del-yes,.del-no{background:none;border:none;font:inherit;font-weight:600;cursor:pointer;padding:0 2px}.del-yes{color:var(--red)}.del-no{color:var(--ink-faint)}.stages-btn{flex:0 0 auto;margin-left:10px;padding:9px 14px;font-size:12.5px}.col-edit{width:22px;height:22px;border-radius:7px;border:1px solid transparent;background:none;color:var(--ink-faint);font-size:11px;line-height:1;cursor:pointer;opacity:0;transition:all .18s}.chead:hover .col-edit{opacity:1}.col-edit:hover{border-color:var(--moss-deep);color:var(--moss)}@media (max-width:760px){.col-edit{opacity:1}}.voice-pick{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--ink-faint);margin-bottom:4px}.voice-pick select{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12.5px;color:var(--ink)}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;transition:opacity .5s ease,visibility .5s}.boot.out{opacity:0;visibility:hidden;pointer-events:none}.boot-grid{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.5;background-image:radial-gradient(circle,color-mix(in srgb,var(--moss) 26%,transparent) 1px,transparent 1.4px);background-size:34px 34px;animation:bootdrift 9s linear infinite}.boot-scan{position:absolute;left:0;right:0;height:180px;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--moss) 9%,transparent),transparent);animation:bootscan 3.4s cubic-bezier(.5,0,.5,1) infinite}.boot-ring{position:relative;width:132px;height:132px;display:grid;place-items:center;margin-bottom:4px}.boot-ring i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid transparent;border-top-color:var(--moss);opacity:.85;animation:bootspin 2.6s linear infinite}.boot-ring i:nth-child(2){top:13px;right:13px;bottom:13px;left:13px;border-top-color:var(--moss-deep);border-right-color:color-mix(in srgb,var(--moss-deep) 40%,transparent);animation-duration:3.8s;animation-direction:reverse}.boot-ring i:nth-child(3){top:26px;right:26px;bottom:26px;left:26px;border-top-color:color-mix(in srgb,var(--moss) 35%,transparent);animation-duration:5.4s}.boot-ring.ready i{border-color:color-mix(in srgb,var(--moss) 55%,transparent);animation-duration:1.1s}.boot-mark{position:relative;z-index:1;width:46px;height:46px;color:var(--moss)}.boot-mark path{stroke-dasharray:64;stroke-dashoffset:64;animation:bootdraw 1.5s cubic-bezier(.22,1,.36,1) .2s forwards}.boot-pulse{position:absolute;top:22px;right:22px;bottom:22px;left:22px;border-radius:50%;border:1px solid var(--moss);opacity:0;animation:bootpulse 2.2s ease-out infinite}.boot-title{font:800 21px var(--font-d);letter-spacing:.16em;margin:20px 0 18px;position:relative}.boot-title span{color:var(--moss);margin-left:7px}.boot-lines{display:flex;flex-direction:column;gap:6px;width:min(340px,84vw);position:relative}.boot-line{display:flex;align-items:baseline;gap:8px;font:11.5px var(--font-d);letter-spacing:.03em;color:var(--ink-faint);opacity:0;transform:translateY(5px);transition:opacity .34s,transform .34s}.boot-line.on{opacity:1;transform:none}.bl-name{color:var(--ink-soft)}.bl-detail{font-size:10px;opacity:.55;white-space:nowrap}.bl-dots{flex:1;border-bottom:1px dotted var(--line);min-width:12px}.bl-ms{font-size:10px;opacity:.5;min-width:44px;text-align:right}.bl-ok{color:var(--moss);min-width:18px;font-weight:600}.boot-bar{width:min(340px,84vw);height:2px;background:var(--line-soft);border-radius:2px;margin-top:18px;overflow:hidden}.boot-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--moss-deep),var(--moss));transition:width .34s cubic-bezier(.22,1,.36,1);box-shadow:0 0 14px var(--moss)}.boot-status{margin-top:10px;font:10.5px var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);opacity:.7}.boot-status.ready{color:var(--moss);opacity:1;animation:bootflash .5s ease-out}@keyframes bootspin{to{transform:rotate(360deg)}}@keyframes bootdraw{to{stroke-dashoffset:0}}@keyframes bootdrift{to{transform:translate(34px,34px)}}@keyframes bootscan{0%{top:-180px}to{top:100%}}@keyframes bootpulse{0%{transform:scale(.7);opacity:.5}to{transform:scale(1.9);opacity:0}}@keyframes bootflash{0%{opacity:0;letter-spacing:.4em}to{opacity:1;letter-spacing:.14em}}@media (max-width:760px){.boot-title{font-size:18px}.bl-detail{display:none}}@media (prefers-reduced-motion:reduce){.boot-ring i,.boot-grid,.boot-scan,.boot-pulse{animation:none}.boot-mark path{animation:none;stroke-dashoffset:0}}.comp-row{border:1px solid var(--line-soft);border-radius:14px;margin-top:8px;overflow:hidden}.comp-row.off{opacity:.6}.comp-head{display:flex;align-items:center;gap:10px;width:100%;background:var(--panel-2);border:none;padding:12px 15px;cursor:pointer;color:var(--ink);font:inherit;text-align:left}.comp-head b{flex:1;font-size:13.5px}.comp-form{padding:13px 15px}.comp-acts{display:flex;align-items:center;gap:9px;margin-top:4px}.stagetabs{display:none;gap:7px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;scroll-behavior:smooth}.stagetabs::-webkit-scrollbar{display:none}.stagetab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:999px;padding:8px 13px;font-size:12.5px;color:var(--ink-faint);cursor:pointer;transition:all .18s;white-space:nowrap}.stagetab.on{background:var(--moss-dim);border-color:var(--moss);color:var(--ink)}.st-count{font:600 11px var(--font-d);background:var(--panel-3);border-radius:999px;padding:1px 7px;color:var(--ink-soft)}.stagetab.on .st-count{background:var(--moss);color:#07130b}.cempty{font-size:12px;color:var(--ink-faint);text-align:center;padding:14px 4px;border:1px dashed var(--line-soft);border-radius:12px}@media (max-width:760px){.stagetabs{display:flex}.bhead .hint{display:none}.board{scroll-snap-type:x proximity;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;gap:12px}.board-rail{display:none}.col{flex:0 0 88%;scroll-snap-align:center}.card{cursor:pointer}.card.ghost{display:none}}.hint-touch{display:none}@media (max-width:760px){.hint-touch{display:inline;font-size:11.5px;color:var(--ink-faint)}}.boardstack,.boardwrap,.board,.stagetabs,.kpis,.pulse-wrap>*,.main>*{min-width:0}.app{overflow-x:clip}@media (max-width:760px){.peek{z-index:130}.pfoot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.stepper{overflow-x:auto;scrollbar-width:none;gap:5px}.stepper::-webkit-scrollbar{display:none}.stepper .step-btn{flex:0 0 26px}.slabels{overflow-x:auto;scrollbar-width:none;gap:9px;justify-content:flex-start;padding-bottom:2px}.slabels::-webkit-scrollbar{display:none}.slabels .slabel-btn{flex:0 0 auto;font-size:11px;padding:4px 0;white-space:nowrap}.bhead{align-items:center}.stages-btn{margin-left:auto;padding:7px 12px;font-size:12px;white-space:nowrap}.boardwrap .bhead h2{font-size:15px}.boardwrap .bhead .total{font-size:11.5px}}.sb-short{display:none}@media (max-width:760px){.sb-full{display:none}.sb-short{display:inline}}.sl-full{display:none}@media (max-width:760px){.sl-short{display:none}.sl-full{display:inline}}.backups{display:flex;align-items:center;gap:12px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:14px;padding:12px 15px;margin-top:14px}.backups.stale{border-color:var(--red);background:var(--red-dim)}.bk-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--moss);box-shadow:0 0 10px var(--moss)}.backups.stale .bk-dot{background:var(--red);box-shadow:0 0 10px var(--red)}.bk-text{display:flex;flex-direction:column;gap:2px;min-width:0}.bk-text b{font-size:13px}.bk-text span{font-size:11.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis}.bk-fix{margin-left:auto;font:11px var(--font-d);background:var(--panel-3);border-radius:8px;padding:5px 9px;color:var(--ink-soft);white-space:nowrap}@media (max-width:760px){.bk-fix{display:none}}.quote-page{color-scheme:light;min-height:100vh;background:#f4f3ef;color:#12180f;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 48px;font-family:var(--font-b)}.q-card{width:min(660px,100%);background:#fff;border-radius:20px;box-shadow:0 20px 60px #12180f14,0 2px 8px #12180f0d;padding:34px 34px 28px}.q-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid #eae8e1}.q-mark{width:34px;height:34px;color:#2fbf5f;flex:0 0 auto}.q-brand{font:700 15px var(--font-d);letter-spacing:.02em}.q-sub{font-size:11.5px;color:#7c8478}.q-date{margin-left:auto;font-size:11.5px;color:#7c8478;text-align:right}.q-title{font:700 26px var(--font-d);margin:22px 0 6px;letter-spacing:-.01em}.q-for{font-size:14px;color:#4a5245;margin:0 0 22px}.q-for span{color:#12180f;font-weight:600}.q-lines{width:100%;border-collapse:collapse;font-size:14px}.q-lines th{text-align:left;font:600 10.5px var(--font-d);letter-spacing:.09em;text-transform:uppercase;color:#8b9285;padding-bottom:9px;border-bottom:1px solid #eae8e1}.q-lines th:nth-child(2),.q-lines th:nth-child(3){text-align:right;padding-left:14px}.q-lines td{padding:13px 0;border-bottom:1px solid #f1f0eb;vertical-align:top}.q-qty{text-align:right;color:#6b7365;white-space:nowrap;padding-left:14px!important}.q-amount{text-align:right;font-weight:600;white-space:nowrap;padding-left:18px!important}.q-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:2px solid #12180f}.q-total span{font:600 12px var(--font-d);letter-spacing:.08em;text-transform:uppercase;color:#4a5245}.q-total b{font:800 30px var(--font-d);letter-spacing:-.02em}.q-accept{display:block;width:100%;margin-top:26px;padding:16px;border:none;border-radius:14px;background:#1f8f45;color:#fff;font:600 15px var(--font-b);cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s}.q-accept:hover{background:#177038;transform:translateY(-1px);box-shadow:0 10px 24px #1f8f4547}.q-accept:disabled{opacity:.6;cursor:default;transform:none}.q-note{font-size:12px;color:#7c8478;margin:12px 2px 0;line-height:1.5}.q-done{margin-top:26px;padding:18px;border-radius:14px;background:#eaf6ee;border:1px solid #b9e3c8;display:flex;flex-direction:column;gap:4px}.q-done b{font-size:15px;color:#177038}.q-done span{font-size:13px;color:#4a5245}.q-foot{display:flex;gap:18px;margin-top:24px;padding-top:16px;border-top:1px solid #eae8e1;font-size:13px}.q-foot a{color:#1f8f45;text-decoration:none}.q-foot a:hover{text-decoration:underline}.q-empty{padding:30px 4px;text-align:center;color:#7c8478;font-size:14px}.q-pay{margin-top:18px;border:1px solid #e3e0d6;border-radius:16px;padding:18px 20px;background:#faf9f5}.q-pay-head{font:600 11px var(--font-d);letter-spacing:.09em;text-transform:uppercase;color:#8b9285;margin-bottom:12px}.q-pay-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}.q-pay-sum{flex:1;min-width:180px;border:1.5px dashed #c9c5b8;border-radius:12px;background:#fff;padding:12px 16px;cursor:pointer;text-align:left;transition:border-color .15s}.q-pay-sum:hover{border-color:#1f8f45}.q-pay-sum b{display:block;font:800 24px var(--font-d);color:#12180f}.q-pay-sum span{font-size:11.5px;color:#8b9285}.q-pay-btn{display:flex;align-items:center;justify-content:center;padding:12px 26px;border-radius:12px;background:#f14635;color:#fff;font:700 15px var(--font-b);text-decoration:none;transition:background .15s}.q-pay-btn:hover{background:#d93a2b}.q-pay-note{margin:12px 2px 0;font-size:12px;color:#7c8478}@media (max-width:600px){.q-card{padding:24px 20px 22px;border-radius:16px}.q-title{font-size:22px}.q-total b{font-size:25px}.q-lines{font-size:13px}}html[data-page=quote],html[data-page=quote] body{background:#f4f3ef}.qlink{display:flex;flex-direction:column;gap:8px;margin-top:6px}.qlink-url{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--moss);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qlink-url:hover{border-color:var(--moss-deep)}.qlink-state{display:flex;gap:8px;flex-wrap:wrap}.q-track{margin-top:26px;padding:20px;border-radius:16px;background:#f6f8f5;border:1px solid #e2e8de}.q-track-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.q-track-head b{font-size:15px;color:#12180f}.q-due{font-size:12.5px;color:#4a5245}.q-steps{list-style:none;display:flex;gap:4px;margin:18px 0 14px;padding:0}.q-step{flex:1;display:flex;flex-direction:column;gap:7px;font-size:11.5px;color:#8b9285;position:relative}.q-step i{display:block;height:4px;border-radius:3px;background:#dfe5db}.q-step.past i,.q-step.now i{background:#1f8f45}.q-step.now i{box-shadow:0 0 0 3px #1f8f4529}.q-step.past span,.q-step.now span{color:#12180f;font-weight:600}.q-track-note{margin:0;font-size:13px;color:#4a5245;line-height:1.5}@media (max-width:600px){.q-steps{gap:3px}.q-step{font-size:10px}}.tv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--bg);display:flex;flex-direction:column;padding:26px 30px;overflow:hidden}.tv-head{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.tv-mark{width:38px;height:38px;color:var(--moss);flex:0 0 auto}.tv-head h1{font:800 30px var(--font-d);letter-spacing:-.01em;margin:0}.tv-stat{display:flex;align-items:baseline;gap:8px;background:var(--panel-2);border-radius:14px;padding:8px 16px}.tv-stat b{font:800 26px var(--font-d);color:var(--moss)}.tv-stat span{font-size:13px;color:var(--ink-faint)}.tv-stat.hot b{color:var(--red)}.tv-clock{margin-left:auto;font:700 30px var(--font-d);color:var(--ink-soft);letter-spacing:.02em}.tv-close{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-faint);font-size:16px;cursor:pointer}.tv-close:hover{border-color:var(--red);color:var(--red)}.tv-grid{flex:1;min-height:0;display:grid;gap:16px;margin-top:20px;overflow:hidden;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));grid-template-rows:repeat(var(--rows,1),minmax(0,1fr))}.tv-grid.scroll{grid-template-rows:none;grid-auto-rows:minmax(200px,1fr);overflow-y:auto}.tv-card{--tone:var(--moss);container-type:size;overflow:hidden;background:var(--panel);border:1px solid var(--line-soft);border-left:7px solid var(--tone);border-radius:16px;padding:18px 22px;display:flex;flex-direction:column;gap:4px}.tv-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.tv-card.hot{--tone:var(--red);background:color-mix(in srgb,var(--red-dim) 45%,var(--panel))}.tv-card.soon{--tone:#f07a35}.tv-card.warn{--tone:#e0a63a}.tv-card.calm{--tone:#9dc94a}.tv-card.none{--tone:var(--line)}.tv-top{display:flex;align-items:baseline;gap:12px}.tv-num{font:800 26px var(--font-d);color:var(--tone);letter-spacing:-.01em;line-height:1}.tv-stage{font:600 11.5px var(--font-d);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.tv-card h2{font:800 30px var(--font-d);margin:4px 0 2px;line-height:1.12;letter-spacing:-.015em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;flex:0 1 auto;min-height:0}.tv-due{display:flex;align-items:baseline;gap:10px;margin-top:4px;flex:0 0 auto}.tv-due b{font:800 26px var(--font-d);color:var(--tone);line-height:1}.tv-due i{font-style:normal;font-size:15px;color:var(--ink-soft)}.tv-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line-soft)}.tv-client{font-size:14px;color:var(--ink-soft)}.tv-master{font-size:14px;color:var(--ink-faint)}@supports (container-type:size){.tv-card{padding:clamp(14px,4cqh,30px) clamp(16px,4cqw,34px)}.tv-num{font-size:clamp(20px,min(13cqh,9cqw),56px)}.tv-stage{font-size:clamp(10px,min(4.5cqh,3cqw),22px)}.tv-card h2{font-size:clamp(22px,min(20cqh,11cqw),76px)}.tv-due b{font-size:clamp(20px,min(13cqh,9cqw),60px)}.tv-due i{font-size:clamp(12px,min(6cqh,3.4cqw),28px)}.tv-client,.tv-master{font-size:clamp(11px,min(5.5cqh,3cqw),24px)}}.tv-empty{flex:1;display:grid;place-items:center;font-size:19px;color:var(--ink-faint)}@media (max-width:760px){.tv{padding:16px}.tv-head{gap:10px;padding-bottom:12px}.tv-head h1,.tv-clock{font-size:19px}.tv-close{width:34px;height:34px}.tv-stat{padding:5px 10px;gap:6px}.tv-stat b{font-size:19px}.tv-stat span{font-size:10.5px;white-space:nowrap}.tv-grid{gap:12px;margin-top:14px}.tv-card h2{-webkit-line-clamp:3}}@supports (container-type:size){@media (max-width:760px){.tv-num{font-size:clamp(18px,min(11cqh,7cqw),30px)}.tv-card h2{font-size:clamp(17px,min(13cqh,7cqw),32px)}.tv-due b{font-size:clamp(18px,min(11cqh,7cqw),30px)}.tv-due i{font-size:clamp(11px,min(5cqh,3.4cqw),16px)}.tv-client,.tv-master{font-size:clamp(10px,min(4.5cqh,3cqw),14px)}}}.plan-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--bg);display:flex;flex-direction:column;padding:22px 26px;overflow:hidden}.plan-head{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.plan-head h1{font:800 26px var(--font-d);margin:0;letter-spacing:-.01em}.plan-month{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:13.5px;color:var(--ink)}.plan-month:focus{outline:none;border-color:var(--moss-deep)}.plan-tabs{display:flex;gap:6px;margin-left:auto}.plan-tabs button{padding:9px 15px;border-radius:11px;border:1px solid var(--line-soft);background:var(--panel-2);font:600 13px var(--font-d);color:var(--ink-soft);transition:all .18s}.plan-tabs button:hover{color:var(--ink)}.plan-tabs button.on{background:var(--moss);border-color:transparent;color:#07130b}.plan-tabs button b{font-weight:700;opacity:.7;margin-left:4px}.plan-body{flex:1;min-height:0;overflow-y:auto;padding-top:18px}.plan-total{display:flex;align-items:center;gap:20px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:16px;padding:16px 20px;margin-bottom:18px;flex-wrap:wrap}.plan-total span{display:block;font-size:12px;color:var(--ink-faint)}.plan-total b{font:800 26px var(--font-d)}.plan-total b i{font-style:normal;font-size:15px;font-weight:500;color:var(--ink-soft)}.plan-total-pct{margin-left:auto;font:800 34px var(--font-d);color:var(--moss)}.plan-total-work{width:100%;font-size:12.5px;color:var(--ink-faint)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.plan-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;padding:16px 18px}.plan-card.done{border-color:var(--moss-deep);background:color-mix(in srgb,var(--moss-dim) 40%,var(--panel))}.plan-card h3{font:700 16px var(--font-d);margin:0}.plan-role{font-size:11.5px;color:var(--ink-faint);margin-bottom:10px}.plan-figures{display:flex;align-items:baseline;gap:7px}.plan-figures b{font:800 27px var(--font-d);color:var(--moss)}.plan-figures span{font-size:13px;color:var(--ink-soft)}.plan-bar{height:8px;border-radius:999px;background:var(--panel-3);margin:10px 0 7px;overflow:hidden}.plan-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--moss-deep),var(--moss));transition:width .5s cubic-bezier(.22,1,.36,1)}.plan-legend{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--ink-faint)}.plan-inwork{color:var(--amber)}.plan-rows{display:flex;flex-direction:column;gap:6px;max-width:960px}.plan-row{border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;background:var(--panel-2)}.plan-row-head{display:flex;align-items:center;gap:12px;width:100%;padding:11px 15px;text-align:left;font-size:13px}.plan-row-head:hover{background:var(--panel-3)}.plan-row-who{font-weight:600;flex:0 0 170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-row-what{flex:1;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-row-what em{font-style:normal;color:var(--ink-faint)}.plan-row-sqm{font:700 14px var(--font-d);color:var(--moss)}.plan-manual{font-size:10.5px;color:var(--amber);background:var(--amber-dim);border-radius:6px;padding:2px 7px}.plan-card-open{padding:4px 15px 12px;border-top:1px dashed var(--line-soft)}.plan-break .line{font-size:12.5px}.plan-setup{max-width:820px;margin-bottom:26px}.plan-setup h3{font:700 15px var(--font-d);margin-bottom:4px}.plan-hint{font-size:12px;color:var(--ink-faint);margin:4px 0 10px;line-height:1.5}.plan-target input,.plan-rule input{max-width:120px}.plan-rule .q{flex:0 0 auto;font-size:11.5px}@media (max-width:760px){.plan-page{padding:14px}.plan-head h1{font-size:20px}.plan-tabs{margin-left:0;width:100%;overflow-x:auto}.plan-total-pct{font-size:26px}.plan-row-who{flex-basis:110px}}.imp-btn{flex:0 0 auto;margin-left:8px;padding:8px 13px;font-size:12.5px}.imp-file{display:inline-flex;align-items:center;margin:4px 0 10px}.imp-file input{display:none}.imp-file span{background:var(--panel-2);border:1px dashed var(--line);border-radius:11px;padding:10px 15px;font-size:13px;color:var(--ink-soft);cursor:pointer}.imp-file span:hover{border-color:var(--moss-deep);color:var(--ink)}.imp-text{width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:12.5px var(--font-d);color:var(--ink);resize:vertical}.imp-text:focus{outline:none;border-color:var(--moss-deep)}.imp-preview{margin-top:12px}.imp-counts{display:flex;gap:8px;margin-bottom:8px}.imp-list{border:1px solid var(--line-soft);border-radius:12px;max-height:220px;overflow-y:auto}.imp-row{display:flex;align-items:baseline;gap:10px;padding:8px 13px;border-bottom:1px dashed var(--line-soft);font-size:13px}.imp-row:last-child{border-bottom:none}.imp-row b{flex:0 0 auto}.imp-row span{color:var(--ink-faint);font-size:12px}.cnum{display:inline-block;font:600 10px var(--font-d);letter-spacing:.04em;color:var(--moss);background:var(--moss-dim);border-radius:5px;padding:1px 5px;margin-right:6px;vertical-align:1px}.pnum{display:inline-block;font:600 11px var(--font-d);color:var(--moss);background:var(--moss-dim);border-radius:6px;padding:2px 7px;margin-right:8px}.pnum-inline{font:600 11px var(--font-d);color:var(--moss);margin-right:7px}
