@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap";:root{--bg-base: #f6f4ee;--bg-soft: #fff8ec;--panel: rgba(255, 255, 255, .84);--panel-deep: #fffef9;--ink-900: #1d2a30;--ink-700: #3f5964;--ink-500: #647e88;--brand-700: #0c7772;--brand-500: #17a39c;--accent-500: #f28f3b;--danger: #bb3f3f;--success: #1f8c53;--border: rgba(44, 83, 97, .2);--shadow: 0 24px 60px rgba(24, 48, 58, .12)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Manrope,Segoe UI,sans-serif;color:var(--ink-900);background:radial-gradient(circle at 10% 0%,#ffe8b6 0%,transparent 45%),radial-gradient(circle at 90% 20%,#c8f1ef 0%,transparent 42%),linear-gradient(160deg,var(--bg-base),var(--bg-soft));overflow:hidden}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel-deep),white 40%);border-radius:999px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--brand-500),#cdeceb 45%);border-radius:999px}h1,h2,h3,strong,.badge{font-family:Sora,Segoe UI,sans-serif}h1,h2,h3,p{margin:0}code{background:#f2ede1;border-radius:8px;padding:.1rem .35rem}button,input,select,textarea{font:inherit}button{border:0;border-radius:12px;padding:.7rem 1rem;background:linear-gradient(140deg,var(--brand-700),var(--brand-500));color:#fff;font-weight:700;cursor:pointer;transition:transform .15s ease,filter .2s ease}button:hover{filter:brightness(1.05);transform:translateY(-1px)}button:disabled{filter:grayscale(.45);cursor:not-allowed;transform:none}button.ghost{background:transparent;color:var(--brand-700);border:1px solid var(--brand-700)}input,select,textarea{width:100%;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem;color:var(--ink-900)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand-500),white 60%);border-color:var(--brand-500)}textarea{resize:vertical;min-height:76px}label{display:grid;gap:.4rem;color:var(--ink-700);font-size:.93rem}ul{margin:0;padding-left:1.2rem}.setup-shell,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.setup-card,.auth-card{width:min(760px,100%);background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise .42s ease}.auth-card{width:min(860px,100%)}.brand-header{display:grid;gap:.5rem;margin-bottom:1rem}.badge{display:inline-block;width:fit-content;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.32rem .58rem;background:#d8f2ef;color:var(--brand-700)}.auth-switch{display:inline-flex;gap:.4rem;padding:.3rem;border-radius:14px;border:1px solid var(--border);background:#fff;margin-bottom:1rem}.auth-switch button{background:transparent;color:var(--ink-700);border-radius:10px;font-weight:600}.auth-switch button.active{background:linear-gradient(140deg,var(--brand-700),var(--brand-500));color:#fff}.auth-inline-actions{display:grid;gap:.4rem}.auth-inline-actions button{justify-self:start}.erp-shell{width:100%;height:100vh;margin:0;padding:.7rem;display:flex;flex-direction:column;gap:.6rem}.top-header{display:flex;justify-content:space-between;gap:.7rem;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:.72rem .9rem;box-shadow:var(--shadow);animation:rise .42s ease}.top-header h1{font-size:1.2rem}.top-header .badge{font-size:.64rem;padding:.22rem .48rem}.header-actions{display:flex;gap:.55rem;align-items:center}.header-actions label{min-width:180px}.header-actions p{color:var(--ink-700);font-size:.84rem}.top-header .muted-line{font-size:.8rem;margin-top:.22rem}.top-header button{padding:.5rem .75rem;font-size:.84rem}.muted-line{color:var(--ink-500);font-size:.86rem;margin-top:.35rem}.tab-strip{display:flex;flex-wrap:nowrap;gap:.55rem;overflow-x:auto;padding-bottom:.1rem;scroll-snap-type:x proximity}.workspace-content{flex:1;min-height:0;display:grid;overflow:hidden}.tab-strip button{background:#ffffffb8;color:var(--ink-700);border:1px solid var(--border);white-space:nowrap;min-height:40px;scroll-snap-align:start}.tab-strip button.active{background:linear-gradient(140deg,var(--brand-700),var(--brand-500));color:#fff;border-color:transparent}.banner{margin:0;border-radius:12px;padding:.68rem .78rem;border:1px solid}.banner.error{border-color:color-mix(in srgb,var(--danger),white 45%);color:var(--danger);background:color-mix(in srgb,var(--danger),white 92%)}.banner.success{border-color:color-mix(in srgb,var(--success),white 40%);color:var(--success);background:color-mix(in srgb,var(--success),white 90%)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:.9rem;box-shadow:var(--shadow);display:grid;gap:.8rem;animation:rise .45s ease}.workspace-content>.panel{height:100%;min-height:0;overflow:hidden;align-content:start}.workspace-content>.panel>.table-wrap{min-height:0}.dashboard-panel{grid-template-rows:auto auto minmax(0,1fr)}.panel h2{font-size:1.18rem}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:.75rem}.stats-grid article{background:var(--panel-deep);border:1px solid var(--border);border-radius:14px;padding:.85rem}.stats-grid h3{color:var(--ink-700);font-size:.92rem;margin-bottom:.35rem}.stats-grid p{font-size:1.2rem;font-weight:700}.reports-panel{grid-template-rows:auto minmax(0,1fr) auto}.reports-scroll{min-height:0;overflow:auto;display:grid;gap:.75rem;align-content:start;padding-right:.2rem}.reports-stats-grid,.reports-kpi-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.reports-filter-shell{border:1px solid var(--border);border-radius:14px;padding:.72rem;background:linear-gradient(145deg,#fff,#f1fbfa);display:grid;gap:.55rem}.reports-graph-grid,.reports-data-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.report-card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(155deg,#fff,#f5fbfa);padding:.72rem;display:grid;gap:.65rem;align-content:start;min-height:0}.table-card{min-height:0}.report-card-head{display:grid;gap:.3rem}.report-card-head h3{font-size:.98rem}.report-card-head p{color:var(--ink-500);font-size:.84rem}.line-chart{width:100%;height:190px;overflow:visible}.line-chart-grid{stroke:color-mix(in srgb,var(--ink-500),white 65%);stroke-width:1;stroke-dasharray:4 4}.line-chart-sales,.line-chart-purchase,.line-chart-profit{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-chart-sales{stroke:var(--brand-500)}.line-chart-purchase{stroke:#f28f3b}.line-chart-profit{stroke:#4a68c5}.line-chart-legend{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;font-size:.82rem;color:var(--ink-700)}.line-chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.swatch{width:11px;height:11px;border-radius:999px;display:inline-block}.swatch.sales{background:var(--brand-500)}.swatch.purchases{background:#f28f3b}.swatch.profit{background:#4a68c5}.line-chart-labels{display:flex;justify-content:space-between;color:var(--ink-500);font-size:.79rem}.horizontal-bars{display:grid;gap:.55rem}.horizontal-bar-row{display:grid;gap:.28rem}.horizontal-bar-head{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.horizontal-bar-head strong{font-size:.85rem}.horizontal-bar-head span{font-size:.84rem;color:var(--ink-700);font-weight:600}.horizontal-bar-track{width:100%;height:8px;border-radius:999px;background:#dfeceb;overflow:hidden}.horizontal-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(140deg,var(--brand-700),var(--brand-500))}.donut-layout{display:grid;grid-template-columns:130px 1fr;gap:.75rem;align-items:center}.donut-ring{width:130px;height:130px;border-radius:999px;display:grid;place-items:center}.donut-center{width:76px;height:76px;border-radius:999px;background:#fff;display:grid;place-items:center;text-align:center}.donut-center strong{font-size:.86rem}.donut-center span{color:var(--ink-500);font-size:.73rem}.donut-legend{display:grid;gap:.42rem}.donut-legend-row{display:flex;justify-content:space-between;gap:.55rem;align-items:baseline}.donut-legend-row p{color:var(--ink-700);font-size:.83rem}.donut-legend-row strong{font-size:.83rem}.gst-mix-grid{display:grid;gap:.45rem}.gst-mix-row{border:1px solid var(--border);border-radius:10px;padding:.5rem .56rem;background:#fff;display:grid;gap:.15rem}.gst-mix-row p{color:var(--ink-700);font-size:.82rem}.gst-mix-row strong{font-size:.9rem}.gst-mix-row span{color:var(--ink-500);font-size:.79rem}.compact-table{max-height:280px}.compact-table th,.compact-table td{padding:.52rem;font-size:.84rem}.ai-summary-card{gap:.7rem;background:linear-gradient(145deg,#fff,#f0faf7)}.ai-summary-text{color:var(--ink-700);line-height:1.45}.ai-feed-grid{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-insight-card{border-radius:12px;border:1px solid var(--border);background:#fff;padding:.62rem;display:grid;gap:.34rem}.ai-insight-card h4{margin:0;font-size:.91rem}.ai-insight-card p{margin:0;font-size:.82rem;color:var(--ink-700)}.ai-insight-card .ai-metric{font-weight:700;color:var(--ink-900)}.ai-insight-card .ai-action{color:var(--ink-700)}.ai-insight-tag{width:fit-content;border-radius:999px;padding:.15rem .48rem;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700}.ai-insight-card.critical{border-color:color-mix(in srgb,var(--danger),white 58%);background:color-mix(in srgb,var(--danger),white 95%)}.ai-insight-card.critical .ai-insight-tag{color:var(--danger);background:color-mix(in srgb,var(--danger),white 85%)}.ai-insight-card.warning{border-color:color-mix(in srgb,var(--accent-500),white 60%);background:color-mix(in srgb,var(--accent-500),white 93%)}.ai-insight-card.warning .ai-insight-tag{color:#aa5d1c;background:color-mix(in srgb,var(--accent-500),white 83%)}.ai-insight-card.opportunity{border-color:color-mix(in srgb,var(--brand-500),white 58%);background:color-mix(in srgb,var(--brand-500),white 93%)}.ai-insight-card.opportunity .ai-insight-tag{color:var(--brand-700);background:color-mix(in srgb,var(--brand-500),white 81%)}.ai-insight-card.info{border-color:color-mix(in srgb,var(--ink-500),white 60%);background:color-mix(in srgb,var(--ink-500),white 93%)}.ai-insight-card.info .ai-insight-tag{color:var(--ink-700);background:color-mix(in srgb,var(--ink-500),white 81%)}.reports-actions{position:sticky;bottom:0;z-index:2;justify-content:flex-end;padding:.55rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel-deep),white 22%)}.two-col{grid-template-columns:minmax(300px,420px) 1fr}.workspace-content>.panel.two-col{grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:stretch}.workspace-content>.panel.two-col>.grid-form{min-height:0;overflow:auto;padding-right:.2rem}.invoice-sticky-actions,.retail-sticky-actions{position:sticky;bottom:0;z-index:3;display:grid;gap:.55rem;padding-top:.55rem;background:linear-gradient(180deg,#f6f4ee00,#f6f4eed1 30%,#f6f4eefa)}.invoice-sticky-actions button,.retail-sticky-actions button{width:100%}.workspace-content>.panel.two-col>.table-wrap,.workspace-content>.panel.two-col>.full-span.table-wrap{min-height:0;height:100%}.grid-form{display:grid;gap:.72rem;align-content:start}.retail-panel{gap:.8rem;grid-template-rows:minmax(0,1fr)}.retail-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:.7rem}.retail-kpi{background:linear-gradient(150deg,#fff,#f0faf8);border:1px solid var(--border);border-radius:14px;padding:.8rem;display:grid;gap:.25rem}.retail-kpi h3{font-size:1.18rem}.retail-kpi p:last-child{color:var(--ink-500);font-size:.84rem}.retail-fast-lane{border:1px solid var(--border);border-radius:14px;padding:.9rem;background:linear-gradient(150deg,#f8fffe,#eefaf8);display:grid;gap:.6rem}.retail-fast-lane h3{font-size:1rem}.retail-catalog-row{display:grid;grid-template-columns:minmax(300px,2fr) minmax(100px,.7fr) auto auto;gap:.6rem;align-items:end}.retail-form-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:.9rem;align-items:stretch;min-height:0}.retail-form-main{display:grid;gap:.72rem;align-content:start;min-height:0;overflow:auto;padding-right:.2rem}.retail-live-panel{border:1px solid var(--border);border-radius:14px;padding:.85rem;background:linear-gradient(150deg,#fff,#f2fcfb);display:grid;gap:.6rem;min-height:0;overflow:auto}.retail-live-panel h3{font-size:1rem}.retail-sticky-summary{border-radius:12px;border:1px solid var(--border);background:var(--panel-deep);padding:.65rem .72rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}.retail-sticky-summary p{margin:0;color:var(--ink-700);font-size:.86rem;font-weight:600}.retail-live-list{display:grid;gap:.55rem;max-height:430px;overflow:auto;padding-right:.1rem}.retail-live-item{border:1px dashed var(--border);border-radius:12px;padding:.55rem;display:grid;gap:.2rem}.retail-live-item p{margin:0;color:var(--ink-700);font-size:.86rem}.retail-live-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.quick-invoice-grid{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(220px,1fr))}.line-items{display:grid;gap:.55rem}.module-info{border:1px solid var(--border);border-radius:14px;padding:.68rem .74rem;background:linear-gradient(150deg,#fff,#f4fbfa);display:grid;gap:.35rem}.module-info p{margin:0;color:var(--ink-700);font-size:.86rem}.module-mini-stats{display:flex;gap:.45rem;flex-wrap:wrap}.module-mini-stats span{border-radius:999px;border:1px solid var(--border);background:#fff;padding:.18rem .5rem;font-size:.76rem;color:var(--ink-700);font-weight:600}.invoice-discount-row{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(180px,280px))}.filters-inline{display:grid;grid-template-columns:repeat(2,minmax(180px,280px));gap:.7rem}.action-row{display:flex;gap:.45rem;flex-wrap:wrap}.line-row{display:grid;gap:.5rem;grid-template-columns:minmax(180px,1.35fr) repeat(5,minmax(84px,.72fr)) auto;align-items:center}.sales-line-row{grid-template-columns:minmax(180px,1.35fr) repeat(5,minmax(84px,.72fr)) auto}.purchase-line-row{grid-template-columns:minmax(180px,1.45fr) repeat(3,minmax(96px,.78fr)) auto}.line-row-head{display:grid;gap:.5rem;align-items:center;border:1px solid var(--border);border-radius:10px;padding:.38rem .45rem;background:color-mix(in srgb,var(--panel-deep),white 24%)}.line-row-head span{color:var(--ink-500);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.invoice-totals{border-radius:14px;background:var(--panel-deep);border:1px solid var(--border);padding:.78rem;display:grid;gap:.25rem}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border);background:#fff;-webkit-overflow-scrolling:touch}.table-wrap h2,.table-wrap h3{padding:.78rem;border-bottom:1px solid var(--border)}.full-span{grid-column:1 / -1}table{width:100%;border-collapse:collapse}thead{background:#f6f8f5}th,td{text-align:left;padding:.65rem;border-bottom:1px solid #eef1ee;white-space:nowrap;font-size:.92rem;vertical-align:top}td button{padding:.42rem .65rem;font-size:.8rem}.row-warning{background:color-mix(in srgb,var(--accent-500),white 85%)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){body{overflow:auto}.erp-shell{height:auto;min-height:100vh;padding:1rem;gap:1rem;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.top-header{position:sticky;top:.55rem;z-index:35;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tab-strip{position:fixed;left:.7rem;right:.7rem;bottom:calc(.45rem + env(safe-area-inset-bottom,0px));z-index:40;padding:.42rem;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel),white 20%);box-shadow:0 12px 28px #162c3733;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tab-strip button{min-height:42px;padding:.55rem .76rem;font-size:.82rem}.workspace-content{overflow:visible;padding-bottom:.4rem}.workspace-content>.panel{height:auto;overflow:visible}.two-col{grid-template-columns:1fr}.stats-grid,.reports-stats-grid,.reports-kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.reports-graph-grid,.reports-data-grid,.ai-feed-grid{grid-template-columns:1fr}.donut-layout{grid-template-columns:1fr;justify-items:start}.retail-kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.line-row{grid-template-columns:1fr}.line-row-head{display:none}.filters-inline,.invoice-discount-row,.quick-invoice-grid,.retail-catalog-row,.retail-form-layout{grid-template-columns:1fr}.retail-live-panel{position:static;overflow:visible}.invoice-sticky-actions,.retail-sticky-actions,.reports-actions{position:static;padding:0;border:0;background:transparent}}@media(max-width:680px){.stats-grid,.retail-kpi-grid,.reports-kpi-grid{grid-template-columns:1fr}.top-header{flex-direction:column;gap:.45rem;padding:.62rem .72rem;border-radius:14px}.header-actions{flex-direction:column;align-items:flex-start;gap:.42rem}.header-actions label{min-width:0;width:100%}.top-header h1{font-size:1.02rem}}@media(max-width:760px){.table-wrap{border:0;background:transparent;border-radius:0}.table-wrap h2,.table-wrap h3{border-bottom:0;padding:.2rem .1rem .45rem}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tbody{display:grid;gap:.58rem}.data-table tr{background:#fff;border:1px solid var(--border);border-radius:14px;padding:.44rem .45rem;box-shadow:0 10px 24px #14262d14}.data-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;white-space:normal;border-bottom:1px dashed color-mix(in srgb,var(--border),white 18%);padding:.44rem .25rem;font-size:.84rem}.data-table td:before{content:attr(data-label);color:var(--ink-500);font-weight:700;font-size:.67rem;letter-spacing:.04em;text-transform:uppercase;min-width:88px;max-width:48%}.data-table td:last-child{border-bottom:0;padding-bottom:.28rem}.data-table td[data-label=Action],.data-table td[data-label=Actions]{display:block}.data-table td[data-label=Action]:before,.data-table td[data-label=Actions]:before{display:block;margin-bottom:.32rem;max-width:none}.data-table td .action-row{justify-content:flex-start}.data-table td select,.data-table td input,.data-table td button{max-width:100%}}
