.invoice-link{border:0;background:#edf6fa;color:var(--navy);border-radius:7px;padding:5px 8px;font-size:9px;font-weight:900;cursor:pointer;margin:2px}
.invoice-link:hover{background:#dceef5}
.invoice-pill{display:inline-block;background:#edf6fa;color:var(--navy);border-radius:8px;padding:5px 8px;font-size:10px;margin:2px}
.modalhead-actions{display:flex;align-items:center;gap:9px}
.modalhead .modal-edit{border:1px solid #ffffff70;background:#ffffff14;color:#fff;font-size:10px;border-radius:8px;padding:8px 11px;font-weight:900}
.modalhead .modal-close{font-size:28px;padding:0 4px}
.order-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}
.order-summary-grid>div{border:1px solid var(--line);background:#f8fbfd;border-radius:9px;padding:11px}
.order-summary-grid span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;margin-bottom:5px}
.order-summary-grid b{color:var(--navy);font-size:11px}
.order-edit-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.edit-title{display:flex;justify-content:space-between;margin-bottom:10px}
.edit-title b{font-size:11px;color:var(--navy);letter-spacing:.08em}
.edit-title small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.edit-msg{font-size:10px;color:var(--green);margin-right:auto}
.edit-msg.err-text{color:var(--red)}
.edit-product-row{background:#f8fbfd}
.change-notice{border-color:#e0c46b;background:#fff9e6;white-space:pre-line}
.gold:disabled,.light:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:650px){.order-summary-grid{grid-template-columns:1fr}.edit-actions{flex-wrap:wrap}.modalhead{align-items:flex-start}.modalhead-actions{gap:4px}}

/* v1.5 customer performance dashboard */
.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-head h2{margin:0;color:var(--navy);font-size:18px}.dashboard-head p{margin:5px 0 0;color:var(--muted);font-size:10px}.performance-kpi{position:relative;overflow:hidden;border-left:4px solid var(--blue)}.performance-kpi.green{border-left-color:var(--green)}.performance-kpi.gold{border-left-color:var(--gold)}.performance-kpi b{font-size:22px}.performance-kpi small{display:block;color:var(--muted);font-size:9px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:15px;margin-bottom:18px}.dashboard-card{min-height:255px;padding:0 18px 16px}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 0 14px}.dashboard-card-head b{font-size:11px;color:var(--navy);letter-spacing:.08em}.dashboard-card-head small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.metric-pill{display:inline-block;background:#edf6fa;color:var(--navy);border-radius:14px;padding:6px 11px;font-size:9px;font-weight:900}.spend-chart{height:180px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid var(--line);padding:10px 8px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#edf1f4 45px)}.spend-month{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.spend-bar-wrap{height:138px;width:100%;display:flex;align-items:flex-end;justify-content:center}.spend-bar{width:min(42px,70%);min-height:3px;background:linear-gradient(180deg,#4b9bb5,#2f7f9b);border-radius:7px 7px 2px 2px;position:relative}.spend-bar:hover{background:var(--gold)}.spend-bar span{position:absolute;left:50%;transform:translateX(-50%);top:-16px;font-size:8px;font-weight:900;color:var(--navy);white-space:nowrap}.spend-month>small{font-size:8px;color:var(--muted);font-weight:900;margin:8px 0 7px}.speed-layout{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;padding-top:8px}.speed-gauge{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gauge-color,var(--green)) 0deg,var(--gauge-color,var(--green)) var(--gauge,0deg),#e8eef3 var(--gauge,0deg),#e8eef3 360deg);position:relative}.speed-gauge:after{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.speed-gauge>div{position:relative;z-index:1;text-align:center}.speed-gauge b{display:block;color:var(--navy);font-size:27px}.speed-gauge small{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.1em}.speed-stats{display:grid;gap:17px}.speed-stats>div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.speed-stats span{color:var(--muted)}.speed-stats b{color:var(--navy)}.dashboard-orders{overflow:hidden}.dashboard-orders .dashboard-card-head{padding:16px 18px}.dashboard-link{border:0;background:none;color:var(--blue);font-size:9px;text-transform:uppercase;font-weight:900;cursor:pointer}.dashboard-orders td{white-space:nowrap}.dashboard-orders td:first-child,.dashboard-orders td:nth-child(2){color:var(--navy);font-weight:900}.dashboard-order-row{cursor:pointer}.dashboard-order-row:hover{background:#f8fbfd}.metric-empty{height:180px;display:grid;place-items:center;color:var(--muted);font-size:10px;border:1px dashed var(--line);border-radius:9px}.speed-good{color:var(--green)!important}.speed-warn{color:#8a6514!important}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card{min-height:auto}}@media(max-width:650px){.dashboard-head{align-items:flex-start}.speed-layout{grid-template-columns:1fr}.speed-gauge{margin:auto}.dashboard-orders .tablewrap{max-width:100vw}}

/* v1.5.1 modal navigation fix */
.order-modal>.modalhead{position:sticky;top:0;z-index:30}.modalhead .modal-dashboard{border:1px solid #ffffff70;background:#ffffff14;color:#fff;font-size:10px;border-radius:8px;padding:8px 11px;font-weight:900}.edit-actions{position:sticky;bottom:-16px;background:#fff;border-top:1px solid var(--line);padding:12px 0;z-index:10}
@media(max-width:650px){.modalhead .modal-dashboard{padding:7px 8px}.edit-actions{bottom:-16px}}

/* v1.5.2 darker portal background and invoice-count KPI */
:root{--bg:#e8edf2}
.dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1250px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-kpis{grid-template-columns:1fr}}

/* v1.5.3 invoice visibility feedback */
.dashboard-notice{margin:-3px 0 14px;border:1px solid #d8c178;background:#fff8df;color:#6f5413;border-radius:10px;padding:11px 13px;font-size:10px;line-height:1.5}.dashboard-notice.error{border-color:#e3aaa4;background:#fff4f2;color:#8a2921}.dashboard-notice b{font-weight:900}.dashboard-notice.hidden{display:none}
