@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142b40;background:#f5f7fa;font-synthesis:none;font-smooth:always}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8cd3c7;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}
h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{letter-spacing:-.03em}h1,h2,h3{font-family:Manrope,system-ui,sans-serif}a{color:inherit;text-decoration:none}
.app-shell{display:flex;min-height:100vh}.sidebar{width:257px;flex:none;background:#0d2133;color:#dae8ef;display:flex;flex-direction:column;padding:27px 17px 19px;min-height:100vh;position:sticky;top:0;height:100vh;z-index:5}
.brand{display:flex;align-items:center;gap:11px;padding:0 11px 28px}.brand-mark{width:36px;height:36px;background:#b6efb9;border-radius:11px;color:#163a34;font-size:24px;font-weight:900;display:grid;place-items:center;transform:rotate(-9deg)}.brand-mark span{transform:rotate(9deg)}.brand strong{color:#fff;font:800 22px Manrope,sans-serif;letter-spacing:-.09em;display:block;line-height:1.13}.brand-period,.mobile-logo span{color:#a8ebbb}.brand small{font-size:9px;font-weight:700;color:#8aa3b4;letter-spacing:.135em}
.workspace-select{display:flex;align-items:center;padding:12px 10px;gap:10px;border:1px solid #31475b;border-radius:12px;background:#152c40;margin:0 4px 24px}.workspace-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#bcd5f6;color:#21415d;font-weight:800}.workspace-select strong{color:#fff;display:block;font-size:12px;letter-spacing:0}.workspace-select small{font-size:10px;color:#92adbb}.workspace-chevron{margin-left:auto;font-size:18px;color:#8299a8}
.nav-caption{font-size:10px;font-weight:800;letter-spacing:.19em;color:#7d98a9;margin:0 13px 11px}.navigation{display:flex;flex-direction:column;gap:4px}.nav-item{color:#a9bfce;display:flex;align-items:center;gap:13px;border:0;background:none;border-radius:9px;text-align:left;padding:12px 13px;font-weight:600;font-size:13px;transition:.18s}.nav-symbol{font-size:19px;width:23px;line-height:1;text-align:center;font-family:system-ui}.nav-item:hover{color:#fff;background:#183349}.nav-item.active{background:#b5edca;color:#123a31;font-weight:800}.sidebar-spacer{flex:1}
.support-card{margin:14px 4px;padding:17px 16px;border:1px solid #2c5560;border-radius:14px;background:radial-gradient(circle at 100% 0%,#31585a,#1b3b47 55%,#16303f);overflow:hidden;position:relative}.support-orb{height:27px;color:#c4f9ac;font-size:24px}.support-card strong{font:800 13px Manrope,sans-serif;color:#fff}.support-card p{font-size:11px;line-height:1.7;color:#b4cdd2;margin:9px 0 13px}.support-card span{font-size:9px;letter-spacing:.13em;color:#b5ecca;font-weight:800}.sidebar-footer{font-size:10px;color:#95afbc;display:flex;align-items:center;gap:7px;padding:17px 5px 0}.pulse,.demo-dot{width:7px;height:7px;border-radius:50%;background:#81d6a4;display:inline-block;flex:none}
.workspace-main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:78px;background:#fff;border-bottom:1px solid #e4eaf0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 35px}.breadcrumb{font-size:12px;color:#8b9bae}.breadcrumb strong{color:#274059;font-weight:800}.crumb-separator{margin:0 11px;color:#c0cad4}.header-tools{display:flex;align-items:center;gap:16px}.demo-pill{font-size:10px;letter-spacing:.11em;font-weight:800;color:#4c7b60;padding:8px 10px;background:#edf9f0;border:1px solid #e0f0e2;border-radius:7px;white-space:nowrap}.demo-dot{height:6px;width:6px;margin-right:5px}.currency-label{font-size:11px;color:#8b9bae}.header-tools select{border:1px solid #e4e9ee;border-radius:8px;background:#fff;padding:10px;font-size:12px;font-weight:800;color:#254057}.mobile-logo{display:none}.btn{border:1px solid #dfe7ed;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:7px;white-space:nowrap;transition:transform .12s,box-shadow .12s}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #13313a18}.btn-primary{background:#0b3440;color:#fff;border-color:#0b3440}.btn-secondary{background:#fff;color:#29465a}.btn-outline{border:1px solid #b8d3c5;background:#edfaef;color:#2d6b48}.btn-small{padding:8px 11px;font-size:11px}.btn-ghost{background:transparent;border:none;color:#406176}.btn span{font-size:17px;line-height:.7}.page{width:100%;max-width:1480px;margin:auto;padding:37px 36px 55px;flex:1}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:800;color:#5e9581;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px}.page-heading h1{font-weight:800;font-size:28px;color:#122f43;margin:0 0 8px}.page-heading p{color:#899aa9;font-size:13px;line-height:1.6;margin:0}.page-actions{display:flex;gap:9px;align-items:center}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:21px}.stat-card{border:1px solid #e7edf2;border-radius:13px;background:#fff;padding:19px 20px 20px;box-shadow:0 3px 12px #29465a06;min-width:0}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#8999a8;font-size:12px;font-weight:600}.stat-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:9px;font-size:19px;background:#e9f6ee;color:#358f66}.stat-icon.blue{background:#eaf1fe;color:#5079d1}.stat-icon.orange{background:#fff4e5;color:#d08e30}.stat-icon.purple{background:#f2edff;color:#9270d3}.stat-card h2{font:800 clamp(18px,2.05vw,29px) Manrope,sans-serif;letter-spacing:-.065em;margin:15px 0 10px;color:#142f44;overflow-wrap:anywhere}.stat-foot{color:#8195a3;font-size:10px;line-height:1.5}.stat-foot strong{color:#3f9a6d}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-bottom:20px}.panel{background:#fff;border:1px solid #e7edf2;border-radius:13px;box-shadow:0 3px 12px #29465a06;min-width:0;overflow:hidden}.panel-head{padding:22px 23px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{font:800 15px Manrope,sans-serif;margin:0 0 5px;color:#153246}.panel-subtitle{font-size:11px;color:#99a8b5;margin:0}.mini-link{border:0;background:none;color:#308367;font-size:11px;font-weight:800;white-space:nowrap}.chart-area{padding:14px 26px 25px}.chart-amount{font:800 26px Manrope,sans-serif;letter-spacing:-.055em;margin-bottom:3px}.chart-note{font-size:11px;color:#8c9bab}.bars{height:180px;display:flex;gap:18px;align-items:end;border-bottom:1px solid #edf0f3;margin-top:16px;padding-top:10px}.bar-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:100%;min-width:0}.bar-fill{width:min(100%,42px);background:linear-gradient(180deg,#a7e5b6,#65bb95);border-radius:6px 6px 0 0;min-height:3px;transition:height .2s}.bar-column.today .bar-fill{background:linear-gradient(180deg,#174f4e,#137966)}.bar-column span{font-size:10px;color:#94a6b4;position:relative;top:19px}.chart-bottom-space{height:18px}
.stock-alert{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff8eb;border-radius:9px;margin:17px 19px 9px;color:#946f34;font-size:11px}.stock-alert strong{font-size:12px}.alert-list{padding:2px 19px 20px}.alert-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f4f6;padding:12px 0;gap:10px}.alert-row:last-child{border-bottom:0}.item-title{font-size:12px;font-weight:800;color:#254052}.item-sub{display:block;font-size:10px;color:#93a4b2;margin-top:4px;font-weight:500}.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;background:#eaf7ed;border-radius:7px;color:#31865d;font-size:10px;font-weight:800;white-space:nowrap}.badge.warn{background:#fff2e2;color:#be8435}.badge.out{background:#fcebec;color:#bc626b}.badge.slate{background:#f0f4f7;color:#64798a}
.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;min-width:670px}.data-table th{font-size:10px;letter-spacing:.11em;font-weight:800;color:#93a6b5;background:#fbfcfd;padding:15px 22px;border-bottom:1px solid #eaf0f3;text-transform:uppercase;white-space:nowrap}.data-table td{padding:17px 22px;font-size:12px;font-weight:600;color:#476177;border-bottom:1px solid #eef2f5;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fcfefd}.data-table td strong{color:#264255}.table-id{font-weight:800;color:#2e8d79}.product-identity{display:flex;align-items:center;gap:11px}.product-initial{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#edf5fb;color:#49749e;font-weight:800;font-size:11px}.product-initial.green{background:#eaf5ec;color:#419773}.product-initial.pink{background:#f9eff4;color:#bc7188}.table-empty{padding:50px 20px;text-align:center;color:#8ea1b0;font-size:13px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #eaf0f3;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #e2eaf0;background:#fff;border-radius:9px;min-width:min(290px,100%);color:#99adbb}.search-box input{width:100%;padding:10px 0;border:0;background:transparent;outline:none;font-size:12px;color:#264456}.toolbar-right{display:flex;align-items:center;gap:10px}.toolbar select{padding:10px;border:1px solid #e3eaf0;border-radius:8px;color:#607e92;background:#fff;font-size:12px}.table-count{font-size:11px;color:#879bad}.icon-button{border:1px solid #e2ecf0;border-radius:7px;background:white;padding:7px 10px;color:#2f7c69;font-size:11px;font-weight:800}.icon-button:hover{background:#f0faf3}.hint-line{padding:15px 20px;font-size:11px;color:#9eacb6;border-top:1px solid #edf1f4}
.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:19px}.contact-list{padding:0 17px 15px}.contact-item{display:flex;gap:13px;align-items:center;border-bottom:1px solid #ecf0f3;padding:14px 3px}.contact-item:last-child{border:0}.contact-avatar{height:39px;width:39px;border-radius:12px;background:#eaf5f0;color:#478c70;display:grid;place-items:center;font-weight:800}.contact-email{font-size:11px;color:#99a9b4;margin-top:5px}.report-bars{padding:9px 23px 24px}.report-item{margin:17px 0}.report-item-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:#52697b;margin-bottom:9px}.meter{height:9px;background:#eef2f3;border-radius:15px;overflow:hidden}.meter-fill{height:100%;background:#78c5a2;border-radius:15px}.report-callout{font-size:12px;line-height:1.8;color:#59758a;background:#f5f9fb;padding:18px 23px;border-radius:9px;margin:19px 22px}.report-callout strong{color:#284b5b}.main-footer{padding:18px 36px;border-top:1px solid #e7edf1;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#a2afba;font-size:10px;background:#f9fafc}.link-button{border:0;background:none;font-size:10px;color:#567984;font-weight:800;text-decoration:underline}
.entry-dialog{width:min(530px,calc(100vw - 24px));max-height:90vh;overflow:auto;border:0;padding:0;border-radius:16px;box-shadow:0 23px 100px #09263a50}.entry-dialog::backdrop{background:#071a29a6}.modal-head{padding:25px 28px;border-bottom:1px solid #e8eff2;display:flex;justify-content:space-between;align-items:start;gap:10px}.modal-head h2{font-size:20px;font-weight:800;color:#193549;margin:0 0 6px}.modal-head p{font-size:12px;color:#8195a4;margin:0}.modal-close{border:0;background:#f1f5f6;border-radius:8px;color:#668093;font-size:23px;width:31px;height:31px;line-height:1}.modal-body{padding:23px 28px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{color:#456074;font-weight:800;font-size:11px}.field input,.field select{padding:11px 12px;border:1px solid #dce5eb;border-radius:8px;background:#fff;font-size:13px;color:#29465c;min-width:0;width:100%}.field input:disabled{background:#f4f7f8;color:#71899a}.field small{font-size:10px;color:#98a8b4;line-height:1.45}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:16px 28px;border-top:1px solid #e8eef1}.toast{pointer-events:none;position:fixed;right:25px;bottom:27px;z-index:15;background:#143e3f;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:0 10px 26px #122a3a37;font-size:12px;font-weight:700;max-width:min(420px,90vw);opacity:0;transform:translateY(12px);transition:.22s}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:#9a3c4b}.empty-note{padding:26px;text-align:center;color:#8ba0ae;font-size:12px}.empty-note strong{color:#446173;display:block;margin-bottom:8px}.demo-banner{margin-bottom:22px;border-radius:11px;background:linear-gradient(105deg,#153b47,#225d58);color:#f3fff7;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.demo-banner strong{font-size:12px}.demo-banner span{font-size:11px;color:#beded7}.loading{color:#71919f}
@media(max-width:1200px){.sidebar{width:220px}.topbar{padding:0 24px}.page{padding:32px 23px 45px}.stats-grid{gap:12px}.stat-card{padding:16px}.data-table th,.data-table td{padding-left:14px;padding-right:14px}}
@media(max-width:950px){.sidebar{width:76px;padding-left:9px;padding-right:9px}.brand{padding:0 10px 25px}.brand>div:last-child,.workspace-select,.nav-caption,.nav-item:not(.active){font-size:0}.navigation{gap:7px}.nav-item{justify-content:center;padding:12px 0;gap:0;font-size:0}.nav-symbol{font-size:21px}.sidebar .support-card,.sidebar-footer{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{grid-template-columns:1fr}.sidebar .brand-mark{flex:none}}
@media(max-width:650px){.app-shell{display:block}.sidebar{height:auto;min-height:0;width:100%;padding:9px 13px 0;position:relative;display:block}.brand{display:none}.navigation{flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:9px;scrollbar-width:none}.navigation::-webkit-scrollbar{display:none}.nav-item,.nav-item:not(.active){flex:none;padding:10px 10px;gap:6px;font-size:11px;justify-content:flex-start}.nav-symbol{font-size:15px;width:auto}.sidebar-spacer{display:none}.topbar{height:auto;min-height:66px;padding:13px 15px;gap:8px}.mobile-logo{display:inline;font-weight:900;font-size:19px;color:#183b44;margin-right:7px}.breadcrumb{display:flex;align-items:center;white-space:nowrap;font-size:11px}.header-tools{gap:8px}.currency-label,.demo-pill{display:none}.header-tools select{padding:8px 4px}.header-sale{padding:10px 10px}.header-sale span{display:none}.page{padding:25px 13px 35px}.page-heading{align-items:start}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.page-actions .btn{padding:9px 11px;font-size:11px}.stats-grid{gap:9px}.stat-card{padding:14px 12px}.stat-card h2{font-size:20px}.stat-top{font-size:11px}.stat-icon{height:28px;width:28px;font-size:14px}.split-panels{grid-template-columns:1fr}.panel-head{padding:17px 16px 12px}.chart-area{padding:12px 17px 24px}.bars{gap:8px}.alert-list{padding:0 14px 14px}.main-footer{padding:15px 13px}.demo-banner{align-items:flex-start;flex-direction:column}.field-row{grid-template-columns:1fr;gap:0}.modal-body,.modal-head,.modal-foot{padding-left:18px;padding-right:18px}}

/* Mobile UX follow-up: compact organization header, readable transaction cards,
   and a form with a persistent action bar even when the keyboard is visible. */
.workspace-avatar{font-size:14px}
.entry-dialog[open]{overflow:hidden}
#entry-form{display:flex;flex-direction:column;max-height:min(88dvh,820px);min-height:0}
.entry-dialog .modal-head,.entry-dialog .modal-foot{flex-shrink:0;background:#fff;position:relative;z-index:1}
.entry-dialog .modal-body{overflow-y:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}
.entry-dialog .modal-foot{box-shadow:0 -6px 20px rgba(12,39,54,.07)}
@media(max-width:650px){
  .sidebar{padding:9px 13px 0}
  .workspace-select{margin:0 0 7px;padding:7px 9px;gap:8px;border-radius:9px}
  .workspace-avatar{width:29px;height:29px;flex:none;font-size:14px}
  .workspace-select strong{font-size:11px}
  .workspace-select small{font-size:9px}
  .nav-caption{display:none}
  .navigation{padding-bottom:7px;gap:3px}
  .nav-item,.nav-item:not(.active){padding:9px 10px}
  .entry-dialog{width:calc(100vw - 18px);max-height:90dvh}
  #entry-form{max-height:88dvh}
  .entry-dialog .modal-head{padding-top:17px;padding-bottom:15px}
  .entry-dialog .modal-head h2{font-size:19px}
  .entry-dialog .modal-foot{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .entry-dialog .modal-foot .btn{min-height:42px}

  /* On small screens each transaction/product becomes a labelled card. */
  .table-scroll{overflow-x:visible}
  .data-table,.data-table tbody{display:block;width:100%;min-width:0}
  .data-table thead{display:none}
  .data-table tbody{padding:12px;background:#fbfcfd}
  .data-table tr{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 14px;padding:14px;margin:0 0 10px;
    border:1px solid #e5edf2;border-radius:11px;background:#fff;
    box-shadow:0 2px 8px rgba(16,44,61,.04)
  }
  .data-table tr:last-child{margin-bottom:0}
  .data-table td{
    display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;
    border-bottom:0;padding:0!important;font-size:12px
  }
  .data-table td::before{
    content:attr(data-label);display:block;margin-bottom:5px;
    font-size:9px;letter-spacing:.09em;font-weight:800;
    text-transform:uppercase;color:#869ba9
  }
  .data-table td:first-child{
    grid-column:1/-1;padding-bottom:10px!important;
    border-bottom:1px solid #eef2f5
  }
  .data-table td .item-sub{white-space:normal}
  .data-table .table-empty{grid-column:1/-1;padding:24px 10px!important}
  .data-table .table-empty::before{display:none}
  .data-table td:has(> .icon-button){display:flex;align-items:end}
  .data-table .icon-button{min-height:34px}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
