*{box-sizing:border-box;margin:0;padding:0}:root{--ford: #06324f;--ford-bright: #1666a8;--ink: #1a2230;--line: #e3e8ef;--bg: #f4f6f9}body{font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}.app{max-width:2200px;margin:0 auto;padding:18px 24px}.topbar{display:flex;justify-content:space-between;align-items:center;background:var(--ford);color:#fff;border-radius:14px;padding:16px 22px;box-shadow:0 4px 16px #06324f2e}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:46px;height:46px;border-radius:10px;background:#fff;color:var(--ford);font-weight:800;font-size:20px;display:grid;place-items:center;letter-spacing:-1px}.brand-name{font-size:20px;font-weight:700}.brand-sub{font-size:13px;opacity:.8}.month-block{display:flex;align-items:center;gap:18px}.save-stat{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.save-stat.saving{background:#ffffff2e;color:#dfe8f2}.save-stat.saved{background:#2bbd5e38;color:#d4f5df}.save-stat.err{background:#ff5a1f40;color:#ffd9c9}.month-label{font-size:18px;font-weight:600}.search-box{position:relative;flex:1;max-width:420px;margin:0 24px}.search-input{width:100%;padding:9px 14px;border-radius:9px;border:none;font-size:14px;background:#fffffff2;color:#1a2230}.search-input:focus{outline:2px solid var(--ford-bright)}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:50;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 16px 44px #0a1e3c47;max-height:60vh;overflow-y:auto}.search-count{padding:8px 14px;font-size:11px;font-weight:700;color:#93a0b0;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #eef1f5}.search-empty{display:flex;align-items:center;gap:12px;padding:16px;color:#44515f;font-size:14px}.search-empty-icon{font-size:22px;opacity:.7;flex:none}.search-empty-head{font-weight:800;color:#1a2230;font-size:15px}.search-empty-sub{font-size:12px;color:#7d8a95;margin-top:2px}.search-hit{display:grid;grid-template-columns:92px 92px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid #f0f3f7;padding:9px 14px;cursor:pointer;font-size:13px;color:#1a2230}.search-hit:hover{background:#f3f8fd}.hit-tab{font-size:11px;font-weight:700;color:#fff;background:var(--ford);border-radius:20px;padding:2px 8px;text-align:center;white-space:nowrap}.hit-stock{font-weight:700;font-family:ui-monospace,monospace}.hit-name{color:#44515f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hit-status{font-weight:700;font-size:12px;color:#1f4e79;white-space:nowrap}@keyframes row-hit-flash{0%,70%{background:#fff4c2}to{background:transparent}}tr.row-hit td{animation:row-hit-flash 4.5s ease-out}.today-modal{max-width:720px}.today-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 18px}.today-tile{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbfc}.today-tile.total{background:#eef7ee;border-color:#cce6cc}.today-tile-h{font-size:12px;font-weight:700;color:#6b7785;text-transform:uppercase;letter-spacing:.04em}.today-tile-n{font-size:28px;font-weight:800;color:#1a2230;margin:4px 0 2px}.today-tile-n span{font-size:13px;font-weight:600;color:#93a0b0}.today-tile-g{font-size:12px;color:#44515f}.today-sub{font-size:14px;color:var(--ford);display:flex;align-items:center;gap:8px;margin:4px 0 8px}.today-list{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:4px}.today-row{display:grid;grid-template-columns:56px 1.4fr 1.6fr 1fr auto;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid #f0f3f7;font-size:13px}.today-k{font-size:10px;font-weight:800;color:#fff;border-radius:20px;padding:2px 0;text-align:center}.k-new{background:#1f4e79}.k-used{background:#7a5c1f}.today-cust{font-weight:700;color:#1a2230}.today-veh{color:#6b7785}.today-sp{color:#44515f}.today-st{font-weight:700;font-size:12px;color:#1f4e79;white-space:nowrap}.month-select{font-size:17px;font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid #c9ced6;background:#fff;color:#1d2330;cursor:pointer}.archive-banner{background:#fff4d6;border:1px solid #e8c869;color:#5c4708;padding:10px 18px;border-radius:10px;margin:0 0 14px;font-size:14px}.archive-banner .link-btn{background:none;border:none;color:#1d4ed8;font-weight:700;cursor:pointer;text-decoration:underline;font-size:14px;padding:0}.table-wrap.read-only select,.table-wrap.read-only input,.table-wrap.read-only button{pointer-events:none;opacity:.92}.table-wrap.read-only{opacity:.97}.presence-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:8px 14px;background:#f3f8f4;border:1px solid #d6e7da;border-radius:10px;font-size:13px}.presence-live{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#1f7a44;white-space:nowrap}.presence-dot{width:9px;height:9px;border-radius:50%;background:#2bbd5e;box-shadow:0 0 #2bbd5e99;animation:presence-pulse 2s infinite}@keyframes presence-pulse{0%{box-shadow:0 0 #2bbd5e80}70%{box-shadow:0 0 0 7px #2bbd5e00}to{box-shadow:0 0 #2bbd5e00}}.presence-people{display:flex;gap:7px;flex-wrap:wrap}.presence-chip{display:inline-flex;align-items:baseline;gap:6px;background:#fff;border:1px solid #d6e7da;border-radius:20px;padding:3px 11px;color:#2d3a44;font-weight:600}.presence-chip em{font-style:normal;font-weight:500;font-size:11px;color:#7d8a95}.presence-chip.me{background:#1f7a44;border-color:#1f7a44;color:#fff}.presence-chip.me em{color:#bfe6cd}.teams-row{display:flex;gap:8px;align-items:center;margin:10px 0 6px;flex-wrap:wrap}.teams-input{flex:1;min-width:280px;padding:9px 12px;border:1px solid #c9ced6;border-radius:8px;font-size:13px}.teams-status{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px}.teams-on{color:#1f7a44;font-weight:700}.teams-off{color:#9aa4af;font-weight:600}.teams-note{color:#b9770a;font-weight:600}.creds-foot{margin-top:26px;text-align:right}.creds-link{background:none;border:none;color:#b3bcc7;font-size:12px;cursor:pointer;padding:4px}.creds-link:hover{color:#6b7785;text-decoration:underline}.creds-panel{margin-top:22px;border:1px dashed #c9ced6;border-radius:10px;padding:16px;background:#fafbfc}.creds-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#44515f}.creds-close{background:#eef2f7;border:none;border-radius:7px;padding:4px 12px;font-size:12px;font-weight:700;color:#44515f;cursor:pointer}.roll-btn{background:#ffd23f;color:#3a2c00;border:none;border-radius:10px;padding:10px 18px;font-weight:700;font-size:15px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;transition:transform .08s,box-shadow .15s}.roll-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.roll-sub{font-size:11px;font-weight:500;opacity:.75}.add-btn{background:#fff;color:var(--ford);border:none;border-radius:10px;padding:11px 18px;font-weight:700;font-size:15px;cursor:pointer;transition:transform .08s,box-shadow .15s}.add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.lock{font-size:12px}.lock.sm{font-size:10px;margin-left:5px;opacity:.7}.mgr-cell{display:inline-flex;align-items:center}tr.just-added td{animation:flash 2.5s ease-out}@keyframes flash{0%{background:#fff6cc!important}to{background:transparent}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0818288c;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:#fff;border-radius:16px;width:100%;max-width:640px;padding:22px 24px;box-shadow:0 20px 60px #00000059;max-height:92vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:20px;color:var(--ford)}.modal .x{background:none;border:none;font-size:26px;line-height:1;color:#9aa6b2;cursor:pointer}.modal-note{font-size:13px;color:#6b7888;margin:6px 0 16px}.confirm-modal{max-width:460px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.btn-ghost{background:#eef1f5;color:#344;border:1px solid #d4dae2;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer}.btn-ghost:hover{background:#e2e7ee}.btn-danger{background:#c0392b;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-weight:700;cursor:pointer}.btn-danger:hover{background:#a93226}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#5c6b7e}.form-grid label.full{grid-column:1 / -1}.form-grid input,.form-grid select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:500;color:var(--ink)}.form-grid input:focus,.form-grid select:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.lock-field span em{color:#b8860b;font-style:normal;font-weight:700}.form-grid label em{color:#93a0b0;font-style:normal;font-weight:500}.dual-select{display:flex;flex-direction:column;gap:6px}.lock-field select{border-color:#e7c200;background:#fffdf2}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-foot button{padding:10px 20px;border-radius:9px;font-weight:700;font-size:14px;cursor:pointer;border:none}.modal-foot .ghost{background:#eef2f7;color:#5c6b7e}.modal-foot .primary{background:var(--ford);color:#fff}.modal-foot .primary:disabled{background:#b6c2cf;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.stat{background:#fff;border-radius:12px;padding:14px 16px;border-top:4px solid var(--ford-bright);box-shadow:0 1px 4px #1428460f}.stat.clickable{cursor:pointer;transition:transform .08s,box-shadow .15s}.stat.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff5a1f38}.stat-value{font-size:26px;font-weight:800}.stat-label{font-size:13px;color:#5c6b7e;margin-top:2px}.stat-sub{font-size:11px;color:#93a0b0;margin-top:3px}.tabs{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.tab-div{width:1px;height:26px;background:var(--line);margin:0 4px}.tabs button{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 18px;font-size:15px;font-weight:600;color:#5c6b7e;cursor:pointer}.tabs button.active{background:var(--ford);color:#fff;border-color:var(--ford)}.tabs .count{background:#0000001f;border-radius:20px;padding:1px 8px;font-size:12px}.tabs button.active .count{background:#ffffff40}.tabs button.heat-tab{color:#c0392b;border-color:#f3c9c0}.tabs button.heat-tab.active{background:#ff5a1f;color:#fff;border-color:#ff5a1f}.tabs button.info-tab{color:#44515f}.tabs button.info-tab.active{background:#44515f;color:#fff;border-color:#44515f}.people-wrap{background:#fff;border-radius:12px;padding:20px 22px;box-shadow:0 1px 4px #1428460f}.info-note{color:#5c6b7e;font-size:14px;margin-bottom:16px}.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.people-card{border:1px solid var(--line);border-radius:12px;padding:16px}.people-card h3{font-size:15px;color:var(--ford);display:flex;align-items:center;gap:8px;margin-bottom:12px}.people-card h3 .count{background:#eef2f7;color:#5c6b7e;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:700}.people-add{display:flex;gap:8px;margin-bottom:14px}.people-add input{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px}.people-add input:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.people-add button{background:var(--ford);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-weight:700;cursor:pointer}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips-empty{color:#aab4c0;font-size:13px}.people-rows{display:flex;flex-direction:column;gap:6px}.person-row{display:flex;align-items:center;gap:8px}.person-name{min-width:78px;font-size:13px;font-weight:700;color:#1a2230}.person-email{flex:1;min-width:0;padding:5px 9px;border:1px solid var(--line);border-radius:7px;font-size:12px;color:#44515f}.person-email::placeholder{color:#b3bcc7;font-style:italic}.person-email.linked{border-color:#b7e0c4;background:#f3faf5;color:#1f7a44}.person-email:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.person-x{background:#eef2f7;color:#44515f;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center;flex:none}.person-x:hover{background:#ff5a1f;color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;background:#eef2f7;color:#1a2230;border-radius:20px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600}.chip button{background:#d3dbe4;color:#44515f;border:none;border-radius:50%;width:18px;height:18px;cursor:pointer;font-size:13px;line-height:1;display:grid;place-items:center}.chip button:hover{background:#ff5a1f;color:#fff}.goals-block{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.goals-block h3{font-size:15px;color:var(--ford);margin-bottom:12px}.goals-table{width:100%;border-collapse:collapse;font-size:14px}.goals-table th{text-align:left;color:#5c6b7e;font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:2px solid var(--line)}.goals-table th.num,.goals-table td.num{text-align:right}.goals-table td{padding:5px 10px;border-bottom:1px solid #eef1f5}.goals-table input{width:110px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;text-align:right}.goals-table input:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.goal-total-cell{font-weight:700;color:var(--ford);font-variant-numeric:tabular-nums}.goals-table tr.goal-current td{background:#fff8e6}.goal-now{font-size:10px;font-weight:700;background:#ffd23f;color:#3a2c00;border-radius:20px;padding:1px 7px;margin-left:8px}.reports-wrap{display:flex;flex-direction:column;gap:16px}.report-card{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 4px #1428460f}.report-card h3{font-size:16px;color:var(--ford);display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.report-sub{font-size:12px;font-weight:500;color:#93a0b0}.report-table{width:100%;border-collapse:collapse;font-size:14px}.report-table th{text-align:left;color:#5c6b7e;font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;border-bottom:2px solid var(--line)}.report-table td{padding:9px 10px;border-bottom:1px solid #eef1f5}.report-table th.num,.report-table td.num{text-align:right}.report-table td.num{font-variant-numeric:tabular-nums}.report-table tbody tr:hover td{background:#f7f9fb}.report-table tfoot td{padding:10px;font-weight:800;border-top:2px solid var(--line);color:var(--ford)}.report-empty{color:#aab4c0;text-align:center;padding:18px;font-style:italic}.act-col{width:1%;white-space:nowrap}.row-edit{background:#eef2f7;color:#44515f;border:1px solid var(--line);border-radius:7px;padding:4px 12px;font-size:12px;font-weight:700;cursor:pointer}.row-edit:hover{background:var(--ford);color:#fff;border-color:var(--ford)}.edit-foot{align-items:center}.foot-spacer{flex:1}.danger-ghost{background:#fdecec;color:#c0392b}.danger{background:#c0392b;color:#fff}.del-confirm{display:flex;align-items:center;gap:10px;width:100%;font-size:14px;color:#c0392b}.del-confirm span{flex:1}.cleanup-bar{display:flex;align-items:center;gap:10px;background:#fff6e0;border:1px solid #ffe0a3;border-radius:10px;padding:10px 16px;margin-bottom:10px;font-size:14px;color:#7a5800}.cleanup-spacer{flex:1}.cleanup-bar button{padding:8px 16px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;border:none}tbody tr.row-selected td{background:#fdecec!important}.rownum input[type=checkbox]{width:16px;height:16px;cursor:pointer}.act{font-size:11px;font-weight:800;text-transform:uppercase;padding:2px 9px;border-radius:20px}.act-add{background:#cdebc2;color:#1d6b12}.act-edit{background:#cfe6f7;color:#06547a}.act-delete{background:#ffd5cc;color:#c0392b}.act-comment{background:#e7e0fb;color:#5b3aa6}.act-approved{background:#cdebc2;color:#1d6b12}.act-tubed{background:#ffd5cc;color:#c0392b}.mgr-to{color:#c0392b}.act-mgr{background:#ffe0a3;color:#9c5a00}tbody tr.audit-mgr td{background:#fff6e0}tbody tr.audit-mgr{box-shadow:inset 3px 0 #e6a700}.mgr-changes-card.flagged{border:1.5px solid #e6a700}.mgr-changes-card.flagged h3{color:#9c5a00}.mgr-count{background:#c0392b;color:#fff;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:800;margin-right:8px}.row-comment{background:#efeaff;color:#5b3aa6;border-color:#ddd2fb;position:relative;overflow:visible}.row-comment:hover{background:#5b3aa6;color:#fff;border-color:#5b3aa6}.comment-badge{position:absolute;top:-7px;right:-7px;background:#c0392b;color:#fff;border-radius:20px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 3px #00000040}.act-col{overflow:visible}.notif-card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff}.notif-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.notif-subj{font-weight:700;color:var(--ink)}.notif-time{margin-left:auto;font-size:12px;color:#93a0b0}.recips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.recip{font-size:12px;background:#f1f4f8;border-radius:7px;padding:3px 9px;color:#44515f}.recip b{color:#1a2230}.no-email{color:#c0392b;font-style:italic}.notif-body{font-size:13px;color:#5c6b7e;border-left:3px solid var(--line);padding-left:10px}.comment-thread{max-height:260px;overflow:auto;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.comment{background:#f7f9fb;border-radius:8px;padding:8px 12px}.comment-time{font-size:11px;color:#93a0b0;margin-bottom:2px}.comment-by{color:#1f4e79;font-weight:700;margin-right:8px}.mention-wrap{position:relative;flex:1}.mention-wrap textarea,.mention-backdrop{width:100%;box-sizing:border-box;margin:0;font-family:inherit;font-size:14px;line-height:1.4;padding:9px 11px;border:1px solid var(--line);border-radius:8px;white-space:pre-wrap;overflow-wrap:break-word;min-height:56px}.mention-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;color:#1a2230;background:#fff;pointer-events:none;overflow:hidden}.mention-wrap textarea{position:relative;background:transparent;color:transparent;caret-color:#1a2230;resize:vertical}.mention-wrap textarea::placeholder{color:#aab4c0}.mention-hl{color:#1565c0;font-weight:700;background:#e8f1fc;border-radius:4px}.mention-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0a1e3c33;overflow:hidden;z-index:20}.mention-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid #f0f3f7;padding:8px 12px;cursor:pointer;font-size:13px}.mention-opt:hover{background:#f3f8fd}.mention-name{font-weight:700;color:#1565c0}.mention-email{font-size:11px;color:#93a0b0}.mention-note{font-size:12px;color:#1f7a44;font-weight:700;margin-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mention-chip{background:#e8f1fc;color:#1565c0;border:1px solid #b9d3ee;border-radius:20px;padding:1px 9px;font-weight:700}.comment-text .mention-hl{background:none}.comment-text{font-size:14px;color:#1a2230}.comment-add{display:flex;gap:8px;align-items:flex-start}.comment-add textarea{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical}.comment-add textarea:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.email-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 16px}.email-row{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#44515f}.email-row span{width:90px;flex-shrink:0}.email-row input{flex:1;padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px}.email-row input:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.msg-hint{font-size:12px;color:#93a0b0;margin-bottom:12px}.msg-hint code{background:#eef2f7;color:#44515f;border-radius:5px;padding:1px 6px;font-size:11px;margin-right:3px}.msg-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}.msg-when{font-size:13px;color:#5c6b7e;margin-bottom:10px}.msg-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px;font-weight:600;color:#5c6b7e}.msg-field input,.msg-field textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);resize:vertical}.msg-field input:focus,.msg-field textarea:focus{outline:2px solid var(--ford-bright);border-color:var(--ford-bright)}.msg-roles{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;font-weight:600;color:#44515f}.msg-role{display:inline-flex;align-items:center;gap:6px;font-weight:500}.msg-role input{width:15px;height:15px}.msg-card.msg-off{opacity:.55;background:#f7f9fb}.msg-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.msg-name{flex:1;font-size:15px;font-weight:700;color:var(--ford);border:1px solid transparent;border-radius:7px;padding:5px 8px}.msg-name:hover,.msg-name:focus{border-color:var(--line);outline:none}.msg-toggle{font-size:12px;font-weight:600;color:#5c6b7e;display:inline-flex;align-items:center;gap:5px}.msg-del{background:#fdecec;color:#c0392b;border:none;border-radius:7px;padding:5px 9px;cursor:pointer;font-size:13px}.msg-del:hover{background:#c0392b;color:#fff}.msg-trigger{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#5c6b7e;margin-bottom:10px}.msg-trigger select{padding:6px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;font-weight:600}.add-rule-btn{background:var(--ford);color:#fff;border:none;border-radius:9px;padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer}.add-rule-btn:hover{background:var(--ford-bright)}.roll-zone{border:1.5px solid #ffd23f;border-radius:12px;padding:16px 18px;margin-top:18px;background:#fffdf5}.roll-start{background:#ffd23f;color:#3a2c00;border:none;border-radius:10px;padding:11px 20px;font-weight:800;font-size:15px;cursor:pointer}.roll-start:hover{box-shadow:0 3px 10px #0000002e}.roll-confirm{display:flex;flex-direction:column;gap:12px}.roll-msg{font-size:15px;color:#1a2230;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0}.roll-actions{display:flex;gap:10px}.roll-actions button{padding:10px 20px;border-radius:9px;font-weight:700;font-size:14px;cursor:pointer;border:none}.roll-actions .danger{background:#c0392b;color:#fff}.tab-totals{display:flex;gap:12px;margin-bottom:10px;flex-wrap:wrap}.tt-item{background:#fff;border-radius:10px;padding:10px 18px;box-shadow:0 1px 4px #1428460f;border-left:4px solid var(--ford);flex:1;min-width:150px}.tt-item:nth-child(2){border-left-color:#2e7d12}.tt-item:nth-child(3){border-left-color:#1666a8}.tt-num{display:block;font-size:22px;font-weight:800;color:var(--ink)}.tt-lbl{font-size:12px;color:#5c6b7e}.pace-panel{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 1px 4px #1428460f}.pace-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.pace-head h3{font-size:17px;color:var(--ford)}.pace-days{font-size:13px;color:#5c6b7e;display:flex;align-items:center;gap:6px}.pace-days input{width:52px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;font-size:14px;text-align:center;font-weight:700}.pace-elapsed{background:#eef2f7;border-radius:20px;padding:3px 12px;font-weight:600}.pace-asof{display:inline-flex;align-items:center;gap:6px;color:#5c6b7e}.pace-asof input{padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:13px;min-width:140px}.pace-foot{font-size:12px;color:#93a0b0;margin:-6px 0 14px}.pace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.pace-card{border:1px solid var(--line);border-radius:10px;padding:14px}.pace-label{font-size:12px;color:#5c6b7e;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.pace-mtd{font-size:24px;font-weight:800;margin:4px 0}.pace-mtd span{font-size:12px;font-weight:600;color:#93a0b0}.pace-proj{font-size:14px;font-weight:700}.pace-proj.pace-good{color:#1d6b12}.pace-proj.pace-warn{color:#8a5a00}.pace-proj.pace-bad{color:#c0392b}.pace-bar{height:7px;background:#eef2f7;border-radius:20px;margin:8px 0 6px;overflow:hidden}.pace-bar span{display:block;height:100%;border-radius:20px}.pace-bar span.pace-good{background:#2e7d12}.pace-bar span.pace-warn{background:#e6a700}.pace-bar span.pace-bad{background:#e74c3c}.pace-goal{font-size:12px;color:#5c6b7e}.heat-banner{background:#fff4ee;border:1px solid #ffd9c7;border-left:4px solid #ff5a1f;color:#7a3210;border-radius:10px;padding:11px 16px;font-size:14px;margin-bottom:10px}.heat-banner strong{color:#c0392b}.tubed-banner{background:#f3f4f6;border-color:#d9dde3;border-left-color:#6b7280;color:#3f4651}.tubed-banner strong{color:#374151}.fo-aged{margin-left:5px;cursor:help;font-size:13px;line-height:1;-webkit-user-select:none;user-select:none}.row-revive{background:#e6f6ec;color:#1d7a3e;border-color:#bfe6cd}.row-revive:hover{background:#1d7a3e;color:#fff;border-color:#1d7a3e}.empty{background:#fff;border-radius:12px;padding:40px;text-align:center;color:#5c6b7e;font-size:16px}.src-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:#eef2f7;color:#44515f}.days-pill{font-size:12px;font-weight:800;padding:3px 10px;border-radius:20px;white-space:nowrap}.days-pill.days-hot{background:#ffd5cc;color:#c0392b}.days-pill.days-warm{background:#ffe6b8;color:#8a5a00}.days-pill.days-cool{background:#e7ebef;color:#5c6b7e}.paid-badge{font-size:11px;font-weight:800;padding:2px 9px;border-radius:20px;background:#cdebc2;color:#1d6b12}.disp-badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px}.disp-badge.disp-sold{background:#cdebc2;color:#1d6b12}.disp-badge.disp-stock{background:#e7ebef;color:#5c6b7e}.disp-badge.disp-trade{background:#cfeefb;color:#06547a}.disp-badge.disp-none{background:#f4f0d8;color:#7a6a00}.legend{margin-left:auto;display:flex;gap:16px;font-size:12px;color:#5c6b7e}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:14px;height:14px;border-radius:3px;display:inline-block}.table-wrap{background:#fff;border-radius:12px;overflow:auto;box-shadow:0 1px 4px #1428460f;max-height:70vh}table{border-collapse:collapse;width:100%;font-size:13px}thead th{position:sticky;top:0;background:#eef2f7;color:#44515f;text-align:left;padding:10px;font-weight:700;white-space:nowrap;border-bottom:2px solid var(--line);z-index:1}tbody td{padding:7px 10px;border-bottom:1px solid #eef1f5;white-space:nowrap}td.grow,th.grow{white-space:normal;min-width:180px}.rownum{color:#aab4c0;font-size:11px;text-align:right;width:34px}tbody tr:hover td{filter:brightness(.97)}.act-cell,.act-head{position:sticky;left:0;width:1%;white-space:nowrap;border-right:2px solid var(--line);box-shadow:3px 0 5px #14284612}.act-cell{background:#fff;z-index:2}.act-head{z-index:3}.act-cell>.row-edit{margin-right:6px}.act-cell>.row-edit:last-child{margin-right:0}.status-select{border:1px solid rgba(0,0,0,.18);border-radius:6px;padding:3px 6px;font-size:12px;font-weight:600;background:#ffffff8c;cursor:pointer}.pill{padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}.pill-none{color:#aab4c0}.chk-cell{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.chk-cell input[type=checkbox],.chk-box{width:16px;height:16px;cursor:pointer}.chk-date{font-size:12px;color:#1d6b12;font-weight:600;white-space:nowrap}.chk-date-input{border:1px solid var(--line);border-radius:6px;padding:2px 5px;font-size:12px}.edit-chk{display:inline-flex;align-items:center;gap:6px;font-weight:500}.edit-chk input{width:16px;height:16px}.dtsec-select{border:1px solid rgba(0,0,0,.15);border-radius:6px;padding:3px 6px;font-size:12px;font-weight:700;cursor:pointer;background:transparent;color:inherit}.dt-na{opacity:.5;font-style:italic;font-size:12px}.fo-input{width:84px;border:1px solid rgba(0,0,0,.18);border-radius:6px;padding:3px 6px;font-size:12px;font-weight:700;background:#ffffff8c;color:#1a2230}.fo-input::placeholder{font-weight:500;color:#5c6b7e}.gupta{padding:4px 0 12px}.gupta-head{font-size:22px;font-weight:800;color:var(--ford);margin-bottom:14px}.gupta-head span{font-weight:600;color:#93a0b0;font-size:16px}.gupta-modal{max-width:620px}.gupta-slap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px;text-align:center;font-weight:900;font-size:26px;letter-spacing:.5px;color:var(--ford);text-transform:uppercase;margin:4px 0 16px}.gupta-slap span{color:#c0392b;font-style:italic;text-transform:none;letter-spacing:0}.gupta-list{margin-top:16px}.gupta-list-h{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 8px}.gupta-row{display:grid;grid-template-columns:1.3fr 1.4fr 1fr auto;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid #eef1f5;font-size:13px}.gupta-row .today-cust{font-weight:600;color:#243}.gupta-row .today-veh{color:#5c6b7e}.gupta-row .today-sp{color:#7a8696;font-size:12px}.gupta-front{text-align:right;font-weight:700;color:#1f4e79}@media(max-width:560px){.gupta-row{grid-template-columns:1fr auto}.gupta-row .today-veh,.gupta-row .today-sp{display:none}}.gupta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.gupta-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 10px #1428460f}.gupta-card.big{border-top:4px solid #1f4e79}.gupta-card.big.green{border-top-color:#1d6b12}.g-label{font-size:13px;font-weight:700;color:#6b7785;text-transform:uppercase;letter-spacing:.04em}.g-num{font-size:52px;font-weight:800;color:#1a2230;line-height:1.05;margin:6px 0 2px}.g-num.sm{font-size:36px}.g-money{font-size:22px;font-weight:800;color:#1f4e79}.g-money span{font-size:13px;font-weight:600;color:#93a0b0}.g-split{font-size:13px;color:#6b7785;margin-top:8px}.gupta-foot{font-size:12px;color:#93a0b0;margin-top:16px}.dup-warn{background:#fff4d6;border:1px solid #e8c869;color:#6b4e08;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:600}.recon-select{border:1px solid rgba(0,0,0,.12);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer;min-width:130px}.foot{text-align:center;color:#93a0b0;font-size:12px;margin:16px 0}.signin{min-height:100vh;display:grid;place-items:center;background:var(--ford);padding:20px}.signin-card{background:#fff;border-radius:16px;padding:40px 36px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px #00000059}.signin-card .brand-mark{width:60px;height:60px;font-size:26px;margin:0 auto 16px}.signin-card h1{font-size:24px;color:var(--ford)}.signin-sub{font-size:14px;color:#5c6b7e;margin-bottom:18px}.signin-card p{font-size:14px;color:#44515f;margin-bottom:20px}.signin-btn{background:var(--ford);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer;width:100%}.signin-btn:hover{background:var(--ford-bright)}.signin-note{font-size:12px;color:#93a0b0;margin-top:14px}.user-chip{display:inline-flex;align-items:center;gap:8px;background:#ffffff24;border-radius:20px;padding:4px 6px 4px 12px;font-size:13px;color:#fff}.user-chip .user-name{font-weight:600}.user-chip button{background:#ffffff38;color:#fff;border:none;border-radius:16px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.user-chip button:hover{background:#ffffff59}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1d6b12;color:#fff;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #00000047;z-index:60;animation:toastIn .25s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.topbar{flex-direction:column;gap:14px;align-items:flex-start}}
