/* MOB365 POS Enterprise V4 — final visual system */
:root{--e-bg:#eef2f6;--e-surface:#fff;--e-surface-2:#f8fafc;--e-ink:#0f172a;--e-muted:#64748b;--e-line:#d7e0e8;--e-line-strong:#c3ced9;--e-brand:#0f766e;--e-brand-hover:#115e59;--e-navy:#0f172a;--e-success:#15803d;--e-warning:#b45309;--e-danger:#b42318;--e-radius:10px;--e-shadow:0 12px 32px rgba(15,23,42,.08)}
html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0;background:var(--e-bg);color:var(--e-ink)}
body{font-family:Inter,"Segoe UI",Arial,sans-serif}
/* LOGIN — fixed full viewport to guarantee true centering */
.login-page{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;padding:28px!important;display:grid!important;place-items:center!important;overflow:auto!important;background:linear-gradient(135deg,#eaf0f5 0%,#f8fafc 52%,#e8f3f2 100%)!important}
.login-shell-enterprise{width:min(1100px,calc(100vw - 56px))!important;min-height:640px!important;margin:auto!important;grid-template-columns:42% 58%!important;border:1px solid var(--e-line-strong)!important;border-radius:16px!important;box-shadow:0 30px 80px rgba(15,23,42,.18)!important}
.login-brand-enterprise{padding:54px 48px!important;background:#0f172a!important}.brand-content-enterprise h2{font-size:36px!important}.login-form-enterprise{padding:62px 74px!important}.login-form-enterprise .login-form{max-width:430px!important}.login-form-enterprise .login-form h1{font-size:34px!important}.enterprise-field>span{font-size:12px!important}.login-form-enterprise .input-wrap{height:58px!important}.login-form-enterprise .login-btn{height:58px!important}
/* universal admin canvas */
.pos-admin-page,.customers-page,.pos-sales-page,.reports-page,.cash-report-page{width:100%;min-height:100dvh;margin:0!important;padding:22px!important;background:var(--e-bg)!important;color:var(--e-ink)!important;overflow:auto!important}
.pos-admin-page>*:not(.cash-popup-backdrop),.customers-page>*,.pos-sales-page>*,.reports-page>*,.cash-report-page>*{max-width:1680px;margin-left:auto;margin-right:auto}
.pos-admin-header,.customers-header,.sales-header,.report-header,.cash-report-header{min-height:82px!important;margin-bottom:16px!important;padding:16px 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid var(--e-line)!important;border-radius:12px!important;background:var(--e-surface)!important;box-shadow:0 5px 18px rgba(15,23,42,.04)!important}
.pos-admin-header h1,.customers-header h1,.sales-header h1,.report-header h1,.cash-report-header h1{margin:0!important;color:var(--e-ink)!important;font-size:26px!important;line-height:1.15!important;letter-spacing:-.6px!important}
.pos-admin-header p,.customers-header p,.sales-header p,.report-header p,.cash-report-header p{margin:5px 0 0!important;color:var(--e-muted)!important;font-size:13px!important;font-weight:600!important}
.back-pos-btn,.secondary-btn,.primary-btn,.danger-btn,.header-actions button{min-height:44px!important;padding:0 16px!important;border-radius:8px!important;font-size:12px!important;font-weight:800!important;box-shadow:none!important}
.back-pos-btn,.secondary-btn{border:1px solid var(--e-line-strong)!important;background:#fff!important;color:var(--e-ink)!important}.back-pos-btn:hover,.secondary-btn:hover{border-color:var(--e-brand)!important;color:var(--e-brand)!important;background:#f0fdfa!important}
.primary-btn{border:1px solid var(--e-brand)!important;background:var(--e-brand)!important;color:#fff!important}.primary-btn:hover{background:var(--e-brand-hover)!important}.danger-btn,.danger-action{border-color:var(--e-danger)!important;background:var(--e-danger)!important;color:#fff!important}
.pos-card,.shift-identity,.shift-report-head,.formula-card,.print-report,.report-panel{border:1px solid var(--e-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.pos-card{padding:20px!important}.pos-input,.pos-textarea,.enterprise-input{width:100%;border:1px solid var(--e-line-strong)!important;border-radius:8px!important;background:#fff!important;color:var(--e-ink)!important}.pos-input{height:50px!important;padding:0 14px!important}.pos-textarea{min-height:110px!important;padding:12px 14px!important}.pos-input:focus,.pos-textarea:focus,.enterprise-input:focus{outline:0!important;border-color:var(--e-brand)!important;box-shadow:0 0 0 3px rgba(15,118,110,.12)!important}
/* metrics */
.metric-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 auto 16px!important}.metric-card{min-height:112px!important;padding:18px!important;border:1px solid var(--e-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}.metric-card small{color:var(--e-muted)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.45px!important;text-transform:uppercase}.metric-card strong{display:block!important;margin-top:12px!important;color:var(--e-ink)!important;font-size:28px!important;line-height:1!important}.metric-card.dark{background:var(--e-navy)!important;border-color:var(--e-navy)!important}.metric-card.dark small,.metric-card.dark strong{color:#fff!important}.metric-card.success{border-left:4px solid var(--e-success)!important}.metric-card.warning-card{border-left:4px solid var(--e-warning)!important}.metric-card.accent{border-left:4px solid var(--e-brand)!important}
.action-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}.action-grid button{min-height:58px!important;border:1px solid var(--e-line-strong)!important;border-radius:9px!important;background:#fff!important;color:var(--e-ink)!important;font-size:13px!important;font-weight:850!important}.action-grid button:hover{border-color:var(--e-brand)!important;background:#f0fdfa!important;color:var(--e-brand)!important}.action-grid .danger-action{background:var(--e-danger)!important;color:#fff!important}
/* sales/customer tables */
.sales-table,.enterprise-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--e-line)!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important}.sales-table thead th,.enterprise-table thead th{height:46px!important;padding:0 14px!important;border-bottom:1px solid var(--e-line)!important;background:#f8fafc!important;color:#475569!important;font-size:10px!important;font-weight:900!important;letter-spacing:.65px!important;text-transform:uppercase!important;text-align:left!important}.sales-table tbody td,.enterprise-table tbody td{height:58px!important;padding:8px 14px!important;border-bottom:1px solid #e8edf2!important;color:var(--e-ink)!important;font-size:13px!important}.sales-table tbody tr:hover,.enterprise-table tbody tr:hover{background:#f8fbfb!important}
/* page toolbar */
.enterprise-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;margin:0 auto 16px;padding:14px;border:1px solid var(--e-line);border-radius:12px;background:#fff}.enterprise-search{height:50px;padding:0 15px;border:1px solid var(--e-line-strong);border-radius:8px;font-size:14px;font-weight:650}.enterprise-search:focus{outline:0;border-color:var(--e-brand);box-shadow:0 0 0 3px rgba(15,118,110,.12)}.enterprise-badge{min-width:110px;padding:0 16px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--e-line);border-radius:8px;background:#f8fafc}.enterprise-badge small{color:var(--e-muted);font-size:9px;font-weight:900;letter-spacing:.7px}.enterprise-badge strong{margin-top:2px;color:var(--e-brand);font-size:18px}
/* dedicated feature pages */
.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.result-card{min-height:240px;padding:24px;border:1px solid var(--e-line);border-radius:12px;background:#fff}.result-card.empty{display:grid;place-items:center;color:var(--e-muted);text-align:center}.product-result{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.product-result h2{margin:0 0 8px;font-size:24px}.product-code{color:var(--e-muted);font-size:12px;font-weight:800}.product-price{font-size:42px;font-weight:950;color:var(--e-brand)}.product-meta{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-meta div{padding:14px;border:1px solid var(--e-line);border-radius:8px;background:#f8fafc}.product-meta small{display:block;color:var(--e-muted);font-size:10px;font-weight:900;text-transform:uppercase}.product-meta strong{display:block;margin-top:5px;font-size:16px}
.report-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-launch{min-height:150px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid var(--e-line);border-radius:11px;background:#fff;color:var(--e-ink);text-align:left}.report-launch:hover{border-color:var(--e-brand);box-shadow:var(--e-shadow);transform:translateY(-1px)}.report-launch b{font-size:17px}.report-launch span{color:var(--e-muted);font-size:12px;line-height:1.55}.report-launch em{font-style:normal;color:var(--e-brand);font-size:12px;font-weight:900}
/* close shift */
.close-shift-form{padding:22px!important}.close-shift-form label{display:block;margin-bottom:7px;color:#334155;font-size:12px;font-weight:850}.close-shift-form input{height:64px!important;font-size:28px!important;font-weight:900!important;text-align:right!important}.difference-banner{padding:18px!important;border-radius:10px!important}.close-actions{display:flex!important;gap:10px!important;margin-top:16px!important}.close-actions button{min-height:48px!important}
/* remove decorative emoji emphasis */
.pos-admin-header h1,.customers-header h1,.sales-header h1{font-family:Inter,"Segoe UI",Arial,sans-serif!important}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:1fr}.login-shell-enterprise{grid-template-columns:1fr!important;max-width:620px!important}.login-brand-enterprise{display:none!important}}
@media(max-width:700px){.login-page{padding:12px!important}.login-shell-enterprise{width:calc(100vw - 24px)!important;min-height:auto!important}.login-form-enterprise{padding:72px 24px 30px!important}.pos-admin-page,.customers-page,.pos-sales-page,.reports-page,.cash-report-page{padding:10px!important}.pos-admin-header{align-items:flex-start!important;gap:12px!important}.metric-grid,.report-launch-grid{grid-template-columns:1fr!important}.action-grid{grid-template-columns:1fr!important}.enterprise-toolbar{grid-template-columns:1fr}.close-actions{flex-direction:column!important}}
@media print{.no-print{display:none!important}.report-print-page{padding:0!important;background:#fff!important}.print-report{max-width:80mm!important;margin:0 auto!important;border:0!important}}
.close-panel{max-width:1680px;margin:0 auto;padding:22px;border:1px solid var(--e-line);border-radius:12px;background:#fff}.close-panel>label{display:block;margin:16px 0 7px;color:#334155;font-size:12px;font-weight:850}.close-panel .pos-input.big{height:64px!important;font-size:28px!important;font-weight:900!important;text-align:right!important}.difference-box{margin:14px 0;padding:18px;border:1px solid var(--e-line);border-radius:10px;background:#f8fafc}.difference-box.ok,.difference-box.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.difference-box.warning,.difference-box.danger{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.count-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.denomination-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.denomination-card{padding:14px;border:1px solid var(--e-line);border-radius:10px;background:#fff}.denomination-card input{width:100%;height:44px;margin-top:8px;border:1px solid var(--e-line-strong);border-radius:7px;text-align:center;font-weight:800}.mt{margin-top:16px!important}.pos-alert{max-width:1680px;margin:0 auto 14px;padding:13px 15px;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff;color:#1e40af;font-size:13px;font-weight:700}.pos-alert.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.pos-alert.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}
@media(max-width:1100px){.denomination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.count-summary,.denomination-grid{grid-template-columns:1fr}}
