@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--canvas: #f4f7fa;--surface: #ffffff;--surface-soft: #f8fafc;--border: #e9eef3;--border-strong: #d6dee6;--text: #1d2630;--muted: #6b7a8d;--ink: #1d2630;--brand: #d42228;--brand-hover: #b01d22;--brand-active: #8f171b;--brand-tint: #fdeeee;--blue: #2f6f9f;--green: #1f8a5b;--teal: #087f75;--gold: #c77700;--red: #c0392b;--slate: #3a4658;--shadow-1: 0 1px 12px 0 rgba(62, 76, 102, .06);--shadow-2: 0 2px 20px 0 rgba(62, 76, 102, .08);--shadow-8: 0 8px 28px 0 rgba(62, 76, 102, .12);--shadow: var(--shadow-1);--radius-md: 10px;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text);font-size:16px;line-height:1.45}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.drawer{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#1b2431;border-right:1px solid #1b2431;padding:14px 12px}.drawer-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.drawer .brand-title{color:#fff}.drawer-nav{display:grid;gap:4px;flex:1;align-content:start}.drawer-nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-left:3px solid transparent;border-radius:8px;background:transparent;color:#a9b7c6;padding:11px 12px;font-weight:600;font-size:.92rem;text-align:left;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.drawer-nav button .nav-ico{display:inline-flex;color:#8595a8}.drawer-nav button:hover{background:#ffffff0f;color:#fff}.drawer-nav button:hover .nav-ico{color:#fff}.drawer-nav button.active{background:linear-gradient(90deg,#d4222838,#d422280a);color:#fff;border-left-color:var(--brand);border-radius:0 8px 8px 0}.drawer-nav button.active .nav-ico{color:#ff5a5f}.drawer-foot{display:grid;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.drawer-foot .primary-button{width:100%}.drawer-user{display:flex;align-items:center;gap:10px}.drawer-user .avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--brand);color:#fff;font-weight:700;font-size:.82rem;flex:none}.drawer-user-meta{min-width:0}.drawer-user .u-name{font-size:.86rem;font-weight:600;color:#eaf0f6}.drawer-user .u-sub{font-size:.74rem;color:#8595a8}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{display:grid;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-1);padding:16px;min-width:0}.stat-label{font-size:.82rem;color:var(--muted)}.stat-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.trend-chip{font-size:.74rem;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.trend-chip.up{background:#e7f4ee;color:#1f8a5b}.trend-chip.down{background:#fbe9e7;color:#c0392b}.trend-chip em,.mom-chip em{font-style:normal;font-size:.64rem;opacity:.7;font-weight:700;margin-left:1px}.mom-chip{font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:999px;white-space:nowrap;background:#eef1f5;border:1px solid transparent}.mom-chip.up{color:#1f8a5b;border-color:#cfe9dc}.mom-chip.down{color:#c0392b;border-color:#f3d6d1}.stat-note{font-size:.76rem;color:var(--muted)}.sparkline{width:100%;height:40px;display:block}.sparkline-empty{height:40px}.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:10px 22px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-2)}.appbar-brand{display:flex;align-items:center;gap:10px;flex:none}.top-nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.top-nav button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px 14px;font-weight:500;cursor:pointer}.top-nav button:hover{background:var(--surface-soft);color:var(--text)}.top-nav button.active{background:transparent;color:var(--brand);font-weight:600;border-radius:0;box-shadow:inset 0 -2px 0 var(--brand)}.topline{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.topline h1{margin:2px 0 0;font-size:1.5rem}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px;position:sticky;top:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:18px 24px}.app-header h1{margin:3px 0 0;font-size:1.95rem;font-weight:800;letter-spacing:-.01em}.app-header .eyebrow{font-size:.82rem}.app-header-right{display:flex;align-items:center;gap:12px}.header-dd{position:relative}.icon-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover,.icon-btn.active{background:var(--brand-tint);color:var(--brand);border-color:var(--brand-tint)}.notif-dot{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:.62rem;font-weight:700;border-radius:999px}.user-chip{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:600;color:var(--text)}.user-chip:hover,.user-chip.active{border-color:var(--brand)}.avatar.sm{width:30px;height:30px;font-size:.72rem;border-radius:999px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}.user-chip-name{font-size:.86rem}.dd-panel{position:absolute;top:calc(100% + 8px);right:0;width:264px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-8);z-index:100;overflow:hidden;animation:ddIn .15s ease-out}@keyframes ddIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.dd-head{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px;font-weight:700;border-bottom:1px solid var(--border)}.dd-head span{font-size:.72rem;color:var(--brand);font-weight:600}.dd-item{display:block;width:100%;text-align:left;padding:10px 14px;border:0;border-bottom:1px solid var(--border);background:transparent}.dd-item strong{display:block;font-size:.88rem;color:var(--text)}.dd-item span{font-size:.76rem;color:var(--muted)}.dd-item.btn{cursor:pointer;font-weight:600;color:var(--text)}.dd-item.btn:hover:not(:disabled){background:var(--surface-soft)}.dd-item.btn.danger{color:var(--red)}.dd-item.btn:disabled{color:var(--muted);cursor:default}.dd-foot{padding:9px 14px;font-size:.74rem;color:var(--muted);text-align:center}.vat-auto-hint{font-weight:400;font-size:.72rem;color:var(--brand)}.vat-auto-check{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.78rem;color:var(--muted);cursor:pointer}.vat-auto-check input{width:auto;margin:0;accent-color:var(--brand)}.primary-button.sm{padding:6px 13px;font-size:.82rem;box-shadow:none}.pay-sub{font-size:.74rem;color:var(--muted);margin-top:2px}.pay-chip{display:inline-block;font-size:.74rem;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.pay-chip.paid{background:#e7f4ee;color:#1f8a5b}.pay-chip.due{background:#f1f4f8;color:#6b7a8d}.pay-chip.warn{background:#fdeeee;color:#c0392b}.eyebrow{color:var(--teal);font-weight:600;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.dash-grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.dash-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.panel-head h3{margin:0;font-size:1rem;font-weight:500}.panel-note{color:var(--muted);font-size:.78rem}.donut-chart{display:flex;flex-direction:column;align-items:center;gap:14px}.donut-ring{width:100%;display:flex;justify-content:center}.donut-chart svg{width:100%;max-width:200px;height:auto;flex:none;filter:drop-shadow(0 2px 5px rgba(16,24,40,.07))}.donut-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;font-size:.96rem;color:#45505d;width:100%}.donut-legend span{display:inline-flex;align-items:center;gap:7px;min-width:0}.donut-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.dl-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-pct{margin-left:auto;font-weight:700;color:#2f3a47;font-variant-numeric:tabular-nums}.rank-list{display:grid;gap:4px}.rank-row{position:relative;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:6px 10px;border-radius:7px;font-size:.9rem;overflow:hidden}.rank-fill{position:absolute;left:0;top:0;bottom:0;border-radius:7px;opacity:.15;z-index:0}.rank-row>:not(.rank-fill){position:relative;z-index:1}.rank-num{font-weight:800;font-size:.82rem;color:#9aa4b2;text-align:center}.rank-row.top3 .rank-num{color:#4c6ef5}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2f3a47;font-weight:600}.rank-val{font-weight:700;font-variant-numeric:tabular-nums;color:#45505d}.rank-empty{color:#9aa4b2;font-size:.86rem;padding:8px}.hbar-chart{display:grid;gap:8px}.hbar-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:.82rem}.hbar-label{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:9px;border-radius:5px;background:var(--surface-soft);overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:5px}.hbar-val{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.chart-empty{color:var(--muted);font-size:.86rem;padding:16px 4px}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:#1f2937;color:#fff}.brand-block{display:flex;gap:12px;align-items:center;padding:8px 8px 24px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#e23b40,#b01d22);color:#fff;font-weight:800;box-shadow:0 6px 14px -4px #d4222880}.brand-title{font-weight:800;font-size:1.04rem}.brand-subtitle{color:var(--muted);font-size:.78rem;margin-top:2px}.side-nav{display:grid;gap:8px}.side-nav button{width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:#e5e7eb;padding:12px;text-align:left;cursor:pointer}.side-nav button span{display:block;font-weight:760}.side-nav button small{display:block;margin-top:4px;color:#9ca3af;line-height:1.3}.side-nav button.active,.side-nav button:hover{background:#ffffff12;border-color:#ffffff24}.content{min-width:0;padding:24px 28px 48px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.topbar h1{margin:0;font-size:1.6rem;letter-spacing:0}.topbar p{margin:7px 0 0;color:var(--muted);font-size:.92rem}.topbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.meta-pill{border:1px solid var(--border);border-radius:999px;padding:8px 11px;background:var(--surface);color:var(--muted);font-size:.84rem;white-space:nowrap}.primary-button{border:0;border-radius:8px;padding:9px 18px;background:var(--brand);color:#fff;font-weight:600;box-shadow:0 6px 14px -4px #d4222873;cursor:pointer;transition:background .15s,box-shadow .15s}.primary-button:hover{background:var(--brand-hover);box-shadow:var(--shadow-2)}.primary-button:disabled{opacity:.6;cursor:wait}.secondary-button,.ghost-button,.text-button{border-radius:8px;cursor:pointer}.secondary-button{border:1px solid var(--brand);background:transparent;color:var(--brand);padding:8px 16px;font-weight:600}.secondary-button:hover{background:var(--brand-tint)}.ghost-button{border:1px solid var(--border);background:var(--surface);color:#1f2937;padding:9px 13px;font-weight:720}.ghost-button:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}.text-button{border:0;background:transparent;color:var(--brand);padding:6px 2px;font-weight:500}.text-button.danger{color:var(--red)}.text-button.inline{justify-self:start;padding:0;color:var(--green);font-size:.86rem}.page{display:grid;gap:16px}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.section-heading h2{margin:0;font-size:1.34rem}.section-heading p{margin:5px 0 0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-grid.compact{grid-template-columns:repeat(2,minmax(220px,1fr))}.metric-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:720px){.metric-grid.cols-3,.metric-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.center-cell{text-align:center}.company-cell{text-align:center;font-weight:600}.company-cell.co-iw{background:#fdecec;color:#a4262c}.company-cell.co-tb{background:#e9f1fb;color:#285a86}.flow-total-badge{margin-left:auto;display:inline-flex;align-items:baseline;gap:4px;padding:4px 12px;border-radius:999px;background:var(--brand-tint, #fbf4f4);color:var(--brand, #d42228)}.flow-total-badge strong{font-size:1.15rem;font-weight:800;line-height:1}.flow-total-badge em{font-style:normal;font-size:.78rem;font-weight:600}.chart-tip{position:fixed;transform:translate(-50%,calc(-100% - 8px));z-index:90;padding:6px 11px;background:#1e293bf2;color:#fff;font-size:.78rem;font-weight:600;border-radius:8px;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px #0003}.toast-notify{position:fixed;top:18px;left:50%;z-index:200;max-width:90vw;padding:11px 22px;border-radius:999px;background:#1e293bf0;color:#fff;font-size:.88rem;font-weight:600;box-shadow:0 10px 28px #0000003d;pointer-events:none;animation:toastInOut 3s ease forwards}@keyframes toastInOut{0%{opacity:0;transform:translate(-50%,-14px)}12%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-14px)}}@media(prefers-reduced-motion:reduce){.toast-notify{animation:none}}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:15px;min-width:0;box-shadow:var(--shadow)}.metric-card:before{content:"";display:block;width:32px;height:3px;border-radius:99px;background:var(--slate);margin-bottom:12px}.metric-blue:before{background:var(--blue)}.metric-green:before{background:var(--green)}.metric-gold:before{background:var(--gold)}.metric-red:before{background:var(--red)}.metric-label{color:var(--muted);font-size:.8rem}.metric-value{margin-top:7px;font-size:1.28rem;font-weight:820;line-height:1.2}.metric-note{margin-top:5px;color:var(--muted);font-size:.82rem}.chart-panel,.table-panel,.issue-card,.product-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.chart-panel{padding:16px}.combo-card{display:grid;gap:0;padding:0;align-items:stretch}.combo-card.combo-3{grid-template-columns:1fr 1fr 1fr}.combo-card.combo-2{grid-template-columns:1fr 1fr}.combo-section{padding:14px 16px;border-right:1px solid var(--border);min-width:0}.combo-card .combo-section:last-child{border-right:none}.combo-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.combo-head h4{margin:0;font-size:.95rem;font-weight:700;color:#2f3a47}.combo-head span{font-size:.76rem;color:var(--muted);white-space:nowrap}@media(max-width:900px){.combo-card.combo-3,.combo-card.combo-2{grid-template-columns:1fr}.combo-section{border-right:none;border-bottom:1px solid var(--border)}.combo-card .combo-section:last-child{border-bottom:none}}.chart-legend{display:flex;gap:10px;justify-content:flex-end;margin-bottom:12px}.legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.84rem}.legend-item:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--blue)}.legend-gold:before{background:var(--gold)}.bar-chart{display:grid;grid-template-columns:repeat(12,minmax(48px,1fr));gap:8px;align-items:end;min-height:235px;overflow-x:auto}.bar-month{display:grid;gap:8px;align-content:end;min-width:48px}.bar-stack{display:flex;align-items:end;justify-content:center;gap:4px;height:190px;border-bottom:1px solid var(--border)}.bar-wrap{display:flex;align-items:end;width:16px;height:190px}.bar{width:100%;border-radius:5px 5px 0 0;min-height:0}.bar-blue{background:var(--blue)}.bar-gold{background:var(--gold)}.bar-label{text-align:center;color:var(--muted);font-size:.76rem}.table-panel{overflow:auto}.table-panel.wide{max-height:68vh}table{width:100%;border-collapse:collapse;min-width:820px}th,td{border-bottom:1px solid #eef1f5;padding:10px 13px;text-align:left;vertical-align:middle;font-size:.9rem}th{position:sticky;top:0;z-index:1;background:#f4f6f9;color:#5b6573;font-weight:700;font-size:.8rem;letter-spacing:.01em;white-space:nowrap;border-bottom:2px solid #d7dde6}td{background:var(--surface);transition:background .12s ease;color:#303a47}tbody tr:nth-child(2n) td{background:#fafbfd}tbody tr:hover td{background:#eef4fb}tbody tr.total-row td,tbody tr.sum-row td{border-top:2px solid #d7dde6;font-weight:700}.stat-card,.metric-card,.closed-group,.deal-row,.closed-row,.money-cell{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.stat-card:hover,.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}.deal-row:hover,.closed-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--brand-tint)}.closed-group:hover{box-shadow:var(--shadow-2)}.page{animation:pageIn .26s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.icon-btn:hover,.user-chip:hover{box-shadow:var(--shadow-1)}.table-panel::-webkit-scrollbar,.work-modal-body::-webkit-scrollbar{width:9px;height:9px}.table-panel::-webkit-scrollbar-thumb,.work-modal-body::-webkit-scrollbar-thumb{background:#cdd6e0;border-radius:999px}.table-panel::-webkit-scrollbar-thumb:hover,.work-modal-body::-webkit-scrollbar-thumb:hover{background:#aab6c4}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.strong{font-weight:800}.wide-cell{min-width:190px;max-width:360px}.danger-text{color:var(--red);font-weight:780}.filter-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.seg-field{display:grid;gap:6px;color:var(--muted);font-size:.88rem}.seg-label{font-weight:600}.company-select-body{display:inline-flex;align-items:center;gap:8px;height:42px}.company-all{height:34px;padding:0 16px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.company-all.active{border-color:var(--ink);background:var(--ink);color:#fff}.company-toggle{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;height:34px;background:#eef1f5;border:1px solid var(--border);border-radius:999px;overflow:hidden;transition:opacity .18s ease}.company-toggle.is-off{opacity:.5}.ct-knob{position:absolute;top:0;bottom:0;left:0;width:50%;border-radius:999px;opacity:0;transform:translate(0);transition:transform .22s cubic-bezier(.4,0,.2,1),background .18s ease,opacity .18s ease}.company-toggle.on-iw .ct-knob{opacity:1;transform:translate(0);background:#f6d2d2}.company-toggle.on-tb .ct-knob{opacity:1;transform:translate(100%);background:#cfe0fb}.ct-opt{position:relative;z-index:1;border:none;background:transparent;padding:0 16px;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .16s ease}.company-toggle.on-iw .ct-opt.active{color:#a4262c}.company-toggle.on-tb .ct-opt.active{color:#1b4f9c}.app-header.company-tint-iw,.app-header.company-tint-tb{transition:background .3s ease,border-color .3s ease}.app-header.company-tint-iw{background:linear-gradient(180deg,#d422281a,#d4222808),var(--surface);border-color:#d4222852}.app-header.company-tint-tb{background:linear-gradient(180deg,#2563eb1a,#2563eb08),var(--surface);border-color:#2563eb52}.segmented{display:inline-flex;background:#eef1f5;border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.seg-item{border:none;background:transparent;color:#5b6573;font-size:.86rem;font-weight:600;padding:5px 14px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap}.seg-item:hover{color:#2f3a47}.seg-item.active{background:#fff;color:var(--accent, #2f6db0);box-shadow:0 1px 3px #1018281f}.goal-empty{color:#9aa4b2;font-size:.95rem;padding:8px 2px}.goal-gauge{display:grid;gap:10px}.goal-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.goal-pct{display:flex;align-items:baseline;gap:6px}.goal-pct-num{font-size:2rem;font-weight:800;color:var(--accent, #2f6db0);font-variant-numeric:tabular-nums}.goal-pct-label{font-size:.9rem;color:#6b7480}.goal-amounts{text-align:right;font-size:.92rem}.goal-amounts b{font-variant-numeric:tabular-nums}.goal-muted{color:#8b95a1;font-size:.84rem}.goal-bar{position:relative;height:16px;background:#edf1f5;border-radius:999px;overflow:visible}.goal-fill{height:100%;background:linear-gradient(90deg,#4a8fd0,#2f6db0);border-radius:999px;transition:width .4s ease}.goal-proj{position:absolute;top:-3px;width:3px;height:22px;background:#b03b3b;border-radius:2px;transform:translate(-50%)}.goal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.88rem;color:#56606c}.goal-foot b{font-variant-numeric:tabular-nums}.goal-tag{font-size:.78rem;font-weight:700;padding:2px 9px;border-radius:999px}.goal-tag.good{background:#e8f6ee;color:#1f7a44}.goal-tag.warn{background:#fef3e7;color:#9a6a1e}.goal-tag.bad{background:#fdeaea;color:#b03b3b}.monthly-table-scroll{width:100%;overflow-x:auto}.table-panel th,.table-panel td{border-right:1px solid #eef1f5}.table-panel th:last-child,.table-panel td:last-child{border-right:none}.monthly-table-x th,.monthly-table-x td{border-right:1px solid #eef1f5}.monthly-table-x th:last-child,.monthly-table-x td:last-child{border-right:none}.monthly-flow-wrap{position:relative}.monthly-hover-table{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .28s ease,margin-top .3s ease}.monthly-flow-wrap:hover .monthly-hover-table{max-height:320px;opacity:1;margin-top:12px;overflow-x:auto;overflow-y:hidden}.monthly-trend{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.82rem;color:#56606c;flex-wrap:wrap}.mt-item{font-weight:600}.mt-sep{color:#c4ccd6}.mt-hint{margin-left:auto;font-size:.74rem;color:#9aa4b2}.pct-tag{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.pct-tag.up{color:#1f8a5b}.pct-tag.down{color:#c0392b}.pct-flat{color:#b6bdc7}.monthly-table-x .pct-row th{color:#8b95a1;font-weight:600}.monthly-table-x .pct-row td{font-size:.72rem}.monthly-hover-table .monthly-table-x{font-size:.74rem}.monthly-hover-table .monthly-table-x th,.monthly-hover-table .monthly-table-x td{padding:4px 6px}.monthly-table-x{width:100%;border-collapse:collapse;font-size:.84rem;text-align:center}.monthly-table-x th,.monthly-table-x td{padding:6px 8px;border-bottom:1px solid #eef1f4;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.monthly-table-x thead th{color:#8b95a1;font-weight:600;background:#f7f9fc}.monthly-table-x tbody th{color:#56606c;font-weight:700;background:#fafbfc;position:sticky;left:0}.monthly-table-x .total-col{font-weight:700;color:#2f3a47;background:#f4f6f9}.monthly-table-x .forecast-row td,.monthly-table-x .forecast-row th{color:#9a6a1e}.monthly-table-x .sum-row td,.monthly-table-x .sum-row th{border-top:2px solid #dde3ea;font-weight:700;color:#2f3a47}.control{display:grid;gap:6px;color:var(--muted);font-size:.88rem}.control select,.control input,.control textarea{height:42px;min-width:132px;border:1px solid var(--border-strong);border-radius:8px;padding:0 10px;background:var(--surface);color:var(--text)}.control select:focus,.control input:focus,.control textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #d4222833}.control textarea{height:auto;padding:9px 10px;line-height:1.45}.search-control input{min-width:230px}.segmented{display:flex;gap:8px;flex-wrap:wrap}.segmented button{border:1px solid var(--border);border-radius:8px;padding:9px 13px;background:var(--surface);color:var(--muted);cursor:pointer}.segmented button.active{border-color:var(--brand);color:var(--brand);background:var(--brand-tint);font-weight:600}.sales-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,660px),1fr));gap:16px}.sales-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.sales-workspace{display:block}.entry-panel,.sales-side-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.entry-panel{padding:14px}.entry-panel-head,.side-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.side-panel-head{display:grid;align-items:start}.side-panel-head span{color:var(--muted);font-size:.78rem}.side-panel-head strong{line-height:1.35;overflow-wrap:anywhere}.image-upload-box{display:grid;gap:9px;margin-bottom:14px;padding:12px;border:1px solid #d6e1d9;border-radius:8px;background:#f5fbf7}.image-dropzone{border:2px dashed var(--border);border-radius:12px;background:#fafbfc;transition:border-color .15s ease,background .15s ease;margin-top:2px}.image-dropzone.drag{border-color:var(--brand, #d42228);background:var(--brand-tint, #fbf4f4)}.image-dropzone input[type=file]{display:none}.image-dropzone-inner{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 14px;cursor:pointer;text-align:center}.image-dropzone-inner strong{font-size:.95rem;color:var(--brand, #d42228)}.image-dropzone-inner span{font-size:.8rem;color:var(--muted)}.image-dropzone-inner b{color:var(--ink)}.image-upload-box>div:first-child{display:grid;gap:3px}.image-upload-box strong{color:#173b34;font-size:.9rem}.image-upload-box span{color:var(--muted);font-size:.78rem}.selected-file-name{padding:7px 8px;border-radius:6px;background:#fff;color:#0f766e;font-size:.78rem;overflow-wrap:anywhere}.registered-image-list{display:grid;gap:7px;padding-top:8px;border-top:1px solid #d6e1d9}.registered-image-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;align-items:center}.registered-image-row>button{display:block;width:54px;height:42px;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#fff;padding:0;cursor:pointer}.registered-image-row img{width:100%;height:100%;object-fit:cover;display:block}.registered-image-row div{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:8px}.registered-image-row strong{min-width:0;color:#173b34;font-size:.78rem;overflow-wrap:anywhere}.entry-form-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end}.entry-form-grid.single{grid-template-columns:1fr}.entry-form-grid.two-column{grid-template-columns:repeat(2,minmax(180px,1fr))}.wide-control{grid-column:span 2}.memo-control{grid-column:1 / -1}.memo-control textarea{min-height:78px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;margin-top:12px}.check-control{display:flex;align-items:center;gap:8px;min-height:38px;color:#1f2937;font-size:.94rem;font-weight:760}.check-control input{width:17px;height:17px}.check-control.compact{min-height:auto;font-size:.9rem}.sales-side-panel{position:sticky;top:18px;padding:14px}.side-form-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:12px}.side-form-actions .side-submit{width:100%}.side-form-actions .side-submit:only-child{grid-column:1 / -1}.side-panel-empty{display:grid;gap:8px;color:var(--muted);line-height:1.5}.side-panel-empty strong{color:#1f2937}.log-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.log-toggle{padding:6px 12px;font-size:.84rem}.change-log-list{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.change-log-hint{font-size:.78rem;color:var(--muted);margin-bottom:4px}.change-log-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--border)}.log-action{font-size:.72rem;font-weight:600;padding:2px 0;border-radius:999px;text-align:center}.log-action.create{color:#1f8a5b}.log-action.update{color:#185fa5}.log-action.delete{color:#c0392b}.change-log-main p{margin:0;font-size:.9rem;color:var(--text);overflow-wrap:anywhere}.change-log-main span{font-size:.74rem;color:var(--muted)}.actuals-panel .actuals-year{margin-top:12px}.actuals-year-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 2px 8px}.actuals-year-head strong{font-size:.92rem}.actuals-year-head span{font-size:.78rem;color:var(--muted)}.actuals-panel tr.has-outstanding td{background:#fef6f5}.actuals-panel tr.is-forecast td{background:#f3f7fd;color:#555}.fc-badge{display:inline-block;margin-left:6px;font-size:.66rem;font-weight:600;color:#185fa5;background:#e3edf8;padding:1px 6px;border-radius:999px;vertical-align:middle}.money-cell.expected .money-value{color:#185fa5}.deal-money-line{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px;font-size:.84rem;font-weight:500;color:var(--ink)}.deal-money-line .dm-out{color:#c0392b;font-weight:600}.deal-memos{margin-top:3px;font-size:.72rem;color:#185fa5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-memo{font-size:.76rem;color:var(--muted);max-width:180px;white-space:normal;word-break:break-word}.progress-add-form{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.progress-add-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.progress-add-head strong{font-size:.92rem;color:var(--brand, #d42228)}.progress-add-head span{font-size:.76rem;color:var(--muted)}.image-pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px}.image-pop{background:#fff;border-radius:14px;padding:18px 20px;width:min(520px,94vw);max-height:86vh;overflow:auto;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;gap:8px}.report-export-actions{display:flex;gap:8px;align-items:center}.overdue-row td{background:#fef6f5}.overdue-badge{display:inline-block;margin-left:6px;font-size:.68rem;font-weight:700;color:#fff;background:#c0392b;padding:1px 7px;border-radius:999px}@media print{.drawer,.no-print,.report-export-actions,.filter-row,.page-toolbar .filter-row{display:none!important}.app-shell{display:block;background:#fff}.app-main,.page{padding:0!important;margin:0}body{background:#fff}table{font-size:10px}.table-panel{overflow:visible!important}section,.dash-grid-2,.metric-grid{break-inside:avoid}}.reveal-toggle{margin-top:12px;padding:8px 16px;border:1px dashed var(--brand, #d42228);background:#fff;color:var(--brand, #d42228);border-radius:8px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;align-self:flex-start}.reveal-toggle:hover{background:#fdf2f2}.slide-reveal{animation:slideInDown .22s ease-out}.actuals-panel tr.has-outstanding td.number:last-of-type{color:#c0392b;font-weight:600}.actuals-empty{font-size:.84rem;color:var(--muted);margin:8px 2px 0;line-height:1.5}.progress-step.editing{outline:2px solid var(--brand, #d42228);outline-offset:1px;border-radius:8px}.progress-edit{display:flex;flex-direction:column;gap:10px;padding:13px;background:var(--brand-tint, #fbf4f4);border:1px solid var(--border);border-radius:10px}.progress-edit select,.progress-edit textarea,.progress-edit input{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:7px;font:inherit;background:#fff;box-sizing:border-box}.progress-edit textarea{resize:vertical}.progress-edit select:focus-visible,.progress-edit textarea:focus-visible,.progress-edit input:focus-visible{outline:2px solid var(--brand, #d42228);outline-offset:1px;border-color:var(--brand, #d42228)}.progress-edit-row{display:grid;grid-template-columns:1fr 1fr .8fr 1.1fr;gap:8px}.progress-date-field{display:flex;flex-direction:column;gap:2px}.progress-date-field>span{font-size:11px;color:var(--text-tertiary, #8a8782)}.progress-date-field>input{width:100%}.progress-edit-actions{display:flex;gap:8px;margin-top:2px}.progress-edit-actions .primary-button,.progress-edit-actions .ghost-button{padding:6px 16px;font-size:.85rem}.sales-view-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.sales-view-row .view-left{grid-column:1;justify-self:start}.sales-view-row .view-center{grid-column:2;justify-self:center}.sales-view-row .view-right{grid-column:3;justify-self:end}@media(max-width:768px){.sales-view-row{grid-template-columns:1fr}.sales-view-row .view-left,.sales-view-row .view-center,.sales-view-row .view-right{grid-column:1;justify-self:start}}.segmented.pill button{font-size:.82rem}.panel-hint{font-size:.76rem;color:var(--muted);font-weight:400}.money-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 4px}.money-cell{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface, #fff)}.money-label{font-size:.74rem;color:var(--muted)}.money-value{font-size:1.02rem;font-weight:700}.money-sub{font-size:.68rem;color:var(--muted)}.money-cell.actual .money-value{color:#185fa5}.money-cell.out.has{background:#fef6f5;border-color:#f3c9c4}.money-cell.out.has .money-value{color:#c0392b}.closed-list,.closed-groups{display:grid;gap:8px}.closed-group{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface, #fff)}.closed-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit}.closed-group-head:hover{background:#faf7f7}.cg-caret{color:var(--muted);font-size:.8rem;width:14px}.cg-name{font-weight:700;font-size:.95rem}.cg-cust{font-size:.8rem;color:var(--muted)}.cg-count{font-size:.76rem;color:var(--muted);margin-left:auto}.cg-total{font-size:.85rem;font-weight:600}.closed-group-body{display:grid;gap:6px;padding:0 12px 12px}.closed-group-body .closed-row{background:#fbfbfc}.closed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface, #fff);cursor:pointer}.closed-row:hover{border-color:var(--brand, #d42228)}.closed-main{display:flex;flex-direction:column;gap:2px}.closed-main strong{font-size:.95rem}.closed-main span{font-size:.8rem;color:var(--muted)}.closed-money{display:flex;align-items:center;gap:10px;font-size:.85rem}.done-chip{font-size:.72rem;font-weight:600;color:#1f8a5b;background:#e7f4ee;padding:2px 10px;border-radius:999px}.empty-hint{font-size:.86rem;color:var(--muted);padding:24px 12px;text-align:center;line-height:1.5}.event-edit-list{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.event-edit-list-title{color:#44505f;font-size:.82rem;font-weight:850}.event-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px;border:1px solid #e8ebf1;border-radius:8px;background:#f9fafb}.event-edit-row.editing{border-color:#1f2937;background:#f0f5f7}.event-edit-row strong{display:block;margin-bottom:3px;font-size:.82rem}.event-edit-row span{display:block;color:var(--muted);font-size:.74rem}.event-edit-row p{margin:5px 0 0;line-height:1.4;font-size:.78rem;overflow-wrap:anywhere}.event-edit-actions{display:grid;align-content:start;gap:2px}.event-edit-empty{padding:10px;border-radius:8px;background:#f9fafb;color:var(--muted);font-size:.92rem}.product-card{padding:16px;display:grid;gap:14px;min-width:0}.product-card.new-development{border-color:#9bc6b8}.product-card.selected{border-color:#1f2937;box-shadow:0 0 0 2px #1f293714}.product-title-panel{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dfe4ec;border-radius:8px;background:#eef1f5}.product-title-panel h3{margin:0;font-size:1.15rem;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.product-title-panel p{margin:5px 0 0;color:var(--muted);font-size:.92rem}.product-badges{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end;min-width:74px}.new-badge,.stage-badge,.issue-count-badge{border-radius:999px;padding:4px 8px;font-size:.84rem;font-weight:800;white-space:nowrap}.new-badge{background:#0f766e;color:#fff}.stage-badge{background:#e5edf7;color:#1d4ed8}.issue-count-badge{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted)}.next-action-badge{border-radius:999px;padding:3px 10px;background:#fff7ed;color:#b45309;font-size:.76rem;font-weight:700;white-space:nowrap}.next-action-badge.done{background:#e7f3ef;color:#0f766e}.product-card-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.opportunity-list{display:grid;gap:9px}.opportunity-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3e8ef;border-radius:8px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.opportunity-row:hover,.opportunity-row.selected{border-color:#1f2937;background:#f5f8fb}.opportunity-main{min-width:0;display:grid;gap:5px}.opportunity-main strong{color:#1f2937;font-size:1.02rem;overflow-wrap:anywhere}.opportunity-main span{color:#44505f;font-size:.92rem;line-height:1.42;overflow-wrap:anywhere}.opportunity-meta{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;align-items:center}.opportunity-empty{padding:14px;border:1px dashed #cbd3df;border-radius:8px;background:#f9fafb;color:var(--muted);font-size:.94rem}.issue-card{padding:15px;display:grid;gap:12px}.issue-card-head{display:flex;justify-content:space-between;gap:12px}.issue-card h3{margin:0;font-size:1.02rem}.issue-card p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.issue-card-head span{align-self:flex-start;border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--muted);white-space:nowrap}.latest-change{padding:10px 11px;border-left:3px solid var(--gold);background:#fffbeb;border-radius:4px;line-height:1.4;font-size:1rem}.sales-flow{display:grid;grid-template-columns:repeat(7,minmax(146px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px}.flow-stage-card{position:relative;display:grid;align-content:start;gap:8px;min-width:146px;border:1px solid #e3e8ef;border-radius:8px;background:#f9fafb;padding:10px}.flow-stage-card.has-items{border-color:#c8d6cc;background:#f7fbf8}.flow-stage-card:not(:last-child):after{content:"";position:absolute;top:22px;right:-7px;width:7px;height:1px;background:#cbd3df}.flow-stage-title{color:#44505f;font-size:.88rem;font-weight:850;text-align:center;white-space:nowrap}.flow-items{display:grid;gap:6px;min-height:36px}.flow-item{display:grid;gap:6px;padding:8px;border:1px solid #e8ebf1;border-radius:6px;background:#fff;color:#262626;font-size:.88rem;line-height:1.42;word-break:keep-all;overflow-wrap:anywhere}.event-meta-line{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.quantity-row{display:flex;gap:4px;flex-wrap:wrap}.quantity-row strong{border-radius:999px;padding:2px 6px;background:#e7f3ef;color:#0f766e;font-size:.8rem;line-height:1.25}.flow-empty{display:grid;place-items:center;min-height:30px;color:#9aa3b1;font-size:.86rem}.issue-card ul{margin:0;padding-left:18px;color:#313131;line-height:1.55}.image-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.image-strip a,.image-strip button{display:block;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);padding:0;cursor:pointer}.image-strip img{width:100%;height:100%;object-fit:cover;display:block}.work-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#11182780;animation:backdropFade .16s ease-out}.modal-stage{display:flex;gap:16px;align-items:flex-start;justify-content:center;flex-wrap:wrap;width:100%}.modal-stage .management-modal{width:min(1440px,98vw)}.modal-stage.has-side .management-modal{width:min(720px,52vw)}.modal-stage .product-modal{width:min(760px,94vw)}.modal-stage.has-side .product-modal{width:min(460px,40vw)}.side-form{animation:slideInRight .22s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.side-form,.slide-reveal,.work-modal-backdrop{animation:none}}.work-modal{width:min(1080px,96vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-8)}.product-modal{width:min(760px,94vw)}.management-modal{width:min(1440px,98vw)}.work-modal>form{min-width:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.work-modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid var(--border);background:#eef1f5}.work-modal-head>div{min-width:0;display:grid;gap:4px}.work-modal-head span{color:var(--muted);font-size:.88rem;font-weight:760}.work-modal-head strong{color:#1f2937;font-size:1.26rem;line-height:1.3;overflow-wrap:anywhere}.work-modal-head p{margin:0;color:var(--muted);font-size:.92rem}.modal-head-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}.modal-owner-line{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.modal-owner-line .owner-label{font-size:.8rem;font-weight:700;letter-spacing:.01em;color:#475569;background:#eef2f7;padding:4px 11px;border-radius:7px;white-space:nowrap}.owner-select{padding:6px 12px;font:inherit;font-size:.9rem;border:1px solid var(--border);border-radius:8px;background:#fff;min-width:140px;max-width:220px;cursor:pointer}.owner-value{font-size:.95rem;font-weight:700;color:var(--ink)}.account-row{display:flex;gap:8px;align-items:center}.account-row input{flex:1 1 auto;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}.account-form{display:grid;gap:10px;max-width:380px}.work-modal-body{display:grid;gap:14px;flex:1 1 auto;min-height:0;overflow:auto;padding:16px 18px 18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px 16px;border-top:1px solid var(--border);background:#f9fafb}.modal-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(360px,1.15fr);gap:14px;align-items:start}.modal-section{display:grid;gap:12px;min-width:0;border:1px solid #e3e8ef;border-radius:8px;background:#fff;padding:14px}.modal-section-head{display:grid;gap:4px}.modal-section-head strong{color:#1f2937;font-size:1rem;font-weight:850}.modal-section-head span{color:var(--muted);font-size:.9rem;line-height:1.45}.progress-thread{display:grid;gap:0}.thread-toggle{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;padding:6px 12px;border:1px dashed var(--border);border-radius:8px;background:#fff;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.thread-toggle:hover{color:var(--brand, #d42228);border-color:var(--brand, #d42228)}.thread-toggle-arrow{font-size:.7rem;transition:transform .2s ease}.thread-toggle[aria-expanded=true] .thread-toggle-arrow{transform:rotate(180deg)}.thread-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.thread-collapse.open{grid-template-rows:1fr}.thread-collapse>div{overflow:hidden;min-height:0}.progress-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding-bottom:13px}.progress-step:not(:last-child):after{content:"";position:absolute;top:34px;bottom:0;left:16px;width:2px;background:#cbd3df}.progress-marker{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:2px solid #9fb7ad;background:#f7fbf8;color:#0f766e;font-size:.9rem;font-weight:850}.progress-step.current .progress-marker{border-color:#1f2937;background:#1f2937;color:#fff}.progress-step-body{min-width:0;padding:10px 12px;border:1px solid #e3e8ef;border-radius:8px;background:#fff}.progress-step.current .progress-step-body{border-color:#b8c2cc;background:#f5f8fb}.progress-step-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.progress-step-actions{display:flex;align-items:center;gap:8px;flex:none}.progress-step-actions .text-button{font-size:.8rem;padding:2px 0}.progress-step.editing .progress-step-body{border-color:var(--brand);background:var(--brand-tint)}.progress-step.editing .progress-marker{border-color:var(--brand);background:var(--brand);color:#fff}.progress-step-top strong{color:#1f2937;font-size:1rem}.progress-step-top span{border-radius:999px;padding:3px 8px;background:#edf4f1;color:#0f766e;font-size:.8rem;font-weight:850;white-space:nowrap}.progress-step.current .progress-step-top span{background:#1f2937;color:#fff}.progress-step-body p{margin:7px 0 0;color:#262626;font-size:.94rem;line-height:1.45;overflow-wrap:anywhere}.progress-meta{margin-top:5px;color:var(--muted);font-size:.86rem}.progress-author{margin-top:3px;color:var(--muted);font-size:.76rem;font-weight:600}.entity-tag{display:inline-block;margin-right:6px;padding:1px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);color:var(--muted);font-size:.68rem;font-weight:700;vertical-align:middle}.progress-thread-empty{padding:14px;border:1px dashed #cbd3df;border-radius:8px;background:#f9fafb;color:var(--muted);font-size:.94rem}.image-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#11182794}.image-modal{display:grid;gap:10px;width:min(820px,94vw);max-height:88vh;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 20px 70px #11182747}.image-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:#eef1f5}.image-modal-head strong{min-width:0;overflow-wrap:anywhere}.image-modal-head button{border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:#1f2937;padding:7px 10px;cursor:pointer;white-space:nowrap}.image-modal>img{display:block;width:100%;max-height:calc(88vh - 62px);object-fit:contain;background:#111827}.empty-state,.loading-screen,.inline-error,.inline-info{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:18px;color:var(--muted)}.loading-screen{min-height:100vh;display:grid;place-items:center;font-weight:760}.error-screen{color:var(--red);gap:8px}.inline-error{border-color:#fecaca;background:#fef2f2;color:var(--red);margin-bottom:12px}.inline-info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.document-filter{align-items:end}.document-filter .search-control{flex:1 1 320px}.document-metrics .metric-note{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.success-banner{border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;color:#065f46;padding:10px 12px;font-weight:720}.doc-type-strip{display:flex;flex-wrap:wrap;gap:8px}.doc-type-chip,.doc-type-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--border);background:#eef1f5;color:#44505f;font-size:.8rem;font-weight:760;white-space:nowrap}.doc-type-chip{padding:6px 9px}.doc-type-badge{padding:4px 8px}.doc-link{display:flex;gap:6px;align-items:center}.doc-link span{font-size:.82rem;color:var(--green);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.doc-link-select{height:32px;max-width:220px;border:1px solid var(--border);border-radius:6px;padding:0 8px;background:var(--surface);color:var(--text)}.path-cell{max-width:360px;color:var(--muted);font-size:.82rem;word-break:break-all}.muted-text{color:var(--muted)}.pipeline{display:grid;gap:22px}.stage-group{border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.stage-toggle{margin-left:auto;width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--muted);font-size:.8rem;line-height:1;cursor:pointer;transition:transform .2s ease,color .15s ease,border-color .15s ease}.stage-toggle:hover{color:var(--brand, #d42228);border-color:var(--brand, #d42228)}.stage-toggle.collapsed{transform:rotate(-90deg)}.stage-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .26s ease}.stage-collapse.collapsed{grid-template-rows:0fr}.stage-collapse>.stage-deals{overflow:hidden;min-height:0}.stage-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--brand-tint);border-bottom:2px solid var(--brand)}.stage-name{font-weight:800;font-size:1.2rem;letter-spacing:-.01em;color:var(--brand-active)}.stage-count{color:var(--brand);font-size:.86rem;font-weight:700;background:var(--surface);border:1px solid var(--brand-tint);padding:2px 10px;border-radius:999px}.stage-bar{flex:1;height:6px;border-radius:3px;background:var(--surface);overflow:hidden;max-width:280px}.stage-bar i{display:block;height:100%;background:var(--brand);border-radius:3px}.stage-deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,268px),1fr));gap:14px;padding:16px}@media(min-width:1500px){.stage-deals{grid-template-columns:repeat(5,minmax(0,1fr))}}.deal-card{display:flex;flex-direction:column;gap:9px;padding:16px 18px;border:2px solid var(--border);border-radius:14px;background:var(--surface);text-align:left;cursor:pointer;width:100%;min-width:0;transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease}.deal-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--shadow-2)}.deal-card.selected{border-color:var(--brand);background:var(--brand-tint);box-shadow:var(--shadow-2)}.deal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.deal-card-title{font-size:1rem;font-weight:700;color:var(--ink);overflow-wrap:anywhere;line-height:1.25}.deal-card-sub{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}.deal-card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.owner-chip{display:inline-flex;align-items:center;gap:5px;min-width:0;font-size:.78rem;font-weight:600;color:var(--ink)}.owner-chip .owner-ini{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--brand, #d42228);color:#fff;font-size:.72rem;font-weight:700;font-style:normal;flex-shrink:0}.owner-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-rel-time{font-size:.72rem;color:var(--muted);white-space:nowrap;flex-shrink:0}.deal-stage-summary{display:flex;flex-wrap:wrap;gap:4px}.stage-sum-chip{font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:999px;border:1px solid transparent}.stage-sum-chip.tg-quote{background:#eef2f7;color:#475569}.stage-sum-chip.tg-order{background:#eaf1fb;color:#285a86}.stage-sum-chip.tg-make{background:#fef3e7;color:#9a6a1e}.stage-sum-chip.tg-invoice{background:#fdeaea;color:#b03b3b}.stage-sum-chip.tg-done{background:#e8f6ee;color:#1f7a44}.deal-split{display:flex;gap:12px;align-items:stretch;height:62vh;min-height:360px;max-height:640px}.deal-pane{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;transition:flex-grow .28s ease}.memo-pane{flex:3 1 0;min-width:280px;background:#fbfcfe}.content-pane{flex:7 1 0;min-width:min(780px,100%)}.focus-memo .memo-pane{flex-grow:7.8;min-width:520px}.focus-memo .content-pane{flex-grow:2.2;min-width:420px}.focus-content .content-pane{flex-grow:8.2}.focus-content .memo-pane{flex-grow:1.8;min-width:240px}.focus-memo .content-pane,.focus-content .memo-pane{cursor:pointer}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);background:#f7f9fc;font-size:13px}.pane-head strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pane-hint-mini{font-size:11px;color:#9aa4b2;white-space:nowrap}.pane-balance{border:1px solid var(--border);background:#fff;color:#475569;border-radius:999px;padding:2px 10px;font-size:11px;cursor:pointer;white-space:nowrap}.pane-balance:hover{background:#eef2f7}.memo-feed{flex:1 1 auto;overflow-y:auto;min-height:0;padding:12px;display:flex;flex-direction:column;gap:8px}.memo-empty{margin:auto;color:#9aa4b2;font-size:13px;text-align:center;line-height:1.6}.memo-bubble{background:#fff;border:1px solid #e7ebf1;border-radius:10px;padding:8px 10px;box-shadow:0 1px 2px #1018280a}.memo-bubble-head{display:flex;align-items:center;gap:8px;margin-bottom:3px}.memo-author{font-size:12px;font-weight:700;color:#2f6db0}.memo-time{font-size:11px;color:#9aa4b2}.memo-del{margin-left:auto;border:none;background:none;color:#c4ccd6;cursor:pointer;font-size:12px;line-height:1;padding:2px 4px}.memo-del:hover{color:#d4584a}.memo-text{margin:0;font-size:13px;color:#303a47;line-height:1.5;white-space:pre-wrap;word-break:break-word}.memo-compose{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--border);background:#fff}.memo-compose textarea{flex:1 1 auto;resize:none;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;line-height:1.45;max-height:120px}.memo-compose textarea:focus{outline:none;border-color:#7facd8;box-shadow:0 0 0 3px #7facd82e}.memo-send{border:none;background:#2f6db0;color:#fff;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.memo-send:disabled{background:#c0cad6;cursor:default}.memo-stage-chip{font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;background:#eef2f7;color:#475569}.memo-stage-chip.tg-order{background:#eaf1fb;color:#285a86}.memo-stage-chip.tg-make{background:#fef3e7;color:#9a6a1e}.memo-stage-chip.tg-invoice{background:#fdeaea;color:#b03b3b}.memo-stage-chip.tg-done{background:#e8f6ee;color:#1f7a44}.tranche-amount-edit{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:300px;white-space:normal}.tranche-amount-edit input{flex:1 1 112px;min-width:112px}.tranche-amount-edit select{flex:0 0 66px;min-width:66px}.tranche-amount-edit input.fx{flex:1 1 92px;min-width:92px}.tranche-adding td{background:#f3f8ff}.tranche-empty{text-align:center;color:#9aa4b2;padding:18px 8px;font-size:13px}.content-scroll{flex:1 1 auto;overflow:auto;min-height:0;padding:12px;display:grid;gap:14px}@media(max-width:1040px){.deal-split{flex-direction:column;height:auto;max-height:none;min-height:0}.deal-pane{flex:none!important;min-width:0}.memo-feed{max-height:38vh}.content-scroll{max-height:60vh}}.tranche-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.tranche-table{width:100%;min-width:960px;border-collapse:collapse;font-size:.85rem}.tranche-table th{text-align:left;font-size:.74rem;font-weight:700;color:var(--muted);background:var(--surface-soft, #f7f7f8);padding:7px 9px;border-bottom:1px solid var(--border);white-space:nowrap}.tranche-table td{padding:6px 9px;border-bottom:1px solid var(--border);vertical-align:middle}.tranche-table tr:last-child td{border-bottom:none}.tranche-table td.number{text-align:right;font-variant-numeric:tabular-nums}.tranche-table .tranche-stage{font:inherit;font-size:.82rem;padding:3px 6px;border:1px solid var(--border);border-radius:7px;background:#fff;cursor:pointer;max-width:150px}.tranche-row.tg-quote{background:#fafbfc}.tranche-row.tg-order{background:#f4f8fd}.tranche-row.tg-make{background:#fffaf3}.tranche-row.tg-invoice{background:#fef6f6}.tranche-row.tg-done{background:#f3faf5}.tranche-editing{background:var(--brand-tint, #fbf4f4)}.tranche-editing input,.tranche-editing select{width:100%;font:inherit;font-size:.82rem;padding:4px 6px;border:1px solid var(--border);border-radius:6px;box-sizing:border-box;background:#fff}.tranche-editing .tranche-amount-edit input,.tranche-editing .tranche-amount-edit select{width:auto}.tranche-memo{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.tranche-actions{white-space:nowrap;display:flex;gap:6px;align-items:center}@media(max-width:900px){.tranche-table{font-size:.78rem;min-width:780px}.tranche-table th,.tranche-table td{padding:4px 6px}.tranche-table .tranche-stage{max-width:110px}.tranche-memo{max-width:120px}}.primary-button.sm{padding:4px 10px;font-size:.8rem}.deal-thumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.deal-thumb{height:40px;width:auto;max-width:90px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:#f1f3f5;cursor:pointer;transition:border-color .13s ease,transform .13s ease}.deal-thumb:hover{border-color:var(--brand, #d42228);transform:translateY(-1px)}.deal-thumb-more{font-size:.72rem;font-weight:600;color:var(--muted)}.img-hover-preview{position:fixed;z-index:80;transform:translate(-50%,calc(-100% - 4px));padding:4px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-2);pointer-events:none;animation:previewFade .14s ease-out}.img-hover-preview.below{transform:translate(-50%)}.img-hover-preview img{display:block;max-width:340px;max-height:340px;width:auto;height:auto;border-radius:7px}@keyframes previewFade{0%{opacity:0}to{opacity:1}}.deal-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:2px;padding-top:9px;border-top:1px solid var(--border)}.deal-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.deal-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.deal-type-badge{border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:500;white-space:nowrap}.deal-type-badge.mass{background:#e6f1fb;color:#185fa5}.deal-type-badge.project{background:#e1f5ee;color:#0f6e56}.advance-btn{border:1px solid var(--brand);background:var(--brand-tint);color:var(--brand);border-radius:6px;padding:3px 9px;font-size:.74rem;font-weight:500;white-space:nowrap;cursor:pointer}.advance-btn:hover{background:var(--brand);color:#fff}.advance-btn:disabled{opacity:.5;cursor:wait}.advance-btn.back{border-color:var(--border-strong);background:var(--surface);color:var(--muted)}.advance-btn.back:hover{background:var(--surface-soft);color:var(--text)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.drawer{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.drawer-brand{border-bottom:0;margin-bottom:0;padding:4px 8px}.drawer-nav{grid-auto-flow:column;grid-template-columns:none;flex:1;overflow-x:auto}.drawer-foot{border-top:0;padding-top:0;grid-auto-flow:column;align-items:center}.topbar{display:grid}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid-2,.dash-grid-3{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-workspace{display:block}.sales-side-panel{position:static}.entry-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-grid{grid-template-columns:1fr}}@media(max-width:620px){.content{padding:18px 14px 36px}.stat-grid,.metric-grid,.metric-grid.compact,.sales-grid{grid-template-columns:1fr}.search-control input,.control select,.control input,.control textarea{min-width:100%}.sales-actions{justify-content:stretch}.sales-actions>*{width:100%}.entry-form-grid,.entry-form-grid.single,.entry-form-grid.two-column{grid-template-columns:1fr}.wide-control,.memo-control{grid-column:auto}.work-modal-backdrop{padding:12px;align-items:start}.work-modal{max-height:calc(100vh - 24px)}.work-modal-head{display:grid}.work-modal-body{max-height:calc(100vh - 118px);padding:14px}.modal-actions{padding:12px 14px}.product-title-panel{display:grid}.product-badges{justify-content:flex-start}.opportunity-row{grid-template-columns:1fr}.opportunity-meta{justify-content:flex-start}}.flow-board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:16px 18px 18px;margin-bottom:18px}.flow-board-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}.flow-board-title{font-size:.95rem;font-weight:700;color:var(--ink)}.flow-board-sub{font-size:.78rem;color:var(--muted)}.flow-chart{display:flex;gap:2px;align-items:stretch;width:100%;overflow-x:auto;padding-bottom:2px}.flow-node{--node: #9aa7b3;position:relative;flex:1 1 0;min-width:62px;height:58px;border:1px solid color-mix(in srgb,var(--node) 45%,var(--border));border-top:3px solid var(--node);border-radius:9px;background:color-mix(in srgb,var(--node) calc(var(--fill, 9) * 1%),var(--surface));cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;transition:transform .13s ease,box-shadow .13s ease,background .13s ease}.flow-node:hover:not(.empty){transform:translateY(-2px);background:color-mix(in srgb,var(--node) 18%,var(--surface));box-shadow:var(--shadow-2)}.flow-node.active{background:color-mix(in srgb,var(--node) 22%,var(--surface));box-shadow:var(--shadow-2)}.flow-node.pinned{outline:2px solid var(--node);outline-offset:-2px}.flow-node.empty{cursor:default;opacity:.5;background:var(--surface-soft);border-top-color:var(--border-strong)}.flow-node-count{font-size:1.18rem;font-weight:800;line-height:1;color:var(--node)}.flow-node.empty .flow-node-count{color:var(--muted)}.flow-node-label{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.flow-arrow{flex:0 0 auto;align-self:center;color:var(--border-strong);font-size:1.3rem;font-weight:700;line-height:1;padding:0 1px;-webkit-user-select:none;user-select:none}.flow-empty{flex:1;text-align:center;color:var(--muted);font-size:.82rem;padding:14px 0}.flow-expand{margin-top:12px;border-top:1px dashed var(--border-strong);padding-top:12px;animation:flowReveal .16s ease}@keyframes flowReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.flow-expand-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.flow-expand-head strong{font-size:.88rem;color:var(--ink)}.flow-expand-count{font-size:.72rem;font-weight:700;color:var(--brand);background:var(--brand-tint);padding:2px 8px;border-radius:999px}.flow-expand-hint{font-size:.74rem;color:var(--muted)}.flow-expand-close{margin-left:auto;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.74rem;padding:3px 10px;border-radius:999px;cursor:pointer}.flow-expand-close:hover{border-color:var(--brand);color:var(--brand)}.flow-expand-list{display:flex;flex-wrap:wrap;gap:8px}.flow-deal-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;padding:7px 12px;cursor:pointer;max-width:260px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.flow-deal-chip:hover{transform:translateY(-1px);border-color:var(--brand);box-shadow:var(--shadow-2);background:var(--brand-tint)}.flow-deal-chip strong{font-size:.82rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:236px}.flow-deal-chip span{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:236px}@media(max-width:720px){.flow-node-label{display:none}.flow-node{min-width:46px;height:50px}.flow-arrow{font-size:1rem}}.spark-axis{display:flex;justify-content:space-between;margin-top:2px;font-size:.66rem;color:var(--muted);letter-spacing:-.02em}.forecast-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);cursor:pointer;margin:-4px 0 8px;-webkit-user-select:none;user-select:none}.forecast-toggle input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.login-screen{min-height:100vh;display:grid;place-items:center;background:var(--canvas);padding:24px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-8);padding:32px 28px}.login-brand{display:flex;align-items:center;gap:12px}.login-title{margin:4px 0 0;font-size:1.4rem;color:var(--text)}.login-sub{margin:0;color:var(--muted);font-size:.9rem}.login-card .control input{min-width:0;width:100%}.login-submit{margin-top:6px;width:100%}.weekly-feed{display:grid;gap:16px}.weekly-group{display:grid;gap:6px}.weekly-group-head{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:.92rem;color:var(--text)}.weekly-group-head span{font-size:.74rem;font-weight:600;color:var(--muted)}.weekly-group-list{margin-top:0;padding-top:0;border-top:0}.weekly-row .weekly-who{display:block;opacity:0;max-height:0;overflow:hidden;transition:opacity .12s ease-out}.weekly-row:hover .weekly-who,.weekly-row:focus-visible .weekly-who,.weekly-row:focus-within .weekly-who{opacity:1;max-height:1.6rem}.weekly-row{cursor:default;border-radius:6px}.weekly-row:hover{background:var(--surface-soft)}.weekly-empty{padding:16px;color:var(--muted);font-size:.86rem}.weekly-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:900px){.weekly-two-col{grid-template-columns:1fr}}.weekly-actor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.weekly-edit-strip .metric-card{padding:10px 12px}.weekly-edit-strip .metric-card:before{width:20px;height:2px;margin-bottom:8px}.weekly-edit-strip .metric-value{font-size:1rem;font-weight:700}.weekly-edit-strip .metric-label{font-size:.74rem}.weekly-movement-list{display:grid;gap:2px;margin-top:4px}.weekly-movement-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:6px;border:none;background:none;text-align:left;cursor:pointer;width:100%;color:var(--text);font-size:.86rem;transition:background .1s}.weekly-movement-row:hover{background:var(--surface-soft)}.weekly-movement-row:disabled{cursor:default}.weekly-movement-main{display:flex;flex-direction:column;gap:2px;min-width:0}.weekly-movement-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-movement-stage{color:var(--muted);font-size:.78rem}.weekly-movement-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.weekly-movement-amount{font-weight:700;font-size:.9rem;white-space:nowrap}.weekly-movement-date{color:var(--muted);font-size:.75rem}.weekly-movement-skipped{padding:4px 10px 6px;color:var(--muted);font-size:.78rem}.user-row-actions{display:flex;gap:10px;flex-wrap:wrap}.role-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--surface-soft);color:var(--text-secondary, #5c5a55)}.role-badge.role-admin{background:var(--brand-tint);color:var(--brand)}.role-badge.role-sales{background:#e8f1f8;color:#2f6f9f}.role-badge.role-accounting{background:#e7f4ee;color:#1f8a5b}.role-badge.role-viewer{background:#f2f1ee;color:#8a8782}.role-badge.self{background:#1f2937;color:#fff}.table-panel{-webkit-overflow-scrolling:touch}@media(max-width:820px){.drawer{flex-wrap:nowrap;padding:6px 10px;gap:0;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-brand{padding:2px 10px 2px 0;border-bottom:none;margin-bottom:0;border-right:1px solid rgba(255,255,255,.12);margin-right:8px;flex:none}.drawer-brand>div:not(.brand-mark){display:none}.drawer-nav{display:flex;flex-direction:row;align-items:center;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.drawer-nav::-webkit-scrollbar{display:none}.drawer-nav button{flex:none;width:auto;border-left:none;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;padding:7px 11px;font-size:.83rem;white-space:nowrap;gap:0}.drawer-nav button .nav-ico{display:none}.drawer-nav button.active{background:#ffffff1a;border-left-color:transparent;border-bottom-color:var(--brand);border-radius:8px 8px 0 0}.app-header{padding:12px 14px;margin-bottom:14px}.app-header h1{font-size:1.5rem}.content{padding:14px 14px 36px}}@media(max-width:560px){.content{padding:10px 10px 24px}.app-header{padding:10px 12px;gap:8px;margin-bottom:10px;border-radius:8px}.app-header h1{font-size:1.05rem;letter-spacing:0}.app-header .eyebrow{font-size:.66rem}.app-header-right{gap:6px}.meta-pill,.user-chip-name{display:none}.filter-row{flex-direction:column;align-items:stretch}.filter-row .seg-field,.filter-row .company-select-body{width:100%}.filter-row .company-toggle{flex:1}.metric-grid.cols-3{grid-template-columns:1fr}.work-modal-backdrop{padding:5px}.work-modal{width:96vw;max-height:92vh;border-radius:10px}.product-modal{width:96vw}.work-modal-head{padding:10px 12px}.work-modal-head strong{font-size:1.08rem}.work-modal-body{padding:10px 12px 12px;max-height:calc(92vh - 116px)}.modal-actions{padding:8px 12px}th,td{padding:7px 8px;font-size:.82rem}th{font-size:.72rem}.section-heading h2{font-size:1.05rem}.stat-value{font-size:1.2rem}.content{overflow-x:hidden}.flow-board{padding:12px 12px 14px}.bar-chart{grid-template-columns:repeat(12,minmax(26px,1fr));gap:3px;min-height:180px}.bar-stack{height:140px}.goal-gauge svg,.combo-section svg,.combo-section .donut,.chart-wrap svg{max-width:100%;height:auto}.combo-section{padding:12px}.monthly-table-x{font-size:.68rem}}.nav-pending-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:.6rem;font-weight:700;border-radius:999px;line-height:1;flex-shrink:0}.pending-panel{margin-bottom:16px}.pending-empty{padding:10px 0;color:var(--muted);font-size:.88rem}.signup-link{width:100%;margin-top:4px;color:var(--muted);font-size:.88rem;text-align:center}.ledger-table th.ldg-sticky-1,.ledger-table td.ldg-sticky-1{width:110px;min-width:110px;max-width:110px}.ledger-table th.ldg-sticky-2,.ledger-table td.ldg-sticky-2{width:108px;min-width:108px;max-width:108px}.ledger-table .ldg-sticky-1{position:sticky;left:0;z-index:1}.ledger-table .ldg-sticky-2{position:sticky;left:110px;z-index:1;background:var(--surface)}.ledger-table thead .ldg-sticky-1,.ledger-table thead .ldg-sticky-2{z-index:3;background:#f4f6f9}.ledger-table tbody tr:nth-child(2n) td.ldg-sticky-2{background:#fafbfd}.ledger-table tbody tr:hover td.ldg-sticky-2{background:#eef4fb}.ledger-table .overdue-row td.ldg-sticky-2{background:#fef6f5}.ledger-table .overdue-row:hover td.ldg-sticky-2{background:#fce9e8}.ledger-group-header td{background:#1d2630;color:#dce4ed;font-weight:700;font-size:.78rem;padding:5px 13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:none}.ledger-table .ledger-group-header:hover td{background:#1d2630}.ledger-subtotal td{background:#edf1f7;font-weight:600;font-size:.84rem;color:var(--slate);border-top:1px solid #c5cfe0;border-bottom:1px solid #c5cfe0}.ledger-subtotal td.ldg-sticky-1,.ledger-table .ledger-subtotal:hover td,.ledger-table .ledger-subtotal:hover td.ldg-sticky-1{background:#edf1f7}.ledger-total td{background:#d6e2ef;font-weight:700;font-size:.88rem;color:var(--ink);border-top:2px solid #a3b8cf;border-bottom:none}.ledger-total td.ldg-sticky-1,.ledger-table tfoot tr:hover td,.ledger-table tfoot tr:hover td.ldg-sticky-1{background:#d6e2ef}.status-chip{display:inline-block;font-size:.73rem;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;letter-spacing:.01em}.status-chip.st-paid{background:#e7f4ee;color:#1f8a5b}.status-chip.st-partial{background:#fff4d6;color:#9a5f00}.status-chip.st-due{background:#fdeeee;color:#c0392b}.status-chip.st-forecast{background:#e9f1fb;color:#285a86}.ldg-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--slate)}
