
:root{--erp-radius:16px;--erp-border:var(--erp-border-tint-16);--erp-shadow:0 12px 34px var(--erp-shadow-16)}
html{min-height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;overflow-x:hidden}*{box-sizing:border-box}
body :where(input,select,textarea,button){font:inherit}body :where(input,select,textarea){max-width:100%}
.erp-page{max-width:1500px;margin:auto;padding:24px}.erp-page-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}.erp-page-head h1{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.erp-page-head p{opacity:.65;margin:.4rem 0 0}.erp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.erp-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--erp-border);border-radius:var(--erp-radius);background:var(--erp-surface-90);color:inherit;text-decoration:none;box-shadow:var(--erp-shadow)}.erp-card span{opacity:.68}.erp-card em{font-style:normal;color:var(--erp-success)}.erp-btn{display:inline-flex;padding:.7rem 1rem;border-radius:12px;background:var(--erp-primary);color: var(--erp-white);text-decoration:none}
#erpDeveloperSidebar{position:fixed;inset-block:0;inset-inline-start:0;width:248px;background:var(--erp-sidebar-bg);border-inline-end:1px solid var(--erp-border);z-index:9998;padding:18px;overflow:auto;box-shadow:var(--erp-shadow)}#erpDeveloperSidebar .brand{font-weight:800;font-size:1.05rem;margin-bottom:18px}#erpDeveloperSidebar nav{display:grid;gap:7px}#erpDeveloperSidebar a{color:var(--erp-foreground);text-decoration:none;padding:10px 12px;border-radius:11px}#erpDeveloperSidebar a:hover,#erpDeveloperSidebar a.active{background:var(--erp-primary-tint-16);color:var(--erp-white)}.erp-dev-page{margin-inline-start:248px!important;width:auto!important;max-width:none!important}.erp-dev-toggle{display:none;position:fixed;top:12px;inset-inline-start:12px;z-index:9999;border:0;border-radius:10px;padding:9px 12px;background:var(--erp-sidebar-bg);color:var(--erp-white)}
.erp-lang-switch{position:fixed;inset-inline-end:14px;bottom:14px;z-index:9997;display:flex;gap:4px;padding:5px;background:var(--erp-sidebar-glass);border:1px solid var(--erp-border);border-radius:999px;backdrop-filter:blur(8px)}.erp-lang-switch a{color:var(--erp-foreground);text-decoration:none;font-size:12px;padding:6px 9px;border-radius:999px}.erp-lang-switch a.active{background:var(--erp-primary);color:var(--erp-white)}
.erp-live-dot{position:fixed;inset-inline-end:14px;top:14px;z-index:9997;width:9px;height:9px;border-radius:50%;background:var(--erp-success);box-shadow:0 0 0 5px var(--erp-success-tint-12)}
.erp-export-modal{position:fixed;inset:0;z-index:10020;background:var(--erp-overlay);display:none;align-items:center;justify-content:center;padding:20px}.erp-export-modal.open{display:flex}.erp-export-box{width:min(560px,100%);max-height:80vh;overflow:auto;background:var(--erp-sidebar-bg);color:var(--erp-foreground);border:1px solid var(--erp-border-strong);border-radius:18px;padding:20px}.erp-export-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin:15px 0}.erp-export-cols label{display:flex;gap:8px;align-items:center;background:var(--erp-surface-sunken);padding:10px;border-radius:10px}.erp-export-actions{display:flex;justify-content:flex-end;gap:8px}.erp-export-actions button{padding:8px 14px;border-radius:10px;border:0;cursor:pointer}
@media(max-width:900px){#erpDeveloperSidebar{transform:translateX(-105%);transition:.25s}html[dir=rtl] #erpDeveloperSidebar{transform:translateX(105%)}#erpDeveloperSidebar.open{transform:translateX(0)!important}.erp-dev-page{margin-inline-start:0!important;padding-top:58px!important}.erp-dev-toggle{display:block}.erp-page{padding:16px}.erp-page-head{align-items:flex-start;flex-direction:column}.table-container{overflow:auto!important}table{min-width:680px}.fixed.w-72{width:min(86vw,288px)!important}}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}

/* unified visual layer applied to legacy pages without changing functionality */
body{background-image:radial-gradient(circle at 15% 0%,var(--erp-primary-tint-8),transparent 28%),radial-gradient(circle at 85% 0%,var(--erp-primary-tint-5),transparent 24%)}
body :where(.card,.bg-gray-900,.bg-slate-900,.bg-zinc-900){border:1px solid var(--erp-border)}
body :where(table){border-spacing:0;border-radius:14px;overflow:hidden}body :where(th){white-space:nowrap}body :where(td,th){vertical-align:middle}
body :where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:11px!important;min-height:42px;transition:border-color .15s,box-shadow .15s}body :where(input,select,textarea):focus{outline:none!important;box-shadow:0 0 0 3px var(--erp-primary-tint-14)!important}
body :where(button,a[class*=btn],.btn-primary,.btn-export){border-radius:11px!important;transition:transform .15s,filter .15s}body :where(button,a[class*=btn],.btn-primary,.btn-export):active{transform:scale(.98)}
@media(max-width:640px){body{font-size:14px}.p-6{padding:1rem!important}.p-8{padding:1rem!important}.grid{gap:.75rem!important}h1,h2{line-height:1.3}.erp-lang-switch{bottom:calc(10px + env(safe-area-inset-bottom))}}

#erpAdminSidebar{position:fixed;inset-block:0;inset-inline-start:0;width:250px;background:var(--erp-sidebar-bg);border-inline-end:1px solid var(--erp-border);z-index:9994;padding:18px;overflow:auto;box-shadow:var(--erp-shadow)}#erpAdminSidebar .brand{font-weight:800;font-size:1.05rem;margin-bottom:16px}#erpAdminSidebar nav{display:grid;gap:6px}#erpAdminSidebar a{display:flex;align-items:center;gap:10px;color:var(--erp-foreground);text-decoration:none;padding:10px 12px;border-radius:11px}#erpAdminSidebar a span{width:20px;text-align:center;opacity:.8}#erpAdminSidebar a:hover,#erpAdminSidebar a.active{background:var(--erp-primary-tint-15);color:var(--erp-white)}.erp-admin-subpage{padding-inline-start:250px!important}.erp-admin-toggle{display:none;position:fixed;top:12px;inset-inline-start:12px;z-index:9995;border:0;border-radius:10px;padding:9px 12px;background:var(--erp-sidebar-bg);color:var(--erp-white)}
@media(max-width:900px){#erpAdminSidebar{transform:translateX(-105%);transition:.25s}html[dir=rtl] #erpAdminSidebar{transform:translateX(105%)}#erpAdminSidebar.open{transform:translateX(0)!important}.erp-admin-subpage{padding-inline-start:0!important;padding-top:58px!important}.erp-admin-toggle{display:block}}

.erp-install-btn{position:fixed;inset-inline-start:14px;bottom:14px;z-index:9997;border:1px solid var(--erp-border);background:var(--erp-primary);color:var(--erp-white);padding:9px 12px;border-radius:999px;box-shadow:var(--erp-shadow);cursor:pointer}

/* Staff notification center */
.erp-notification-bell{position:fixed;top:74px;right:18px;z-index:2147482000;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--erp-sidebar-bg);color:var(--erp-white);text-decoration:none;box-shadow:0 10px 25px var(--erp-shadow-22);font-size:20px}.erp-notification-bell span{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--erp-muted-subtle);color: var(--erp-white);font:700 11px/19px system-ui;text-align:center}.erp-notification-bell.has-unread span{background:var(--erp-danger)}.erp-notification-permission{position:fixed;z-index:2147483000;bottom:20px;left:50%;transform:translateX(-50%);width:min(92vw,460px);padding:18px;border-radius:18px;background:var(--erp-surface-sunken);color:var(--erp-white);box-shadow:0 18px 55px var(--erp-shadow-38);font-family:inherit}.erp-notification-permission b{font-size:16px}.erp-notification-permission p{margin:7px 0 14px;opacity:.78;line-height:1.6}.erp-notification-permission div{display:flex;gap:8px;flex-wrap:wrap}.erp-notification-permission button{border:0;border-radius:10px;padding:9px 13px;cursor:pointer}.erp-notification-permission [data-enable]{background:var(--erp-primary);color:var(--erp-white)}.erp-push-toast{position:fixed;z-index:2147483500;top:20px;left:50%;transform:translate(-50%,-20px);opacity:0;transition:.22s ease;background:var(--erp-sidebar-bg);color:var(--erp-white);padding:13px 16px;border-radius:14px;box-shadow:0 15px 40px var(--erp-shadow-30);width:min(90vw,420px);pointer-events:none}.erp-push-toast.show{opacity:1;transform:translate(-50%,0)}.erp-push-toast div{opacity:.8;margin-top:4px;font-size:13px}@media(max-width:700px){.erp-notification-bell{top:auto;bottom:76px;right:16px}}

/* Notification bell stays inside the sidebar header rather than overlapping navigation links. */
.erp-sidebar-brand > div { min-width:0; flex:1; }
.erp-notification-bell.erp-bell-in-sidebar { position:relative; inset:auto; flex:0 0 38px; width:38px; height:38px; margin:0; border:1px solid var(--erp-border-strong); box-shadow:none; font-size:18px; }
.erp-legacy-admin-dashboard .erp-notification-bell { top:74px; right:auto; left:18px; }
@media(max-width:700px) { .erp-notification-bell.erp-bell-in-sidebar { inset:auto; } .erp-legacy-admin-dashboard .erp-notification-bell { top:74px; left:16px; right:auto; bottom:auto; } }


/* Role-restricted, persistent employee back navigation. */
.erp-staff-back{position:fixed;inset-block-start:12px;inset-inline-end:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;min-height:40px;background:var(--erp-surface);color:var(--erp-foreground);border:1px solid var(--erp-border-strong);border-radius:var(--erp-radius-sm);box-shadow:0 7px 20px var(--erp-shadow-22);text-decoration:none;font:700 13px/1.5 var(--erp-font);z-index:9993}
.erp-staff-back:hover,.erp-staff-back:focus-visible{color:var(--erp-primary);border-color:var(--erp-primary);text-decoration:none}
.erp-staff-back:focus-visible{outline:2px solid var(--erp-primary);outline-offset:3px}
html[dir="rtl"] .erp-staff-back-arrow{transform:scaleX(-1)}
@media(max-width:700px){.erp-staff-back{inset-block-start:calc(12px + env(safe-area-inset-top));inset-inline-end:12px;padding:8px 12px}}

.erp-redundant-back{display:none!important}

/* Safe-live refresh: user explicitly controls navigation when unsaved inputs may exist. */
.erp-live-banner{position:fixed;inset-inline:12px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:2147482500;max-width:640px;margin:auto;background:var(--erp-sidebar-bg);color:var(--erp-foreground);border:1px solid var(--erp-primary);box-shadow:var(--erp-shadow);border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.erp-live-banner button{background:var(--erp-primary);color:var(--erp-on-primary);border:0;padding:9px 12px;border-radius:8px;cursor:pointer}
.erp-form-error:empty{display:none}.erp-form-error:not(:empty){background:var(--erp-danger-bg);color:var(--erp-danger-foreground);padding:12px;border-radius:10px;margin:10px 0}

.erp-active-lang{background:var(--erp-primary-tint-16)!important;color:var(--erp-primary)!important}
