:root{
  --primary:#1766d2;--primary-dark:#0d4da7;--navy:#0b2442;--navy-2:#102f55;--bg:#f3f7fc;--card:#fff;
  --text:#10213d;--muted:#6f7f98;--line:#dbe5f1;--good:#14865b;--warn:#c47b11;--bad:#d54141;
  --shadow:0 16px 40px rgba(13,48,88,.10);--radius:18px;--sidebar:300px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.small{font-size:.82rem}.muted{color:var(--muted)}.center{text-align:center}.desktop-only{display:inline}.mobile-only{display:none}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);background:linear-gradient(135deg,#06172c,#0e315c 58%,#1766d2)}
.auth-brand-panel{padding:clamp(38px,7vw,110px);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:28px;position:relative;overflow:hidden}.auth-brand-panel:after{content:"";position:absolute;width:520px;height:520px;border:90px solid rgba(255,255,255,.045);border-radius:50%;right:-210px;bottom:-210px}.auth-brand-panel h1{font-size:clamp(2.5rem,5vw,5.5rem);line-height:1.02;margin:0;max-width:850px}.eyebrow{color:#9ac6ff;font-weight:800;letter-spacing:.12em}.lead{font-size:clamp(1.05rem,1.7vw,1.45rem);max-width:750px;line-height:1.6}.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#ffcb58,#ffd982);display:grid;place-items:center;color:#11213a;font-weight:900;box-shadow:0 8px 24px rgba(255,193,56,.25)}.brand-mark.large{width:78px;height:78px;font-size:1.6rem;border-radius:22px}.device-strip{display:flex;gap:12px;flex-wrap:wrap}.device-strip span,.security-note{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:12px 16px;border-radius:999px;backdrop-filter:blur(8px)}.security-note{border-radius:14px;max-width:650px}
.auth-card{align-self:center;justify-self:center;width:min(560px,90%);background:#fff;padding:28px;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.auth-tabs{display:flex;background:#eef4fb;border-radius:14px;padding:5px;margin-bottom:24px}.auth-tab{flex:1;border:0;background:transparent;padding:12px;border-radius:10px;font-weight:800;color:var(--muted)}.auth-tab.active{background:#fff;color:var(--primary);box-shadow:0 6px 18px rgba(22,65,118,.1)}.auth-form h2{margin:0 0 18px}.auth-form{display:grid;gap:14px}
label{display:grid;gap:7px;font-size:.88rem;font-weight:700;color:#40516b}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,102,210,.12)}textarea{min-height:100px;resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.btn{border:1px solid var(--line);border-radius:11px;padding:10px 15px;background:#fff;color:var(--text);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(25,64,108,.10)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.ghost{background:transparent}.btn.danger{background:#fff3f3;color:var(--bad);border-color:#ffd1d1}.btn.good{background:#e9f8f1;color:var(--good);border-color:#c5ecd9}.btn.wide{width:100%}.btn.small{padding:7px 10px;font-size:.8rem}.icon-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);display:grid;place-items:center;font-weight:900;font-size:1.15rem}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--navy),#0a2b50);color:#fff;display:flex;flex-direction:column;z-index:20}.sidebar-brand{height:84px;display:flex;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand>div:nth-child(2){display:grid}.sidebar-brand span{color:#a8bed7;font-size:.82rem}.company-card{margin:16px 18px;padding:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:16px;display:grid;gap:6px}.company-card span{color:#b8cbe1;font-size:.82rem}.nav{flex:1;overflow:auto;padding:4px 14px 20px}.nav-group{margin:12px 0}.nav-group-title{display:flex;align-items:center;justify-content:space-between;color:#9fb6d2;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:900;padding:9px 10px}.nav-link{width:100%;border:0;background:transparent;color:#dce8f5;text-align:left;padding:10px 11px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:.9rem}.nav-link:hover,.nav-link.active{background:linear-gradient(90deg,#1f73d7,#278aa5);color:#fff}.nav-link .nav-icon{width:24px;text-align:center}.sidebar-footer{padding:14px 18px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:8px}.sidebar-footer .btn{color:#fff;border-color:rgba(255,255,255,.2)}
.main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:18px;position:sticky;top:0;z-index:10}.top-title{flex:1}.top-title h2{margin:0;font-size:1.35rem}.top-title p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:10px;background:#f4f7fb;padding:7px 10px;border-radius:14px}.user-chip>span{width:38px;height:38px;background:linear-gradient(135deg,#1b73dc,#17a1a8);color:#fff;border-radius:11px;display:grid;place-items:center;font-weight:900}.user-chip div{display:grid}.user-chip small{color:var(--muted)}.content{padding:28px;max-width:1800px;margin:auto}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.page-head h1{margin:0 0 6px;font-size:1.75rem}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:9px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:16px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 8px 24px rgba(14,48,88,.04);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:68px;height:68px;border-radius:50%;right:-18px;top:-18px;background:rgba(23,102,210,.08)}.kpi label{color:var(--muted);font-size:.78rem}.kpi strong{display:block;font-size:1.45rem;margin-top:8px}.kpi small{color:var(--muted)}.kpi.good{border-left:4px solid var(--good)}.kpi.warn{border-left:4px solid var(--warn)}.kpi.bad{border-left:4px solid var(--bad)}
.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 32px rgba(14,48,88,.05);overflow:hidden}.panel-head{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0;font-size:1rem}.panel-body{padding:18px}.filters{display:flex;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);padding:14px;border-radius:14px;margin-bottom:16px}.filters .grow{flex:1}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid #e9eff6;text-align:left;font-size:.86rem;vertical-align:top}.data-table th{background:#f5f8fc;color:#53637a;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;position:sticky;top:0}.data-table tr:hover td{background:#fbfdff}.num{text-align:right!important;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#edf2f7;color:#53637a;font-size:.72rem;font-weight:900;text-transform:uppercase}.badge.good{background:#e7f7ef;color:var(--good)}.badge.warn{background:#fff4df;color:var(--warn)}.badge.bad{background:#ffecec;color:var(--bad)}.empty{padding:50px 20px;text-align:center;color:var(--muted)}
.chart{height:280px;display:flex;align-items:flex-end;gap:10px;padding:24px 14px 10px;border-bottom:1px solid var(--line)}.bar-group{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%;position:relative}.bar{width:34%;min-width:5px;border-radius:6px 6px 0 0;background:var(--primary);min-height:2px}.bar.expense{background:#2da66f}.bar-group label{position:absolute;bottom:-22px;font-size:.68rem;color:var(--muted)}.chart-legend{display:flex;gap:16px;padding:14px}.chart-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:var(--primary)}.chart-legend span:nth-child(2):before{background:#2da66f}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,18,36,.62);display:grid;place-items:center;padding:20px;z-index:100}.modal{background:#fff;border-radius:22px;width:min(980px,96vw);max-height:92vh;overflow:auto;box-shadow:0 30px 100px rgba(0,0,0,.35)}.modal.small{width:min(560px,96vw)}.modal-head{position:sticky;top:0;background:#fff;z-index:2;padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.modal-body{padding:22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}
.items-editor,.journal-editor{border:1px solid var(--line);border-radius:14px;overflow:hidden}.items-head,.item-row,.journal-row{display:grid;grid-template-columns:2fr .7fr 1fr .8fr .8fr 40px;gap:8px;padding:9px;align-items:center}.items-head{background:#f5f8fc;font-size:.72rem;font-weight:900;text-transform:uppercase;color:#5c6b81}.item-row+.item-row,.journal-row+.journal-row{border-top:1px solid #eef2f7}.item-row input,.item-row select,.journal-row input,.journal-row select{padding:8px}.journal-row{grid-template-columns:1fr 2fr 1fr 1fr 40px}.editor-footer{padding:10px;border-top:1px solid var(--line);background:#fbfdff}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:18px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.product-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;text-align:left}.product-card:hover{border-color:var(--primary);box-shadow:0 8px 22px rgba(23,102,210,.1)}.product-card strong{display:block}.product-card small{color:var(--muted)}.cart{position:sticky;top:105px}.cart-line{display:grid;grid-template-columns:1fr 70px 92px 34px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.cart-line input{padding:7px}.cart-summary{display:grid;gap:8px;padding:14px 0}.cart-summary div{display:flex;justify-content:space-between}.cart-summary .total{font-size:1.25rem;font-weight:900;padding-top:8px;border-top:1px dashed var(--line)}
.notice{padding:14px 16px;border-radius:13px;background:#eef6ff;border:1px solid #cfe4ff;color:#244f7f}.notice.warn{background:#fff7e8;border-color:#ffe0aa;color:#845b16}.notice.good{background:#edf9f3;border-color:#c8ecd9;color:#236b4d}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#10213d;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);max-width:min(430px,calc(100vw - 40px))}.toast.error{background:#8c2525}.toast.success{background:#176a4d}.search-results{display:grid;gap:8px}.search-result{padding:12px;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;gap:12px}.search-result:hover{border-color:var(--primary)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.role-pill{font-size:.75rem;padding:4px 8px;border-radius:999px;background:#eaf2fb;color:#275486;font-weight:800}.app-version{font-family:ui-monospace,monospace;background:#eff4fa;border-radius:8px;padding:4px 8px}.sidebar-backdrop{position:fixed;inset:0;background:rgba(3,15,30,.55);z-index:15}
@media(max-width:1280px){.kpis{grid-template-columns:repeat(3,minmax(160px,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){:root{--sidebar:286px}.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-only{display:block}.topbar{padding:0 16px}.content{padding:18px}.grid.two,.settings-grid,.pos-layout{grid-template-columns:1fr}.cart{position:static}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-card{margin:30px auto}.form-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.desktop-only{display:none}.top-title h2{font-size:1.05rem}.top-title p{display:none}.user-chip div{display:none}.top-actions{gap:6px}.topbar{height:70px}.content{padding:14px}.page-head{display:grid}.page-head h1{font-size:1.45rem}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px}.kpi strong{font-size:1.15rem}.grid.two,.grid.three,.settings-grid{grid-template-columns:1fr}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.filters{display:grid}.modal-backdrop{padding:0}.modal{width:100vw;max-height:100vh;height:100vh;border-radius:0}.modal-actions{position:sticky;bottom:0;background:#fff}.items-editor{overflow:auto}.items-head,.item-row{min-width:760px}.journal-row{min-width:650px}.auth-card{width:94%;padding:20px}.device-strip{display:none}}
@media print{.sidebar,.topbar,.page-head .actions,.filters,.btn,.no-print{display:none!important}.main{margin:0}.content{padding:0}.panel{box-shadow:none;border:0}.data-table th{position:static}.app-shell{display:block}.page-head{margin-bottom:10px}body{background:#fff}}
