:root {
  --navy: #0b1f33;
  --navy-2: #12314d;
  --blue: #1769e0;
  --blue-dark: #0d52b8;
  --cyan: #35c6d4;
  --ice: #eef4f8;
  --surface: #ffffff;
  --text: #102033;
  --muted: #66778a;
  --line: #dce6ee;
  --danger: #d74646;
  --warning: #e9a12c;
  --success: #1a9c70;
  --shadow: 0 12px 32px rgba(20, 50, 75, 0.08);
  font-family: "Segoe UI", Inter, system-ui, sans-serif;
  color: var(--text);
  background: var(--ice);
}

.activity-scope { margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--muted); font-size: 13px; }
.button-danger { background: var(--danger); color: white; border-color: var(--danger); }
.form-error { color: var(--danger); font-size: .88rem; line-height: 1.5; }
#user-delete-dialog label { display: grid; gap: 8px; margin-top: 18px; }
#user-delete-dialog .auth-copy { line-height: 1.65; }
#whatsapp-dialog { padding: 24px; max-height: 90vh; }
.whatsapp-preview { resize: vertical; min-height: 230px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--text); font: inherit; line-height: 1.5; white-space: pre-wrap; }
@media print { .activity-scope { display: none; } }
#new-customer-dialog { width: min(1180px, calc(100vw - 32px)); max-height: 92vh; padding: 24px; }
#new-customer-form { min-width: 0; padding: 0; }
#new-customer-dialog input, #new-customer-dialog select, #new-customer-dialog textarea { min-width: 0; max-width: 100%; }
#new-customer-dialog .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#new-customer-dialog .modal-actions { flex-wrap: wrap; }
#new-customer-dialog .checkbox-label, #nc-review-form .checkbox-label { display: flex; align-items: center; gap: 10px; }
.spending-whish-fee { margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.spending-whish-fee > label { display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 700; cursor: pointer; }
.spending-whish-fee input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 auto; margin: 0; }
.spending-whish-fee .field-note { margin: 10px 0 6px; }
.spending-whish-fee > small { display: block; color: var(--muted); line-height: 1.5; }
#new-customer-dialog input[type="checkbox"], #nc-review-form input[type="checkbox"] { width: 18px; min-height: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--blue); }
.customer-registration-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, 1fr); gap: 22px; margin-top: 20px; align-items: start; }
.customer-registration-grid fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
.customer-registration-grid legend { color: var(--text); font-weight: 700; font-size: .85rem; }
.registration-starter, .registration-funding { margin-top: 18px; }
#bill-free-funding-panel { min-width: 0; margin: 8px 0; padding: 18px; border: 1px solid var(--line); border-left: 4px solid var(--success); border-radius: 14px; background: var(--ice); }
#bill-free-funding-panel legend { padding: 0 6px; font-size: .86rem; font-weight: 750; color: var(--text); }
#bill-free-funding-panel .field-note { color: var(--muted); font-weight: 500; line-height: 1.6; }
.registration-equipment { background: var(--ice); border: 1px solid var(--line); border-radius: 14px; padding: 20px; display: grid; gap: 14px; }
.registration-equipment h3, .registration-equipment p { margin: 0; }
.registration-equipment label { display: grid; gap: 7px; font-size: .8rem; color: var(--muted); font-weight: 600; }
.registration-equipment .portal-search-row label { flex: 1; min-width: 100px; }
.registration-equipment-line { display: flex; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .85rem; }
.registration-equipment-line > div { flex: 1; display: grid; gap: 5px; }
.registration-equipment-line small { color: var(--muted); }
.expense-funding-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 16px; }
.expense-funding-grid .expense-total-card { width: auto; flex-direction: column; align-items: flex-start; gap: 14px; }
.expense-funding-grid .expense-total-card span { font-size: .84rem; line-height: 1.5; }
.expense-funding-grid .expense-total-card { min-width: 0; }
.expense-funding-grid .expense-total-card small { color: #d5e4f1; line-height: 1.6; font-size: .77rem; }
.expense-funding-warning { margin: 0 0 22px; padding: 16px 20px; color: var(--text); line-height: 1.65; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--warning); border-radius: 12px; }
#expense-funding-source-note { margin: 0; }
.expense-carry-card{margin:0 0 18px;}.expense-carry-card .panel-heading{align-items:center;}.expense-carry-card .panel-heading>strong{font-size:1.8rem;color:var(--success);white-space:nowrap;}.expense-carry-months{padding:0 24px;}.expense-carry-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(105px,1fr));gap:14px;padding:16px 0;border-top:1px solid var(--line);align-items:start;}.expense-carry-row>div{display:grid;gap:6px;}.expense-carry-row small,.expense-carry-card>.field-note{color:var(--muted);font-size:.76rem;line-height:1.6;}.expense-carry-row span{font-size:.75rem;color:var(--muted);}.expense-carry-row .expense-carry-warning{grid-column:1/-1;color:var(--warning);}.expense-carry-card>.field-note{padding:0 24px 20px;margin:12px 0 0;}.expense-funding-availability{padding:14px 16px;background:var(--ice);border:1px solid var(--line);border-radius:11px;}.expense-funding-availability p{margin:0;font-size:.8rem;line-height:1.7;white-space:pre-line;}.expense-funding-availability .button{margin-top:12px;}.expense-funding-availability[data-warning="true"]{border-left:4px solid var(--warning);}
@media(max-width:650px){.expense-carry-row{grid-template-columns:repeat(2,minmax(0,1fr));}.expense-carry-row>div:first-child{grid-column:1/-1;}.expense-carry-months{padding:0 18px;}.expense-carry-card .panel-heading>strong{font-size:1.5rem;}}
.installation-received { color: var(--success); }
#nc-history-panel { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }
#nc-history-panel summary { cursor: pointer; font-weight: 700; margin-bottom: 12px; }
#nc-history-body small { font-size: .75rem; color: var(--muted); }
#nc-review-form { display: grid; gap: 16px; }
@media (max-width: 900px) { .customer-registration-grid { grid-template-columns: 1fr; } }

.portal-customer-panel { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--ice); display: grid; gap: 12px; }
.portal-search-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.portal-search-row input { flex: 1; min-width: 190px; }
.portal-search-row .field-note { flex: 1; min-width: 180px; }
.portal-search-results { display: grid; gap: 6px; max-height: 210px; overflow-y: auto; }
.portal-customer-choice { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px; text-align: left; color: var(--text); border: 1px solid var(--line); border-radius: 9px; background: var(--surface); cursor: pointer; }
.portal-customer-choice:hover { border-color: var(--blue); }
.portal-customer-choice span { display: grid; gap: 3px; }
.portal-customer-choice small, .portal-customer-panel > small { color: var(--muted); line-height: 1.5; }
.portal-renewal-badge { display: block; margin-top: 6px; color: var(--muted); font-weight: 600; }
.portal-renewal-badge.renewed { color: var(--success); }
.portal-renewal-badge.uncertain { color: var(--danger); }
.portal-connection-status { padding: 12px; background: var(--ice); border: 1px solid var(--line); border-radius: 9px; line-height: 1.5; }
#portal-settings-dialog > hr { border: 0; border-top: 1px solid var(--line); margin: 22px 0; }
#portal-test-form > label, #renewal-review-form > label { display: grid; gap: 7px; color: var(--muted); font-size: .8rem; font-weight: 700; }
#renewal-history-dialog { width: min(940px, calc(100vw - 32px)); padding: 24px; }
#renewal-history-dialog #renewal-review-form { padding: 18px 0 0; }
#renewal-review-form { display: grid; gap: 12px; margin-top: 24px; border-top: 1px solid var(--line); padding-top: 18px; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--ice); }
body { font-size: 16px; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.ui-icon { width: 18px; height: 18px; display: inline-block; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, .9fr) minmax(500px, 1.1fr); background: #fff; }
.auth-visual { padding: clamp(50px, 8vw, 110px); display: flex; flex-direction: column; justify-content: center; color: #fff; background: radial-gradient(circle at 22% 18%, rgba(53,198,212,.28), transparent 31%), linear-gradient(145deg, #102f49, #071725); }
.auth-logo { width: min(360px, 88%); height: auto; margin-bottom: 44px; object-fit: contain; object-position: left center; filter: drop-shadow(0 18px 34px rgba(0,0,0,.2)); }
.light-eyebrow { color: #68dce3; }
.auth-visual h1 { margin: 12px 0 18px; font-size: clamp(2.5rem, 4.2vw, 4.7rem); line-height: .98; letter-spacing: -.06em; }
.auth-visual > p:not(.eyebrow) { max-width: 520px; margin: 0; color: #b9ccda; font-size: 1.02rem; line-height: 1.65; }
.auth-feature-list { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 10px; }
.auth-feature-list span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: #d4e2ec; background: rgba(255,255,255,.05); font-size: .78rem; font-weight: 700; }
.auth-form-wrap { padding: 45px; display: grid; place-items: center; background: linear-gradient(160deg, #f8fbfd, #edf4f8); }
.auth-card { width: min(430px, 100%); padding: 34px; border: 1px solid #dbe5ec; border-radius: 20px; display: grid; gap: 17px; background: #fff; box-shadow: 0 25px 60px rgba(17,48,72,.12); }
.auth-card h2 { margin: 3px 0 0; font-size: 1.7rem; letter-spacing: -.04em; }
.auth-copy { margin: -7px 0 3px; color: var(--muted); font-size: .87rem; line-height: 1.5; }
.auth-card label { display: grid; gap: 7px; color: #52687d; font-size: .79rem; font-weight: 700; }
.network-card { width: min(540px, 100%); }
.network-mode-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.network-mode-option { min-height: 108px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 11px !important; cursor: pointer; background: #fbfdfe; }
.network-mode-option:has(input:checked) { border-color: #5f9ee8; background: #eef6ff; box-shadow: 0 0 0 3px rgba(23,105,224,.08); }
.network-mode-option input { width: 18px; min-height: 18px; margin: 2px 0 0; }
.network-mode-option strong, .network-mode-option small { display: block; }
.network-mode-option strong { color: var(--text); font-size: .86rem; }.network-mode-option small { margin-top: 5px; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.network-help { padding: 13px 15px; border-radius: 11px; display: grid; gap: 4px; color: #24506f; background: #e9f6fb; font-size: .78rem; }
.network-help span { color: #5d788c; font-weight: 500; line-height: 1.45; }
.security-note { margin: -2px 0 0; color: #8a6b31; font-size: .73rem; line-height: 1.45; }
.network-actions { display: flex; align-items: center; gap: 9px; }.network-actions .button-primary { flex: 1; }
.connection-card { margin-top: 3px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; background: #f8fbfd; }
.connection-card strong, .connection-card small { display: block; }.connection-card strong { font-size: .76rem; }.connection-card small { margin-top: 2px; color: var(--muted); font-size: .67rem; }
.connection-actions { display: grid; justify-items: end; gap: 3px; }
.connection-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 4px rgba(233,161,44,.13); }.connection-dot.online { background: var(--success); box-shadow: 0 0 0 4px rgba(26,156,112,.13); }.connection-dot.offline { background: var(--danger); box-shadow: 0 0 0 4px rgba(215,70,70,.13); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 244px; padding: 28px 18px 22px; display: flex; flex-direction: column; color: #fff; background: radial-gradient(circle at 10% 0%, #19466a, transparent 36%), var(--navy); }
.sidebar > nav { min-height: 0; overflow-y: auto; }
.sidebar-main-return { flex: 0 0 auto; width: 100%; margin: 0 0 14px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; color: #fff; background: rgba(255,255,255,.08); font-size: .82rem; font-weight: 700; line-height: 1.4; text-align: left; }
.sidebar-main-return:hover { background: rgba(255,255,255,.15); }
.sidebar-main-return:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
html[data-theme="fibernetlb"] .sidebar-main-return { border-color: #ff7a2466; background: #ff620019; }
html[data-theme="fibernetlb"] .sidebar-main-return:hover { background: #ff62002e; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 6px 30px; }
.brand strong, .brand span { display: block; }
.brand strong { font-size: 1.1rem; letter-spacing: .01em; }
.brand > div > span { margin-top: 2px; color: #9fb4c7; font-size: .78rem; }
.brand-logo { width: 196px; height: auto; object-fit: contain; object-position: left center; filter: drop-shadow(0 8px 18px rgba(0,0,0,.18)); }
.brand-mark i { display: block; width: 4px; border-radius: 4px; background: #fff; }
.brand-mark i:nth-child(1) { height: 8px; }.brand-mark i:nth-child(2) { height: 14px; }.brand-mark i:nth-child(3) { height: 20px; }
nav { display: grid; gap: 7px; }
.nav-item { border: 0; border-radius: 11px; padding: 12px 13px; display: flex; align-items: center; gap: 12px; color: #b8c8d7; background: transparent; text-align: left; font-weight: 600; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(53,198,212,.24), rgba(23,105,224,.18)); box-shadow: inset 3px 0 0 var(--cyan); }
.nav-icon { width: 21px; height: 21px; margin-right: 3px; stroke-width: 1.7; }
.sidebar-footer { width: 100%; margin-top: auto; display: flex; align-items: center; gap: 11px; padding: 15px 11px; border: 0; border-top: 1px solid rgba(255,255,255,.1); color: inherit; background: transparent; text-align: left; }
.sidebar-footer:hover { background: rgba(255,255,255,.05); }
.sidebar-footer strong, .sidebar-footer span { display: block; }
.sidebar-footer strong { font-size: .82rem; }.sidebar-footer span { margin-top: 2px; color: #8da4b8; font-size: .72rem; }
.status-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #42d398; box-shadow: 0 0 0 5px rgba(66,211,152,.12); }
.status-dot.offline { background: #ef6c6c; box-shadow: 0 0 0 5px rgba(239,108,108,.12); }

.main-content { grid-column: 2; min-width: 0; padding: 0 34px 42px; }
.topbar { min-height: 106px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.topbar h1 { margin: 3px 0 0; font-size: 1.72rem; line-height: 1.1; letter-spacing: -.035em; }
.eyebrow { margin: 0; color: #718499; font-size: .71rem; font-weight: 800; letter-spacing: .12em; }
.top-actions, .inline-actions, .date-controls { display: flex; align-items: center; gap: 10px; }
.user-chip { min-height: 44px; padding: 5px 11px 5px 6px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; gap: 9px; background: #fff; }
.user-chip > span { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--blue), #20a7c4); font-size: .7rem; font-weight: 900; }
.user-chip strong, .user-chip small { display: block; max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-chip strong { font-size: .78rem; }.user-chip small { margin-top: 1px; color: #8494a3; font-size: .67rem; text-transform: capitalize; }
.theme-picker { min-height: 44px; padding: 4px 7px 4px 11px; border: 1px solid var(--line); border-radius: 12px; display: flex; align-items: center; gap: 7px; color: var(--muted); background: var(--surface); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.theme-picker select { min-height: 34px; border: 0; padding: 0 25px 0 7px; background: transparent; font-size: .76rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
.date-chip { color: var(--muted); font-size: .86rem; font-weight: 600; }
.button { min-height: 42px; border: 1px solid transparent; border-radius: 10px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; transition: transform .15s ease, background .15s ease, box-shadow .15s ease; }
.button .ui-icon { width: 16px; height: 16px; stroke-width: 2; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--blue); box-shadow: 0 8px 18px rgba(23,105,224,.18); }
.button-primary:hover { background: var(--blue-dark); }
.button-secondary { color: #29435c; border-color: var(--line); background: #fff; }
.button-large { width: 100%; min-height: 50px; }

.view { display: none; animation: rise .22s ease; }
.view.active { display: block; }
@keyframes rise { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 16px; }
.metric-card { min-height: 154px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; display: flex; flex-direction: column; justify-content: center; background: var(--surface); box-shadow: 0 5px 16px rgba(20,50,75,.04); }
.metric-card > span { color: var(--muted); font-size: .82rem; font-weight: 700; }
.metric-card strong { margin: 10px 0 7px; font-size: clamp(1.6rem, 2.3vw, 2.15rem); letter-spacing: -.05em; }
.metric-card small { color: #8a9aaa; font-size: .76rem; }
.drawer-card { border-color: #b9e3d4; background: linear-gradient(145deg, #f4fffb, #fff); }
.drawer-card strong { color: #167353; }
.debt-card { border-color: #f1d2b0; background: linear-gradient(145deg, #fff9f1, #fff); }
.debt-card strong { color: #a65c12; }
.mini-action { align-self: flex-start; margin-top: 7px; padding: 0; border: 0; color: var(--blue); background: transparent; font-size: .72rem; font-weight: 800; }
.dark-card { border-color: transparent; color: #fff; background: radial-gradient(circle at 92% 18%, rgba(53,198,212,.35), transparent 36%), linear-gradient(135deg, var(--navy-2), var(--navy)); box-shadow: 0 16px 32px rgba(11,31,51,.18); }
.dark-card > span, .dark-card small { color: #b9cbda; }
.bills-metric { border-color: #bde5e7; background: linear-gradient(145deg, #f2ffff, #edf6ff); }
.bills-metric strong { color: #0d7180; }
.telecom-metric { border-color: #c9d8f4; background: linear-gradient(145deg, #f5f8ff, #fff); }
.telecom-metric strong { color: #315ca8; }

.dashboard-grid { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .72fr); gap: 18px; }
.panel { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); overflow: hidden; }
.panel-heading { min-height: 86px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #e8eff4; }
.panel-heading h2, .section-intro h2, .report-controls h2 { margin: 4px 0 0; font-size: 1.12rem; letter-spacing: -.02em; }
.text-button { border: 0; padding: 6px; color: var(--blue); background: transparent; font-size: .83rem; font-weight: 700; }
.button-with-icon { display: inline-flex; align-items: center; gap: 6px; }
.button-with-icon .ui-icon { width: 15px; height: 15px; transition: transform .15s ease; }
.button-with-icon:hover .ui-icon { transform: translateX(2px); }
.danger-text { color: var(--danger); }
.count-badge { min-width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; color: #9b6013; background: #fff1d8; font-size: .78rem; font-weight: 800; }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { min-height: 50px; padding: 14px 18px; border-bottom: 1px solid #edf2f6; text-align: left; white-space: nowrap; }
th { color: #7d8fa1; background: #fbfdfe; font-size: .72rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
td { color: #31465b; font-size: .85rem; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #f9fcfe; }
.number { text-align: right; }
.product-name { display: flex; align-items: center; gap: 11px; }
.product-avatar { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #0f64ba; background: #e4f2ff; font-weight: 800; }
.product-name strong, .product-name span { display: block; }.product-name span { margin-top: 2px; color: #8a99a8; font-size: .74rem; }
.status { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 9px; font-size: .72rem; font-weight: 800; }
.status .ui-icon { width: 14px; height: 14px; }
.status-ok { color: #157653; background: #e2f7ef; }.status-low { color: #9d6313; background: #fff1d7; }.status-out { color: #a73535; background: #fde7e7; }.status-debt { color: #a65c12; background: #fff0d9; }
.row-actions { display: flex; justify-content: flex-end; gap: 3px; }
.icon-button { width: 34px; height: 34px; border: 0; border-radius: 9px; display: inline-grid; place-items: center; color: #53687c; background: transparent; }
.icon-button .ui-icon { width: 17px; height: 17px; stroke-width: 2; pointer-events: none; }
.icon-button:hover { background: #edf3f7; }.icon-button.delete:hover { color: var(--danger); background: #feeeee; }
.empty-row td { padding: 42px 20px; color: #8494a4; text-align: center; }

.stock-list { padding: 8px 20px 18px; }
.stock-item { padding: 13px 2px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #edf2f6; }
.stock-item:last-child { border-bottom: 0; }
.stock-item strong, .stock-item span { display: block; }.stock-item span { margin-top: 3px; color: #8b9aa9; font-size: .75rem; }
.stock-level { text-align: right; }.stock-level strong { color: #9f6515; font-size: 1.03rem; }

.pos-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 18px; align-items: start; }
.catalog-panel, .cart-panel { min-height: calc(100vh - 148px); }
.search-box { height: 42px; min-width: 240px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; gap: 8px; color: #7c8da0; background: #f8fbfd; }
.search-box > .ui-icon { width: 17px; height: 17px; stroke-width: 2; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; }
.scan-box { border-color: #a9c7e7; background: #f2f8fd; }
.scan-hint { margin: 12px 20px 0; color: #788a9c; font-size: .76rem; }
.product-catalog { padding: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: 13px; }
.category-card { min-height: 165px; padding: 20px; border: 1px solid #dbe7ef; border-radius: 14px; display: flex; flex-direction: column; align-items: flex-start; color: var(--text); background: linear-gradient(145deg, #fff, #f4f9fd); text-align: left; transition: .16s ease; }
.category-card:hover { border-color: #78acef; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(40,91,137,.1); }
.category-card-icon { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; color: var(--blue); background: var(--soft-blue); font-size: 1.15rem; font-weight: 900; }
.category-card strong { margin-top: 16px; font-size: 1.02rem; }.category-card > span:not(.category-card-icon) { margin-top: 5px; color: var(--muted); font-size: .77rem; }.category-card small { margin-top: auto; color: #71869a; font-size: .72rem; font-weight: 700; }
.catalog-card { min-height: 165px; padding: 17px; border: 1px solid #dbe7ef; border-radius: 13px; display: flex; flex-direction: column; color: var(--text); background: #fff; text-align: left; transition: .16s ease; }
.catalog-card:hover:not(:disabled) { border-color: #78acef; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(40,91,137,.1); }
.catalog-card:disabled { cursor: not-allowed; opacity: .58; }
.catalog-card .category { color: #788da1; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.catalog-card strong { margin-top: 9px; line-height: 1.28; }
.catalog-card .sku { margin-top: 4px; color: #8b9aa9; font-size: .74rem; }
.catalog-card footer { margin-top: auto; display: flex; align-items: end; justify-content: space-between; }
.catalog-card footer b { color: var(--blue); font-size: 1.12rem; }.catalog-card footer span { color: #77899a; font-size: .75rem; }
.cart-panel { position: sticky; top: 18px; display: flex; flex-direction: column; max-height: calc(100vh - 36px); }
.cart-items { min-height: 250px; padding: 10px 20px; flex: 1; overflow-y: auto; }
.cart-item { padding: 14px 0; border-bottom: 1px solid #edf2f6; }
.cart-item-head, .cart-item-foot { display: flex; justify-content: space-between; gap: 14px; }
.cart-item-head strong { font-size: .87rem; }.cart-item-head button { width: 25px; height: 25px; border: 0; border-radius: 7px; display: grid; place-items: center; color: #a14a4a; background: #fff0f0; }.cart-item-head button .ui-icon { width: 14px; height: 14px; }
.cart-item-title strong, .cart-item-title span { display: block; }.cart-item-title span { max-width: 270px; margin-top: 4px; color: var(--muted); font-size: .69rem; line-height: 1.35; }
.cart-item-foot { margin-top: 9px; align-items: center; }
.quantity-control { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.quantity-control button { width: 30px; height: 29px; border: 0; display: grid; place-items: center; color: #34516c; background: #f6f9fb; }.quantity-control button .ui-icon { width: 14px; height: 14px; stroke-width: 2.2; }.quantity-control span { min-width: 30px; text-align: center; font-size: .8rem; font-weight: 800; }
.cart-footer { padding: 18px 20px 20px; border-top: 1px solid #e8eff4; background: #fbfdfe; }
.cart-footer label { display: grid; gap: 7px; color: #6d8092; font-size: .76rem; font-weight: 700; }
.payment-methods { min-width: 0; margin: 0; padding: 0; border: 0; }
.payment-methods.wide { grid-column: 1 / -1; }
.payment-methods legend { margin-bottom: 8px; color: #52687d; font-size: .78rem; font-weight: 800; }
.payment-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.payment-choice-grid.two-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-choice { position: relative; min-height: 66px; padding: 8px 5px; border: 1px solid var(--line); border-radius: 10px; display: flex !important; align-items: center; justify-content: center; gap: 4px !important; color: var(--muted) !important; background: var(--surface); cursor: pointer; text-align: center; }
.payment-choice input { position: absolute; width: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.payment-choice .ui-icon { width: 21px; height: 21px; }
.payment-choice span { font-size: .68rem; font-weight: 800; line-height: 1.15; }
.payment-choice:has(input:checked) { color: var(--blue) !important; border-color: var(--blue); background: #eef6ff; box-shadow: 0 0 0 3px rgba(23,105,224,.08); }
.debt-fields { margin-top: 11px; padding: 12px; border: 1px solid #f0c894; border-radius: 11px; display: grid; gap: 9px; background: #fff8ed; }
.debt-fields > p { margin: 0; color: #916020; font-size: .72rem; line-height: 1.4; }
.debt-fields > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.debt-fields input { min-width: 0; width: 100%; }
select, input { min-height: 42px; border: 1px solid var(--line); border-radius: 9px; padding: 0 11px; color: var(--text); background: #fff; outline: none; }
select:focus, input:focus { border-color: #6fa6e9; box-shadow: 0 0 0 3px rgba(23,105,224,.1); }
.cart-total { padding: 18px 1px 8px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.cart-total > div { display: grid; justify-items: end; gap: 2px; text-align: right; }
.cart-total strong { font-size: 1.55rem; letter-spacing: -.04em; }
.cart-total small { color: var(--muted); font-size: .85rem; font-weight: 800; }
.exchange-rate-note { margin: 0 0 14px; color: var(--muted); font-size: .7rem; text-align: right; }
.money-pair { display: grid; justify-items: end; gap: 2px; }
.money-pair small { color: var(--muted); font-size: .7rem; font-weight: 700; }
.currency-badge { min-width: 42px; padding: 5px 8px; border-radius: 999px; display: inline-flex; justify-content: center; font-size: .68rem; font-weight: 900; letter-spacing: .04em; }
.currency-usd { color: #0d6691; background: #e5f5fb; }
.currency-lbp { color: #8a5b08; background: #fff2d2; }
.empty-state { min-height: 220px; padding: 30px; display: grid; place-content: center; color: #8495a5; text-align: center; }.empty-state strong { color: #3b5065; }.empty-state p { max-width: 320px; margin: 7px auto 0; font-size: .82rem; line-height: 1.5; }

.subtext, .section-intro p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }
.section-intro, .report-controls { margin-bottom: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.expense-total-card { margin-bottom: 18px; min-height: 112px; padding: 22px 26px; border-radius: 16px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: linear-gradient(120deg, #153d5d, #1769e0); box-shadow: 0 16px 30px rgba(23,105,224,.18); }
.expense-total-card span { color: #d5e4f1; font-weight: 700; }.expense-total-card strong { font-size: 2rem; letter-spacing: -.04em; }
.attendance-scan-panel { margin-bottom: 18px; padding: 24px; border-radius: 18px; display: grid; grid-template-columns: minmax(220px, .8fr) minmax(310px, 1.2fr) minmax(220px, .8fr); align-items: center; gap: 22px; color: #fff; background: radial-gradient(circle at 95% 0%, rgba(53,198,212,.3), transparent 35%), linear-gradient(135deg, #102f49, #071725); box-shadow: 0 18px 38px rgba(11,31,51,.2); }
.attendance-scan-panel h2 { margin: 5px 0; font-size: 1.25rem; }.attendance-scan-panel p:not(.eyebrow) { margin: 0; color: #abc1d1; font-size: .8rem; line-height: 1.45; }
#rfid-scan-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 9px; }
#rfid-scan-form label { display: grid; gap: 6px; color: #b8cbd8; font-size: .74rem; font-weight: 700; }
#rfid-scan-input { border-color: rgba(255,255,255,.24); color: #fff; background: rgba(255,255,255,.1); font-family: ui-monospace, monospace; letter-spacing: .07em; }
#rfid-scan-input::placeholder { color: #8ca6b8; }
.scan-result { min-height: 76px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; display: grid; align-content: center; background: rgba(255,255,255,.06); }
.scan-result strong, .scan-result span { display: block; }.scan-result strong { color: #fff; }.scan-result span { margin-top: 4px; color: #9fb7c8; font-size: .73rem; }.scan-result.clock-in { border-color: rgba(66,211,152,.5); background: rgba(66,211,152,.12); }.scan-result.clock-out { border-color: rgba(73,166,255,.5); background: rgba(73,166,255,.12); }
.attendance-metrics, .bill-metrics { margin-bottom: 18px; }
.debt-metrics { margin-bottom: 18px; }
.payment-summary-icons { display: flex; gap: 8px; }
.payment-summary-icons .ui-icon { width: 29px; height: 29px; color: var(--blue); }
.attendance-metrics .metric-card, .bill-metrics .metric-card { min-height: 122px; }
.attendance-grid { display: grid; grid-template-columns: minmax(380px, .78fr) minmax(560px, 1.22fr); gap: 18px; align-items: start; }
.bill-filters { display: flex; align-items: end; gap: 10px; }
.bills-panel { margin-top: 0; }
.date-controls label { display: grid; gap: 5px; color: #6c7f91; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.date-controls input { min-width: 142px; }
.report-metrics { margin-top: 0; }
.report-grid { grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr); }
.profit-label { color: var(--success); font-size: .86rem; }
.bar-chart { min-height: 300px; padding: 26px 22px 18px; display: flex; align-items: stretch; gap: 9px; overflow-x: auto; }
.bar-column { min-width: 42px; flex: 1; display: grid; grid-template-rows: 1fr 25px; align-items: end; text-align: center; }
.bar-track { height: 100%; display: flex; align-items: end; justify-content: center; border-bottom: 1px solid #dfe8ef; }
.bar { width: min(28px, 70%); min-height: 3px; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, var(--cyan), var(--blue)); position: relative; }
.bar:hover::after { content: attr(data-value); position: absolute; left: 50%; bottom: calc(100% + 7px); transform: translateX(-50%); padding: 5px 7px; border-radius: 6px; color: #fff; background: var(--navy); font-size: .7rem; white-space: nowrap; }
.bar-column small { padding-top: 7px; color: #8393a2; font-size: .68rem; }

.modal { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow-y: auto; border: 0; border-radius: 18px; padding: 0; color: var(--text); background: #fff; box-shadow: 0 28px 80px rgba(8,25,41,.3); }
.product-modal { width: min(1040px, calc(100vw - 32px)); }
.modal::backdrop { background: rgba(6,22,36,.58); backdrop-filter: blur(3px); }
.modal form { padding: 25px; }
.modal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.modal-heading h2 { margin: 5px 0 0; font-size: 1.35rem; }
.form-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.form-grid label { display: grid; gap: 7px; color: #52687d; font-size: .78rem; font-weight: 700; }
.form-grid .wide { grid-column: 1 / -1; }
.telecom-flow-field { padding: 12px; border: 1px solid #cfe0ee; border-radius: 12px; background: linear-gradient(145deg, #f5faff, #fff); }
.telecom-flow-label { display: flex; align-items: center; gap: 8px; color: #24445f; font-size: .78rem; font-weight: 900; }
.telecom-flow-label b { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--blue); font-size: .7rem; }
.telecom-provider-picker { margin: 0; padding: 0; border: 0; }
.telecom-provider-picker > legend { margin-bottom: 10px; }
.telecom-provider-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.telecom-provider-card { position: relative; overflow: hidden; border: 2px solid var(--line); border-radius: 14px; color: #28445e; background: #fff; cursor: pointer; box-shadow: 0 7px 20px rgba(17,52,79,.07); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.telecom-provider-card:hover { transform: translateY(-2px); border-color: #9eb9ce; box-shadow: 0 12px 26px rgba(17,52,79,.12); }
.telecom-provider-card input { position: absolute; width: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.telecom-provider-card img { width: 100%; height: 105px; display: block; object-fit: contain; background: #e5e5e7; }
.telecom-provider-card > span { padding: 10px 11px 12px; display: grid; gap: 3px; }
.telecom-provider-card strong { font-size: .84rem; }
.telecom-provider-card small { color: var(--muted); font-size: .62rem; line-height: 1.3; }
.telecom-provider-card:has(input:checked) { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,105,224,.1), 0 12px 28px rgba(17,52,79,.13); }
.telecom-provider-card:has(input:checked)::after { content: "✓"; position: absolute; top: 8px; right: 8px; width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--blue); font-size: .72rem; font-weight: 900; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.price-preview { margin-top: 18px; padding: 16px 18px; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; background: #edf7ff; }
.price-preview span { color: #55718b; font-size: .8rem; font-weight: 700; }.price-preview > div { display: grid; justify-items: end; gap: 2px; }.price-preview strong { color: var(--blue); font-size: 1.35rem; }.price-preview small { color: var(--muted); font-size: .72rem; font-weight: 700; }
.modal-actions { margin-top: 22px; display: flex; justify-content: flex-end; gap: 9px; }
.field-note { color: #90a0af; font-weight: 500; }
.input-action { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.product-preview-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.printing-pricing { padding: 15px; border: 1px solid #cde0ec; border-radius: 12px; background: #f5faff; }
.printing-pricing-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.printing-pricing-heading strong, .printing-pricing-heading span { display: block; }.printing-pricing-heading > div > span { margin-top: 4px; color: var(--muted); font-size: .71rem; font-weight: 500; line-height: 1.4; }
.printing-pricing-grid { margin-top: 13px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.printing-pricing-grid label { display: grid; gap: 6px; }
.printing-matrix-wrap { margin-top: 14px; overflow-x: auto; border: 1px solid #d7e5ee; border-radius: 11px; background: var(--surface); }
.custom-printing-heading { margin-top: 22px; display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.custom-printing-heading .field-note { max-width: 640px; margin: 6px 0 14px; }
.custom-printing-types { display: grid; gap: 12px; }
.custom-printing-row { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(130px, 1fr) auto auto; align-items: end; gap: 12px; border-top: 1px solid var(--line); padding-top: 12px; }
.custom-printing-row .field-note { align-self: center; }
@media (max-width: 720px) { .custom-printing-heading { flex-direction: column; } .custom-printing-row { grid-template-columns: 1fr 1fr; } }
.printing-matrix { min-width: 850px; width: 100%; border-collapse: collapse; }
.printing-matrix th, .printing-matrix td { padding: 7px; border-right: 1px solid #dfe9f0; border-bottom: 1px solid #dfe9f0; text-align: center; }
.printing-matrix th:last-child, .printing-matrix td:last-child { border-right: 0; }.printing-matrix tbody tr:last-child th, .printing-matrix tbody tr:last-child td { border-bottom: 0; }
.printing-matrix thead th { color: #52687d; background: #eaf4fb; font-size: .68rem; line-height: 1.25; }.printing-matrix tbody th { color: var(--blue); background: #f5faff; font-size: .82rem; }
.printing-matrix input { width: 84px; min-height: 36px; padding: 0 7px; border-radius: 8px; text-align: right; font-size: .72rem; font-weight: 800; }
.printing-option-section { margin-top: 20px; }.printing-option-section > strong { display: block; margin-bottom: 8px; color: #52687d; font-size: .78rem; }
.option-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.option-card { position: relative; min-height: 54px; border: 1px solid var(--line); border-radius: 10px; display: grid; place-items: center; color: var(--muted); background: var(--surface); cursor: pointer; font-size: .78rem; font-weight: 800; }
.option-card input { position: absolute; width: 1px; min-height: 1px; opacity: 0; }.option-card:has(input:checked) { color: var(--blue); border-color: var(--blue); background: #eef6ff; box-shadow: 0 0 0 3px rgba(23,105,224,.08); }
.compact-form-grid { margin-top: 14px; }
.printing-job-summary { margin-top: 18px; padding: 15px; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 15px; background: #edf7ff; }
.printing-job-summary span, .printing-job-summary small, .printing-job-summary strong { display: block; }.printing-job-summary span { font-size: .78rem; font-weight: 800; }.printing-job-summary small { margin-top: 3px; color: var(--muted); font-size: .68rem; }.printing-job-summary > div:last-child { text-align: right; }.printing-job-summary strong { color: var(--blue); font-size: 1.15rem; }
.barcode-mini { margin-top: 18px; padding: 13px 16px; border: 1px dashed #b8cad8; border-radius: 12px; display: grid; align-content: center; justify-items: end; background: #fbfdfe; }
.barcode-mini span { color: #6d8193; font-size: .72rem; font-weight: 700; }.barcode-mini strong { margin-top: 4px; color: #183b59; font-family: ui-monospace, monospace; font-size: .82rem; letter-spacing: .06em; }
.small-modal { width: min(500px, calc(100vw - 32px)); }
.update-modal { width: min(620px, calc(100vw - 32px)); }
.update-dialog-body { padding: 25px; }
.update-version-grid { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.update-version-grid > div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfd; }
.update-version-grid span, .update-version-grid strong { display: block; }.update-version-grid span { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }.update-version-grid strong { margin-top: 5px; font-size: 1.15rem; }
.update-repository { margin-top: 14px; display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; }
.update-repository label { display: grid; gap: 7px; color: #52687d; font-size: .79rem; font-weight: 700; }.update-repository input { min-height: 42px; border: 1px solid #cad8e2; border-radius: 10px; padding: 0 12px; color: var(--text); background: var(--surface); }
.update-repository small { grid-column: 1 / -1; color: var(--muted); font-size: .7rem; }
.update-status-card { margin-top: 14px; padding: 15px; border-radius: 12px; display: grid; grid-template-columns: auto 1fr; gap: 12px; color: #26445f; background: #edf6ff; }.update-status-card > .ui-icon { width: 23px; height: 23px; color: var(--blue); }.update-status-card strong { font-size: .86rem; }.update-status-card p { margin: 4px 0 0; color: #5e7488; font-size: .76rem; line-height: 1.45; }
.update-progress-wrap { margin-top: 14px; }.update-progress { height: 8px; overflow: hidden; border-radius: 999px; background: #dfe8ef; }.update-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--blue); transition: width .18s ease; }.update-progress-wrap small { display: block; margin-top: 6px; color: var(--muted); font-size: .7rem; text-align: right; }
.update-release-notes { margin-top: 14px; max-height: 130px; overflow: auto; padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; }.update-release-notes strong { font-size: .76rem; }.update-release-notes p { margin: 6px 0 0; color: var(--muted); white-space: pre-wrap; font-size: .73rem; line-height: 1.5; }
.single-column { grid-template-columns: 1fr; }
.switch-row { min-height: 42px; display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 10px !important; }
.switch-row input { width: 18px; min-height: 18px; }

.role-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 13px; }
.role-grid article { min-height: 140px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 6px 18px rgba(20,50,75,.04); }
.role-grid strong { display: block; margin-top: 13px; }.role-grid p { margin: 5px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.role-icon { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; font-size: .73rem; font-weight: 900; }
.role-admin { color: #fff; background: #1769e0; }.role-manager { color: #10636f; background: #cef5f7; }.role-cashier { color: #8c5b10; background: #fff0cf; }.role-viewer { color: #59687a; background: #e7edf2; }.role-attendance { color: #71368a; background: #f1ddff; }
.role-support { color: #075e67; background: #d5f7f5; }
#support-copies { margin-top: 22px; }
#support-copy-paper header { border-bottom: 2px solid var(--blue); margin-bottom: 22px; }
#support-copy-paper th { width: 35%; text-align: left; }
#support-end-preview ul { padding-left: 20px; }
#support-end-dialog { width: min(740px, calc(100vw - 28px)); }
#support-day-actions { justify-content: flex-end; margin-bottom: 20px; }
#support-end-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#support-end-form > .auth-copy,#support-end-form > label:first-of-type,#support-end-preview,#support-end-error,#support-end-form > .modal-actions { grid-column: 1 / -1; }
#support-end-form > label { display: grid; gap: 8px; font-weight: 600; }
#support-end-form input,#support-end-form select { width: 100%; }
#support-end-preview-button { justify-self: start; grid-column: 1 / -1; }
#support-end-form > .modal-actions { margin-top: 0; }
#rf-fields, #rf-collection-fields, #rf-cancel-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
#rf-fee-field > span { display: flex; align-items: center; gap: 8px; }
#rf-apply-fee { width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--primary); }
#reseller-funding-panel > .field-note,.ledger-import { margin: 20px 24px; }
#reseller-funding-panel td small { display: block; max-width: 280px; white-space: normal; margin-top: 5px; }
#reseller-funding-panel .inline-actions { flex-wrap: wrap; max-width:100%; }
#reseller-funding-panel > .panel-heading:first-child { flex-wrap:wrap; align-items:flex-start; }
#reseller-funding-panel .reseller-funding-totals { margin: 20px 24px; grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:950px){#reseller-funding-panel .reseller-funding-totals{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:500px){#reseller-funding-panel .reseller-funding-totals{grid-template-columns:1fr;}}
#reseller-funding-panel summary { cursor: pointer; padding: 15px; font-weight: 650; }
#rf-review-form label { display: grid; gap: 8px; margin-top: 16px; }
.reseller-bills-modal { width: min(1080px,calc(100vw - 40px)); }
.reseller-bill-list { display: grid; gap: 14px; margin: 20px 0; }
.reseller-bill-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(185px,240px); gap: 24px; align-items: center; border: 1px solid var(--line); border-radius: 16px; padding: 20px; background: var(--surface); }
.reseller-bill-row.is-selected { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.reseller-bill-main > strong { overflow-wrap: anywhere; font-size: 15px; }
.reseller-bill-description { font-weight: 650; line-height: 1.5; margin: 9px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.reseller-bill-main small,.reseller-bill-money small { display: block; color: var(--muted); line-height: 1.5; margin-top: 5px; overflow-wrap: anywhere; }
.reseller-bill-money { display: flex; flex-direction: column; gap: 5px; align-items: flex-end; text-align: right; }
.reseller-bill-money > span { font-size: 12px; color: var(--muted); }
.reseller-bill-money > strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.reseller-bill-money .button { min-width: 110px; margin-top: 9px; }
.reseller-bill-main .reseller-bill-warning { color: var(--warning); font-weight: 650; }
.reseller-bills-empty { border: 1px dashed var(--line); border-radius: 16px; padding: 28px; text-align: center; }
.reseller-bills-empty p { color: var(--muted); margin-bottom: 0; }
.reseller-bill-details { margin: 18px 0; display: grid; gap: 12px; }
.reseller-bill-details > div { display: grid; grid-template-columns: 145px minmax(0,1fr); gap: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.reseller-bill-details dt { color: var(--muted); font-size: 13px; }
.reseller-bill-details dd { margin: 0; overflow-wrap: anywhere; }
@media(max-width:650px){.reseller-bills-modal{width:calc(100vw - 20px);padding:18px}.reseller-bill-row{grid-template-columns:1fr;gap:16px;padding:16px}.reseller-bill-money{align-items:flex-start;text-align:left}.reseller-bill-money .button{width:100%}.reseller-bill-details > div{grid-template-columns:1fr;gap:5px}}
@media(max-width:600px){#support-end-form{grid-template-columns:1fr}#support-end-form > *{grid-column:1!important}}
@media print {
 body[data-print-target="support-copy"] > * { display: none !important; }
 body[data-print-target="support-copy"] #support-copy-dialog { display: block !important; position: static; width: 100%; max-width: none; height: auto; max-height: none; border: 0; margin: 0; padding: 16mm; color: #111; background: #fff; }
 body[data-print-target="support-copy"] #support-copy-dialog .no-print { display: none !important; }
 body[data-print-target="support-copy"] #support-copy-paper,body[data-print-target="support-copy"] #support-copy-paper * { visibility: visible !important; }
 body[data-print-target="support-copy"] #support-copy-dialog::backdrop { display: none; }
}
.user-cell strong, .user-cell span { display: block; }.user-cell span { margin-top: 2px; color: #8898a7; font-size: .73rem; }

.barcode-modal { width: min(430px, calc(100vw - 32px)); padding: 24px; }
.barcode-label { min-height: 250px; padding: 24px; border: 1px dashed #aebfcd; border-radius: 12px; display: grid; justify-items: center; align-content: center; background: #fff; text-align: center; }
.barcode-label > img { width: 180px; height: auto; }.barcode-label h2 { margin: 10px 0 14px; font-size: 1rem; }.barcode-label > strong { margin-top: 6px; font-family: ui-monospace, monospace; font-size: .9rem; letter-spacing: .16em; }.barcode-label > span { margin-top: 5px; color: #6f8191; font-size: .72rem; }
.barcode-svg svg { width: 255px; max-width: 100%; height: 92px; }
.receipt-modal { width: min(560px, calc(100vw - 32px)); padding: 22px; }
.receipt-paper { padding: 28px; border: 1px solid var(--line); border-radius: 13px; color: #152536; background: #fff; }
.receipt-paper > header { padding-bottom: 18px; border-bottom: 2px solid #152536; display: flex; align-items: center; gap: 12px; }
.receipt-paper > header img { width: 210px; max-width: 70%; height: auto; }
.receipt-title { margin: 20px 0 15px; display: flex; align-items: end; justify-content: space-between; gap: 10px; }.receipt-title p { margin: 0; color: #66778a; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }.receipt-title h2 { margin: 0; font-size: 1.05rem; }
.receipt-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 13px; border-radius: 10px; background: #f3f7fa; }.receipt-meta span, .receipt-meta strong { display: block; }.receipt-meta span { color: #718191; font-size: .65rem; font-weight: 800; text-transform: uppercase; }.receipt-meta strong { margin-top: 3px; font-size: .78rem; }
.receipt-items { margin-top: 16px; }.receipt-items th, .receipt-items td { padding: 9px 5px; color: #24384b; background: transparent; font-size: .74rem; }
.receipt-item-variant { display: block; max-width: 230px; margin-top: 3px; color: #718191; font-size: .62rem; line-height: 1.35; white-space: normal; }
.receipt-total { padding: 16px 4px 8px; display: flex; align-items: center; justify-content: space-between; }.receipt-total span { font-weight: 800; }.receipt-total strong { font-size: 1.65rem; }
.receipt-payment { margin-top: 8px; padding: 10px 12px; border-radius: 9px; display: flex; align-items: center; gap: 8px; color: #245d49; background: #e9f7f1; font-size: .78rem; font-weight: 800; }.receipt-payment.debt { color: #8a5313; background: #fff0d9; }
.receipt-payment .ui-icon { width: 18px; height: 18px; }
.receipt-note { margin: 12px 2px 0; color: #66778a; font-size: .72rem; }.receipt-paper > footer { margin-top: 22px; padding-top: 13px; border-top: 1px dashed #aab6c1; color: #657586; text-align: center; font-size: .72rem; }
.bill-report-modal { width: min(1120px, calc(100vw - 32px)); padding: 18px; }
.bills-report-paper { page: bills-report; padding: 30px; border: 1px solid var(--line); border-radius: 14px; color: #17283a; background: #fff; }
.bills-report-header { padding-bottom: 18px; border-bottom: 3px solid #173e5e; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.bills-report-header img { width: 220px; height: auto; }.bills-report-header div { text-align: right; }.bills-report-header p { margin: 0; color: #1e6fd9; font-size: .68rem; font-weight: 900; letter-spacing: .15em; }.bills-report-header h2 { margin: 4px 0; font-size: 1.35rem; }.bills-report-header span { color: #607488; font-size: .75rem; }
.bills-report-summary { margin: 18px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }.bills-report-summary div { padding: 12px 14px; border: 1px solid #d8e3eb; border-radius: 9px; background: #f4f8fb; }.bills-report-summary span, .bills-report-summary strong { display: block; }.bills-report-summary span { color: #698095; font-size: .64rem; font-weight: 800; text-transform: uppercase; }.bills-report-summary strong { margin-top: 4px; font-size: 1.05rem; }
.bills-report-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.bills-report-table th { padding: 8px 6px; color: #fff; background: #173e5e; font-size: .62rem; text-align: left; }.bills-report-table td { padding: 8px 6px; border-bottom: 1px solid #dbe4eb; color: #273b4e; background: #fff; font-size: .64rem; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }.bills-report-table tbody tr:nth-child(even) td { background: #f7f9fb; }.bills-report-table td small { display: block; margin-top: 2px; color: #6c7f90; font-size: .57rem; }.bills-report-table th:nth-child(1) { width: 8%; }.bills-report-table th:nth-child(2) { width: 12%; }.bills-report-table th:nth-child(3) { width: 19%; }.bills-report-table th:nth-child(4) { width: 10%; }.bills-report-table th:nth-child(5) { width: 19%; }.bills-report-table th:nth-child(6) { width: 9%; }.bills-report-table th:nth-child(7) { width: 12%; }.bills-report-table th:nth-child(8) { width: 11%; }.bills-report-paper > footer { margin-top: 16px; padding-top: 9px; border-top: 1px solid #cbd7e0; display: flex; justify-content: space-between; color: #728496; font-size: .61rem; }.report-empty { padding: 30px !important; text-align: center; }
.toast-region { position: fixed; right: 24px; bottom: 24px; z-index: 20; display: grid; gap: 9px; }
.toast { min-width: 290px; padding: 14px 16px; border-left: 4px solid var(--success); border-radius: 10px; color: #fff; background: #112c42; box-shadow: 0 15px 35px rgba(6,25,40,.24); animation: toast-in .2s ease; }
.toast.error { border-left-color: #ef6666; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

html[data-theme="fibernetlb"] {
  --navy: #0b0b0c;
  --navy-2: #161617;
  --blue: #ff6200;
  --blue-dark: #e95700;
  --cyan: #ff7a24;
  --ice: #0b0b0c;
  --surface: #161617;
  --text: #fffaf4;
  --muted: #b6aaa0;
  --line: #35302d;
  --warning: #ff9a45;
  --shadow: 0 14px 34px rgba(0, 0, 0, .26);
  color-scheme: dark;
}
html[data-theme="fibernetlb"], html[data-theme="fibernetlb"] body { background: #0b0b0c; }
html[data-theme="fibernetlb"] .main-content { min-height: 100vh; background-color: #0b0b0c; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px), radial-gradient(circle at 92% 8%, rgba(255,98,0,.08), transparent 30%); background-size: 72px 72px, 72px 72px, auto; }
html[data-theme="fibernetlb"] .sidebar { border-right: 1px solid #31231a; background: radial-gradient(circle at 12% 4%, rgba(255,98,0,.18), transparent 30%), #0b0b0c; }
html[data-theme="fibernetlb"] .brand-logo { box-shadow: 0 9px 24px rgba(255,98,0,.2); }
html[data-theme="fibernetlb"] .brand > div > span, html[data-theme="fibernetlb"] .sidebar-footer span { color: #9f958d; }
html[data-theme="fibernetlb"] .nav-item { color: #aaa19b; }
html[data-theme="fibernetlb"] .nav-item:hover { color: #fff; background: rgba(255,98,0,.09); }
html[data-theme="fibernetlb"] .nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(255,98,0,.25), rgba(255,122,36,.05)); box-shadow: inset 3px 0 0 #ff6200; }
html[data-theme="fibernetlb"] .eyebrow, html[data-theme="fibernetlb"] .light-eyebrow { color: #ff7a24; }
html[data-theme="fibernetlb"] .theme-picker, html[data-theme="fibernetlb"] .user-chip { color: #b6aaa0; border-color: #3a332f; background: #161617; }
html[data-theme="fibernetlb"] .theme-picker select { color: #fffaf4; }
html[data-theme="fibernetlb"] .user-chip > span { color: #0b0b0c; background: linear-gradient(145deg, #ff6200, #ff8a3d); }
html[data-theme="fibernetlb"] .user-chip small { color: #9f958d; }
html[data-theme="fibernetlb"] .button-primary { color: #0b0b0c; background: #ff6200; box-shadow: 0 9px 22px rgba(255,98,0,.2); }
html[data-theme="fibernetlb"] .button-primary:hover { background: #ff7a24; }
html[data-theme="fibernetlb"] .button-secondary { color: #fffaf4; border-color: #403832; background: #1b1b1c; }
html[data-theme="fibernetlb"] .metric-card, html[data-theme="fibernetlb"] .panel, html[data-theme="fibernetlb"] .catalog-card, html[data-theme="fibernetlb"] .role-grid article, html[data-theme="fibernetlb"] .bundle-card, html[data-theme="fibernetlb"] .bundle-cost-row { border-color: #35302d; background: #161617; box-shadow: var(--shadow); }
html[data-theme="fibernetlb"] .category-card { color: #fffaf4; border-color: #35302d; background: linear-gradient(145deg, #1b1b1c, #111112); }
html[data-theme="fibernetlb"] .category-card:hover { border-color: #ff6200; box-shadow: 0 12px 28px rgba(255,98,0,.1); }
html[data-theme="fibernetlb"] .category-card small { color: #a79d96; }
html[data-theme="fibernetlb"] .category-card-icon { color: #ff7a24; background: #3a2112; }
html[data-theme="fibernetlb"] .metric-card small, html[data-theme="fibernetlb"] .product-name span, html[data-theme="fibernetlb"] .catalog-card .sku, html[data-theme="fibernetlb"] .catalog-card footer span, html[data-theme="fibernetlb"] .stock-item span, html[data-theme="fibernetlb"] .bundle-card span, html[data-theme="fibernetlb"] .bundle-card small, html[data-theme="fibernetlb"] .bundle-card .bundle-cost, html[data-theme="fibernetlb"] .user-cell span { color: #a79d96; }
html[data-theme="fibernetlb"] .dark-card, html[data-theme="fibernetlb"] .expense-total-card, html[data-theme="fibernetlb"] .attendance-scan-panel { border-color: #4a2a16; background: radial-gradient(circle at 91% 12%, rgba(255,98,0,.28), transparent 34%), linear-gradient(135deg, #161617, #0b0b0c); box-shadow: 0 18px 38px rgba(0,0,0,.34); }
html[data-theme="fibernetlb"] .dark-card > span, html[data-theme="fibernetlb"] .dark-card small, html[data-theme="fibernetlb"] .expense-total-card span, html[data-theme="fibernetlb"] .attendance-scan-panel p:not(.eyebrow) { color: #c5b8ae; }
html[data-theme="fibernetlb"] .bills-metric { border-color: #5c321a; background: linear-gradient(145deg, #21150f, #161617); }
html[data-theme="fibernetlb"] .drawer-card { border-color: #315044; background: linear-gradient(145deg, #102019, #161617); }
html[data-theme="fibernetlb"] .drawer-card strong { color: #61d4a8; }
html[data-theme="fibernetlb"] .debt-card { border-color: #5c321a; background: linear-gradient(145deg, #21150f, #161617); }
html[data-theme="fibernetlb"] .debt-card strong { color: #ff8a3d; }
html[data-theme="fibernetlb"] .bills-metric strong, html[data-theme="fibernetlb"] .text-button, html[data-theme="fibernetlb"] .catalog-card footer b, html[data-theme="fibernetlb"] .price-preview strong, html[data-theme="fibernetlb"] .bundle-card b { color: #ff7a24; }
html[data-theme="fibernetlb"] .panel-heading, html[data-theme="fibernetlb"] th, html[data-theme="fibernetlb"] td, html[data-theme="fibernetlb"] .stock-item, html[data-theme="fibernetlb"] .cart-item, html[data-theme="fibernetlb"] .cart-footer { border-color: #312d2a; }
html[data-theme="fibernetlb"] th { color: #a79d96; background: #111112; }
html[data-theme="fibernetlb"] td { color: #e8e0da; }
html[data-theme="fibernetlb"] tbody tr:hover { background: #1c1917; }
html[data-theme="fibernetlb"] .count-badge { color: #ffb177; background: #3a2112; }
html[data-theme="fibernetlb"] .product-avatar { color: #ff7a24; background: #3a2112; }
html[data-theme="fibernetlb"] .icon-button { color: #b9aea6; }
html[data-theme="fibernetlb"] .icon-button:hover { color: #fff; background: #292523; }
html[data-theme="fibernetlb"] .search-box, html[data-theme="fibernetlb"] .scan-box, html[data-theme="fibernetlb"] select, html[data-theme="fibernetlb"] input { color: #fffaf4; border-color: #403832; background: #1b1b1c; }
html[data-theme="fibernetlb"] select:focus, html[data-theme="fibernetlb"] input:focus { border-color: #ff6200; box-shadow: 0 0 0 3px rgba(255,98,0,.14); }
html[data-theme="fibernetlb"] .catalog-card:hover:not(:disabled) { border-color: #ff6200; box-shadow: 0 12px 28px rgba(255,98,0,.1); }
html[data-theme="fibernetlb"] .cart-footer { background: #111112; }
html[data-theme="fibernetlb"] .quantity-control button { color: #fffaf4; background: #252120; }
html[data-theme="fibernetlb"] .payment-methods legend { color: #b6aaa0; }
html[data-theme="fibernetlb"] .payment-choice { color: #b6aaa0 !important; border-color: #403832; background: #1b1b1c; }
html[data-theme="fibernetlb"] .payment-choice:has(input:checked) { color: #ff7a24 !important; border-color: #ff6200; background: #2a1a11; box-shadow: 0 0 0 3px rgba(255,98,0,.1); }
html[data-theme="fibernetlb"] .debt-fields { border-color: #5c321a; background: #21150f; }
html[data-theme="fibernetlb"] .debt-fields > p { color: #e3a775; }
html[data-theme="fibernetlb"] .empty-state { color: #9d948d; }
html[data-theme="fibernetlb"] .empty-state strong, html[data-theme="fibernetlb"] .bundle-card strong, html[data-theme="fibernetlb"] .bundle-cost-row > b { color: #fffaf4; }
html[data-theme="fibernetlb"] .date-controls label, html[data-theme="fibernetlb"] .form-grid label, html[data-theme="fibernetlb"] .cart-footer label { color: #b6aaa0; }
html[data-theme="fibernetlb"] .bar-track { border-color: #3b342f; }
html[data-theme="fibernetlb"] .bar { background: linear-gradient(180deg, #ff9a45, #ff6200); }
html[data-theme="fibernetlb"] .modal { color: #fffaf4; background: #161617; box-shadow: 0 30px 90px rgba(0,0,0,.65); }
html[data-theme="fibernetlb"] .modal::backdrop { background: rgba(0,0,0,.76); }
html[data-theme="fibernetlb"] .telecom-flow-field { border-color: #4a3a30; background: #211812; }
html[data-theme="fibernetlb"] .telecom-flow-label { color: #fff4ec; }
html[data-theme="fibernetlb"] .telecom-provider-card { color: #fff4ec; border-color: #403832; background: #1b1b1c; box-shadow: 0 8px 22px rgba(0,0,0,.26); }
html[data-theme="fibernetlb"] .telecom-provider-card:hover { border-color: #855333; }
html[data-theme="fibernetlb"] .telecom-provider-card:has(input:checked) { border-color: #ff6200; box-shadow: 0 0 0 3px rgba(255,98,0,.12), 0 12px 28px rgba(0,0,0,.35); }
html[data-theme="fibernetlb"] .telecom-provider-card small { color: #ad9f96; }
html[data-theme="fibernetlb"] .update-version-grid > div, html[data-theme="fibernetlb"] .update-release-notes { background: #111112; }
html[data-theme="fibernetlb"] .update-status-card { color: #fff6ef; background: #2a1b13; }html[data-theme="fibernetlb"] .update-status-card p { color: #bba899; }
html[data-theme="fibernetlb"] .price-preview, html[data-theme="fibernetlb"] .barcode-mini { border-color: #4a3a30; background: #211812; }
html[data-theme="fibernetlb"] .price-preview span, html[data-theme="fibernetlb"] .barcode-mini span, html[data-theme="fibernetlb"] .field-note { color: #ad9f96; }
html[data-theme="fibernetlb"] .printing-pricing, html[data-theme="fibernetlb"] .printing-job-summary { border-color: #4a3a30; background: #211812; }
html[data-theme="fibernetlb"] .printing-matrix-wrap { border-color: #403832; background: #161617; }.printing-matrix-wrap::-webkit-scrollbar-thumb { background: #665044; }
html[data-theme="fibernetlb"] .printing-matrix th, html[data-theme="fibernetlb"] .printing-matrix td { border-color: #403832; }
html[data-theme="fibernetlb"] .printing-matrix thead th { color: #c7b9ae; background: #211812; }html[data-theme="fibernetlb"] .printing-matrix tbody th { color: #ff7a24; background: #1b1b1c; }
html[data-theme="fibernetlb"] .option-card { color: #b6aaa0; border-color: #403832; background: #1b1b1c; }
html[data-theme="fibernetlb"] .option-card:has(input:checked) { color: #ff7a24; border-color: #ff6200; background: #2a1a11; box-shadow: 0 0 0 3px rgba(255,98,0,.1); }
html[data-theme="fibernetlb"] .printing-job-summary strong { color: #ff7a24; }
html[data-theme="fibernetlb"] .toast { border-left-color: #ff6200; background: #161617; box-shadow: 0 16px 38px rgba(0,0,0,.45); }
html[data-theme="fibernetlb"] .auth-screen { background: #fffaf4; }
html[data-theme="fibernetlb"] .auth-visual { color: #fff; background-color: #0b0b0c; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px), radial-gradient(circle at 88% 60%, transparent 0 24%, rgba(255,98,0,.35) 24.3% 24.7%, transparent 25% 31%, rgba(255,98,0,.2) 31.3% 31.7%, transparent 32%); background-size: 72px 72px, 72px 72px, auto; }
html[data-theme="fibernetlb"] .auth-visual > p:not(.eyebrow) { color: #c5b8ae; }
html[data-theme="fibernetlb"] .auth-feature-list span { color: #e5d9d0; border-color: rgba(255,98,0,.24); background: rgba(255,98,0,.07); }
html[data-theme="fibernetlb"] .auth-form-wrap { background: linear-gradient(160deg, #fffaf4, #f4eae1); }
html[data-theme="fibernetlb"] .auth-card { color: #0b0b0c; border-color: #e6d8cc; background: #fff; box-shadow: 0 25px 65px rgba(50,25,10,.14); }
html[data-theme="fibernetlb"] .auth-card label, html[data-theme="fibernetlb"] .auth-card .network-mode-option strong { color: #4e443e; }
html[data-theme="fibernetlb"] .auth-card input, html[data-theme="fibernetlb"] .auth-card select, html[data-theme="fibernetlb"] .auth-card .connection-card, html[data-theme="fibernetlb"] .auth-card .network-mode-option { color: #0b0b0c; border-color: #e3d7ce; background: #fffaf4; }
html[data-theme="fibernetlb"] .auth-card .network-mode-option:has(input:checked) { border-color: #ff6200; background: #fff0e5; box-shadow: 0 0 0 3px rgba(255,98,0,.1); }
html[data-theme="fibernetlb"] .auth-card .network-help { color: #7a3710; background: #fff0e5; }
html[data-theme="fibernetlb"] .auth-card .network-help span, html[data-theme="fibernetlb"] .auth-card .auth-copy, html[data-theme="fibernetlb"] .auth-card .connection-card small { color: #74665d; }

@media (max-width: 1180px) {
  .topbar { flex-direction: column; align-items: stretch; padding: 20px 0; gap: 14px; }
  .top-actions { flex-wrap: wrap; justify-content: flex-start; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pos-layout { grid-template-columns: minmax(0, 1fr) 340px; }
  .report-grid { grid-template-columns: 1fr; }
  .role-grid { grid-template-columns: repeat(2, 1fr); }
  .attendance-scan-panel { grid-template-columns: 1fr 1fr; }.scan-result { grid-column: 1 / -1; }
  .attendance-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .app-shell { display: block; }
  .sidebar { position: static; width: auto; padding: 14px 18px; flex-direction: row; align-items: center; overflow-x: auto; }
  .sidebar-main-return { width: auto; margin: 0 14px 0 0; white-space: nowrap; }
  .brand { padding: 0 18px 0 0; flex: 0 0 auto; }.brand-logo { width: 150px; height: auto; }.brand > div > span { display: none; }
  nav { display: flex; gap: 5px; }.nav-item { flex: 0 0 auto; padding: 10px 12px; }.nav-icon { display: none; }
  .sidebar-footer { display: none; }
  .main-content { padding: 0 20px 34px; }
  .pos-layout { grid-template-columns: 1fr; }.cart-panel { position: static; min-height: 0; max-height: none; }
  .catalog-panel { min-height: 0; }
}

@media (max-width: 800px) {
  .auth-screen { grid-template-columns: 1fr; }.auth-visual { display: none; }.auth-form-wrap { min-height: 100vh; padding: 24px; }
  .user-chip { display: none; }
}

@media (max-width: 650px) {
  .topbar { align-items: flex-start; padding: 20px 0; }.date-chip { display: none; }.topbar .button { padding: 0 11px; }
  .metric-grid { grid-template-columns: 1fr; }.metric-card { min-height: 130px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .stacked-mobile, .section-intro, .report-controls { align-items: stretch; flex-direction: column; }
  .inline-actions, .date-controls { align-items: stretch; flex-direction: column; }
  .search-box { min-width: 0; width: 100%; }.date-controls input { width: 100%; }
  .product-catalog { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }.form-grid .wide { grid-column: auto; }
  .role-grid, .product-preview-row { grid-template-columns: 1fr; }
  .printing-pricing-grid, .option-card-grid { grid-template-columns: 1fr; }
  .network-mode-grid { grid-template-columns: 1fr; }
  .update-version-grid, .update-repository { grid-template-columns: 1fr; }.update-repository small { grid-column: auto; }
  .attendance-scan-panel { grid-template-columns: 1fr; }.scan-result { grid-column: auto; }
  #rfid-scan-form { grid-template-columns: 1fr; }
  .bill-filters { align-items: stretch; flex-direction: column; }
  .payment-choice-grid { grid-template-columns: 1fr; }.payment-choice-grid.two-options { grid-template-columns: 1fr 1fr; }
  .payment-choice { min-height: 52px; flex-direction: row; }.debt-fields > div, .receipt-meta { grid-template-columns: 1fr; }
  .telecom-provider-grid { grid-template-columns: 1fr; }
}

.bundle-panel, .telecom-catalog-panel { margin-bottom: 18px; }
.catalog-source { color: var(--muted); font-size: .75rem; font-weight: 700; }
.bundle-catalog { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.bundle-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #fff, #f5faff); }
.bundle-card.satellite { background: linear-gradient(145deg, #fffaf0, #fff); }
.bundle-card.alfa { border-color: #d7c9ed; background: linear-gradient(145deg, #fbf7ff, #fff); }
.bundle-card.touch { border-color: #bddbf4; background: linear-gradient(145deg, #f4faff, #fff); }
.bundle-card span, .bundle-card small { display: block; color: var(--muted); font-size: .72rem; font-weight: 700; }
.bundle-card strong { display: block; margin: 7px 0 3px; color: #163b59; font-size: 1.05rem; }
.bundle-card b { display: block; margin-top: 12px; color: var(--blue); font-size: 1.25rem; }
.bundle-card .bundle-cost { margin-top: 5px; color: #65798b; font-weight: 600; }
.portal-workflow { padding: 24px; margin-bottom: 24px; }
.portal-quote { padding: 20px; margin: 16px 0; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.portal-quote > strong { display: block; font-size: 1.6rem; }
.portal-quote p { line-height: 1.55; }
#topup-operation-panel { margin: 18px 0; }
#change-operations-body small, #topup-operations-body small { display: block; color: var(--muted); margin-top: 5px; max-width: 330px; overflow-wrap: anywhere; }
#change-operations-body td, #topup-operations-body td { vertical-align: top; }
.bundle-cost-list { display: grid; gap: 10px; max-height: 56vh; overflow: auto; padding-right: 4px; }
.bundle-cost-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 150px; gap: 14px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; }
.bundle-cost-row strong, .bundle-cost-row span { display: block; }
.bundle-cost-row span { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.bundle-cost-row > b { color: #36566e; text-align: right; }
.bundle-cost-row label { gap: 4px; }
.telecom-pricing-row { grid-template-columns: minmax(0, 1fr) 150px 150px; }
.alfa-card { border-color: #d7c9ed; background: linear-gradient(145deg, #fbf7ff, #fff); }.alfa-card strong { color: #70449a; }
.touch-card { border-color: #bddbf4; background: linear-gradient(145deg, #f4faff, #fff); }.touch-card strong { color: #2373ad; }
.ogero-card { border-color: #c7e3d0; background: linear-gradient(145deg, #f5fff8, #fff); }.ogero-card strong { color: #267345; }

#telecom-dialog { width: min(800px, calc(100vw - 32px)); }
.telecom-quick-picks { margin-bottom: 18px; }
.telecom-quick-picks > .telecom-provider-grid { padding: 18px; }
.select-telecom-provider { padding: 0; text-align: left; font: inherit; }
.select-telecom-provider img { height: 150px; }
.form-grid .telecom-provider-card { display: block; }
.telecom-service-picker { padding: 0; margin: 0; border: 0; }
.telecom-service-picker > legend { margin-bottom: 10px; }
.telecom-service-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.form-grid .telecom-service-choice { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 11px 15px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--muted); cursor: pointer; font-size: .75rem; }
.telecom-service-choice input, .telecom-option-card input { position: absolute; width: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.form-grid .telecom-service-choice:has(input:checked) { border-color: var(--blue); color: #fff; background: var(--blue); }
.telecom-provider-card:focus-within, .telecom-service-choice:focus-within, .telecom-option-card:focus-within { outline: 3px solid var(--blue); outline-offset: 3px; }
.telecom-field-title { margin: 0 0 10px; color: var(--text); font-size: .78rem; font-weight: 800; }
.telecom-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 245px; overflow: auto; padding: 3px 5px 6px 3px; margin: 0 0 8px; }
.form-grid .telecom-option-card { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px; border: 2px solid var(--line); border-radius: 12px; color: var(--text); background: var(--surface); cursor: pointer; }
.telecom-option-card:has(input:checked) { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(23,105,224,.1); background: #f2f7ff; }
.telecom-voucher-art, .telecom-validity-art { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 3 / 2; border-radius: 8px; background: #fff; }
.telecom-voucher-art > img, .telecom-validity-art > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.telecom-voucher-art > strong { position: absolute; top: 7%; left: 7%; margin: 0; color: #fff; font-size: clamp(1.1rem, 2vw, 1.85rem); line-height: 1; font-weight: 900; letter-spacing: -.04em; text-shadow: 0 1px 5px rgba(0,0,0,.18); }
.telecom-validity-art > strong { position: absolute; right: 5%; bottom: 8%; color: #173447; display: flex; align-items: baseline; gap: 3px; font-size: 1.65rem; line-height: 1; }
.telecom-validity-art > strong small { color: #173447; font-size: .7rem; }
.telecom-option-copy { padding: 9px 2px 0; display: grid; gap: 3px; }
.telecom-option-copy > strong { color: var(--text); font-size: .93rem; }
.telecom-option-copy > small { color: var(--muted); font-size: .63rem; }
.telecom-option-card .telecom-voucher-art, .telecom-option-card .telecom-validity-art { width: 110px; flex-shrink: 0; }
.telecom-option-card .telecom-voucher-art > strong { font-size: 1.05rem; }
.telecom-option-card .telecom-validity-art > strong { font-size: 1.05rem; }
.telecom-option-card .telecom-validity-art > strong small { font-size: .4rem; }
.telecom-option-card .telecom-option-copy { padding: 0; }
.telecom-catalog-card .telecom-voucher-art { margin-bottom: 12px; }
.telecom-catalog-card .telecom-voucher-art > strong { display: block; margin: 0; color: #fff; font-size: 1.65rem; }
.telecom-catalog-card .select-telecom-voucher { min-height: 34px; width: 100%; margin-top: 12px; padding: 6px 8px; font-size: .72rem; }
html[data-theme="fibernetlb"] .telecom-service-choice { border-color: #403832; color: #b6aaa0; background: #1b1b1c; }
html[data-theme="fibernetlb"] .telecom-service-choice:has(input:checked) { border-color: #ff6200; color: #0b0b0c; background: #ff6200; }
html[data-theme="fibernetlb"] .telecom-option-card { border-color: #403832; color: #fff4ec; background: #1b1b1c; }
html[data-theme="fibernetlb"] .telecom-option-card:has(input:checked) { border-color: #ff6200; box-shadow: 0 0 0 2px rgba(255,98,0,.12); background: #2a1a11; }
html[data-theme="fibernetlb"] .telecom-catalog-card .telecom-voucher-art > strong { color: #fff; }

@media (max-width: 1180px) { .bundle-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) {
  .bundle-catalog { grid-template-columns: 1fr; }
  .bundle-cost-row, .telecom-pricing-row { grid-template-columns: 1fr; }
  .bundle-cost-row > b { text-align: left; }
  .telecom-option-grid { grid-template-columns: 1fr; }
}

.compact-select { display: grid; gap: 4px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.compact-select select { min-width: 170px; }
.purchase-metrics { margin-bottom: 18px; }
.purchase-modal { width: min(940px, calc(100vw - 36px)); }
.purchase-lines-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 0 10px; }
.purchase-lines-heading h3 { margin: 2px 0 0; }
.purchase-lines { display: grid; gap: 10px; max-height: 42vh; overflow: auto; padding-right: 4px; }
.purchase-line { display: grid; grid-template-columns: minmax(230px, 2fr) 100px 130px 120px 38px; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #f9fbfd; }
.purchase-line label { display: grid; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.purchase-line-total { min-height: 43px; display: flex; align-items: center; justify-content: flex-end; color: var(--ink); font-size: 1rem; }
.purchase-total-row { display: flex; align-items: center; justify-content: flex-end; gap: 28px; margin-top: 14px; padding: 16px 18px; border-radius: 13px; background: var(--soft-blue); }
.purchase-total-row span { color: var(--muted); font-weight: 700; }.purchase-total-row strong { color: var(--blue); font-size: 1.35rem; }
.inline-entry-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; margin-bottom: 16px; }
.inline-entry-form label { display: grid; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.category-manager-list { display: grid; gap: 8px; max-height: 48vh; overflow: auto; }
.category-manager-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 11px; }
.category-manager-row strong { color: var(--ink); }
html[data-theme="fibernetlb"] .purchase-line, html[data-theme="fibernetlb"] .category-manager-row { border-color: #403832; background: #1b1b1c; }
html[data-theme="fibernetlb"] .purchase-line-total, html[data-theme="fibernetlb"] .category-manager-row strong { color: #fffaf4; }
html[data-theme="fibernetlb"] .purchase-total-row { background: #2a1a11; }

@media (max-width: 800px) {
  .purchase-line { grid-template-columns: 1fr 1fr; }
  .purchase-line .purchase-product-field { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .compact-select select { width: 100%; }
  .purchase-lines-heading { align-items: stretch; flex-direction: column; }
  .purchase-line { grid-template-columns: 1fr; }
  .purchase-line .purchase-product-field { grid-column: auto; }
  .inline-entry-form { grid-template-columns: 1fr; }
}

@media print {
  body * { visibility: hidden !important; }
  body[data-print-target="barcode"] #barcode-dialog, body[data-print-target="barcode"] #barcode-dialog *, body[data-print-target="barcode"] #printable-barcode, body[data-print-target="barcode"] #printable-barcode * { visibility: visible !important; }
  body[data-print-target="barcode"] #barcode-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; }
  body[data-print-target="barcode"] #printable-barcode { position: absolute; left: 50%; top: 20px; width: 340px; min-height: 190px; transform: translateX(-50%); border: 1px solid #000; }
  body[data-print-target="receipt"] #receipt-dialog, body[data-print-target="receipt"] #receipt-dialog *, body[data-print-target="receipt"] #printable-receipt, body[data-print-target="receipt"] #printable-receipt * { visibility: visible !important; }
  body[data-print-target="receipt"] #receipt-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; }
  body[data-print-target="receipt"] #printable-receipt { position: absolute; left: 50%; top: 0; width: 520px; transform: translateX(-50%); border: 0; border-radius: 0; color: #000; box-shadow: none; }
  body[data-print-target="bills-report"] #bill-report-dialog, body[data-print-target="bills-report"] #bill-report-dialog *, body[data-print-target="bills-report"] #printable-bills-report, body[data-print-target="bills-report"] #printable-bills-report * { visibility: visible !important; }
  body[data-print-target="bills-report"] #bill-report-dialog { position: absolute; inset: 0; width: 100%; max-width: none; height: auto; max-height: none; margin: 0; padding: 0; overflow: visible; border: 0; }
  body[data-print-target="bills-report"] #printable-bills-report { width: 100%; min-height: 100%; padding: 0; border: 0; border-radius: 0; color: #000; box-shadow: none; }
  body[data-print-target="bills-report"] .bills-report-table thead { display: table-header-group; }
  body[data-print-target="bills-report"] .bills-report-table tr { break-inside: avoid; }
  .no-print { display: none !important; }
}

@page bills-report { size: A4 landscape; margin: 10mm; }

/* Business sections share a coherent icon language with distinct accent colors. */
[data-color="slate"] { --section-color: #52728d; --section-soft: #edf3f8; }
[data-color="orange"] { --section-color: #e56b24; --section-soft: #fff3e9; }
[data-color="blue"] { --section-color: #3676dd; --section-soft: #edf4ff; }
[data-color="violet"] { --section-color: #8555d4; --section-soft: #f4edff; }
[data-color="teal"] { --section-color: #15948d; --section-soft: #e8f8f5; }
[data-color="pink"] { --section-color: #c24f85; --section-soft: #fff0f6; }
[data-color="green"] { --section-color: #309755; --section-soft: #ebf8ed; }
.workspace-menu { margin: 4px 0 10px; border: 1px solid #ffffff20; border-radius: 12px; background: #ffffff06; }
.workspace-menu summary { display: flex; align-items: center; gap: 11px; padding: 12px; color: #e2eaf1; cursor: pointer; list-style: none; font-size: .86rem; font-weight: 600; }
.workspace-menu summary::-webkit-details-marker { display: none; }
.menu-chevron { margin-left: auto; }.workspace-menu[open] .menu-chevron { transform: rotate(180deg); }
.workspace-nav-button { width: 100%; display: flex; gap: 10px; align-items: center; padding: 10px 12px; border: 0; background: transparent; color: #d5e1ea; text-align: left; font-size: .78rem; }
.workspace-nav-button .ui-icon { color: var(--section-color); }.workspace-nav-button:hover { background: #ffffff12; }
.workspace-menu #workspace-nav-list { padding-bottom: 7px; }
.workspace-intro { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.workspace-heading { display: flex; align-items: center; gap: 16px; }.workspace-heading h2 { margin: 2px 0 7px; font-size: 1.55rem; }.workspace-heading p:last-child { margin: 0; max-width: 570px; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.workspace-emblem { display: grid; place-items: center; flex-shrink: 0; width: 64px; height: 64px; border-radius: 19px; background: var(--section-soft); color: var(--section-color); }.workspace-emblem .ui-icon { width: 32px; height: 32px; stroke-width: 1.6; }
.workspace-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.workspace-card { position: relative; display: grid; justify-items: start; gap: 9px; text-align: left; background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: 17px; padding: 19px; transition: transform .15s, box-shadow .15s; }
.workspace-card:hover { transform: translateY(-3px); box-shadow: 0 8px 26px #10203312; border-color: var(--section-color); }
.workspace-card-icon { display: grid; place-items: center; width: 47px; height: 47px; margin-bottom: 4px; border-radius: 14px; background: var(--section-soft); color: var(--section-color); }.workspace-card-icon .ui-icon { width: 27px; height: 27px; }
.workspace-card strong { font-size: .98rem; }.workspace-card > span:last-of-type { color: var(--muted); font-size: .74rem; }.workspace-card-arrow { position: absolute; right: 19px; top: 29px; color: var(--section-color); }
.combined-overview { display: flex; align-items: center; gap: 34px; padding: 22px 25px; border-radius: 17px; margin-bottom: 22px; background: var(--navy); color: white; }
.combined-overview > div { display: grid; gap: 7px; flex: 1; }.combined-overview span { font-size: .77rem; color: #d2dde8; }.combined-overview strong { font-size: 1.55rem; }.combined-overview small { color: #aebdd1; font-size: .73rem; }
.report-workspace-field { display: grid; gap: 7px; margin-bottom: 18px; max-width: 290px; color: var(--muted); font-size: .8rem; font-weight: 600; }.report-workspace-field select { padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--text); }
.report-sections-panel { margin-top: 22px; }.section-name { display: flex; gap: 10px; align-items: center; }.section-name .ui-icon { color: var(--blue); }
.fresh-start-panel { padding: 20px; margin-bottom: 22px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border-color: #e8b0a0; }.fresh-start-panel h3 { margin: 6px 0; }.fresh-start-panel p:last-child { margin: 8px 0 0; color: var(--muted); font-size: .84rem; }
.reset-confirmation { display: grid; gap: 8px; margin-top: 20px; font-weight: 600; }.reset-confirmation input { padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
html[data-theme="fibernetlb"] .workspace-card, html[data-theme="fibernetlb"] .report-workspace-field select { background: #161617; border-color: #403832; color: #fffaf4; }
html[data-theme="fibernetlb"] .workspace-card-icon, html[data-theme="fibernetlb"] .workspace-emblem { background: #ffffff0b; }
html[data-theme="fibernetlb"] .combined-overview { background: #221710; border: 1px solid #64412a; }
@media (max-width: 1200px) { .workspace-intro { align-items: flex-start; flex-direction: column; }.combined-overview { flex-wrap: wrap; gap: 22px; } }

[data-color="amber"] { --section-color: #d49b26; --section-soft: #fff8e6; }
[data-color="indigo"] { --section-color: #8189e8; --section-soft: #eef0ff; }
.business-menu-divider { margin: 6px 12px; padding-top: 12px; border-top: 1px solid #ffffff20; color: #98a9bb; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.login-business-switch { padding-top: 16px; margin-top: 4px; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.login-business-switch label { margin-bottom: 0; }
.section-access-fieldset { padding: 16px; margin: 20px 0 0; border: 1px solid var(--line); border-radius: 13px; }
.section-access-fieldset legend { padding: 0 6px; font-weight: 700; font-size: .83rem; }
.section-access-fieldset .auth-copy { font-size: .76rem; line-height: 1.5; }
.section-access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.section-access-choice { display: flex; align-items: center; gap: 8px; padding: 10px 8px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); font-size: .73rem; cursor: pointer; }
.section-access-choice input { width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--blue); }
.section-access-choice .ui-icon { width: 19px; height: 19px; color: var(--section-color); }
.section-access-choice:has(input:checked) { border-color: var(--blue); }
.section-access-choice:has(input:disabled) { cursor: default; opacity: .8; }
.staff-feature-choice { align-items: flex-start; min-width: 0; padding: 12px; }
.staff-feature-choice input { margin-top: 2px; }
.staff-feature-choice span { min-width: 0; line-height: 1.5; }
.staff-feature-choice strong, .staff-feature-choice small { display: block; }
.staff-feature-choice small { color: var(--muted); margin-top: 4px; font-size: .7rem; }
#user-feature-defaults { margin-top: 12px; }
.user-access-tags { display: flex; flex-wrap: wrap; gap: 5px; max-width: 330px; }
.user-access-tags span { padding: 4px 7px; border-radius: 6px; background: var(--soft-blue); color: var(--blue); font-size: .66rem; }
.no-business-access { grid-column: 1 / -1; padding: 24px; color: var(--muted); }
@media (max-width: 650px) { .section-access-grid { grid-template-columns: 1fr; } }
.reseller-directory { margin-bottom: 22px; }
#view-bills .section-intro { flex-wrap: wrap; }
#view-bills .inline-actions { flex-shrink: 0; }
#view-bills .inline-actions .button { white-space: nowrap; }
.reseller-directory > summary { display: flex; align-items: center; gap: 10px; padding: 18px 22px; font-weight: 700; cursor: pointer; }
.reseller-directory > summary .field-note { margin-left: auto; }
.reseller-directory-content { padding: 0 22px 20px; }
.reseller-entry { display: grid; grid-template-columns: 1fr 1.2fr 1fr auto; align-items: end; gap: 12px; margin: 18px 0; }
.reseller-entry label { display: grid; gap: 6px; font-size: .76rem; color: var(--muted); font-weight: 600; }
.reseller-entry input { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: var(--surface); }
@media (max-width: 1100px) { .reseller-entry { grid-template-columns: 1fr 1fr; } }
.report-payment-section { margin: 24px 0; }
.report-payment-section h2 { margin: 6px 0 8px; }
.payment-breakdown { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.collection-breakdown { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.debt-report-panel { margin-top: 24px; }
.paid-amount { color: var(--success, #16865f); }
.whish-card { border-color: #d7668955; }
.debt-payment-preview { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.receipt-balance { display: flex; justify-content: space-between; gap: 12px; margin: 8px 0; font-size: 13px; }
@media (max-width: 1100px) { .payment-breakdown, .collection-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .payment-breakdown, .collection-breakdown { grid-template-columns: 1fr; } }
.portal-confirm-message { white-space: pre-line; line-height: 1.6; overflow-wrap: anywhere; }
#portal-confirm-dialog { width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); border: 1px solid var(--line); background: var(--surface); }
#portal-confirm-dialog[open] { display: flex; flex-direction: column; }
.portal-confirm-header { display: flex; gap: 16px; align-items: flex-start; padding: 22px 28px 18px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.portal-confirm-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 14px; color: var(--blue); background: color-mix(in srgb, var(--blue) 9%, var(--surface)); }
.portal-confirm-icon .ui-icon { width: 26px; height: 26px; }
.portal-confirm-header > div { min-width: 0; flex: 1; }
.portal-confirm-header .eyebrow { margin: 0 0 6px; font-size: .67rem; letter-spacing: .13em; }
.portal-confirm-header h2 { margin: 0; font-size: 1.4rem; line-height: 1.25; letter-spacing: -.02em; overflow-wrap: anywhere; }
.portal-confirm-header p:last-child { margin: 9px 0 0; color: var(--muted); font-size: .83rem; line-height: 1.5; }
.portal-confirm-header > button { flex-shrink: 0; }
.portal-confirm-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 28px; }
.confirm-subject { position: relative; padding: 15px 18px; border-radius: 12px; border: 1px solid var(--line); border-left: 3px solid var(--blue); background: var(--ice); display: grid; gap: 5px; overflow-wrap: anywhere; }
.confirm-label { color: var(--muted); font-size: .64rem; font-weight: 750; letter-spacing: .12em; }
.confirm-customer-name { font-size: 1.08rem; line-height: 1.35; }
.confirm-customer-account { color: var(--blue); font-family: Consolas, monospace; font-size: .83rem; line-height: 1.4; }
.confirm-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 16px 0; }
.confirm-facts > div, .confirm-metrics > div { min-width: 0; }
.confirm-facts dt, .confirm-metrics dt { color: var(--muted); font-size: .74rem; line-height: 1.5; }
.confirm-facts dd { margin: 4px 0 0; font-size: .84rem; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.confirm-payments { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-top: 16px; }
.confirm-payments h3 { margin: 0; padding: 10px 18px; background: var(--ice); color: var(--muted); font-size: .74rem; font-weight: 750; }
.confirm-payment-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(90px, auto); gap: 16px; align-items: start; padding: 12px 18px; border-top: 1px solid var(--line); }
.confirm-payment-row strong { display: block; font-size: .88rem; line-height: 1.4; overflow-wrap: anywhere; }
.confirm-payment-row small { display: block; margin-top: 5px; color: var(--muted); font-size: .73rem; line-height: 1.5; overflow-wrap: anywhere; }
.confirm-payment-value { text-align: right; min-width: 0; }
.confirm-payment-value strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; letter-spacing: -.025em; }
.confirm-payment-separate { background: var(--ice); }
.confirm-payment-separate .confirm-payment-value strong { color: var(--muted); font-size: 1rem; }
.confirm-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 14px 18px; }
.confirm-metrics dd { margin: 5px 0 0; font-size: .96rem; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.confirm-notice { padding: 12px 16px; border: 1px solid color-mix(in srgb, var(--warning) 28%, var(--line)); border-radius: 10px; background: color-mix(in srgb, var(--warning) 7%, var(--surface)); margin-top: 14px; }
.confirm-notice strong { font-size: .77rem; }
.confirm-notice p { margin: 6px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.6; overflow-wrap: anywhere; }
.portal-confirm-details { margin-top: 14px; }
.portal-confirm-details summary { color: var(--muted); font-size: .76rem; cursor: pointer; padding: 6px 0; }
.portal-confirm-details .portal-confirm-message { margin: 10px 0 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: var(--ice); font-size: .78rem; }
.plain-confirm-details { margin-top: 0; }
.plain-confirm-details .portal-confirm-message { margin: 0; padding: 0; border: 0; background: transparent; color: var(--text); font-size: .9rem; }
.portal-confirm-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; border-top: 1px solid var(--line); padding: 18px 28px; background: var(--surface); }
.portal-confirm-footer > p { margin: 0; max-width: 190px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.portal-confirm-footer .modal-actions { margin: 0; flex-shrink: 0; }
.portal-confirm-footer .button { min-height: 43px; font-size: .81rem; }
.portal-confirm-footer .button-primary { box-shadow: none; }
#portal-confirm-dialog :focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
@media (max-width: 580px) {
  .portal-confirm-header { padding: 20px; gap: 12px; }
  .portal-confirm-header h2 { font-size: 1.17rem; }
  .portal-confirm-icon { width: 38px; height: 38px; flex-basis: 38px; }
  .portal-confirm-icon .ui-icon { width: 22px; height: 22px; }
  .portal-confirm-body { padding: 18px 20px; }
  .confirm-facts { grid-template-columns: 1fr; gap: 13px; }
  .confirm-payment-row { padding: 14px; }
  .portal-confirm-footer { flex-direction: column; align-items: stretch; padding: 16px 20px; gap: 10px; }
  .portal-confirm-footer > p { max-width: none; }
  .portal-confirm-footer .modal-actions { display: grid; grid-template-columns: 1fr 1fr; }
}
#bill-settings-dialog { width: min(820px, calc(100vw - 32px)); }
#bill-reset-form > label { display: grid; gap: 7px; margin-top: 14px; color: var(--muted); font-size: .8rem; font-weight: 700; }
#bill-settings-dialog > section { padding: 0 25px 25px; }
#bill-reset-history { white-space: pre-line; overflow-wrap: anywhere; }
#bill-reset-result { overflow-wrap: anywhere; }
.profit-parts-panel { margin-top: 24px; margin-bottom: 24px; }
.profit-parts-panel tfoot th { padding: 18px; border-top: 1px solid var(--line); }
.change-profit-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.change-profit-preview > div { display: grid; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.change-profit-preview span { font-size: .75rem; color: var(--muted); }
.change-profit-preview strong { font-size: 1.25rem; }
@media (max-width: 650px) { .change-profit-preview { grid-template-columns: 1fr; } }

.receipt-credentials { display: grid; gap: 8px; margin: 12px 0; padding: 12px; border: 1px solid #bbb; border-radius: 8px; text-align: left; }
.receipt-paper > header:has(.receipt-credentials:not(.hidden)) { flex-direction: column; align-items: stretch; }
.receipt-credentials > div { display: grid; gap: 3px; }
.receipt-credentials span { color: #555; font-size: 11px; }
.receipt-credentials strong { color: #111; font-family: Consolas, monospace; font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; user-select: text; }
@media print { .receipt-credentials { break-inside: avoid; } }
#report-renewals-panel table { table-layout: fixed; min-width: 820px; }
#report-renewals-panel th, #report-renewals-panel td { padding: 14px 10px; white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
#report-renewals-panel th:nth-child(1) { width: 18%; }
#report-renewals-panel th:nth-child(2) { width: 23%; }
#report-renewals-panel th:nth-child(3) { width: 19%; }
#report-renewals-panel th:nth-child(4) { width: 13%; }
#report-renewals-panel th:nth-child(5) { width: 18%; }
#report-renewals-panel th:nth-child(6) { width: 9%; }
#report-renewals-body small, #bills-body td:first-child small { display: block; margin-top: 4px; color: var(--muted); font-size: .72rem; }

.backup-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.backup-overview article { display: grid; gap: 12px; padding: 22px; }
.backup-overview article > span { font-size: .78rem; color: var(--muted); }
.backup-overview article > strong { font-size: 1.12rem; }
.backup-overview small { color: var(--muted); line-height: 1.6; }
.backup-settings-form { padding: 24px; margin-bottom: 24px; }
.backup-settings-form > .panel-heading { padding: 0 0 22px; }
#view-backups .checkbox-label { display: flex; align-items: center; gap: 10px; font-size: .8rem; color: var(--text); }
#view-backups input[type="checkbox"] { width: 18px; min-height: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--blue); }
.backup-destinations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.backup-destination { min-width: 0; border: 1px solid var(--line); border-radius: 14px; padding: 20px; }
.backup-destination legend { padding: 0 8px; font-weight: 800; }
.backup-destination > .checkbox-label { margin-bottom: 20px; }
.backup-destination > .button { margin-top: 14px; }
.backup-history-panel { margin-bottom: 24px; }
.backup-history-panel table { min-width: 1000px; }
#backup-history-body .status { white-space: nowrap; overflow-wrap: normal; }
#backup-history-body td { max-width: 290px; white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
#backup-history-body small { display: block; margin-top: 8px; color: var(--muted); line-height: 1.6; }
.backup-checksum { font-family: Consolas,monospace; font-size: .62rem; }
.backup-extract-panel { display: grid; gap: 16px; padding: 24px; }
.backup-extract-panel > .button { justify-self: start; }
@media (max-width:1100px) { .backup-destinations { grid-template-columns: 1fr; } }
@media (max-width:800px) { .backup-overview { grid-template-columns: 1fr; } }
/* Expense filters remain usable at smaller desktop widths. */
#view-expenses .section-intro { flex-wrap: wrap; }
#view-expenses .section-intro > div:first-child { flex: 1 1 340px; }
#view-expenses .section-intro > .inline-actions { flex-wrap: wrap; justify-content: flex-end; }
#view-expenses .section-intro .button { white-space: nowrap; }
.reset-test-choice, .reset-test-ack { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.reset-test-choice input, .reset-test-ack input { width: auto; flex: 0 0 auto; margin-top: 4px; }
#bill-reset-actions-body td { vertical-align: top; overflow-wrap: anywhere; white-space: normal; }
#bill-reset-actions-body small { display: block; margin-top: 6px; color: var(--muted); }
#bill-reset-actions-body .reset-test-choice { display: flex; }
#bill-reset-actions-body td:first-child { max-width: 320px; }
#bill-reset-actions-body td:last-child { min-width: 240px; }
#bill-reset-close-ack-field { margin-top: 16px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
#bill-reset-review-form > label { display: grid; gap: 7px; margin-top: 14px; }
/* Whish destinations use the same form and panel language as other settings. */
.whish-admin-row { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding:12px 0; }
.whish-destination-field { display:block; margin:12px 0; }
.whish-record { display:block; font-size:12px; margin-top:5px; overflow-wrap:anywhere; }
/* Personal custody and month-end opening are separate from income. */
.finance-panel { margin:22px 0; }
.section-intro { flex-wrap:wrap; }
.section-intro > .inline-actions { flex-wrap:wrap;max-width:100%; }
#rollback-panel { grid-template-columns:1fr; border-top:1px solid var(--line);padding-top:18px; }
#rollback-panel label { color:var(--text); }
#rollback-panel h3 { margin:0; }
#rollback-panel select { width:100%; }
.finance-content { padding:22px; }
.finance-panel label,.ledger-toolbar label { display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:170px; }
.finance-panel select { max-width:260px; }
.finance-admin-summary { grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.finance-admin-summary .metric-card { min-width:0;padding:18px;justify-content:flex-start; }
.finance-admin-summary .metric-card strong { min-width:0;overflow-wrap:anywhere; }
.finance-admin-summary .metric-card>span,.finance-admin-summary .metric-card small { line-height:1.45;overflow-wrap:anywhere; }
.finance-admin-summary .finance-profit-toggle { display:flex;flex-direction:row;align-items:flex-start;gap:8px;min-width:0;width:auto;margin-top:12px;color:var(--text);font-weight:650;line-height:1.4;cursor:pointer; }
.finance-admin-summary .finance-profit-toggle input { flex:0 0 auto;width:16px;min-height:16px;height:16px;margin:1px 0 0;accent-color:var(--blue);cursor:pointer; }
.finance-admin-summary .finance-profit-toggle:focus-within { outline:2px solid var(--blue);outline-offset:4px;border-radius:4px; }
.finance-admin-summary .finance-monthly-card { gap:12px;container-type:inline-size; }
.finance-admin-summary .finance-monthly-rows { display:grid;gap:8px;min-width:0; }
.finance-admin-summary .finance-monthly-row { display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-width:0;min-height:58px;width:auto;margin:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text); }
.finance-admin-summary .finance-monthly-choice { cursor:pointer; }
.finance-admin-summary .finance-monthly-row-label { min-width:0;font-size:.8rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere; }
.finance-admin-summary .finance-monthly-row-label small { display:block;margin-top:3px;font-size:.68rem;font-weight:400;color:var(--muted); }
.finance-admin-summary .finance-monthly-row strong { margin:0;font-size:1rem;line-height:1.35;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.finance-admin-summary .finance-monthly-row input { width:18px;min-width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--blue);cursor:pointer; }
.finance-admin-summary .finance-monthly-row:has(input:checked) { border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue); }
.finance-admin-summary .finance-monthly-row:focus-within { outline:2px solid var(--blue);outline-offset:2px; }
.finance-admin-summary .finance-monthly-row:has(input:disabled),.finance-admin-summary .finance-monthly-row input:disabled { cursor:default;color:var(--muted); }
.finance-admin-summary #finance-monthly-note { font-size:.7rem;line-height:1.5; }
@container(max-width:280px){.finance-admin-summary .finance-monthly-row { grid-template-columns:minmax(0,1fr) 18px;gap:4px 8px; }.finance-admin-summary .finance-monthly-row strong { grid-column:1;grid-row:2; }.finance-admin-summary .finance-monthly-row input { grid-column:2;grid-row:1 / span 2; }}
@media(min-width:1400px){.finance-admin-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1920px){.finance-admin-summary{grid-template-columns:repeat(7,minmax(0,1fr))}.finance-admin-summary.finance-no-internet{grid-template-columns:repeat(6,minmax(0,1fr))}.finance-admin-summary.finance-bandwidth-cost{grid-template-columns:repeat(7,minmax(0,1fr))}.finance-admin-summary.finance-all-businesses{grid-template-columns:repeat(5,minmax(0,1fr))}.finance-admin-summary.finance-all-businesses.finance-bandwidth-cost{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:1400px){#finance-employee-summary.finance-admin-summary.finance-monthly-payments{grid-template-columns:repeat(4,minmax(0,1fr))}}
.finance-admin-summary .finance-profit-toggle:has(input:disabled) { cursor:default;color:var(--muted); }
/* Shared services and paid central-stock purchases stay visually separate from
   physical warehouse sales and the historical business purchase forms. */
.shared-maintenance .sm-content,.stock-purchases .sp-form,.stock-purchases .sp-review { padding:24px; }
.shared-maintenance .sm-pos-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:24px;align-items:start; }
.shared-maintenance .sm-cart { min-width:0;border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--surface); }
.shared-maintenance .sm-cart>.inline-actions { justify-content:space-between; }
.shared-maintenance .sm-cart-line { display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px 12px;padding:16px 0;border-bottom:1px solid var(--line); }
.shared-maintenance .sm-cart-line strong,.shared-maintenance .sm-cart-line span { min-width:0;overflow-wrap:anywhere; }
.shared-maintenance .sm-cart-line label { grid-column:2;grid-row:1 / span 2; }
.shared-maintenance .sm-cart-line .text-button { justify-self:start; }
.shared-maintenance table small,.stock-purchases table small { display:block;color:var(--muted);margin-top:4px;overflow-wrap:anywhere; }
.sm-recovery { border:1px solid #efab56;border-left:4px solid #d78320;border-radius:12px;padding:18px;margin-bottom:20px;overflow-wrap:anywhere; }
.sm-dialog { width:min(700px,calc(100vw - 32px)); }
.sm-dialog .sm-review-total { font-size:2rem;font-weight:750;margin:18px 0; }
.stock-purchases .sp-topline { display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px; }
.stock-purchases .sp-topline h2 { margin:5px 0 10px; }
.stock-purchases .panel { margin-bottom:24px; }
.stock-purchases .sp-form>.form-grid,.stock-purchases #sp-lines { margin-bottom:20px; }
.stock-purchases .sp-total { display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:20px; }
.stock-purchases .sp-total strong { font-size:1.5rem; }
.stock-purchases .sp-fee,.stock-purchases .sp-confirm-check { display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:18px 0;line-height:1.5; }
.stock-purchases .sp-fee input,.stock-purchases .sp-confirm-check input { flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:3px 0 0; }
.stock-purchases .sp-preview-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0; }
.stock-purchases .sp-preview-grid>div { min-width:0;display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-wrap:anywhere; }
.stock-purchases .sp-preview-grid span,.stock-purchases .sp-preview-grid small { color:var(--muted);line-height:1.4; }
.stock-purchases #sp-status,.shared-maintenance [role="status"] { overflow-wrap:anywhere; }
@media(max-width:1000px){.shared-maintenance .sm-pos-layout{grid-template-columns:1fr}.stock-purchases .sp-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shared-maintenance .sm-content,.stock-purchases .sp-form,.stock-purchases .sp-review{padding:16px}.shared-maintenance .sm-cart{padding:16px}.shared-maintenance #sm-catalog{grid-template-columns:1fr}.stock-purchases .sp-topline{flex-direction:column}.stock-purchases .sp-preview-grid{grid-template-columns:1fr}.shared-maintenance .sm-cart-line{grid-template-columns:minmax(0,1fr) 80px}.stock-purchases .sp-topline>.inline-actions{flex-wrap:wrap}.sm-dialog{width:calc(100vw - 20px)}}
/* Operational dashboards share one compact, non-financial card layout. */
#finance-employee-summary.finance-simple-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
#finance-employee-summary.finance-simple-summary .metric-card { min-height:155px; }
#finance-employee-summary [data-finance-metric="customer-debts"] { border-color:var(--line); }
@media(max-width:1000px){#finance-employee-summary.finance-simple-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#finance-employee-summary.finance-simple-summary{grid-template-columns:1fr}}
@media(max-width:1150px){.finance-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.finance-admin-summary{grid-template-columns:1fr}}
.wallet-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0; }
.wallet-card { border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:7px;background:var(--surface); }
.wallet-card strong { font-size:30px;line-height:1.2;font-variant-numeric:tabular-nums; }
.wallet-card small { color:var(--muted); }
.wallet-label { font-weight:700;overflow-wrap:anywhere; }
.finance-history { margin-top:22px; }
.finance-history summary { cursor:pointer;padding:12px 0;font-weight:650; }
.finance-history td details p { max-width:500px;font-size:12px; }
.finance-modal { width:min(1000px,calc(100vw - 40px));padding:24px; }
.finance-modal form { padding:0; }
.finance-modal .modal-heading { margin-bottom:20px; }
.reseller-wallet-review-modal .auth-copy { line-height:1.6; }
.reseller-wallet-review-modal .field-note { line-height:1.55; }
.reseller-wallet-review-modal table { table-layout:fixed; min-width:760px; }
.reseller-wallet-review-modal th,.reseller-wallet-review-modal td { white-space:normal; overflow-wrap:anywhere; vertical-align:top; padding:14px 12px; }
.reseller-wallet-review-modal td small { display:block; margin-top:6px; color:var(--muted); line-height:1.5; }
:is(#rf-reconciliation-total,.wallet-review-total) { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--ice); line-height:1.6; font-weight:650; }
:is(#rf-reconciliation-fields,.wallet-review-fields) { min-width:0; margin:18px 0 0; padding:0; border:0; display:grid; gap:14px; }
:is(#rf-reconciliation-fields,.wallet-review-fields) label { display:grid; gap:8px; color:var(--muted); font-size:.85rem; font-weight:700; }
:is(#rf-reconciliation-fields,.wallet-review-fields) input { width:100%; min-width:0; padding:13px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); }
:is(#rf-reconciliation-fields,.wallet-review-fields) .modal-actions { margin-top:4px; flex-wrap:wrap; }
:is(#rf-reconciliation-history,.wallet-review-history) .button { white-space:normal; }
.reseller-wallet-correction-note { max-width:320px; margin-top:8px; margin-left:auto; padding-top:8px; border-top:1px solid var(--line); white-space:normal; }
.reseller-wallet-correction-note strong { display:block; margin-bottom:4px; }
@media(max-width:700px){.reseller-wallet-review-modal table{min-width:0}.reseller-wallet-review-modal thead{display:none}.reseller-wallet-review-modal tbody{display:grid;gap:14px}.reseller-wallet-review-modal tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;padding:8px}.reseller-wallet-review-modal td{min-width:0;border:0;padding:10px}.reseller-wallet-review-modal td:first-child,.reseller-wallet-review-modal td:nth-child(4),.reseller-wallet-review-modal td:nth-child(5){grid-column:1/-1}.reseller-wallet-review-modal td[data-label]::before{content:attr(data-label);display:block;margin-bottom:8px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}}
.finance-preview { margin-top:18px; }
.finance-preview strong { font-size:18px; }
.ledger-toolbar { display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:20px 0; }
.ledger-archive .metric-card { min-height:110px;padding:16px; }
.ledger-archive .metric-card strong { font-size:25px; }
.metric-card strong { font-variant-numeric:tabular-nums; }
/* Cashiers open businesses from the sidebar and review only their own collections here. */
.cashier-reseller-collections { margin:0 0 26px; }
.cashier-collections-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px; }
.cashier-collections-heading h2 { margin:0;font-size:1.15rem; }
.cashier-collections-heading .eyebrow { margin:0 0 7px; }
.cashier-collections-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.cashier-collection-card { min-width:0;min-height:180px;padding:24px;justify-content:flex-start;gap:16px;border-top:3px solid var(--blue); }
.cashier-collection-card>span { color:var(--muted);font-weight:700;line-height:1.5; }
.cashier-collection-card strong { font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15;overflow-wrap:anywhere; }
.cashier-collection-card small { margin-top:auto;line-height:1.5;overflow-wrap:anywhere; }
.cashier-collection-total { border-top-color:#0f9d9a; }
.cashier-collections-status { color:var(--muted);font-size:.78rem;line-height:1.6;margin:13px 0 0; }
.cashier-reseller-collections[data-state="unavailable"] .cashier-collections-status { color:var(--text); }
.cashier-reseller-collections[data-state="loading"] .cashier-collection-card strong { opacity:.6; }
@media(max-width:800px){.cashier-collections-grid{grid-template-columns:1fr;gap:14px}.cashier-collection-card{min-height:155px;padding:20px}.cashier-collections-heading{align-items:flex-start}}
#view-dashboard>.metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
#view-dashboard>.metric-grid .metric-card { min-height:130px; }
#recent-sales-body small { display:block;font-size:11px;line-height:1.4;margin-top:5px; }
#recent-sales-body td:first-child { max-width:220px;white-space:normal;overflow-wrap:anywhere; }
#finance-error:empty { display:none; }
#finance-error { color:#c2410c; }
@media(max-width:1150px){#view-dashboard>.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.finance-panel .panel-heading{align-items:start;flex-wrap:wrap}.finance-panel .inline-actions{flex-wrap:wrap}.stock-panel .empty-state{min-height:150px}}
@media(max-width:700px){#view-dashboard>.metric-grid{grid-template-columns:1fr}.finance-content{padding:16px}.finance-panel label,.finance-panel select{width:100%;max-width:none}.wallet-grid{grid-template-columns:1fr}.finance-modal{width:calc(100vw - 20px)}}
@media print{
 @page monthly-ledger{size:A4 landscape;margin:12mm}
 body.printing-monthly-ledger>*:not(#ledger-archive-dialog){display:none!important}
 body.printing-monthly-ledger #ledger-archive-dialog{page:monthly-ledger;display:block!important;position:static;width:100%;max-width:none;height:auto;max-height:none;border:0;box-shadow:none;overflow:visible;color:#111;background:#fff;padding:0}
 body.printing-monthly-ledger #ledger-archive-dialog,body.printing-monthly-ledger #ledger-archive-dialog *{visibility:visible!important;color:#111!important}
 body.printing-monthly-ledger #ledger-archive-dialog::backdrop{display:none}
 body.printing-monthly-ledger #ledger-archive-dialog button,body.printing-monthly-ledger .no-print{display:none!important}
 body.printing-monthly-ledger .table-wrap{overflow:visible}
 body.printing-monthly-ledger th,body.printing-monthly-ledger td{padding:6px;font-size:10px;color:#111}
 body.printing-monthly-ledger .metric-grid{grid-template-columns:repeat(4,1fr);gap:7px}
 body.printing-monthly-ledger .metric-card,body.printing-monthly-ledger .wallet-card{color:#111;background:#fff;break-inside:avoid;border:1px solid #aaa}
 body.printing-monthly-ledger .metric-card strong{font-size:19px}
}
