.app{height:100vh;width:100vw;display:grid;grid-template-rows:var(--top) var(--sub) 1fr;grid-template-columns:minmax(0,1fr);overflow:hidden}.topbar{height:var(--top);background:var(--navy);color:#e8eef5;gap:16px;padding:0 22px;box-shadow:0 1px 0 rgba(255,255,255,.08);z-index:10}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;white-space:nowrap}.mark{width:30px;height:30px;border-radius:8px;background:#fff;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.mark:before{top:8px;background:var(--blue)}.mark:after,.mark:before{content:"";position:absolute;left:7px;width:16px;height:4px;border-radius:4px}.mark:after{top:18px;background:var(--navy)}.brand b{font-size:var(--fs-lg);letter-spacing:-.03em}.brand span{color:#8ec3ff}.nav{min-width:0;flex:1 1;overflow:visible;position:relative}.nav,.nav-measure{height:100%;display:flex;align-items:center;gap:2px}.nav-measure{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none}.nav-more-wrap,.nav-tab-wrap{position:relative;height:100%;flex:0 0 auto;display:flex;align-items:center}.nav-more-wrap>.navbtn{height:100%}.nav-more-menu{position:absolute;top:calc(100% - 6px);left:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:190px;z-index:120;padding:6px;display:flex;flex-direction:column}.nav-more-menu button{display:flex;align-items:center;gap:8px;background:none;border:0;text-align:left;padding:8px 10px;border-radius:6px;font-weight:var(--fw-bold);color:var(--text);cursor:pointer;font-size:var(--fs-base)}.nav-more-menu button:hover{background:var(--soft)}.nav-more-menu button.active{background:var(--blueBg);color:var(--blue2)}.nav-more-menu button svg{width:16px;height:16px}.navbtn{height:100%;flex:0 0 auto;border:0;background:transparent;color:#c7d2de;font-size:var(--fs-base);font-weight:var(--fw-bold);padding:0 11px;display:flex;align-items:center;gap:7px;border-bottom:3px solid transparent;white-space:nowrap}.navbtn.active,.navbtn:hover{background:rgba(255,255,255,.08);color:#fff}.navbtn.active{border-bottom-color:var(--green)}.navbtn svg{width:16px;height:16px}.top-actions{gap:9px;flex:0 0 auto}.role-switch,.top-actions{display:flex;align-items:center}.role-switch{height:34px;border-radius:999px;background:#fff1;border:1px solid #ffffff20;gap:7px;padding:0 10px;color:#d7e0ea}.role-switch select{background:transparent;border:0;color:#fff;outline:0;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.role-switch option{color:#111}.create{height:36px;border:0;border-radius:8px;background:var(--green);color:#061b0a;font-weight:var(--fw-bold);padding:0 13px;display:flex;align-items:center;gap:7px}.create svg{width:16px;height:16px}.ai-toggle{height:34px;border-radius:999px;background:#fff1;border:1px solid #ffffff20;display:flex;align-items:center;gap:7px;padding:0 12px;color:#d7e0ea;font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap;cursor:pointer}.ai-toggle:hover{background:#fff2;color:#fff}.ai-toggle.on{background:#ffffff1f;color:#fff;border-color:#ffffff35}.ai-toggle svg{width:15px;height:15px}.search{height:36px;width:310px;border-radius:999px;background:#fff1;border:1px solid #ffffff20;display:flex;align-items:center;gap:8px;padding:0 13px;color:#b8c4cf}.search input{width:100%;border:0;outline:0;background:transparent;color:white;font-size:var(--fs-base)}.search input::placeholder{color:#b8c4cf}.kbd{font-size:var(--fs-xs);color:#d0d9e4;background:#fff2;border:1px solid #fff2;border-radius:5px;padding:2px 6px}.iconbtn{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#d7e0ea;display:grid;place-items:center;position:relative}.iconbtn:hover{background:#fff1}.iconbtn svg{width:18px;height:18px}.badge{position:absolute;right:2px;top:2px;min-width:16px;height:16px;border-radius:8px;background:var(--red);color:#fff;font-size:var(--fs-xs);place-items:center}.avatar,.badge{font-weight:var(--fw-bold);display:grid}.avatar{width:34px;height:34px;border-radius:50%;background:var(--blueBg);color:var(--blue2);place-items:center;font-size:var(--fs-sm)}.subbar{height:var(--sub);background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:10px;z-index:8;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.subbar::-webkit-scrollbar{display:none}.subbtn{flex:0 0 auto;height:32px;border-radius:999px;border:0;background:transparent;color:#3c4043;font-size:var(--fs-base);font-weight:var(--fw-bold);padding:0 13px;white-space:nowrap}.subbtn:hover{background:#f1f3f4}.subbtn.active{background:#111;color:white}.subbar .spacer{flex:1 1}.saveview{height:32px;border:1px solid var(--line);border-radius:999px;background:var(--card);padding:0 13px;font-weight:var(--fw-bold);gap:7px;white-space:nowrap}.saveview,.viewtabs{display:flex;align-items:center}.viewtabs{gap:6px}.viewtab{height:28px;border:1px solid var(--line);border-radius:99px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--card);color:var(--text)}.viewtab.on{background:var(--blueBg);border-color:var(--blueLine);color:var(--blue2)}.plus-tab{width:28px;height:28px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-weight:var(--fw-bold)}.main{overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 330px}.main.full{grid-template-columns:1fr}.workspace{overflow:auto;min-width:0}.assistant{background:var(--card);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.ai-head{height:62px;padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px}.ai-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#5eead4);display:grid;place-items:center;color:white}.ai-logo svg{width:16px;height:16px}.ai-title b{display:block;font-size:var(--fs-base)}.ai-title span{font-size:var(--fs-xs);color:var(--muted)}.ai-body{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:12px}.ai-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:13px}.ai-card.blue{background:var(--blueBg);border-color:#d2e3fc}.ai-card h4{margin:0 0 8px;font-size:var(--fs-base)}.ai-card p{margin:0;color:var(--text);font-size:var(--fs-sm);line-height:1.45}.ai-input{margin-top:auto;padding:12px;border-top:1px solid var(--line);display:flex;gap:9px}.ai-input input{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;min-width:0;flex:1 1;outline:0}.ai-input button{width:36px;border:0;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center}.page{padding:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:16px}.page-head h1{margin:0 0 5px;font-size:var(--fs-xl);letter-spacing:-.035em}.page-head p{margin:0;color:var(--muted);font-size:var(--fs-base)}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions,.btn{align-items:center}.btn{height:36px;border-radius:8px;border:1px solid var(--line);background:var(--card);padding:0 14px;font-weight:var(--fw-bold);display:inline-flex;gap:8px;color:#243142}.btn:hover{background:var(--soft)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(26,115,232,.22)}.btn.green{background:var(--green);border-color:var(--green);color:#061b0a}.btn.danger{background:var(--card);color:var(--red)}.btn svg,.saveview svg{width:16px;height:16px}.grid{display:grid;grid-gap:16px;gap:16px}.cols4{grid-template-columns:repeat(4,minmax(180px,1fr))}.cols3{grid-template-columns:repeat(3,minmax(220px,1fr))}.cols2{grid-template-columns:1fr 1fr}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.card h2,.card h3{margin:0 0 10px}.muted,.small{color:var(--muted)}.small{font-size:var(--fs-sm)}.kpi .label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted)}.kpi .val{font-size:30px;font-weight:var(--fw-black);margin:7px 0;letter-spacing:-.04em}.trend{color:var(--green2);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.dashboard-builder-shell{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px;margin-bottom:16px;display:grid;grid-gap:12px;gap:12px}.builder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.widget-toggles{display:flex;gap:7px;flex-wrap:wrap}.dashboard-grid{align-items:stretch}.dashboard-widget{min-height:178px;display:flex;flex-direction:column}.dashboard-widget[draggable=true]{cursor:-webkit-grab;cursor:grab}.dashboard-widget.dragging{opacity:.45;outline:2px solid var(--blueLine)}.dashboard-widget .trend{margin-top:auto}.widget-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.drag-handle{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 7px;background:var(--soft)}.dashboard-preview{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-preview p{margin:0}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.pill.blue{background:var(--blueBg);color:var(--blue2)}.pill.green{background:var(--greenBg);color:var(--green2)}.pill.amber{background:var(--status-active-bg);color:#9a6700}.pill.red{background:var(--status-risk-bg);color:var(--red)}.toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.chip,.toolbar{align-items:center}.chip{height:32px;border:1px solid var(--line);border-radius:999px;background:var(--card);padding:0 12px;display:inline-flex;gap:7px;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.chip.active{background:var(--blueBg);border-color:var(--blueLine);color:var(--blue2)}.calendar-shell{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.03)}.cal-top{height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:12px}.seg{height:34px;border:1px solid var(--line);border-radius:9px;display:flex;overflow:hidden}.seg,.seg button{background:var(--card)}.seg button{border:0;border-right:1px solid var(--line);padding:0 12px;font-weight:var(--fw-bold);color:var(--text)}.seg button:last-child{border-right:0}.seg button.active{background:#111;color:#fff}.seg.compact{height:30px}.seg.compact button{font-size:var(--fs-xs);padding:0 10px}.hour-range-seg{height:30px}.hour-range-seg button,.live-pill{font-size:var(--fs-xs);padding:0 9px}.live-pill{height:24px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-weight:var(--fw-bold)}.live-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}.cal-body{display:grid;min-height:640px}.cal-body,.cal-body.alt-view{grid-template-columns:minmax(0,1fr) 330px}.calendar-shell.detail-expanded .cal-body{grid-template-columns:minmax(0,1fr) 430px}.calendar-shell.detail-collapsed .cal-body{grid-template-columns:minmax(0,1fr) 58px}.calendar-shell.detail-hidden .cal-body{grid-template-columns:minmax(0,1fr)}.cal-side{border-right:1px solid var(--line);background:#fbfcfe;padding:14px;overflow:auto}.cal-side.collapsed-side{border:0;border-right:1px solid var(--line);background:var(--soft);border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:14px 6px;color:var(--text);font-weight:var(--fw-bold);min-width:0}.cal-side.collapsed-side span{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;font-size:var(--fs-sm)}.cal-side.collapsed-side b{border-radius:999px;background:var(--blueBg);color:var(--blue2);padding:3px 7px;font-size:var(--fs-xs)}.cal-scroll{position:relative}.cal-panel,.cal-scroll{overflow:auto;background:var(--card)}.cal-panel{border-left:1px solid var(--line)}.panel-controls{height:38px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:6px;background:var(--soft);position:-webkit-sticky;position:sticky;top:0;z-index:3}.panel-controls button{height:26px;border:1px solid var(--line);border-radius:7px;padding:0 8px;font-size:var(--fs-xs)}.detail-tab,.panel-controls button{background:var(--card);font-weight:var(--fw-bold);color:var(--text)}.detail-tab{width:100%;height:100%;min-height:620px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding-top:18px}.detail-tab span{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.show-details-tab{position:absolute;right:10px;top:74px;z-index:5;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--card);display:flex;align-items:center;gap:7px;padding:0 10px;font-weight:var(--fw-bold);color:var(--text);box-shadow:var(--shadow)}.daily-mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fbfcfe;flex-wrap:wrap}.section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--fw-bold);color:var(--muted);margin:8px 0 9px}.panel-title-row{justify-content:space-between}.checkrow,.panel-title-row{display:flex;align-items:center;gap:8px}.checkrow{min-height:30px;font-size:var(--fs-base);color:var(--text)}.checkrow.drop-tech{border-radius:8px;padding:3px 4px}.checkrow.drop-tech:hover{background:var(--blueBg);outline:1px dashed var(--blueLine)}.box{width:18px;height:18px;border-radius:5px;border:1px solid var(--line);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--card)}.box.on{background:var(--blue);border-color:var(--blue);color:#fff}.daygrid{display:grid;grid-template-columns:200px repeat(12,minmax(92px,1fr));min-width:1304px}.daygrid-bars .team-lane-label{align-content:start}.dayhead{height:42px;background:#f3f6fa;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);color:var(--muted)}.dow{font-weight:var(--fw-bold)}.time{border-right:2px solid var(--status-paused-line);background:#f4f7fb;padding:12px;text-align:left;border-left:4px solid transparent}.slot,.time{border-bottom:1px solid var(--line)}.slot{border-right:1px solid #e0e6ef;padding:5px;background:var(--card);position:relative;border-left:0 solid transparent}.event,.slot.selected-row,.slot:hover,.time.selected-row{background:var(--blueBg)}.event{border-radius:8px;border:1px solid var(--blueLine);color:var(--blue2);padding:7px 8px;font-size:var(--fs-xs);font-weight:var(--fw-bold);box-shadow:0 2px 7px rgba(26,115,232,.12);overflow:hidden}.event:hover{outline:2px solid var(--blueLine);cursor:-webkit-grab;cursor:grab}.event.green{background:var(--greenBg);border-color:var(--status-done-line);color:var(--green2)}.event.amber{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.event.red{background:var(--status-risk-bg);border-color:var(--status-risk-line);color:var(--red)}.event.tinted{background:var(--tintBg);border-color:var(--tintLine);color:var(--tintText)}.daily-status-view,.tech-view,.week-view{overflow:auto;padding:12px;background:var(--card)}.week-grid{display:grid;grid-template-columns:190px repeat(7,minmax(120px,1fr));min-width:1030px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.week-cell,.week-head,.week-label{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;background:var(--card)}.week-head{background:var(--soft);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.week-head,.week-head small{font-size:var(--fs-xs);font-weight:var(--fw-bold)}.week-head small{display:block;margin-top:2px;text-transform:none;letter-spacing:0;color:var(--faint)}.week-row{display:contents}.week-cell.week-row-alt,.week-label.week-row-alt{background:#f3f5f9}.week-label span{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--muted)}.week-cell{min-height:104px;position:relative}.sf-sort-th{background:transparent;border:0;padding:0;margin:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:2px}.sf-sort-th:hover{color:var(--blue,#1a73e8)}.week-cell-dragover{outline:2px dashed var(--blue,#1a73e8);outline-offset:-2px;background:#f0f6ff}.week-drop-flag{position:absolute;top:2px;left:2px;right:2px;z-index:5;background:var(--blue,#1a73e8);color:#fff;border-radius:6px;padding:3px 6px;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-job,.week-drop-flag,.week-job{font-size:var(--fs-xs);font-weight:var(--fw-bold)}.tech-job,.week-job{width:100%;border:1px solid var(--blueLine);border-radius:8px;background:var(--blueBg);color:var(--blue2);padding:7px 8px;text-align:left;margin-bottom:7px}.tech-job span,.week-job span{display:block;margin-top:3px;font-weight:var(--fw-bold)}.tech-job.green,.week-job.green{background:var(--greenBg);border-color:var(--status-done-line);color:var(--green2)}.tech-job.amber,.week-job.amber{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.tech-job.tinted,.week-job.tinted{background:var(--tintBg);border-color:var(--tintLine);color:var(--tintText)}.week-cell .tile-time-edit{position:absolute;top:100%;left:0;z-index:55;margin-top:2px}.week-label{display:flex;flex-direction:column;gap:3px}.week-lane-total{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.week-cap{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.week-cap-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-cap-track{height:4px;border-radius:99px;background:#eaeef4;overflow:hidden}.week-cap-fill{display:block;height:100%;border-radius:99px;background:var(--blue2,#1a73e8)}.week-cap-fill.over{background:var(--red)}.week-chip{display:flex;gap:7px;align-items:flex-start;width:100%;border:1px solid var(--blueLine);border-radius:8px;background:var(--blueBg);color:var(--blue2);padding:6px 7px;text-align:left;margin-bottom:6px;cursor:-webkit-grab;cursor:grab}.week-chip-time{flex:none;font-size:var(--fs-xs);font-weight:var(--fw-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:1px;opacity:.85}.week-chip-body{display:flex;flex-direction:column;min-width:0}.week-chip-body b,.week-chip-body small{font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-chip-body small{opacity:.8}.week-chip.green{background:var(--greenBg);border-color:var(--status-done-line);color:var(--green2)}.week-chip.amber{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.week-chip.red{background:var(--status-risk-bg);border-color:var(--status-risk-line);color:var(--red)}.week-chip.tinted{background:var(--tintBg);border-color:var(--tintLine);color:var(--tintText)}.tech-picker{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.tech-day{max-width:720px}.daily-status-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;align-content:start}.status-lane{border:1px solid var(--line);border-radius:10px;background:#fbfcfe;min-height:260px;overflow:hidden}.status-lane:hover{outline:1px dashed var(--blueLine)}.status-lane-head{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 10px;background:#f4f7fb}.status-lane-head small{margin-left:auto;color:var(--muted);font-weight:var(--fw-bold)}.status-lane-jobs{padding:9px}.status-job-card{width:100%;border:1px solid var(--blueLine);border-radius:8px;background:var(--blueBg);color:var(--blue2);padding:8px;text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-bold);margin-bottom:8px}.status-job-card:hover{outline:2px solid var(--blueLine);cursor:-webkit-grab;cursor:grab}.status-job-card small,.status-job-card span{display:block;margin-top:4px}.status-job-card.green{background:var(--greenBg);border-color:var(--status-done-line);color:var(--green2)}.status-job-card.amber{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.empty-lane{display:block;border:1px dashed var(--status-paused-line);border-radius:8px;font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:14px;margin-top:4px}.empty-lane,.empty-tech-lane{color:var(--muted);text-align:center}.empty-tech-lane{grid-column:1/-1;min-height:244px;border:1px dashed var(--status-paused-line);background:#fbfcfe;display:grid;place-items:center;padding:24px}.empty-tech-lane h3{margin:0 0 6px;color:var(--text)}.team-lane-label{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:8px 12px}.team-lane-title{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.team-lane-title b{font-size:var(--fs-base);letter-spacing:.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-avatar{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#102a43;color:#e8eef5;display:grid;place-items:center;letter-spacing:.02em}.team-avatar,.team-lane-stats{font-size:var(--fs-xs);font-weight:var(--fw-bold)}.team-lane-stats{display:flex;align-items:center;gap:8px;color:var(--muted);width:100%;min-width:0}.team-hours{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--status-paused-bg);border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--muted)}.team-hours.warn{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.team-jobcount{color:var(--muted)}.dispatch-tile{display:flex;flex-direction:column;gap:1px;cursor:pointer}.dispatch-tile-customer{font-size:var(--fs-sm)}.dispatch-tile-customer,.dispatch-tile-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-tile-line{font-weight:var(--fw-semibold);font-size:var(--fs-xs);opacity:.85}.dispatch-tile-time{font-weight:var(--fw-bold);opacity:1}.dispatch-bar{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:0;padding:5px 9px;cursor:-webkit-grab;cursor:grab}.dispatch-bar:active{cursor:-webkit-grabbing;cursor:grabbing}.dispatch-bar .dispatch-tile-customer{font-size:var(--fs-sm);line-height:1.2;font-weight:var(--fw-bold)}.dispatch-bar .dispatch-tile-line{font-size:var(--fs-xs);line-height:1.2}.dispatch-tile-number{margin-left:6px;font-weight:var(--fw-bold);opacity:.65}.dispatch-tile-source{margin-left:6px;font-size:var(--fs-xs);font-weight:var(--fw-bold);border:1px solid;border-radius:4px;padding:0 3px;opacity:.7}.kanban-card-clickable{cursor:pointer}.kanban-card-clickable:hover{border-color:var(--blue,#1a73e8);box-shadow:0 2px 8px rgba(26,115,232,.12)}.tile-config-wrap{position:relative}.tile-config-wrap .mini-btn{display:inline-flex;align-items:center;gap:5px}.tile-config-wrap .mini-btn svg{width:13px;height:13px}.tile-config-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:60;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:200px;padding:8px;display:flex;flex-direction:column;gap:4px}.tile-config-menu label{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:4px 6px;border-radius:6px;cursor:pointer}.tile-config-menu label:hover{background:var(--soft)}.dispatch-pop{position:fixed;z-index:200;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(16,24,40,.22);overflow:hidden}.dispatch-pop-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--bg);font-size:var(--fs-sm)}.dispatch-pop-head .pill{margin-left:auto}.dispatch-pop-close{border:0;background:transparent;font-size:var(--fs-md);line-height:1;cursor:pointer;color:var(--muted);padding:0 0 0 4px}.dispatch-pop-body{padding:10px 12px;display:flex;flex-direction:column;gap:7px}.dispatch-pop-row{display:flex;flex-direction:column;gap:1px;font-size:var(--fs-sm)}.dispatch-pop-row b{font-size:var(--fs-base)}.dispatch-pop-link{align-self:flex-start;border:0;background:transparent;color:var(--blue);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;padding:0;text-decoration:underline}.dispatch-pop-foot{display:flex;align-items:center;gap:6px;padding:9px 12px;border-top:1px solid var(--line);background:#fbfcfe}.dispatch-pop-foot select{flex:1 1;min-width:0;height:30px;border:1px solid var(--line);border-radius:7px;font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:0 6px}.dispatch-pop-foot .btn{height:30px;padding:0 10px;font-size:var(--fs-sm)}.status-menu{position:relative}.status-menu,.status-trigger{display:inline-flex;max-width:100%}.status-trigger{align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 10px;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);cursor:pointer;line-height:1}.status-trigger:hover:not(:disabled):not(.locked){background:var(--bg);border-color:#cfd8e3}.status-trigger.locked,.status-trigger:disabled{cursor:default}.status-trigger.compact{padding:3px 9px;font-size:var(--fs-xs)}.status-trigger .status-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-trigger .status-caret{font-size:9px;color:var(--muted);margin-left:1px}.status-dot{width:9px;height:9px;border-radius:999px;background:var(--muted);flex:0 0 auto}.status-menu-pop{position:fixed;z-index:240;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;max-height:300px;overflow:auto}.status-menu-pop button{display:flex;align-items:center;gap:8px;background:none;border:0;text-align:left;padding:7px 9px;border-radius:7px;font-weight:var(--fw-bold);color:var(--text);cursor:pointer;font-size:var(--fs-sm);white-space:nowrap}.status-menu-pop button:hover{background:var(--soft)}.status-menu-pop button.active{background:var(--blueBg);color:var(--blue2)}.status-menu-pop button .status-label{overflow:hidden;text-overflow:ellipsis}.status-menu-pop .status-check{margin-left:auto;color:var(--blue2);font-weight:var(--fw-bold)}.djd-modal{max-width:1060px!important;width:min(1060px,94vw)}.djd-grid{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.1fr);grid-gap:16px;gap:16px;align-items:start}.djd-actions{display:flex;flex-direction:column;gap:8px}.djd-actions .btn{justify-content:center}.btn.danger{border-color:var(--status-risk-line);color:#b3261e;background:#fff5f5}.btn.danger:hover{background:#fee2e2}.djd-fields,.djd-side{display:flex;flex-direction:column;gap:2px}.djd-row{display:flex;align-items:flex-start;gap:8px;padding:8px 6px;border-bottom:1px solid #eef2f6}.djd-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.djd-row-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.djd-row-value{font-size:var(--fs-base);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.djd-pencil{border:0;background:transparent;cursor:pointer;color:var(--blue);font-size:var(--fs-base);padding:2px 4px;border-radius:6px}.djd-pencil:hover{background:var(--blueBg)}.djd-row-editor{display:flex;flex-direction:column;gap:6px}.djd-row-editor input,.djd-row-editor select,.djd-row-editor textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.djd-row-editor-actions,.djd-stack{display:flex;gap:6px}.djd-stack{flex-direction:column}.djd-map{height:200px;border-radius:10px;overflow:hidden;border:1px solid var(--line);margin-bottom:8px}.djd-map-empty{height:100%;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;background:var(--bg);font-size:var(--fs-sm);padding:12px;text-align:center}.djd-map-link{display:block;font-size:var(--fs-sm);color:var(--blue);text-decoration:none;margin:6px 0 10px;word-break:break-word}.djd-map-link:hover{text-decoration:underline}.djd-service-lines{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.djd-service-lines li{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-sm)}.djd-line-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.djd-line-meta{color:var(--muted);white-space:nowrap}@media (max-width:980px){.djd-grid{grid-template-columns:1fr}.djd-actions{flex-direction:row;flex-wrap:wrap}}.dispatch-empty-card{border:1px dashed var(--status-paused-line);border-radius:10px;background:#fbfcfe;padding:12px;margin-bottom:12px;color:var(--muted);font-size:var(--fs-sm)}.dispatch-empty-card b{display:block;color:var(--text);margin-bottom:5px}.dispatch-empty-card p{margin:0 0 10px;line-height:1.4}.dispatch-empty-card.compact{display:grid;grid-gap:8px;gap:8px}.empty-cta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:12px}.empty-detail-panel .muted-ok{color:var(--muted)}.drawer-empty-note{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:9px 10px}.suggest{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:10px 11px;margin-bottom:9px;font-size:var(--fs-sm)}.suggest:hover{background:var(--soft)}.suggest .check{font-weight:var(--fw-bold);color:var(--green2)}.ai-suggest-row.accepted,.suggest.accepted{background:var(--greenBg);border-color:var(--status-done-line)}.ai-suggest-row.rejected,.suggest.rejected{background:var(--soft);opacity:.68}.mini-btn{height:28px;border-radius:7px;border:1px solid var(--line);background:var(--card);padding:0 9px;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.jobpanel{padding:16px}.jobpanel .title{display:flex;align-items:center;gap:10px;margin-bottom:8px}.jobpanel h2{margin:0 0 6px;font-size:20px;letter-spacing:-.03em}.ready-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin:14px 0}.ready{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--card)}.readyicon{width:28px;height:28px;border-radius:8px;background:var(--blueBg);color:var(--blue2);display:grid;place-items:center;margin-bottom:7px}.readyicon svg{width:16px;height:16px}.ready .lbl{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase}.ready .lbl,.ready .ok{font-weight:var(--fw-bold)}.ready .ok{color:var(--green2);font-size:var(--fs-sm)}.kv{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line2);padding:10px 0;font-size:var(--fs-base)}.kv .k{color:var(--muted)}.weather-strip{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(90deg,#e8f4fd 0,#fff6e0 50%,var(--greenBg) 100%);margin-bottom:14px;font-weight:var(--fw-bold);font-size:var(--fs-sm);flex-wrap:wrap}.weather-strip .w-day{padding:4px 9px;border:1px solid var(--line);border-radius:99px;font-size:var(--fs-xs);gap:5px}.weather-strip .w-collapse,.weather-strip .w-day{background:var(--card);color:var(--muted);display:inline-flex;align-items:center}.weather-strip .w-collapse{margin-left:auto;justify-content:center;width:26px;height:26px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.weather-strip .w-collapse:hover{background:#f1f3f4}.weather-strip.collapsed{padding-top:7px;padding-bottom:7px}.chips-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.chip-mini{border:1px solid var(--line);border-radius:99px;background:var(--card);padding:5px 9px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--muted)}button.chip-mini{cursor:pointer}.chip-mini.on{background:var(--blueBg);border-color:var(--blueLine);color:var(--blue2)}.active-filters{margin:-6px 0 12px}.unassigned-card{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;background:var(--card);padding:10px;margin-bottom:8px}.unassigned-card.unassigned-flag{border-left-color:#c5221f;background:#fffbfb}.unassigned-card:hover{outline:2px solid var(--blueLine);cursor:-webkit-grab;cursor:grab}.unassigned-card .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.unassigned-card .meta span{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--muted);background:var(--soft);border-radius:999px;padding:3px 7px}.filter-popover{position:absolute;right:374px;top:120px;width:310px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:30;padding:14px}.filter-popover h3{font-size:var(--fs-sm);margin:0 0 8px}.grp{margin-bottom:13px}.route-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:99px;background:var(--soft);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:#334155}.route-chip .rc-sw,.tech-color-sw{width:10px;height:10px;border-radius:50%;display:inline-block}.tech-color-sw.lg{width:13px;height:13px;margin-right:8px}.action-icons{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:14px 0}.action-icons button{border:1px solid var(--line);background:var(--card);border-radius:9px;min-height:38px;color:var(--text);justify-content:center;gap:7px}.action-icons button,.recur-banner{font-weight:var(--fw-bold);display:flex;align-items:center}.recur-banner{gap:8px;padding:8px 12px;background:#f0f6ff;border:1px solid var(--blueLine);border-radius:8px;font-size:var(--fs-sm);color:var(--blue2);margin:10px 0}.activity-list{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}.activity-entry{display:grid;grid-template-columns:72px 1fr;grid-gap:8px;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line2);font-size:var(--fs-sm)}.activity-entry:last-child{border-bottom:0}.activity-entry b{color:var(--muted)}.map{height:520px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(135deg,#e6f4ea,var(--blueBg));position:relative;overflow:hidden}.pin{position:absolute;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:var(--fw-bold);box-shadow:0 6px 18px rgba(26,115,232,.28)}.pin.green{background:var(--green2)}.pin.amber{background:var(--amber);color:#111}.route-line{position:absolute;height:4px;background:rgba(26,115,232,.35);border-radius:99px;transform-origin:left center}.truck{position:absolute;width:36px;height:36px;border-radius:10px;background:var(--card);color:var(--blue);display:grid;place-items:center;border:1px solid var(--blueLine);box-shadow:var(--shadow)}.table-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;overflow-x:auto;max-width:100%}.table{width:100%;border-collapse:collapse}.table th{background:var(--soft);text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}.table td{padding:11px 10px;border-bottom:1px solid var(--line2);font-size:var(--fs-base);vertical-align:middle}.table tr:last-child td{border-bottom:0}.ai-suggest-row{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 120px;grid-gap:12px;gap:12px;align-items:center;border-bottom:1px solid var(--line2);padding:12px 0}.score-chip{display:inline-block;padding:3px 8px;border-radius:99px;font-size:var(--fs-xs);font-weight:var(--fw-bold)}.score-chip.high{background:var(--greenBg);color:var(--green2)}.score-chip.med{background:#fff4d6;color:var(--status-active)}.score-chip.low{background:#fde7e7;color:var(--red)}.placeholder{min-height:420px;display:grid;place-items:center;text-align:center;color:var(--muted)}.placeholder h2{color:var(--text);margin-bottom:8px}.drawer{position:fixed;right:-460px;top:0;bottom:0;width:460px;background:var(--card);box-shadow:-16px 0 32px rgba(16,24,40,.16);z-index:100;transition:.22s ease;display:flex;flex-direction:column}.drawer.open{right:0}.drawer-modal-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:99}.drawer.drawer-centered{right:auto;left:50%;top:50%;bottom:auto;transform:translate(-50%,-48%);width:min(940px,94vw);max-height:90vh;border-radius:14px;box-shadow:0 24px 60px rgba(16,24,40,.3);opacity:0;pointer-events:none}.drawer.drawer-centered.open{right:auto;transform:translate(-50%,-50%);opacity:1;pointer-events:auto}.drawer.drawer-centered .drawer-body{max-height:calc(90vh - 64px)}.drawer-body.drawer-body-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 18px;gap:0 18px;align-content:start}.drawer-body.drawer-body-grid>*{grid-column:1/-1}.drawer-body.drawer-body-grid>.form-row{grid-column:auto}.drawer-body.drawer-body-grid>.form-row:has(textarea){grid-column:1/-1}.drawer-head{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px}.drawer-body{padding:18px;overflow:auto}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.form-row label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--muted)}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--line);border-radius:8px;padding:9px 10px;outline:0}.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:120;display:none;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(500px,92vw);background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:20px}.modal-card h2{margin:0 0 8px}.toast-wrap{position:fixed;right:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#111;color:#fff;border-radius:10px;padding:12px 15px;font-weight:var(--fw-bold);box-shadow:var(--shadow)}.auth-page,.onboarding-page{min-height:100vh;background:var(--bg);display:grid;place-items:center;padding:24px}.auth-panel,.onboarding-panel{width:min(440px,100%);background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:24px}.auth-brand{color:var(--text);margin-bottom:18px}.auth-panel h1,.onboarding-panel h1{margin:0 0 8px;font-size:26px;letter-spacing:-.03em}.auth-panel p,.onboarding-panel p{margin:0 0 18px;color:var(--muted);line-height:1.45}.auth-panel form,.onboarding-panel form{display:flex;flex-direction:column;gap:13px}.auth-panel label,.onboarding-panel label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text)}.auth-panel input,.onboarding-panel input{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--text);outline:0}.auth-panel input:focus,.onboarding-panel input:focus{border-color:var(--blueLine);box-shadow:0 0 0 3px var(--blueBg)}.auth-status{border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:9px 10px;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.auth-foot{margin-top:16px!important;font-size:var(--fs-base)}.auth-foot a{color:var(--blue2);font-weight:var(--fw-bold);text-decoration:none}.role-switch span{font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap}.btn:disabled,.create:disabled{opacity:.55;cursor:not-allowed}.create-wrap{gap:0}.create-chev,.create-wrap{display:flex;align-items:center}.create-chev{height:36px;border:0;border-left:1px solid rgba(0,0,0,.18);border-radius:0 8px 8px 0;background:var(--green);color:#061b0a;font-weight:var(--fw-bold);padding:0 8px;cursor:pointer}.create-wrap .create{border-radius:8px 0 0 8px}.create-menu{position:absolute;top:42px;right:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:180px;z-index:120;padding:6px;display:flex;flex-direction:column}.create-menu button{background:none;border:0;text-align:left;padding:8px 10px;border-radius:6px;font-weight:var(--fw-bold);color:var(--text);cursor:pointer}.create-menu button:hover{background:var(--soft)}.drawer-error{margin:12px 0;padding:10px 12px;border:1px solid var(--status-risk-line);background:#fef2f2;color:#991b1b;border-radius:8px;font-size:var(--fs-base);font-weight:var(--fw-bold)}.assistant-reopen{position:fixed;right:18px;bottom:90px;height:38px;padding:0 14px;display:flex;align-items:center;gap:8px;background:#111;color:#fff;border:0;border-radius:999px;box-shadow:var(--shadow);font-weight:var(--fw-bold);cursor:pointer;z-index:90}.assistant-reopen svg{width:16px;height:16px}.beta-onboarding{margin:0 0 16px;border:1px solid var(--blueLine);background:linear-gradient(180deg,#f5faff,#fff);border-radius:12px;padding:14px 16px}.beta-onboarding-collapsed{display:flex;align-items:center;gap:8px;color:#0f4a82;font-size:var(--fs-base);font-weight:var(--fw-bold);background:#eff6ff;border:1px solid var(--blueLine);border-radius:10px;padding:8px 12px;margin:0 0 16px}.beta-onboarding-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.beta-onboarding-bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-bottom:12px}.beta-onboarding-bar-fill{height:100%;background:var(--blue2);transition:width .3s ease}.beta-onboarding-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.beta-onboarding-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line)}.beta-onboarding-step.done{background:#f0fdf4;border-color:#bbf7d0}.beta-onboarding-step.errored{background:#fef2f2;border-color:var(--status-risk-line)}.beta-onboarding-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:var(--muted);font-weight:var(--fw-bold);font-size:var(--fs-base)}.beta-onboarding-step.done .beta-onboarding-mark{background:#22c55e;color:#fff}.beta-onboarding-step.errored .beta-onboarding-mark{background:#dc2626;color:#fff}.beta-onboarding-body{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.beta-onboarding-label{font-weight:var(--fw-bold);color:var(--text);font-size:var(--fs-base)}.beta-onboarding-hint{font-size:var(--fs-xs);color:var(--muted)}.avatar-btn{border:0}.production-empty{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.03);padding:24px;max-width:760px}.production-empty h1,.production-empty h2{margin:0 0 8px;letter-spacing:-.03em}.production-empty p{margin:0 0 16px;color:var(--muted);line-height:1.5}.inline-empty{border:1px dashed var(--status-paused-line);border-radius:10px;background:#fbfcfe;padding:16px;color:var(--muted)}.inline-empty h3{margin:0 0 6px;color:var(--text);font-size:var(--fs-md)}.inline-empty p{margin:0;line-height:1.45}.inline-empty .actions{margin-top:12px}.prod-form{display:grid;grid-gap:10px;gap:10px;margin-bottom:16px}.prod-form input,.prod-form select,.prod-form textarea{border:1px solid var(--line);border-radius:8px;padding:0 10px;outline:0;min-width:0}.prod-form input,.prod-form select{height:36px}.prod-form textarea{min-height:68px;padding-top:8px;resize:vertical;font:inherit}.prod-form input:focus,.prod-form select:focus,.prod-form textarea:focus{border-color:var(--blueLine);box-shadow:0 0 0 3px var(--blueBg)}.module-page{display:grid;grid-gap:16px;gap:16px}.module-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:16px;gap:16px;align-items:start}.module-main{display:grid;grid-gap:14px;gap:14px;min-width:0}.module-detail{padding:14px;display:grid;grid-gap:12px;position:-webkit-sticky;position:sticky;top:0}.module-detail,.module-toolbar{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.03);gap:12px}.module-toolbar{padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.module-toolbar .filters{min-width:0}.module-table td b,.module-table td small{display:block}.module-table td small{margin-top:3px;color:var(--muted);font-size:var(--fs-xs)}.link-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;color:var(--blue);font:inherit;font-weight:var(--fw-bold);text-align:left;cursor:pointer}.link-cell:hover{text-decoration:underline}.module-table tbody tr:nth-child(2n) td{background:#fafbfc}.module-table tbody tr:hover td{background:#f2f6fc}.selected-row td{background:var(--blueBg)!important}.detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px}.detail-head h2{margin:2px 0 0;font-size:var(--fs-lg);letter-spacing:-.03em}.detail-actions{display:flex;gap:7px;flex-wrap:wrap}.detail-section{border:1px solid var(--line);border-radius:10px;background:#fbfcfe;padding:12px;display:grid;grid-gap:8px;gap:8px}.detail-section h3{margin:0;font-size:var(--fs-base)}.detail-row{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:9px 10px;text-align:left;color:var(--text);display:block}.detail-row:hover{background:var(--soft)}.detail-row b,.detail-row span{display:block}.detail-row span{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}.compact-form{margin:0}.compact-form h3{margin:0 0 2px}.form-grid-tight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.module-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.module-split{display:grid;grid-template-columns:minmax(0,1fr) 310px;grid-gap:14px;gap:14px;align-items:start}.module-split>.table-card{min-width:0}.vehicle-card-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));grid-gap:14px;gap:14px}.vehicle-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px;text-align:left;color:var(--text);box-shadow:0 1px 2px rgba(16,24,40,.03);display:grid;grid-gap:10px;gap:10px}.vehicle-card.active,.vehicle-card:hover{border-color:var(--blueLine);background:#f7fbff}.vehicle-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.vehicle-icon{width:42px;height:42px;border-radius:10px;background:var(--blueBg);color:var(--blue2);display:grid;place-items:center}.vehicle-icon i{width:22px;height:22px}.full-span{grid-column:1/-1}.integration-grid,.report-card-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));grid-gap:14px;gap:14px}.integration-card,.report-shell-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px;box-shadow:0 1px 2px rgba(16,24,40,.03);display:grid;grid-gap:12px;gap:12px;text-align:left;color:var(--text)}.integration-card h3,.report-shell-card b{margin:0;font-size:var(--fs-md)}.integration-card p,.report-shell-card p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.4}.report-shell-card:hover{border-color:var(--blueLine);background:#f7fbff}.builder-shell{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:14px;gap:14px}.preview-panel{min-height:260px;display:grid;place-items:center;padding:16px}.module-map-shell{min-height:420px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.module-map-shell.compact-map{min-height:260px}.map-empty-card{position:absolute;left:28px;top:28px;width:min(340px,calc(100% - 56px))}.permission-matrix{display:grid;grid-gap:8px;gap:8px}.audit-filters{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));grid-gap:10px;gap:10px}.audit-filters label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:var(--fs-sm)}.audit-table td,.audit-table th{vertical-align:top}.audit-value{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-detail{max-width:980px}.audit-detail pre{max-height:360px;overflow:auto;background:#0b1220;color:#e6edf7;border-radius:8px;padding:12px;font-size:var(--fs-sm);line-height:1.45}@media (max-width:1200px){.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-parity-shell .weather-strip{border-bottom:1px solid var(--line);border-top:0}.schedule-body{background:var(--card);border-top:1px solid var(--line);min-height:560px}.schedule-body .cal-scroll{overflow:auto;padding:10px 12px}.mini-month{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.mini-month button{height:28px;border:1px solid var(--line);background:var(--card);border-radius:7px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text)}.mini-month button.active{background:#111;color:#fff;border-color:#111}.mini-month button.muted-month,.month-cell.muted-month{background:var(--soft);color:var(--faint)}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));grid-auto-rows:118px;min-width:840px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--card);overflow:auto}.month-head{height:34px;background:var(--soft);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 10px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted)}.month-cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);text-align:left;padding:8px;display:flex;flex-direction:column;gap:5px;overflow:hidden}.month-cell:hover{background:var(--blueBg)}.month-num{font-size:var(--fs-sm);color:var(--text)}.month-job,.month-num{font-weight:var(--fw-bold)}.month-job{border:1px solid var(--blueLine);background:var(--blueBg);color:var(--blue2);border-radius:6px;padding:3px 5px;font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-job.green{background:var(--greenBg);border-color:var(--status-done-line);color:var(--green2)}.month-job.amber{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.month-job.red{background:var(--status-risk-bg);border-color:var(--status-risk-line);color:var(--red)}.month-job.tinted{background:var(--tintBg);border-color:var(--tintLine);color:var(--tintText)}.month-view{overflow:auto}.dispatch-month .month-cell{cursor:default}.dispatch-month .month-job{display:block;width:100%;text-align:left;cursor:-webkit-grab;cursor:grab}.dispatch-month .month-job.on{outline:2px solid var(--blue2);outline-offset:0}.dispatch-month .month-cell.is-today{background:#f5f9ff;box-shadow:inset 0 0 0 2px var(--blueLine)}.dispatch-month .month-cell{position:relative}.month-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.month-day-cap{font-size:9px;font-weight:var(--fw-bold);color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-dots{display:flex;flex-wrap:wrap;gap:3px;margin:1px 0 2px}.month-dot{width:6px;height:6px;border-radius:99px;background:var(--blue2,#1a73e8)}.month-dot.green{background:#2e7d32}.month-dot.amber{background:#e8a400}.month-dot.red{background:var(--red,#d93025)}.month-more{border:0;background:transparent;color:var(--blue2);font-size:var(--fs-xs);font-weight:var(--fw-bold);cursor:pointer;padding:1px 0;text-align:left}.month-more:hover{text-decoration:underline}.month-day-pop{position:absolute;top:4px;left:4px;right:4px;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:240px;display:flex;flex-direction:column;overflow:hidden}.month-day-pop-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid var(--line);font-size:var(--fs-xs)}.month-day-pop-x{border:0;background:transparent;font-size:var(--fs-md);line-height:1;cursor:pointer;color:var(--muted)}.month-day-pop-body{padding:7px;overflow:auto;display:flex;flex-direction:column;gap:4px}.schedule-week-grid{grid-template-columns:190px repeat(7,minmax(130px,1fr));min-width:1120px}.schedule-shell{display:grid;grid-template-columns:240px minmax(0,1fr) 280px;grid-gap:16px;gap:16px;align-items:start}.schedule-side{display:grid;grid-gap:12px;gap:12px}.seg.vertical{display:grid;grid-gap:6px;gap:6px;background:transparent;padding:0}.schedule-grid-shell{display:grid;grid-gap:12px;gap:12px}.schedule-grid-head{color:var(--muted);font-size:var(--fs-sm)}.schedule-grid-body,.schedule-grid-head{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.schedule-grid-body{min-height:280px}.schedule-cell{border:1px solid var(--line);border-radius:8px;background:var(--card);min-height:132px;padding:8px;display:flex;flex-direction:column;gap:6px}@media (max-width:1100px){.schedule-shell{grid-template-columns:1fr}.schedule-grid-body,.schedule-grid-head{grid-template-columns:repeat(2,1fr)}}.mini-select{height:28px;border:1px solid var(--line);border-radius:7px;background:var(--card);padding:0 8px;font-size:var(--fs-sm);font-weight:var(--fw-bold)}@media (max-width:1200px){.main{grid-template-columns:1fr}.assistant,.search{display:none}}.dispatch-bucket-dock{border-top:1px solid var(--line);background:var(--soft);border-radius:0 0 12px 12px;margin-top:0}.dispatch-bucket-dock .bucket-tabs{display:flex;align-items:center;gap:6px;padding:6px 10px;flex-wrap:wrap;border-bottom:1px solid transparent}.dispatch-bucket-dock.expanded .bucket-tabs{border-bottom-color:var(--line);background:var(--card)}.dispatch-bucket-dock .bucket-tab{height:30px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:0 11px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text);cursor:pointer}.dispatch-bucket-dock .bucket-tab b{min-width:20px;height:18px;border-radius:99px;background:var(--status-paused-bg);color:var(--text);display:grid;place-items:center;padding:0 5px;font-size:var(--fs-xs)}.dispatch-bucket-dock .bucket-tab:hover{background:var(--soft)}.dispatch-bucket-dock .bucket-tab.on{background:var(--blueBg);border-color:var(--blueLine);color:var(--blue2)}.dispatch-bucket-dock .bucket-tab.on b{background:#d8e8ff;color:var(--blue2)}.dispatch-bucket-dock .bucket-tab.unscheduled.on{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.dispatch-bucket-dock .bucket-tab.unscheduled.on b{background:#fde9a3;color:var(--status-active)}.dispatch-bucket-dock .bucket-tab.unassigned.on{background:var(--status-risk-bg);border-color:var(--status-risk-line);color:var(--red)}.dispatch-bucket-dock .bucket-tab.unassigned.on b{background:#f6c8c4;color:var(--red)}.dispatch-bucket-dock .bucket-tab.partial.on{background:var(--greenBg);border-color:var(--status-done-line);color:var(--green2)}.dispatch-bucket-dock .bucket-tab.partial.on b{background:#cbe9c0;color:var(--green2)}.dispatch-bucket-dock .bucket-tab.paused.on{background:var(--status-paused-bg);border-color:var(--status-paused-line);color:var(--status-paused)}.dispatch-bucket-dock .bucket-tab.paused.on b{background:#dfe5ee;color:var(--text)}.dispatch-bucket-dock .bucket-collapse{margin-left:auto;height:28px;width:28px;border:1px solid var(--line);background:var(--card);border-radius:7px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.dispatch-bucket-dock .bucket-collapse:disabled{opacity:.45;cursor:not-allowed}.dispatch-bucket-dock .bucket-tray{display:flex;align-items:stretch;gap:10px;padding:10px 12px;overflow-x:auto;background:var(--card);border-radius:0 0 12px 12px;min-height:108px}.dispatch-bucket-dock .bucket-tray.empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.dispatch-bucket-dock .bucket-empty-msg{padding:24px 0;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.dispatch-bucket-dock .bucket-job-card{flex:0 0 240px;text-align:left;border:1px solid var(--line);border-left:4px solid var(--blueLine);border-radius:9px;background:var(--card);padding:8px 10px;display:flex;flex-direction:column;gap:3px;cursor:-webkit-grab;cursor:grab;font-size:var(--fs-xs);color:var(--text);position:relative}.dispatch-bucket-dock .bucket-job-card:active{cursor:-webkit-grabbing;cursor:grabbing}.dispatch-bucket-dock .bucket-job-card:hover{outline:2px solid var(--blueLine)}.dispatch-bucket-dock .bucket-tab.ai-suggest-btn{margin-left:auto;background:var(--blueBg);border-color:var(--blueLine);color:var(--blue2)}.dispatch-bucket-dock .bucket-job-card.on{outline:2px solid var(--blue);background:var(--blueBg)}.dispatch-bucket-dock .bucket-job-card .title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text);margin:0}.dispatch-bucket-dock .bucket-job-card .service{font-weight:var(--fw-bold);color:var(--muted)}.dispatch-bucket-dock .bucket-job-card .when,.dispatch-bucket-dock .bucket-job-card .where,.dispatch-bucket-dock .bucket-job-card .who{font-size:var(--fs-xs);color:var(--muted)}.dispatch-bucket-dock .bucket-job-card.unscheduled{border-left-color:var(--status-active-line)}.dispatch-bucket-dock .bucket-job-card.unassigned{border-left-color:var(--status-risk-line)}.dispatch-bucket-dock .bucket-job-card.openpo{border-left-color:#9334e6}.dispatch-bucket-dock .bucket-job-card.partial{border-left-color:var(--status-done-line)}.dispatch-bucket-dock .bucket-job-card.paused{border-left-color:var(--status-paused-line)}.dispatch-bucket-dock .bucket-job-card.followup{border-left-color:var(--blue)}.dispatch-bucket-dock .bucket-job-card .badges{position:absolute;top:8px;right:8px;display:flex;gap:4px}.dispatch-bucket-dock .bucket-job-card .badge{width:16px;height:16px;border-radius:99px;background:var(--status-paused-bg);color:var(--muted);display:grid;place-items:center}.dispatch-bucket-dock .bucket-job-card .badge svg{width:10px;height:10px}.dispatch-bucket-dock .bucket-job-card .status-stripe{display:none}.batch-toolbar{justify-content:space-between;margin-bottom:12px}.batch-toolbar,.batch-toolbar-left,.batch-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.batch-selected-pill{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--blue2);background:var(--blueBg);border:1px solid var(--blueLine);border-radius:99px;padding:4px 10px}.batch-search{min-width:220px}.batch-pagesize,.batch-search{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font-size:var(--fs-sm)}.batch-pagesize{font-weight:var(--fw-bold);background:var(--card)}.batch-table td,.batch-table th{padding:6px 9px;font-size:var(--fs-sm)}.batch-table th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:var(--fw-bold)}.batch-table tbody tr:hover,.batch-table th{background:var(--soft)}.batch-empty-row{padding:36px 12px;text-align:center;color:var(--muted);font-weight:var(--fw-bold);background:#fbfcfe}.batch-status-bar{display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 7px;border-radius:6px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:#fff;border-left:3px solid rgba(0,0,0,.18);min-width:96px;justify-content:center;text-transform:uppercase;letter-spacing:.04em}.batch-status-bar,.batch-status-bar.blue{background:var(--blue)}.batch-status-bar.green{background:var(--green2)}.batch-status-bar.amber{background:#b88a00;color:#fff}.batch-status-bar.red{background:var(--red)}.batch-modal-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}.batch-modal-row{display:grid;grid-template-columns:28px 140px minmax(0,1fr) 80px;align-items:center;grid-gap:10px;gap:10px;padding:6px 0;border-bottom:1px dashed var(--status-paused-bg)}.batch-modal-row:last-child{border-bottom:0}.batch-modal-row .field-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--muted);background:var(--status-paused-bg);border-radius:7px}.batch-modal-row .field-icon svg{width:14px;height:14px}.batch-modal-row .field-label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text)}.batch-modal-row .field-control input,.batch-modal-row .field-control select,.batch-modal-row .field-control textarea{width:100%;height:32px;border:1px solid var(--line);border-radius:7px;padding:0 9px;font-size:var(--fs-sm);background:var(--card)}.batch-modal-row .field-control textarea{height:auto;min-height:34px;padding:7px 9px;resize:vertical}.batch-modal-row .field-clear{font-size:var(--fs-xs);text-align:right}.batch-modal-row-techs{align-items:start}.batch-modal-row-techs .field-control{padding-top:2px}.unassigned-card{padding:8px}.event{padding:5px 7px}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;align-items:flex-start}.kanban-col{flex:0 0 290px;background:var(--soft);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 320px);min-height:240px}.kanban-col-head{padding:10px 12px;border-bottom:1px solid var(--line);justify-content:space-between;background:var(--card);border-radius:12px 12px 0 0}.kanban-col-head,.kanban-col-title{display:flex;align-items:center;gap:8px}.kanban-col-title{font-size:var(--fs-base)}.kanban-col-count{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.kanban-col-sum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.kanban-col-body{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.kanban-empty{color:var(--muted);text-align:center;padding:16px 4px;border:1px dashed var(--line);border-radius:8px;background:var(--card)}.kanban-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.kanban-card-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.kanban-card-customer{font-size:var(--fs-sm);color:var(--text)}.kanban-card-total{font-size:var(--fs-base);font-weight:var(--fw-black);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kanban-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.kanban-age{font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:999px;padding:2px 8px;border:1px solid var(--line);background:var(--soft);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kanban-age-warn{color:#7a4a00;border-color:var(--amber);background:var(--status-active-bg)}.kanban-age-stuck{color:#7a1d17;border-color:var(--red);background:#fdecea}.holding-area{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-top:12px;overflow:hidden}.holding-tabs{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--soft);flex-wrap:wrap}.holding-tab{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border:1px solid var(--line);background:var(--card);font-size:var(--fs-sm);color:var(--text);cursor:pointer;white-space:nowrap}.holding-tab,.holding-tab b{border-radius:999px;font-weight:var(--fw-bold)}.holding-tab b{font-size:var(--fs-xs);color:var(--muted);background:var(--soft);padding:1px 8px;border:1px solid var(--line);min-width:22px;text-align:center}.holding-tab.on{background:var(--blueBg)}.holding-tab.on,.holding-tab.on b{border-color:var(--blueLine);color:var(--blue2)}.holding-tab.on b{background:var(--card)}.holding-tab:hover{background:var(--soft)}.holding-tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px;padding:10px}.holding-tray.empty{padding:14px}.holding-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px 10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-align:left;cursor:pointer;font:inherit;color:inherit}.holding-card .status-stripe{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:10px 0 0 10px;background:var(--line)}.holding-card.on{outline:2px solid var(--blueLine);background:#f7faff}.holding-card .title{font-size:var(--fs-base)}.holding-card .service,.holding-card .when{font-size:var(--fs-xs);color:var(--muted)}.holding-card .when{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.holding-card .who{font-size:var(--fs-xs);color:var(--muted)}.holding-card:hover{background:#fbfcfe}.bucket-empty-msg{color:var(--muted);font-size:var(--fs-sm);text-align:center;padding:6px}.tech-capacity{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--muted)}.tech-capacity .tech-cap-chip{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tech-capacity .tech-cap-chip.warn{background:var(--status-active-bg);border-color:var(--amber);color:#7a4a00}.launchpad-grid{display:flex;flex-direction:column;gap:14px;margin-top:16px}.launchpad-row{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.launchpad-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:var(--fs-base)}.launchpad-row-link{border:0;background:transparent;color:var(--blue2);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;padding:2px 4px;border-radius:6px}.launchpad-row-link:hover{background:var(--blueBg)}.launchpad-counters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.launchpad-counter{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .12s ease}.launchpad-counter:hover{background:var(--card);border-color:var(--blueLine)}.launchpad-counter-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted)}.launchpad-counter-value{font-size:26px;font-weight:var(--fw-black);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.launchpad-counter-foot{font-size:var(--fs-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cw-workspace{display:flex;flex-direction:column;gap:12px}.cw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.cw-head-left{display:flex;flex-direction:column;gap:4px;min-width:0}.cw-head-left h2{margin:0;font-size:20px;letter-spacing:-.03em}.cw-head-meta{gap:8px}.cw-head-actions,.cw-head-meta{display:flex;align-items:center;flex-wrap:wrap}.cw-head-actions{gap:6px}.cw-iconbtn{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--card);display:grid;place-items:center;text-decoration:none;color:var(--text);font-size:var(--fs-base)}.cw-iconbtn:hover{background:var(--soft)}.cw-create-wrap{position:relative}.cw-create-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;min-width:140px;z-index:30}.cw-create-menu button{border:0;background:transparent;text-align:left;padding:7px 10px;border-radius:6px;font:inherit;font-weight:var(--fw-bold);color:var(--text);cursor:pointer}.cw-create-menu button:hover{background:var(--soft)}.cw-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;padding-bottom:0;margin-top:4px}.cw-tab{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;background:transparent;font:inherit;font-size:var(--fs-sm);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.cw-tab,.cw-tab b{font-weight:var(--fw-bold);color:var(--muted)}.cw-tab b{font-size:var(--fs-xs);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:1px 7px;min-width:22px;text-align:center}.cw-tab.on{color:var(--blue2);border-bottom-color:var(--blue2)}.cw-tab:hover:not(.on){background:var(--soft)}.cw-tab-body{display:flex;flex-direction:column;gap:10px;padding:10px 0 4px}.cw-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:900px){.cw-grid-2{grid-template-columns:1fr}}.cw-block{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.cw-block header{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-sm);color:var(--text)}.cw-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);text-align:left;cursor:pointer;font:inherit;color:inherit}.cw-row:hover{background:#fbfcfe}.cw-row-static{cursor:default}.cw-row b{font-size:var(--fs-sm)}.cw-row span{font-size:var(--fs-xs);color:var(--muted)}.cw-empty{color:var(--muted);font-size:var(--fs-sm);text-align:center;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fbfcfe}.presentation-mode{display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.presentation-mode-on{position:fixed;inset:0;z-index:120;border-radius:0;border:0;padding:32px;background:var(--card);overflow:auto}.presentation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.presentation-head h2{margin:0;font-size:22px;letter-spacing:-.03em}.presentation-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.presentation-status{padding:18px;text-align:center;color:var(--muted);background:var(--soft);border-radius:8px}.presentation-error{color:#7a1d17;background:#fdecea}.presentation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:900px){.presentation-grid{grid-template-columns:1fr}}.presentation-tier{display:flex;flex-direction:column;background:var(--soft);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .18s ease}.presentation-tier.is-mid{border-color:var(--blueLine);border-width:2px;background:var(--card)}.presentation-tier.is-mid.is-selected{box-shadow:0 0 0 2px var(--blueLine)}.presentation-tier.is-selected:not(.is-mid){border-color:var(--blueLine);background:var(--card)}.presentation-tier-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:var(--card);border-bottom:1px solid var(--line)}.presentation-tier.is-mid .presentation-tier-head{background:var(--blueBg)}.presentation-tier-head strong{font-size:var(--fs-md);letter-spacing:-.02em}.presentation-recommended{font-size:var(--fs-xs);letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--blue2);background:var(--card);border:1px solid var(--blueLine);border-radius:999px;padding:2px 8px;text-transform:uppercase}.presentation-tier-body{padding:10px 14px;display:flex;flex-direction:column;gap:8px;min-height:140px}.presentation-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line2,#edf1f6)}.presentation-line:last-child{border-bottom:0}.presentation-line-desc{display:flex;flex-direction:column;gap:1px;min-width:0}.presentation-line-desc b{font-size:var(--fs-sm)}.presentation-line-desc span{font-size:var(--fs-xs);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.presentation-line-total{font-size:var(--fs-sm);font-weight:var(--fw-bold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.presentation-empty{color:var(--muted);font-size:var(--fs-sm);text-align:center;padding:14px 4px;border:1px dashed var(--line);border-radius:8px;background:#fbfcfe}.presentation-tier-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--card)}.presentation-tier-total{display:flex;flex-direction:column;gap:0}.presentation-tier-total b{font-size:var(--fs-lg);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.presentation-signature{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.presentation-sign-row{display:flex;flex-direction:column;gap:4px}.presentation-sign-row input{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;background:var(--card)}.presentation-sign-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.presentation-resign,.presentation-signed{display:flex;align-items:center;justify-content:space-between;gap:8px}.presentation-resign{background:var(--status-active-bg);border:1px solid var(--amber);border-radius:8px;padding:8px 10px}.canvass-workspace{display:grid;grid-template-columns:320px 1fr;grid-gap:12px;gap:12px;min-height:560px}@media (max-width:900px){.canvass-workspace{grid-template-columns:1fr}}.canvass-rail{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:0}.canvass-rail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.canvass-rail-head h2{margin:0;font-size:var(--fs-lg);letter-spacing:-.03em}.canvass-rail-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.canvass-stat{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:6px}.canvass-stat b{font-size:var(--fs-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.canvass-rail-filters{display:flex;gap:6px;flex-wrap:wrap}.canvass-rail-filters .chip{padding-left:8px}.canvass-rail-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:360px;padding-right:4px}.canvass-rail-empty{color:var(--muted);font-size:var(--fs-sm);text-align:center;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fbfcfe}.canvass-rail-lead{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-align:left;font:inherit;color:inherit;cursor:pointer}.canvass-rail-lead:hover{background:#fbfcfe}.canvass-rail-lead.on{background:var(--blueBg);border-color:var(--blueLine)}.canvass-rail-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line);flex-shrink:0}.canvass-rail-lead-text{display:flex;flex-direction:column;gap:0;min-width:0;flex:1 1}.canvass-rail-lead-text b{font-size:var(--fs-sm)}.canvass-rail-lead-text b,.canvass-rail-lead-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvass-rail-lead-status,.canvass-rail-lead-text span{font-size:var(--fs-xs);color:var(--muted)}.canvass-rail-lead-status{text-transform:uppercase;letter-spacing:.04em}.canvass-rail-detail{display:flex;flex-direction:column;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:10px}.canvass-rail-detail-actions{display:flex;gap:6px;flex-wrap:wrap}.canvass-map{position:relative;border-radius:12px;overflow:hidden;min-height:520px}.canvass-map,.skills-matrix{border:1px solid var(--line)}.skills-matrix{background:var(--card);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}.skills-matrix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.skills-matrix-add{display:flex;gap:6px}.skills-matrix-add input{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;background:var(--card);min-width:240px}.skills-matrix-table{overflow-x:auto}.skills-matrix-chips{display:flex;gap:6px;flex-wrap:wrap}.skills-matrix-chips .chip{cursor:pointer;font-weight:var(--fw-bold)}.skills-matrix-chips .chip:disabled{opacity:.6;cursor:not-allowed}.finance-hero{display:grid;grid-template-columns:minmax(220px,1fr) 1fr auto;grid-gap:18px;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;box-shadow:var(--shadow);margin-bottom:16px}@media (max-width:900px){.finance-hero{grid-template-columns:1fr;gap:12px}}.finance-hero-amount{display:flex;flex-direction:column;gap:2px}.finance-hero-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted)}.finance-hero-value{font-size:48px;line-height:1.05;letter-spacing:-.04em;font-weight:var(--fw-black);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.finance-hero-sub{font-size:var(--fs-base);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.finance-hero-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.finance-hero-secondary-item{display:flex;flex-direction:column;gap:1px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.finance-hero-secondary-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted)}.finance-hero-secondary-value{font-size:var(--fs-base);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.finance-hero-actions{display:flex;align-items:center;gap:6px;justify-self:end}.finance-hero-overflow{position:relative}.canvass-funnel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.canvass-funnel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.canvass-funnel-summary{display:flex;gap:18px;flex-wrap:wrap}.canvass-funnel-summary>div{display:flex;flex-direction:column;gap:0}.canvass-funnel-summary b{font-size:var(--fs-lg);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.canvass-funnel-bars{display:flex;flex-direction:column;gap:10px}.canvass-funnel-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;grid-gap:10px;gap:10px}@media (max-width:700px){.canvass-funnel-row{grid-template-columns:1fr;gap:6px}}.canvass-funnel-label{display:flex;flex-direction:column;gap:0}.canvass-funnel-label b{font-size:var(--fs-base)}.canvass-funnel-track{position:relative;height:28px;background:var(--soft);border:1px solid var(--line);border-radius:8px;overflow:hidden}.canvass-funnel-fill{position:absolute;left:0;top:0;bottom:0;background:var(--blueBg);border-right:1px solid var(--blueLine);display:flex;align-items:center;justify-content:flex-end;padding:0 8px;color:var(--blue2);font-weight:var(--fw-bold);font-size:var(--fs-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:width .35s ease}.canvass-funnel-fill span{padding:0 2px}.canvass-funnel-conversion{display:flex;flex-direction:column;align-items:flex-end;gap:0;min-width:120px;text-align:right}.canvass-funnel-conversion b{font-size:var(--fs-base);color:var(--blue2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.color-axis{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.color-axis-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-bold);color:var(--muted);margin-right:2px}.event.hover-sync,.holding-card.hover-sync{outline:2px solid var(--blueLine);outline-offset:1px}.event.hover-sync{z-index:2}.event.selected-event{box-shadow:0 0 0 2px var(--blue2);z-index:3}.fst-wrap{display:grid;grid-gap:14px;gap:14px;min-width:0}.fst-kpis{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.fst-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:24px;gap:24px;align-items:end}.fst-stat{display:flex;flex-direction:column;gap:4px;min-width:0}.fst-stat-value{font-size:30px;font-weight:var(--fw-black);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1}.fst-stat-label{font-size:var(--fs-base);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fst-ribbon{display:flex;height:8px;width:100%;border-radius:4px;overflow:hidden;background:var(--line2)}.fst-ribbon-seg{height:100%}.fst-ribbon-empty{flex:1 1;height:100%;background:var(--line2)}.fst-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.fst-batch-btn{height:34px;border:1px solid var(--green);background:var(--greenBg);color:var(--green2);border-radius:8px;padding:0 14px;font:inherit;font-weight:var(--fw-bold);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.fst-batch-btn:hover{background:#dff3d8}.fst-caret{font-size:var(--fs-xs);line-height:1}.fst-filter{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;height:34px}.fst-filter:focus-within{border-color:var(--blueLine);box-shadow:0 0 0 3px var(--blueBg)}.fst-filter-label{display:inline-flex;align-items:center;padding:0 10px;background:var(--soft);color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);border-right:1px solid var(--line);text-transform:none;letter-spacing:0}.fst-filter-input,.fst-filter-select{border:0;outline:0;background:transparent;padding:0 10px;font:inherit;color:var(--text);min-width:120px;height:100%}.fst-filter-select{padding-right:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.fst-table tbody tr:hover{background:#fafbfc}.fst-mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.fst-memo,.fst-mono{color:var(--muted);font-size:var(--fs-sm)}.fst-memo{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fst-amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);font-size:var(--fs-base);color:var(--text)}.fst-dot{font-size:8px;line-height:1}.fst-actions{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end;position:relative}.fst-btn-sm{height:28px;padding:0 10px;font-size:var(--fs-sm);box-shadow:none}.fst-btn-sm.primary{box-shadow:0 2px 6px rgba(26,115,232,.18)}.fst-iconbtn{width:28px;height:28px;color:var(--muted);background:transparent;border:1px solid transparent;font-size:var(--fs-sm)}.fst-iconbtn:hover{background:var(--soft);color:var(--text);border-color:var(--line)}.fst-overflow{position:relative}.fst-payment-row{background:var(--soft)}.fst-payment-row td{padding:14px 12px}.fst-payment-form{display:grid;grid-template-columns:140px 140px 1fr auto;grid-gap:12px;gap:12px;align-items:end}.fst-form-cell{display:flex;flex-direction:column;gap:6px}.fst-form-cell label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--muted)}.fst-form-cell input,.fst-form-cell select{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;outline:0}.fst-form-cell input:focus,.fst-form-cell select:focus{border-color:var(--blueLine);box-shadow:0 0 0 3px var(--blueBg)}.fst-form-cell-wide{min-width:0}.fst-payment-actions{display:inline-flex;gap:8px;align-self:end}@media (max-width:900px){.fst-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fst-payment-form{grid-template-columns:1fr 1fr;gap:10px}.fst-payment-actions{grid-column:1/-1;justify-content:flex-end}}.cf-page{display:flex;flex-direction:column;gap:0;padding:0}.cf-actionbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;justify-content:space-between;padding:12px 16px;background:rgba(246,248,251,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.cf-actionbar,.cf-actionbar-left{display:flex;align-items:center;gap:12px}.cf-actionbar-left,.cf-title{min-width:0}.cf-title{display:flex;flex-direction:column;line-height:1.1}.cf-title .small{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.cf-title h2{margin:0;font-size:var(--fs-lg)}.cf-actionbar-right{flex:0 0 auto}.cf-body{display:flex;flex-direction:column;gap:16px;padding:16px}.cf-section{padding:18px}.cf-section-head{margin-bottom:14px}.cf-section-head h3{margin:0;font-size:var(--fs-md)}.cf-section-sub{margin:4px 0 0;font-size:var(--fs-sm)}.cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 16px;gap:12px 16px}.cf-field{margin-bottom:0;min-width:0}.cf-field-full{grid-column:1/-1}.cf-field textarea{border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit;outline:0;resize:vertical}.cf-field textarea:focus{border-color:var(--blueLine);box-shadow:0 0 0 3px var(--blueBg)}.cf-error{color:var(--red);font-size:var(--fs-sm);font-weight:var(--fw-bold);margin-top:2px}.cf-toggle-row{display:flex;flex-wrap:wrap;gap:8px}.cf-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px 6px 8px;cursor:pointer;font:inherit;color:var(--text)}.cf-toggle.on,.cf-toggle:hover{border-color:var(--blueLine)}.cf-toggle.on{background:var(--blueBg)}.cf-toggle-track{width:34px;height:18px;border-radius:999px;background:var(--line);position:relative;flex:0 0 auto;transition:background .15s}.cf-toggle.on .cf-toggle-track{background:var(--blue)}.cf-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px rgba(16,24,40,.2);transition:left .15s}.cf-toggle.on .cf-toggle-thumb{left:18px}.cf-toggle-label{display:flex;flex-direction:column;font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:1.15}.cf-toggle-label small{font-weight:var(--fw-medium);color:var(--muted)}.cf-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.cf-tag{display:inline-flex;align-items:center;gap:6px}.cf-tag button{border:0;background:transparent;cursor:pointer;font-size:var(--fs-base);line-height:1;color:var(--muted);padding:0}.cf-tag button:hover{color:var(--red)}.cf-repeat{display:flex;flex-direction:column;gap:8px}.cf-repeat-row{display:flex;gap:8px;align-items:center}.cf-repeat-row select{flex:0 0 110px}.cf-repeat-row .cf-grow{flex:1 1 auto;min-width:0}.cf-repeat-row .cf-ext{flex:0 0 70px}.cf-add{align-self:flex-start}.cf-days{display:flex;flex-wrap:wrap;gap:6px}.cf-loc-list{list-style:none;margin:0;padding:0;gap:8px}.cf-loc-list,.cf-loc-list li{display:flex;flex-direction:column}.cf-loc-list li{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.cf-loc-list li span{font-size:var(--fs-sm)}.cf-footer-actions{display:flex;justify-content:flex-end;gap:10px;padding:4px 0 8px}@media (max-width:760px){.cf-grid{grid-template-columns:1fr}.cf-actionbar{flex-direction:column;align-items:stretch;gap:10px}.cf-actionbar-right{display:flex;justify-content:flex-end}.cf-repeat-row{flex-wrap:wrap}.cf-repeat-row .cf-ext,.cf-repeat-row select{flex:1 1 100%}}@media (max-width:1536px){.topbar{padding:0 14px;gap:10px}.navbtn{padding:0 8px;font-size:var(--fs-sm);gap:5px}.search{width:210px}.kbd{display:none}.subbar{padding:0 14px}.subbtn{padding:0 10px;font-size:var(--fs-sm)}.page{padding:16px}.page-head{margin-bottom:14px}.page-head h1{font-size:21px}.kpi .val{font-size:26px}.grid{gap:12px}.cols4{grid-template-columns:repeat(4,minmax(150px,1fr))}.cols3{grid-template-columns:repeat(3,minmax(180px,1fr))}.cal-body,.cal-body.alt-view{grid-template-columns:minmax(0,1fr) 300px}.calendar-shell.detail-expanded .cal-body{grid-template-columns:minmax(0,1fr) 380px}.calendar-shell.detail-collapsed .cal-body{grid-template-columns:minmax(0,1fr) 58px}.calendar-shell.detail-hidden .cal-body{grid-template-columns:minmax(0,1fr)}.daygrid{grid-template-columns:140px repeat(12,minmax(82px,1fr));min-width:1124px}.week-grid{grid-template-columns:150px repeat(7,minmax(104px,1fr));min-width:878px}.schedule-week-grid{grid-template-columns:150px repeat(7,minmax(112px,1fr));min-width:934px}.month-calendar{grid-template-columns:repeat(7,minmax(96px,1fr));grid-auto-rows:104px;min-width:672px}.module-shell{grid-template-columns:minmax(0,1fr) 300px;gap:12px}.module-split{grid-template-columns:minmax(0,1fr) 280px}.builder-shell{grid-template-columns:280px minmax(0,1fr)}.integration-grid,.report-card-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.finance-hero{padding:14px 18px}.finance-hero-value{font-size:38px}}@media (max-width:1536px) and (min-width:1201px){.main{grid-template-columns:minmax(0,1fr) 300px}.audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-popover{right:344px}}@media (max-width:1536px) and (min-width:1101px){.schedule-shell{grid-template-columns:220px minmax(0,1fr) 250px}}