:root{--bg:#f4f7fb;--card:#fff;--ink:#1f2937;--muted:#6b7280;--primary:#0f6b8f;--primary-dark:#09445d;--line:#d9e2ec;--danger:#b91c1c;--ok:#15803d;--warn:#b45309}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,#0b2c44,#092337);color:#fff;padding:18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{width:54px;height:54px;border-radius:16px;background:#fff;color:#0b2c44;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;margin-bottom:20px}.sidebar a{display:block;text-decoration:none;padding:10px 12px;border-radius:9px;margin:3px 0;color:#e5edf5}.sidebar a:hover{background:rgba(255,255,255,.12)}.nav-title{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#9fb8c9;margin:18px 0 6px}.content{flex:1;padding:24px;overflow:auto}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 8px 22px rgba(15,35,55,.04)}.card h2,.card h3{margin-top:0}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:block;font-weight:700;font-size:13px;color:#374151}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;margin-top:6px;font:inherit}textarea{min-height:82px}.btn,button{display:inline-block;border:0;border-radius:9px;padding:10px 14px;background:var(--primary);color:#fff;text-decoration:none;cursor:pointer;font-weight:700}.btn:hover,button:hover{background:var(--primary-dark)}.btn.secondary{background:#475569}.btn.danger,.danger{background:var(--danger)!important}.btn.success{background:var(--ok)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eef4f8;font-size:13px}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.readonly-box{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:12px}.filter-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.line-table input,.line-table select{min-width:110px}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary .tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.summary .num{font-size:24px;font-weight:800;margin-top:6px}@media(max-width:900px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.grid.two,.grid.three,.grid.four,.summary{grid-template-columns:1fr}.topbar{align-items:flex-start}.content{padding:16px}}@media print{.sidebar,.topbar,.filter-form,.actions .btn,button{display:none!important}.content{padding:0}.card{box-shadow:none;border:0}.app-shell{display:block}}

/* V3 role portal additions */
.login-page { background: linear-gradient(135deg, #0f172a, #0e7490); min-height: 100vh; }
.login-shell { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.login-card { width: min(480px, 100%); background: #ffffff; border-radius: 20px; padding: 32px; box-shadow: 0 24px 80px rgba(15, 23, 42, .28); }
.login-logo { width: 58px; height: 58px; border-radius: 18px; background: #0e7490; color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 22px; margin-bottom: 14px; }
.muted { color: #64748b; }
.stacked-form label { display: block; margin: 14px 0; font-weight: 700; }
.stacked-form input, .stacked-form select { width: 100%; margin-top: 6px; }
.demo-box { margin-top: 18px; padding: 12px; background: #f1f5f9; border-radius: 12px; color: #475569; font-size: 13px; }
.module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.module-card { display: block; padding: 16px; border: 1px solid #e2e8f0; border-radius: 14px; background: #f8fafc; text-decoration: none; color: #0f172a; }
.module-card:hover { background: #ecfeff; border-color: #67e8f9; }
.module-card strong { display: block; margin-bottom: 6px; }
.module-card span { color: #64748b; font-size: 13px; }
/* V4 enhancements */
.inline-form{display:inline;margin:0}.actions.compact{gap:6px;margin:0;flex-wrap:nowrap}.actions.compact .btn,.actions.compact button{padding:7px 10px;font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:12px 0}.permission-grid label{border:1px solid var(--line);background:#f8fafc;padding:10px;border-radius:10px}.company-header{display:flex;gap:16px;align-items:center;border-bottom:2px solid var(--line);padding-bottom:14px;margin-bottom:16px}.company-header h2{margin:0}.company-header p{margin:3px 0;color:#475569}.company-logo{width:86px;max-height:86px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#fff}.login-logo-img{width:82px;max-height:82px;object-fit:contain;border-radius:16px;margin-bottom:14px}.receipt-card{max-width:1000px}.muted{color:#64748b}.filter-form label{min-width:145px}.filter-form input[type="search"]{min-width:240px}
@media print{.company-header{break-inside:avoid}.receipt-card{max-width:none}.btn.danger,.inline-form{display:none!important}}

/* V5 dashboard and payment enhancements */
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#ffffff,#f4f0ff);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 14px 35px rgba(15,23,42,.06)}.dashboard-hero h2{margin:0 0 5px;font-size:30px}.dashboard-hero p{margin:0;color:#64748b}.fy-pill{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:10px 16px;font-weight:800;color:#312e81}.balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.balance-card{border-radius:18px;padding:18px;color:#0f172a;border:1px solid #e5e7eb;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.05)}.balance-card span{display:block;color:#64748b;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.balance-card strong{display:block;font-size:25px;margin:8px 0 5px}.balance-card small{color:#64748b}.balance-card.cash{background:linear-gradient(135deg,#ecfdf5,#fff)}.balance-card.bank{background:linear-gradient(135deg,#eff6ff,#fff)}.balance-card.mpesa{background:linear-gradient(135deg,#f5f3ff,#fff)}.balance-card.total{background:linear-gradient(135deg,#fff7ed,#fff)}.dashboard-summary .tile{position:relative;overflow:hidden}.trend{display:block;margin-top:6px;font-size:12px;font-weight:700}.trend.good,.good{color:#16a34a}.trend.warn{color:#b45309}.danger-text{color:#dc2626}.dashboard-grid{display:grid;grid-template-columns:1.35fr .95fr;gap:16px;margin-bottom:16px}.dashboard-grid .wide{min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h3{margin:0}.card-head span,.card-head a{color:#64748b;font-size:13px}.cash-flow-chart{height:210px;display:flex;align-items:end;gap:5px;border-left:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:12px 8px 0;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:14px}.flow-day{flex:1;display:flex;align-items:end;justify-content:center;gap:2px;min-width:6px}.flow-day i{width:7px;border-radius:999px 999px 0 0;display:block}.flow-day i.in{background:#22c55e}.flow-day i.out{background:#f43f5e}.chart-legend{display:flex;gap:18px;margin-top:10px;color:#64748b;font-size:13px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.in,.dot.green{background:#22c55e}.dot.out{background:#f43f5e}.dot.orange{background:#f97316}.dot.purple{background:#8b5cf6}.dot.blue{background:#3b82f6}.donut-wrap{display:grid;place-items:center;margin:12px 0}.donut{width:190px;height:190px;border-radius:50%;display:grid;place-items:center}.donut>div{width:108px;height:108px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-weight:900;padding:10px;box-shadow:inset 0 0 0 1px #e5e7eb}.donut small{display:block;font-weight:600;color:#64748b;margin-top:3px}.pl-list{list-style:none;padding:0;margin:10px 0 0}.pl-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef2f7;padding:8px 0}.expense-bar{margin:12px 0}.expense-bar div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.expense-bar p{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:6px 0 0}.expense-bar i{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#c084fc);border-radius:999px}.creditor-field,.debtor-field{transition:.2s}.service-item-qty{min-width:105px}@media(max-width:1050px){.balance-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{display:block}.fy-pill{display:inline-block;margin-top:12px}}@media(max-width:900px){.balance-grid{grid-template-columns:1fr}.cash-flow-chart{gap:3px}.flow-day i{width:5px}}


/* Searchable dropdowns */
.searchable-select-ui{position:relative;width:100%;}
.searchable-select-input{width:100%;box-sizing:border-box;background:#fff;}
.searchable-select-list{display:none;position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;background:#fff;border:1px solid #d8dee9;border-radius:12px;box-shadow:0 16px 35px rgba(15,23,42,.15);padding:6px;}
.searchable-select-ui.open .searchable-select-list{display:block;}
.searchable-select-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:9px;color:#172554;font-size:.92rem;cursor:pointer;}
.searchable-select-option:hover,.searchable-select-option.selected{background:#eef2ff;color:#312e81;}
.searchable-select-empty{padding:10px;color:#64748b;font-size:.9rem;}
.native-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;}

/* V7 sales searchable dropdown fix */
.searchable-table-wrap{overflow:visible;}
.line-table td{position:relative;}
.line-table .searchable-select-list{min-width:280px;z-index:999;}
.line-table .searchable-select-input{min-width:220px;}

.version-badge{display:inline-block;margin:8px 0 12px;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700;font-size:12px;}

/* PWA install and network status */
.pwa-install-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:999px;
  padding:12px 18px;
  background:#0ea5e9;
  color:#fff;
  font-weight:800;
  box-shadow:0 14px 35px rgba(14,165,233,.35);
  cursor:pointer;
}
.pwa-install-btn:hover{background:#0284c7;}
.network-status-banner{
  display:none;
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:9998;
  max-width:92vw;
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  font-weight:700;
  box-shadow:0 14px 35px rgba(15,23,42,.16);
}
.network-status-banner.offline{display:block;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.network-status-banner.online{display:block;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
@media (max-width: 700px){
  .pwa-install-btn{right:12px;bottom:12px;padding:11px 15px;}
  .network-status-banner{bottom:70px;border-radius:16px;text-align:center;}
}

/* V9 UI polish: consistent colours, illustrations, print-friendly reports */
.section-title{display:flex;align-items:center;gap:14px;margin-bottom:14px}.section-title h2{margin:0;font-size:26px}.section-title p{margin:4px 0 0;color:var(--muted)}.section-icon,.heading-icon{display:inline-flex;align-items:center;justify-content:center}.section-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border:1px solid #bae6fd;font-size:25px}.heading-icon{margin-right:6px}.sale-total-card{background:#f8fafc!important}.receipt-totals{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.advanced-filter{background:#f8fafc;border:1px dashed var(--line);border-radius:14px;padding:12px}.module-card:before{content:'•';display:inline-flex;width:24px;height:24px;border-radius:999px;background:#e0f2fe;color:#0f6b8f;align-items:center;justify-content:center;margin-right:7px;font-weight:900}.mobile-sidebar-toggle,.sidebar-overlay{display:none}.filter-form select.searchable-select + .searchable-select-ui{min-width:220px}
@media(max-width:900px){body{overflow-x:hidden}.app-shell{display:block;min-height:100vh}.content{padding:74px 16px 16px}.mobile-sidebar-toggle{display:inline-flex;position:fixed;top:12px;left:12px;z-index:10001;align-items:center;justify-content:center;border:0;border-radius:12px;padding:10px 14px;background:#0b2c44;color:#fff;font-weight:800;box-shadow:0 10px 28px rgba(15,23,42,.25);cursor:pointer}.sidebar{position:fixed;top:0;left:0;width:min(84vw,320px);height:100vh;z-index:10000;padding-top:72px;transform:translateX(-105%);transition:transform .25s ease;box-shadow:18px 0 45px rgba(15,23,42,.32)}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .25s ease}body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}body.sidebar-open{overflow:hidden}.topbar{align-items:flex-start}.topbar h1{font-size:22px}.topbar p{font-size:13px}.section-title h2{font-size:22px}.section-icon{width:42px;height:42px}}
@media(min-width:901px){.mobile-sidebar-toggle,.sidebar-overlay{display:none!important}body.sidebar-open{overflow:auto}}
@media print{.advanced-filter,.mobile-sidebar-toggle,.sidebar-overlay{display:none!important}.section-icon{border:0;background:#fff}.section-title{break-inside:avoid}a[href]:after{content:""}}

/* V10 branch operations and CSV tools */
.performance-grid{grid-template-columns:1fr 1fr;}
.card .table-wrap table td .badge{white-space:nowrap;}
.csv-note{background:#f8fafc;border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--muted)}
@media(max-width:1050px){.performance-grid{grid-template-columns:1fr;}}

/* V11: LPO conversion workflow and dashboard illustrations */
.hero-side{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end;min-width:260px}.dashboard-hero-illustrated{overflow:hidden}.dashboard-illustration{width:220px;max-width:42vw}.dashboard-illustration svg{width:100%;height:auto;display:block}.ill-panel,.ill-card{fill:#fff;stroke:#dbeafe;stroke-width:2}.ill-chip{fill:#dbeafe}.ill-line{fill:#bae6fd}.ill-line.muted{fill:#e0f2fe}.ill-graph{fill:none;stroke:#0ea5e9;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.ill-dot,.ill-coin{fill:#14b8a6}.ill-small-lines{stroke:#64748b;stroke-width:5;stroke-linecap:round}.ill-swoosh{fill:none;stroke:#c4b5fd;stroke-width:7;stroke-linecap:round}.dashboard-quick-illustrations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}.illustration-tile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.illustration-tile span{display:inline-grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:15px;background:#f0f9ff;border:1px solid #bae6fd;font-size:23px}.illustration-tile strong{display:block;color:#0f172a}.illustration-tile small{display:block;color:#64748b;margin-top:2px}.lpo-convert-note{display:grid;gap:4px;background:#ecfdf5;border:1px solid #bbf7d0;color:#14532d;border-radius:14px;padding:12px;margin-bottom:14px}.lpo-convert-note span{display:inline-block;width:max-content;border-radius:999px;background:#dcfce7;border:1px solid #86efac;padding:3px 10px;font-size:12px;font-weight:800;text-transform:uppercase}.lpo-convert-note small{color:#166534}.searchable-table-wrap .searchable-select-ui{min-width:230px}@media(max-width:1050px){.dashboard-quick-illustrations{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-side{justify-content:flex-start;margin-top:14px}.dashboard-illustration{max-width:260px}}@media(max-width:650px){.dashboard-quick-illustrations{grid-template-columns:1fr}.dashboard-illustration{width:190px;max-width:100%}.illustration-tile{align-items:flex-start}}

/* V12 POS, job allocation, company chat and cleaner UI polish */
.pos-card{border-top:4px solid #0ea5e9}.receipt-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.receipt-meta.compact-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin:12px 0}.receipt-meta.compact-meta p{margin:0;padding:8px 10px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.official-receipt{max-width:900px;margin-inline:auto}.thermal-receipt{max-width:360px;margin-inline:auto;font-size:12px}.thermal-receipt .company-header{display:block;text-align:center}.thermal-receipt .company-logo{width:56px;max-height:56px}.thermal-receipt table th,.thermal-receipt table td{padding:5px 3px;font-size:11px}.thermal-receipt h2{font-size:18px;text-align:center}.chat-feed{display:grid;gap:10px}.chat-message{margin-bottom:10px}.chat-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#64748b;font-size:13px}.span-two{grid-column:span 2}.dashboard-summary .tile a{display:inline-block;margin-top:6px;color:var(--primary);font-weight:800}.topbar{border-bottom:1px solid rgba(15,107,143,.08);padding-bottom:12px}.card{transition:box-shadow .18s ease,transform .18s ease}.card:hover{box-shadow:0 12px 28px rgba(15,35,55,.07)}.module-card,.illustration-tile,.balance-card{transition:transform .18s ease,box-shadow .18s ease}.module-card:hover,.illustration-tile:hover,.balance-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.08)}
@media(max-width:900px){.receipt-meta.compact-meta{grid-template-columns:1fr}.thermal-receipt{max-width:100%}.span-two{grid-column:span 1}}
@media print{.official-receipt{width:190mm;max-width:none}.receipt-card{font-size:12px}.receipt-meta.compact-meta{grid-template-columns:repeat(3,1fr)}.receipt-meta.compact-meta p{padding:5px 6px}.thermal-receipt{width:72mm;max-width:72mm;border:0!important;box-shadow:none!important}.thermal-receipt .actions,.official-receipt .actions{display:none!important}}

/* V13 BBS adjustments: compact thermal receipts, chat UI, job priority, salary/payment cards */
.priority-badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;text-transform:uppercase}.priority-low{background:#e0f2fe;color:#075985}.priority-normal{background:#e5e7eb;color:#374151}.priority-high{background:#fef3c7;color:#92400e}.priority-urgent{background:#fee2e2;color:#991b1b}.job-card{border-left:6px solid #cbd5e1}.job-card.priority-high{border-left-color:#f59e0b}.job-card.priority-urgent{border-left-color:#dc2626}.job-card.priority-low{border-left-color:#0ea5e9}.employee-payments-card h3{margin-top:0}.required-highlight .searchable-select-input,.required-highlight select{border-color:#f59e0b;background:#fffbeb}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.chat-composer{background:linear-gradient(135deg,#ffffff,#f8fbff)}.chat-feed{display:flex;flex-direction:column;gap:12px}.chat-message{border-radius:18px;margin-bottom:0}.chat-message.own{background:#ecfdf5}.chat-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#64748b;font-size:13px}.chat-bubble{font-size:15px;line-height:1.45;margin:8px 0 0}.tag-link{display:inline-block;text-decoration:none;border-radius:999px;background:#eef2ff;color:#3730a3;padding:4px 10px;font-weight:800;font-size:12px}.tag-link:hover{background:#e0e7ff}.kcb-polish .card,.card{transition:box-shadow .18s ease,transform .18s ease}.kcb-polish .card:hover{box-shadow:0 16px 38px rgba(15,23,42,.08)}
@media print{.thermal-receipt{width:72mm;max-width:72mm;margin:0 auto;padding:3mm;border:0!important;box-shadow:none!important;font-size:10px;line-height:1.2}.thermal-receipt .company-header{display:block;text-align:center;border-bottom:1px dashed #000;padding-bottom:4px;margin-bottom:4px}.thermal-receipt .company-logo{width:32px;max-height:32px;border:0}.thermal-receipt h2,.thermal-receipt h3{font-size:12px;margin:4px 0}.thermal-receipt .receipt-meta{display:block!important;font-size:9px}.thermal-receipt .receipt-meta p{margin:1px 0}.thermal-receipt table{font-size:9px}.thermal-receipt th,.thermal-receipt td{padding:2px 1px;border-bottom:1px dotted #999}.thermal-receipt .receipt-totals p{margin:2px 0}.thermal-receipt .actions,.thermal-receipt .topbar,.thermal-receipt .sidebar{display:none!important}@page{size:72mm auto;margin:2mm}}

/* V14: Users > Daily Work Reports and adaptive thermal receipt sizes */
.work-report-tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.work-report-tabs .btn{padding:9px 12px}
.report-status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.daily-report-card textarea{min-height:96px}
.thermal-receipt.thermal-58{max-width:58mm;width:58mm}
.thermal-receipt.thermal-80{max-width:80mm;width:80mm}
.thermal-receipt{font-family:Arial,Helvetica,sans-serif;line-height:1.18}
.thermal-receipt .receipt-title-row{justify-content:center;text-align:center}
.thermal-receipt .receipt-meta.compact-meta{gap:3px;margin:6px 0}
.thermal-receipt .receipt-meta.compact-meta p{padding:3px 4px;border-radius:4px;background:#fff}
.thermal-receipt .receipt-totals{margin-top:6px;padding-top:5px}
.thermal-receipt .receipt-totals p{margin:3px 0}
.thermal-receipt .company-header p{font-size:10px;line-height:1.15}
@media print{
  .thermal-receipt.thermal-58{width:54mm;max-width:54mm;margin:0;padding:1.5mm;font-size:8.5px;line-height:1.12}
  .thermal-receipt.thermal-80{width:76mm;max-width:76mm;margin:0;padding:2mm;font-size:9.5px;line-height:1.15}
  .thermal-receipt.thermal-58 table th,.thermal-receipt.thermal-58 table td{font-size:8px;padding:1px .5px}
  .thermal-receipt.thermal-80 table th,.thermal-receipt.thermal-80 table td{font-size:9px;padding:1.5px 1px}
  .thermal-receipt .receipt-meta.compact-meta{display:block!important;font-size:8px}
  .thermal-receipt .receipt-meta.compact-meta p{border:0!important;padding:0!important;margin:1px 0!important}
  .thermal-receipt.thermal-58 .company-logo{width:24px;max-height:24px}
  .thermal-receipt.thermal-80 .company-logo{width:30px;max-height:30px}
  .thermal-receipt h2{font-size:10px;margin:2px 0}
  .thermal-receipt h3{font-size:9px;margin:3px 0}
  .thermal-receipt table{table-layout:fixed;word-break:break-word}
}

/* V15 notifications and employee report refinements */
.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notification-btn{position:relative;background:#0ea5e9}.notification-count,.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;font-weight:900;margin-left:6px;padding:0 6px}.notification-list{display:grid;gap:10px}.notification-item{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.notification-item.unread{border-color:#93c5fd;background:#eff6ff}.notification-icon{width:38px;height:38px;border-radius:13px;background:#e0f2fe;display:grid;place-items:center;flex:0 0 auto}.notification-body{flex:1}.notification-body p{margin:4px 0}.notification-time{font-size:12px;color:var(--muted)}.work-report-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.report-source-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;background:#eef2ff;color:#3730a3}.fieldwork-source{background:#ecfdf5;color:#166534}.daily-source{background:#fef3c7;color:#92400e}.review-panel{display:grid;gap:10px}.review-panel textarea{min-height:72px}.notice-card{background:#f8fafc;border:1px dashed var(--line);border-radius:14px;padding:12px;color:#475569}.returned-edit-note{background:#fff7ed;border:1px solid #fed7aa;color:#92400e;border-radius:12px;padding:10px;margin:10px 0}
@media(max-width:700px){.topbar-actions{width:100%}.notification-btn,.topbar-actions .btn{width:100%;text-align:center}.notification-item{display:block}.notification-icon{margin-bottom:8px}}
