@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&family=JetBrains+Mono:wght@500;600&display=swap');
:root{
 --ink:#17233d;--ink-soft:#334563;--muted:#71809b;--paper:#f4f6fb;--white:#fff;--surface:#fff;
 --navy:#172447;--violet:#6657ea;--violet-2:#7d5cf4;--violet-soft:#efedff;--mint:#4fd6ae;--mint-soft:#ddf9ef;
 --sky:#4fbaf2;--sky-soft:#e2f4ff;--coral:#ff717f;--coral-soft:#ffe7ea;--amber:#f7b948;--amber-soft:#fff1d3;
 --green:#14755f;--deep:#111a34;--line:#e4e8f2;--line-strong:#d3dbea;--red:#c9465b;--blue:#4677d7;
 --shadow-xs:0 3px 10px rgba(37,49,83,.05);--shadow-sm:0 8px 22px rgba(39,52,88,.075);--shadow:0 18px 48px rgba(39,52,88,.12);--shadow-lg:0 30px 80px rgba(27,38,72,.18);
 --radius-xs:10px;--radius-sm:13px;--radius:19px;--radius-lg:28px;--sidebar:278px;--topbar:78px;--ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Archivo,Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}body::selection{background:#d4ceff;color:#17233d}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button[hidden],[hidden]{display:none!important}img{max-width:100%}.eyebrow,small,code{font-family:'JetBrains Mono',monospace}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--violet)}.eyebrow.light{color:#aeeedb}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,56px);line-height:1;letter-spacing:-.052em;margin-bottom:14px}h1 em,h2 em{font-family:'DM Serif Display',serif;font-weight:400;color:var(--violet)}h2{letter-spacing:-.035em}p{color:var(--ink-soft)}:focus-visible{outline:3px solid rgba(102,87,234,.36);outline-offset:3px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:200;left:16px;top:12px;padding:10px 14px;background:#fff;color:var(--deep);border-radius:10px;box-shadow:var(--shadow);transform:translateY(-180%);transition:.2s}.skip-link:focus{transform:none}
.btn{min-height:46px;padding:11px 18px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;background:var(--white);border-radius:13px;transition:transform .24s var(--ease),box-shadow .24s var(--ease),background .2s,border-color .2s;box-shadow:var(--shadow-sm)}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(47,55,95,.16)}.btn:active{transform:translateY(0) scale(.98)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--violet-2),#5576ed);box-shadow:0 11px 25px rgba(100,85,235,.28)}.btn.primary:hover{box-shadow:0 16px 34px rgba(100,85,235,.35)}.btn.ghost{background:rgba(255,255,255,.8);border-color:var(--line-strong);box-shadow:none}.btn.danger,.btn.danger-soft{color:#fff;background:linear-gradient(135deg,#d94b67,#b83350);box-shadow:0 10px 22px rgba(185,51,80,.20)}.btn.danger-soft{color:var(--red);background:var(--coral-soft);border-color:#f1bac5;box-shadow:none}.btn.warning-soft{color:#815100;background:#fff5d8;border-color:#efd493;box-shadow:none}.btn.small{min-height:38px;padding:8px 13px;font-size:13px}.btn .bi{font-size:16px}.text-link{font-weight:700;color:var(--violet);text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.brand{font-size:20px;font-weight:800;letter-spacing:-.05em}.brand>span{color:var(--mint)}.brand-with-logo{display:inline-flex;align-items:center;gap:11px}.brand-with-logo>img{width:46px;height:46px;border-radius:13px;object-fit:cover;box-shadow:0 8px 20px rgba(29,39,78,.16)}.brand-with-logo>span{color:inherit}.brand-with-logo b{color:var(--mint)}
/* Marketing */
.marketing{background:radial-gradient(circle at 78% 10%,#eae4ff 0,transparent 31%),radial-gradient(circle at 10% 36%,#ddf9ef 0,transparent 25%),#f8f9fd}.marketing-nav{max-width:1240px;margin:auto;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(79,94,132,.12)}.marketing-nav>div{display:flex;align-items:center;gap:24px}.hero{max-width:1240px;margin:auto;padding:90px 28px 84px;display:grid;grid-template-columns:1.2fr .8fr;gap:76px;align-items:center}.hero-copy .lead{font-size:20px;max-width:680px;color:var(--ink-soft)}.actions{display:flex;align-items:center;gap:25px;margin:30px 0}.trust-line{font-family:'JetBrains Mono',monospace;font-size:11px;display:flex;align-items:center;gap:9px;color:var(--muted)}.trust-line span{width:10px;height:10px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 5px rgba(82,217,176,.2)}.hero-ledger{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-lg);padding:28px;border-radius:var(--radius-lg);position:relative;overflow:hidden}.hero-ledger::before{content:'';position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--violet),var(--sky),var(--mint),var(--amber),var(--coral))}.ledger-head,.ledger-row,.ledger-total,.ledger-status{display:flex;justify-content:space-between;gap:18px}.ledger-head{border-bottom:1px solid var(--line);padding:4px 0 20px;margin-bottom:10px}.ledger-row{padding:12px 0;border-bottom:1px dashed var(--line)}.ledger-row.muted{color:var(--green)}.ledger-total{padding:25px 0 15px}.ledger-total strong{font-size:30px}.ledger-status{padding-top:15px;border-top:1px solid var(--line-strong);align-items:center}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1240px;margin:auto}.feature-grid article{padding:38px;min-height:250px;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.86);box-shadow:var(--shadow-sm);border-radius:var(--radius);transition:.25s var(--ease)}.feature-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.feature-grid article:nth-child(1)>b{color:var(--violet)}.feature-grid article:nth-child(2)>b{color:var(--green)}.feature-grid article:nth-child(3)>b{color:#d18413}.feature-grid article>b{font-family:'JetBrains Mono'}.principles{max-width:1240px;margin:80px auto;padding:65px;background:linear-gradient(135deg,#172447,#263b70);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:60px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.principles h2{font-size:42px}.principles p{color:#c9d3eb}.principles ul{list-style:none;padding:0;margin:0}.principles li{padding:14px;border-bottom:1px solid #ffffff24}.principles li span{font-family:'JetBrains Mono';color:var(--mint);margin-right:15px}body>footer{max-width:1240px;margin:auto;padding:25px 28px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between}
/* Authentication */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.auth-context{background:radial-gradient(circle at 20% 20%,rgba(82,217,176,.26),transparent 28%),radial-gradient(circle at 85% 75%,rgba(118,88,245,.35),transparent 34%),linear-gradient(145deg,#13203f,#24386b);color:#fff;padding:55px 7vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.auth-context h1{font-size:64px}.auth-context p{color:#dbe3f4}.auth-context em{color:#a9f3dd;text-shadow:0 5px 24px rgba(10,29,50,.16)}.auth-context .brand span{color:var(--mint)}.auth-context>small,.auth-card>small{font-family:Archivo,Arial,sans-serif;letter-spacing:0;color:#cbd5eb}.auth-card>small{display:block;margin-top:8px;color:var(--muted)}.auth-card{max-width:540px;width:100%;margin:auto;padding:58px}.auth-card h2{font-size:42px;margin:28px 0 5px}.auth-card>p{margin-bottom:24px}.back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:36px;color:var(--muted)}.auth-card form,.form-grid{display:grid;gap:16px}.auth-card form .btn .bi{line-height:1}
/* Fields */
.auth-card label,.form-grid label,.checkout-fields label,.period-filter label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--ink-soft)}input,select,textarea{width:100%;border:1px solid var(--line-strong);background:#fff;padding:11px 13px;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}input:hover,select:hover,textarea:hover{border-color:#bac5d8}input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(102,87,234,.12);background:#fff}.alert{padding:13px 16px;margin:0 0 18px;border:1px solid transparent;border-radius:14px;background:var(--mint-soft);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:11px;animation:alertIn .28s var(--ease)}.alert>span{flex:1}.alert>button{border:0;background:transparent;width:34px;height:34px;border-radius:9px}.alert.error{background:var(--coral-soft);border-color:#ffc9ce;color:#943044}.alert.success{background:var(--mint-soft);border-color:#bcefdc;color:#11624f}.alert-leave{opacity:0;transform:translateY(-5px)}
/* Modern app shell */
.app-shell{min-height:100vh;background:radial-gradient(circle at 95% 0,rgba(79,186,242,.14),transparent 28%),radial-gradient(circle at 44% 100%,rgba(102,87,234,.10),transparent 31%),var(--paper);padding-left:var(--sidebar);transition:padding-left .34s var(--ease)}.app-stage{min-width:0;min-height:100vh}.topbar{height:var(--topbar);position:sticky;top:0;z-index:30;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:rgba(248,250,253,.82);border-bottom:1px solid rgba(211,219,234,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.topbar-context{display:grid}.topbar-context small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.topbar-context strong{font-size:17px;letter-spacing:-.025em}.topbar-actions{display:flex;align-items:center;gap:9px}.topbar-btn{height:40px;border:1px solid var(--line-strong);background:rgba(255,255,255,.84);border-radius:12px;padding:0 13px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;box-shadow:var(--shadow-xs);transition:.2s var(--ease)}.topbar-btn:hover{transform:translateY(-1px);border-color:#bcb5ff;color:var(--violet)}.quick-sale{background:var(--deep);color:#fff;border-color:var(--deep)}.quick-sale:hover{color:#fff}.topbar-avatar,.user-avatar{display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--mint),var(--sky));color:var(--deep);font-weight:800}.topbar-avatar{width:40px;height:40px}.mobile-menu{display:none;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;font-size:24px}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);height:100vh;background:radial-gradient(circle at 18% 0,rgba(125,92,244,.40),transparent 28%),radial-gradient(circle at 90% 92%,rgba(79,214,174,.20),transparent 28%),linear-gradient(180deg,#172447,#111a34);color:#fff;padding:20px 15px;display:flex;flex-direction:column;box-shadow:12px 0 35px rgba(20,31,65,.10);z-index:50;transition:width .34s var(--ease),transform .34s var(--ease),padding .34s var(--ease)}.sidebar-brand-row{height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.sidebar .brand{min-width:0;display:flex;align-items:center;gap:11px;padding:0 6px}.brand-mark{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--mint),var(--sky));color:#142143;box-shadow:0 9px 22px rgba(79,214,174,.26);font-size:17px;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-size:19px}.brand-copy small{font:500 9px 'JetBrains Mono',monospace;letter-spacing:.08em;color:#aebcdb;margin-top:5px;text-transform:uppercase}.sidebar-collapse{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.06);color:#dbe5ff;transition:.2s}.sidebar-collapse:hover{background:rgba(255,255,255,.12);color:#fff}.sidebar-search{height:42px;margin:1px 5px 7px;padding:0 11px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.065);color:#91a0c2}.sidebar-search:focus-within{border-color:rgba(174,238,219,.55);background:rgba(255,255,255,.09)}.sidebar-search input{height:auto;padding:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;font-size:12px}.sidebar-search input::placeholder{color:#8595b9}.side-label{font:500 9px 'JetBrains Mono',monospace;letter-spacing:.16em;color:#7f90b5;padding:13px 12px 7px}.sidebar-nav{display:grid;gap:3px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#ffffff22 transparent}.sidebar-nav a,.logout-link{min-height:45px;display:flex;align-items:center;gap:12px;padding:8px 10px;color:#d2dbef;border:1px solid transparent;border-radius:13px;transition:.2s var(--ease);white-space:nowrap}.sidebar-nav a:hover,.logout-link:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(3px)}.sidebar-nav a.active{background:linear-gradient(135deg,rgba(125,92,244,.34),rgba(79,186,242,.14));color:#fff;border-color:rgba(174,192,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.sidebar-nav a b,.logout-link b{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;background:rgba(255,255,255,.10);border-radius:9px;color:#c7f7e9;font-size:15px}.sidebar-nav a.active b{background:var(--mint);color:#142143;box-shadow:0 5px 14px rgba(82,217,176,.22)}.side-bottom{margin-top:auto;border-top:1px solid #ffffff18;padding-top:12px}.sidebar-user{min-height:58px;padding:7px 9px;display:flex;align-items:center;gap:10px}.sidebar-user>.user-avatar{flex:0 0 36px;width:36px;height:36px}.sidebar-user>span:last-child{min-width:0}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user small{color:#afbdd9;margin-top:2px;font-size:10px}.sidebar-backdrop{display:none}.content{min-width:0;padding:36px 40px 72px;animation:pageIn .48s var(--ease) both}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.page-head.compact{margin-bottom:20px}.page-head h1{font-size:42px;margin-top:5px}.page-head p{margin:0;color:var(--muted)}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.headline-value{text-align:right;background:#fff;padding:13px 18px;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm)}.headline-value strong{display:block;font-size:30px;color:var(--violet)}
.nav-collapsed{--sidebar:88px}.nav-collapsed .sidebar{padding-inline:13px}.nav-collapsed .brand-copy,.nav-collapsed .side-label,.nav-collapsed .sidebar-search,.nav-collapsed .sidebar-nav a span,.nav-collapsed .sidebar-user>span:last-child,.nav-collapsed .logout-link span{display:none}.nav-collapsed .sidebar-brand-row{justify-content:center;flex-wrap:wrap;height:96px}.nav-collapsed .sidebar .brand{padding:0}.nav-collapsed .sidebar-collapse{order:2}.nav-collapsed .sidebar-nav a,.nav-collapsed .logout-link{justify-content:center;padding-inline:7px}.nav-collapsed .sidebar-nav a:hover,.nav-collapsed .logout-link:hover{transform:translateY(-1px)}.nav-collapsed .sidebar-nav a b,.nav-collapsed .logout-link b{width:40px;height:40px;flex-basis:40px}.nav-collapsed .sidebar-user{justify-content:center;padding-inline:0}.nav-collapsed .sidebar-nav a{position:relative}.nav-collapsed .sidebar-nav a:hover::after,.nav-collapsed .sidebar-nav a:focus-visible::after{content:attr(title);position:absolute;left:62px;top:50%;transform:translateY(-50%);z-index:5;padding:7px 10px;border-radius:9px;background:#111a34;color:#fff;box-shadow:var(--shadow);font:600 11px Archivo,sans-serif;white-space:nowrap;pointer-events:none}
/* Dashboard */
.welcome{background:radial-gradient(circle at 78% 25%,rgba(255,255,255,.14),transparent 25%),radial-gradient(circle at 92% 100%,rgba(82,217,176,.32),transparent 31%),linear-gradient(125deg,#6655e5,#4e72dc 62%,#2f8fc3);color:#fff;padding:28px 34px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;border-radius:24px;box-shadow:0 16px 36px rgba(84,82,200,.20);position:relative;overflow:hidden}.welcome::after{content:'✦';position:absolute;right:24%;top:7%;font-size:76px;color:rgba(255,255,255,.08);transform:rotate(12deg)}.welcome h2{font-size:34px;line-height:1.02;margin:4px 0}.welcome h2 em{color:#c7ffec}.welcome p{color:#f2f5ff;margin-bottom:0;font-weight:500}.welcome-meta{text-align:right;position:relative;z-index:1}.welcome-meta strong{display:block;font-size:22px;color:#c7ffec}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats article{padding:18px 20px;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:.25s var(--ease)}.stats article:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.stats article::after{content:'';position:absolute;width:70px;height:70px;border-radius:50%;right:-23px;top:-24px;background:var(--violet-soft)}.stats article:nth-child(2)::after{background:var(--mint-soft)}.stats article:nth-child(3)::after{background:var(--amber-soft)}.stats article:nth-child(4)::after{background:var(--coral-soft)}.stats span,.stats small{display:block}.stats span{color:#596984;font-weight:700}.stats small{color:#65748f}.stats strong{font-size:25px;letter-spacing:-.04em;display:block;margin:7px 0}.stats .warn{background:linear-gradient(145deg,#fff,#fffaf0)}.stats .danger{background:linear-gradient(145deg,#fff,#fff6f6)}.stats article>i{display:grid;place-items:center;width:36px;height:36px;margin-bottom:13px;border-radius:11px;background:var(--violet-soft);color:var(--violet);font-size:17px}.stats article:nth-child(2)>i{background:var(--mint-soft);color:var(--green)}.stats article:nth-child(3)>i{background:var(--amber-soft);color:#a66a0e}.stats article:nth-child(4)>i{background:var(--coral-soft);color:var(--red)}
/* Panels, tables, and search */
.panel{background:rgba(255,255,255,.95);border:1px solid rgba(220,227,240,.96);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.panel-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(180deg,#fff,rgba(248,250,254,.72))}.panel-head h2{margin:3px 0 0}.empty,.catalog-empty{text-align:center;padding:42px 20px;color:var(--muted)}.empty{max-width:620px;margin:auto}.empty b,.catalog-empty>b{font-size:32px;color:var(--violet)}.empty h3{margin:8px 0 4px}.empty p{margin-bottom:9px}.table-wrap{overflow:auto;scrollbar-width:thin;scrollbar-color:#cfd5e5 transparent}.table-wrap::after{content:'';position:sticky;right:0;float:right;width:12px;height:1px}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}tbody tr{transition:background .18s}tbody tr:hover{background:#faf9ff}tbody tr:last-child td{border-bottom:0}th{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:#f7f9fd;color:#63708b;position:sticky;top:0;z-index:1}td small,td strong{display:block}.num{text-align:right;font-variant-numeric:tabular-nums}.status{font-family:'JetBrains Mono';font-size:10px;padding:5px 9px;border:1px solid currentColor;font-weight:700;display:inline-flex;border-radius:999px}.status.paid{color:#16735e;background:var(--mint-soft)}.status.partial,.status.unpaid{color:#98600a;background:var(--amber-soft)}.status.void{color:#a7384d;background:var(--coral-soft)}.text-danger{color:var(--red)!important}.text-positive{color:var(--green)}code{background:#f0edff;color:#5a45ba;padding:3px 6px;border-radius:7px;font-size:11px}.table-search-form{display:flex;align-items:center;gap:8px;max-width:390px}.search-field{min-width:260px;height:43px;display:flex;align-items:center;gap:9px;padding:0 7px 0 12px;border:1px solid var(--line-strong);background:#f8f9fc;border-radius:13px;transition:.2s}.search-field:focus-within{background:#fff;border-color:var(--violet);box-shadow:0 0 0 4px rgba(102,87,234,.1)}.search-field>i{color:var(--muted)}.search-field .table-search{height:auto;padding:0;border:0;background:transparent;box-shadow:none;max-width:none}.search-field>button{flex:0 0 31px;width:31px;height:31px;border:0;border-radius:9px;background:var(--violet);color:#fff}.clear-search{font-size:12px;font-weight:700;color:var(--red)}
/* Forms and layouts */
.split-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(500px,1.3fr);gap:22px;align-items:start}.split-layout.narrow-form{grid-template-columns:minmax(280px,.55fr) minmax(520px,1.45fr)}.form-panel{position:sticky;top:calc(var(--topbar) + 18px)}.form-grid{padding:23px;grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}.row-actions form{margin:0}.icon-action{border:0;background:none;min-height:34px;padding:5px 3px;color:var(--violet);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:5px}.icon-action.danger{color:var(--red)}.icon-action:hover{text-decoration:underline;text-underline-offset:3px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:17px 22px;border-top:1px solid var(--line);background:#fafbfe}.pagination>div{display:flex;gap:7px}.pagination-info{font:600 11px 'JetBrains Mono',monospace;color:var(--muted)}.pagination a{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line-strong);background:#fff;border-radius:10px;font-family:'JetBrains Mono';font-size:12px;transition:.2s}.pagination a:hover{border-color:var(--violet);color:var(--violet)}.pagination a.active{background:var(--violet);border-color:var(--violet);color:#fff;font-weight:800;box-shadow:0 6px 15px rgba(102,87,234,.24)}
/* POS */
.pos-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,.88fr);gap:20px;align-items:start}.catalog{min-height:650px}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:14px 18px;background:linear-gradient(90deg,#faf9ff,#f7fcff)}.search span{font-size:24px;color:var(--violet)}.search input{border:0;background:transparent;font-size:17px;box-shadow:none}.product-results{padding:15px;display:grid;gap:9px}.product-card{width:100%;border:1px solid var(--line);background:#fff;padding:15px;text-align:left;display:flex;justify-content:space-between;align-items:center;border-radius:14px;transition:.2s var(--ease)}.product-card:hover{border-color:#c9bfff;background:#fbfaff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.product-card span>*{display:block}.product-card code{font-size:10px}.product-card strong{font-size:17px}.product-card small{color:var(--muted)}.product-card>b{color:var(--violet)}.cart{position:sticky;top:calc(var(--topbar) + 18px)}.cart-head{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;background:linear-gradient(135deg,#f5f2ff,#f0f9ff)}.badge{font-family:'JetBrains Mono';font-size:10px;color:#fff;background:var(--violet);height:fit-content;padding:6px 9px;border-radius:999px}.cart-items{max-height:360px;overflow:auto}.cart-empty{padding:35px;text-align:center;color:var(--muted)}.cart-line{padding:14px 18px;border-bottom:1px solid var(--line);animation:itemIn .26s var(--ease) both}.cart-line-head{display:flex;justify-content:space-between}.cart-line-head strong,.cart-line-head code{display:block}.cart-line-head button{border:0;background:var(--coral-soft);color:var(--red);font-size:20px;width:36px;height:36px;border-radius:10px}.cart-line-controls{display:grid;grid-template-columns:.7fr 1fr .8fr .8fr auto;gap:8px;align-items:end;margin-top:10px}.cart-line-controls label{font-size:9px;text-transform:uppercase;font-family:'JetBrains Mono'}.cart-line-controls input,.cart-line-controls select{padding:7px;border-radius:9px}.checkout-fields{padding:18px;display:grid;gap:12px;background:linear-gradient(145deg,#f8f9fd,#f4f7fc);border-bottom:1px solid var(--line)}.field-help{display:block;margin-top:7px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.45}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cart-summary{padding:20px;display:grid;gap:7px}.cart-summary>div{display:flex;justify-content:space-between}.cart-summary .total{border-top:1px solid var(--line-strong);padding-top:12px;margin-top:5px;font-size:20px}.cart-summary .total strong{color:var(--violet)}.cart-summary .btn{margin-top:10px}.cart-summary button:disabled{opacity:.45;cursor:not-allowed;transform:none}
/* Reports, payment, help */
.detail-grid,.report-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:22px}.report-grid{grid-template-columns:1fr 1fr}.payment-card{padding:25px}.payment-card>div{display:flex;justify-content:space-between;padding:10px 0}.payment-card .debt{background:var(--amber-soft);padding:15px;margin:10px -10px;border-radius:12px}.payment-row{border-bottom:1px solid var(--line)}.payment-row small{display:block;color:var(--muted)}.inline-payment{display:grid;grid-template-columns:110px 95px 120px 120px auto;gap:5px;min-width:580px}.inline-payment input,.inline-payment select{padding:7px}.period-filter{display:flex;gap:8px;align-items:end}.period-tabs{display:flex;gap:8px;flex-wrap:wrap}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card{padding:26px;min-height:220px;transition:.25s var(--ease)}.guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.guide-card:nth-child(3n+1)>b{color:var(--violet)}.guide-card:nth-child(3n+2)>b{color:var(--green)}.guide-card:nth-child(3n)>b{color:#d18413}.guide-card>b{font-family:'JetBrains Mono';font-size:24px}.guide-card h2{margin:24px 0 8px}.quick-notes{margin-top:22px}.quick-notes ul{margin:0;padding:22px 45px}.quick-notes li{padding:7px 0}
/* PWA and network */
.install-toast{position:fixed;right:22px;bottom:22px;z-index:90;width:min(390px,calc(100vw - 30px));padding:13px;border:1px solid rgba(255,255,255,.55);border-radius:17px;background:rgba(20,31,63,.94);backdrop-filter:blur(20px);color:#fff;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;animation:toastIn .35s var(--ease)}.install-toast>div{display:flex;align-items:center;gap:11px;flex:1}.install-toast>div>i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--mint);color:var(--deep)}.install-toast span{display:grid}.install-toast small{color:#adbad6}.install-toast>button{border:0;border-radius:10px;background:var(--violet);color:#fff;padding:8px 11px;font-weight:700}.install-toast>button:last-child{background:transparent;width:34px;padding:0;font-size:21px}.is-offline .topbar::after{content:'OFFLINE · transaksi dinonaktifkan';position:absolute;left:50%;bottom:-27px;transform:translateX(-50%);padding:5px 11px;background:var(--red);color:#fff;border-radius:0 0 10px 10px;font:600 9px 'JetBrains Mono',monospace;letter-spacing:.04em}.is-offline #checkout{pointer-events:none;opacity:.45}
.offline-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 82% 10%,#eae4ff,transparent 34%),radial-gradient(circle at 15% 85%,#ddf9ef,transparent 30%),var(--paper)}.offline-card{max-width:590px;padding:46px;background:rgba(255,255,255,.94);border:1px solid #fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.offline-card h1{font-size:42px;margin-top:15px}.offline-icon{width:70px;height:70px;margin:0 auto 25px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--violet),var(--sky));color:#fff;font-size:32px;box-shadow:0 16px 30px rgba(102,87,234,.25)}
/* Receipt */
.receipt-page{background:#dce2ed;padding:30px}.receipt-brand-block{display:flex;align-items:flex-start;gap:14px}.receipt-logo{width:62px;height:62px;border-radius:15px;object-fit:cover}.receipt-a4{width:210mm;min-height:297mm;margin:auto;background:#fff;padding:20mm 18mm;color:#17221e;box-shadow:0 16px 45px #20304b2b}.receipt-a4 header{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:15mm}.receipt-brand{font-size:28px;font-weight:800}.receipt-brand span{color:var(--violet)}.receipt-title{text-align:right}.receipt-title h1{font-family:'JetBrains Mono';font-size:20px;letter-spacing:0;margin:8px 0}.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:25mm;padding:12mm 0}.receipt-meta strong,.receipt-meta span{display:block}.receipt-table{margin-top:5mm}.receipt-table th{background:#f4f5fb}.receipt-bottom{display:grid;grid-template-columns:1fr 75mm;gap:15mm;margin-top:12mm}.receipt-note p{min-height:20mm}.receipt-totals>div{display:flex;justify-content:space-between;padding:3mm 0;border-bottom:1px solid #dbe0e8}.receipt-totals .grand{font-size:19px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.receipt-totals .remaining{color:var(--red)}.signature{display:grid;grid-template-columns:1fr 1fr;gap:20mm;margin-top:20mm;text-align:center}.signature div{display:grid;gap:20mm}.receipt-a4 footer{margin-top:20mm;border-top:1px solid var(--ink);padding-top:5mm;display:flex;justify-content:space-between;font-family:'JetBrains Mono';font-size:9px}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes itemIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes alertIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@keyframes toastIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.void-dialog{width:min(520px,calc(100% - 30px));border:0;border-radius:22px;padding:0;box-shadow:0 25px 80px rgba(20,31,65,.35)}.void-dialog::backdrop{background:rgba(17,26,52,.62);backdrop-filter:blur(4px)}.void-dialog form{padding:30px;display:grid;gap:16px}.void-dialog h2,.void-dialog p{margin:0}.void-dialog p{color:var(--muted)}.dialog-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--coral-soft);color:var(--red);font-size:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}
@media print{.receipt-page{padding:0;background:#fff}.receipt-a4{box-shadow:none;margin:0;width:210mm;height:297mm}@page{size:A4;margin:0}}
@media(max-width:1180px){.stats{grid-template-columns:1fr 1fr}.split-layout,.split-layout.narrow-form,.pos-grid,.detail-grid{grid-template-columns:1fr}.form-panel,.cart{position:static}.report-grid{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr 1fr}.content{padding-inline:26px}}
/* Lightweight theme: preference is persisted in localStorage; no extra dependency. */
body.theme-dark{--ink:#e8eef6;--ink-soft:#b8c7d8;--muted:#91a2b7;--paper:#0e1724;--white:#172536;--surface:#162536;--line:#294057;--line-strong:#38516a;--violet-soft:#28274d;--mint-soft:#173d3b;--sky-soft:#173448;--coral-soft:#4b2630;--amber-soft:#47391e;background:radial-gradient(circle at 95% 0,rgba(79,186,242,.12),transparent 28%),#0e1724;color:var(--ink)}
body.theme-dark .topbar,body.theme-dark .panel,body.theme-dark .product-card,body.theme-dark input,body.theme-dark select,body.theme-dark textarea,body.theme-dark .pagination,body.theme-dark .panel-head,body.theme-dark .checkout-fields,body.theme-dark .cart-head,body.theme-dark .transaction-overview article{background:#162536;color:var(--ink);border-color:var(--line)}
body.theme-dark tbody tr:hover,body.theme-dark .product-card:hover{background:#1b3043}body.theme-dark .topbar-btn,body.theme-dark .btn.ghost,body.theme-dark .skip-link{background:#162536;color:var(--ink);border-color:var(--line)}body.theme-dark .search{background:#142333;border-color:var(--line)}
@media(max-width:900px){:root{--topbar:70px}.app-shell{padding-left:0}.sidebar{width:min(330px,88vw);transform:translateX(-105%);padding:18px 15px}.sidebar-collapse{display:none}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:45;background:rgba(10,17,37,.48);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.25s}.nav-open{overflow:hidden}.nav-open .sidebar{transform:none}.nav-open .sidebar-backdrop{opacity:1;visibility:visible}.topbar{padding:0 18px}.mobile-menu{display:grid;place-items:center}.topbar-context{margin-right:auto}.content{padding:27px 18px 60px}.sidebar-search{display:flex!important}.side-label,.sidebar-nav a span,.sidebar-user>span:last-child,.logout-link span{display:block!important}.sidebar-brand-row{height:52px!important;justify-content:space-between!important;flex-wrap:nowrap!important}.sidebar .brand{padding:0 6px!important}.sidebar-nav a,.logout-link{justify-content:flex-start!important}.topbar-btn span{display:none}}
@media(max-width:700px){.marketing-nav{padding:0 18px}.marketing-nav>div>a:first-child{display:none}.hero{padding:58px 18px;gap:35px;grid-template-columns:1fr}.feature-grid{padding:0 18px;grid-template-columns:1fr}.principles{padding:40px 22px;margin:45px 18px;grid-template-columns:1fr}.auth-page{grid-template-columns:1fr}.auth-context{min-height:278px;padding:32px 24px}.auth-context h1{font-size:42px}.auth-context>small{margin-top:20px}.auth-card{padding:28px 24px 34px}.auth-card h2{margin-top:18px}.auth-card>p{margin-bottom:18px}.back{margin-bottom:24px}.topbar{gap:10px}.topbar-context small{display:none}.topbar-context strong{font-size:14px}.topbar-actions{gap:6px}.topbar-btn{width:40px;padding:0;justify-content:center}.quick-sale{display:none}.content{padding:24px 14px 48px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:34px}.page-head>.btn,.page-head>.page-actions{width:100%}.page-head>.btn{justify-content:center}.stats{grid-template-columns:1fr;gap:10px}.stats article{padding:16px 14px 16px 18px;display:grid;grid-template-columns:38px minmax(0,1fr) max-content;column-gap:10px;align-items:center}.stats article>i{grid-row:1/4;margin:0}.stats article span,.stats article small{grid-column:2;min-width:0}.stats article strong{grid-column:3;grid-row:1/4;margin:0;text-align:right;white-space:nowrap;font-size:21px;position:relative;z-index:1}.welcome{padding:22px 23px}.welcome h2{font-size:31px}.welcome-meta{display:none}.dashboard-action{display:none!important}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1!important}.cart-line-controls{grid-template-columns:1fr 1fr}.cart-line-controls>b{grid-column:1/-1}.inline-fields{grid-template-columns:1fr}.period-filter{display:grid;width:100%}.receipt-page{overflow:auto}.marketing footer{padding:20px}.guide-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.table-search-form,.search-field{width:100%;max-width:none;min-width:0}.row-actions{gap:9px}.pagination{align-items:flex-start;flex-direction:column}.pagination>div{max-width:100%;overflow:auto}.headline-value{text-align:left}.principles h2{font-size:34px}.install-toast{right:15px;bottom:15px}.install-toast>div small{display:none}.actions{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:380px){.topbar{padding-inline:12px}.content{padding-inline:10px}.page-head h1{font-size:30px}.panel{border-radius:15px}.welcome{padding:24px 20px}.welcome h2{font-size:31px}th,td{padding:11px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.receipt-wordmark{width:260px;max-height:72px;object-fit:contain;object-position:left center;display:block;margin-bottom:6px}.payment-manage-link{display:block;margin:7px 0 3px;font-size:12px}.muted-row{opacity:.62;background:#fafafa}.status.active{background:#e6f7ef;color:#147a52}.status.void{background:#fde8ed;color:#a72a46}.payment-dialog{width:min(680px,calc(100vw - 28px))}.payment-dialog .form-grid{display:grid}.brand-copy strong{font-size:15px;letter-spacing:-.02em}.brand-with-logo>img{width:auto;max-width:250px;height:58px;border-radius:0;object-fit:contain;box-shadow:none}
/* Toko Bangunan Rejeki Baru — building-supply operations redesign */
:root{--paper:#f3f6f8;--surface:#fff;--ink:#152536;--ink-soft:#344b60;--muted:#708395;--navy:#15344b;--deep:#102a3d;--violet:#1d6a9b;--violet-2:#2c83b7;--violet-soft:#e8f3f9;--mint:#2f9c8f;--mint-soft:#e5f5f1;--sky:#4a9bc7;--sky-soft:#e9f5fb;--coral:#d76262;--coral-soft:#fbeaea;--amber:#c99032;--amber-soft:#fff4dd;--green:#267d69;--red:#b8484f;--blue:#1d6a9b;--line:#e1e8ed;--line-strong:#cfdbe2;--shadow-xs:0 2px 8px rgba(25,50,70,.045);--shadow-sm:0 8px 24px rgba(25,50,70,.07);--shadow:0 18px 46px rgba(25,50,70,.10);--radius-xs:9px;--radius-sm:12px;--radius:16px;--radius-lg:22px}
.app-shell{background:linear-gradient(180deg,#f7f9fa 0,#f2f5f7 34%,#edf2f5 100%)}.sidebar{background:linear-gradient(180deg,#173a53,#102b40);box-shadow:10px 0 30px rgba(16,42,61,.10)}.sidebar::before{content:'';height:3px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,#d94f55 0 28%,#f2f5f7 28% 47%,#2677a7 47%)}.brand-mark,.topbar-avatar,.user-avatar{background:#fff;color:var(--deep);box-shadow:none}.brand-mark{border-radius:12px}.sidebar-nav a.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.13);box-shadow:none}.sidebar-nav a.active b{background:#fff;color:var(--blue);box-shadow:none}.sidebar-nav a b,.logout-link b{background:rgba(255,255,255,.075);color:#dcebf3}.topbar{background:rgba(247,249,250,.92);border-bottom-color:#dce5ea}.topbar-context small{color:#71889a}.quick-sale{background:var(--blue);border-color:var(--blue)}.content{max-width:1680px;margin-inline:auto}.page-head h1{font-size:38px}.page-head p{max-width:68ch}.welcome{background:linear-gradient(125deg,#1a5d86,#2679a7 66%,#2d918b);box-shadow:0 14px 32px rgba(29,106,155,.17)}.welcome::after{content:'+';font-family:Arial,sans-serif;font-weight:700;color:rgba(255,255,255,.07)}.welcome h2 em,.welcome-meta strong{color:#dff7ef}.stats article{border-color:var(--line);box-shadow:var(--shadow-xs)}.stats article::after{display:none}.stats article:hover{transform:translateY(-2px)}.stats article>i,.stats article:nth-child(2)>i,.stats article:nth-child(3)>i,.stats article:nth-child(4)>i{background:var(--violet-soft);color:var(--blue)}.stats article.warn>i{background:var(--amber-soft);color:#8c651f}.stats article.danger>i{background:var(--coral-soft);color:var(--red)}.panel{border-color:var(--line);box-shadow:var(--shadow-xs)}.panel-head{background:#fbfcfd;padding:18px 21px}.btn.primary{background:var(--blue);border-color:var(--blue);box-shadow:0 7px 18px rgba(29,106,155,.16)}.btn.primary:hover{background:#165a86;border-color:#165a86}.success-soft{background:var(--mint-soft);color:var(--green);border-color:#b9dfd5}.success-soft:hover{background:#d5eee8}.search-field:focus-within,input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(29,106,155,.10)}.search-field>button{background:var(--blue)}tbody tr:hover{background:#f7fafb}.status{letter-spacing:.025em}.status.active{color:var(--green);background:var(--mint-soft)}.status-large{font-size:11px;padding:7px 12px}.workspace-head{align-items:center}.panel-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#edf4f7;color:#536b7c;font:700 10px 'JetBrains Mono',monospace}.operations-layout{align-items:start}.transaction-head{align-items:center;margin-bottom:18px}.transaction-head h1{margin-bottom:3px}.breadcrumb-line{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--muted);font-size:11px}.breadcrumb-line a{font-weight:700;color:var(--blue)}.breadcrumb-line i{font-size:9px}.transaction-status-block{display:grid;justify-items:end;gap:8px}.transaction-status-block small{font-family:'JetBrains Mono',monospace;color:var(--muted)}.action-dock{display:flex;justify-content:space-between;gap:16px;padding:13px;margin-bottom:18px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.90);box-shadow:var(--shadow-xs)}.action-primary,.action-secondary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transaction-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.transaction-overview article{padding:17px 19px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-xs)}.transaction-overview span,.transaction-overview small{display:block}.transaction-overview span{font-size:12px;font-weight:700;color:var(--muted)}.transaction-overview strong{display:block;margin:6px 0 3px;font-size:24px;font-variant-numeric:tabular-nums}.transaction-overview article.attention{border-color:#eed7a8;background:#fffaf0}.transaction-overview article.settled{border-color:#c9e4dc;background:#f6fcfa}.transaction-layout{align-items:start}.modern-payment-card{padding:0}.modern-payment-card>.panel-head{margin:0}.payment-history{padding:8px 20px 18px}.payment-history .payment-row{padding:14px 0}.payment-row span b{display:block;margin-bottom:3px}.transaction-note{display:flex;gap:12px;padding:16px 20px;background:#f8fafb;border-top:1px solid var(--line)}.transaction-note>i{color:var(--blue);font-size:19px}.transaction-note small{font:700 9px 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--muted)}.transaction-note p{margin:4px 0 0}.empty.compact{padding:30px 12px}.dialog-icon.success{background:var(--mint-soft);color:var(--green)}.muted-row{opacity:.64}.row-actions .icon-action{background:#fff}.headline-value strong{color:var(--blue)}
@media(max-width:1180px){.action-dock{align-items:flex-start;flex-direction:column}.action-secondary{padding-top:10px;border-top:1px solid var(--line);width:100%}}
@media(max-width:700px){.transaction-status-block{justify-items:start}.transaction-overview{grid-template-columns:1fr}.action-dock,.action-primary,.action-secondary{display:grid;width:100%}.action-dock .btn{justify-content:flex-start;width:100%}.transaction-head{align-items:flex-start}.transaction-overview article{display:grid;grid-template-columns:1fr auto;align-items:center}.transaction-overview strong{grid-column:2;grid-row:1/3;margin:0}.transaction-overview small{grid-column:1}.receipt-wordmark{width:210px}}
.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:17px}.mini-stats article{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.mini-stats span{font-size:12px;font-weight:700;color:var(--muted)}.mini-stats strong{font-size:22px;font-variant-numeric:tabular-nums}.transaction-filter-head{flex-wrap:wrap}.filter-pills{display:flex;gap:5px;flex-wrap:wrap}.filter-pills a{padding:7px 11px;border-radius:9px;color:var(--muted);font-size:11px;font-weight:800}.filter-pills a:hover{background:#edf3f6;color:var(--ink)}.filter-pills a.active{background:var(--deep);color:#fff}@media(max-width:700px){.mini-stats{grid-template-columns:1fr}.transaction-filter-head{display:grid}.filter-pills{overflow:auto;flex-wrap:nowrap;width:100%}.filter-pills a{white-space:nowrap}}
.mobile-more-toggle{display:none}.filter-pills+form .search-field>button{width:36px}.pagination{justify-content:flex-end;gap:14px}.pagination-info{margin-right:auto}thead th{color:#566d7f}.status.unpaid{color:#8a5d13}.status.partial{color:#9a5817}.sidebar-nav a{border-left:3px solid transparent}.sidebar-nav a.active{border-left-color:#fff}.transaction-overview small,.payment-row small,td small{font-size:11px}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;align-items:start}.logo-settings-card{position:sticky;top:calc(var(--topbar) + 18px)}.logo-preview{margin:22px 23px 4px;padding:24px;min-height:180px;display:grid;place-items:center;gap:13px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:linear-gradient(145deg,#fbfdfe,#f1f6f8);text-align:center}.logo-preview img{width:min(100%,300px);max-height:115px;object-fit:contain}.logo-preview small{color:var(--muted)}.logo-remove-form{padding:0 23px 23px}.compact-alert{margin:0;box-shadow:none}.permanent-delete-dialog label{display:grid;gap:7px;font-size:12px;font-weight:700}.receipt-store-name{display:block;font-size:18px;line-height:1.2;margin-bottom:5px}.receipt-brand-block>div p{margin:2px 0;color:#425365;max-width:85mm;font-size:11px;line-height:1.45}
@media(max-width:1180px){.settings-layout{grid-template-columns:1fr}.logo-settings-card{position:static}}
@media(max-width:700px){.mobile-more-toggle{display:inline-flex}.action-secondary{display:none}.action-secondary.open{display:grid}.transaction-layout table,.transaction-layout thead,.transaction-layout tbody,.transaction-layout tr,.transaction-layout th,.transaction-layout td{display:block}.transaction-layout thead{display:none}.transaction-layout tbody{display:grid;gap:10px;padding:12px}.transaction-layout tbody tr{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.transaction-layout tbody td{display:flex;justify-content:space-between;gap:14px;padding:5px 0!important;border:0!important;text-align:right!important;white-space:normal}.transaction-layout tbody td:first-child{display:block;text-align:left!important;padding-bottom:8px!important;border-bottom:1px solid var(--line)!important}.transaction-layout tbody td:nth-child(2)::before{content:'Jumlah'}.transaction-layout tbody td:nth-child(3)::before{content:'Harga'}.transaction-layout tbody td:nth-child(4)::before{content:'Diskon'}.transaction-layout tbody td:nth-child(5)::before{content:'Subtotal'}.transaction-layout tbody td:not(:first-child)::before{color:var(--muted);font-size:11px;font-weight:700}.modern-payment-card .text-link{min-height:44px;display:inline-flex;align-items:center}.pagination{justify-content:center;flex-wrap:wrap}.pagination-info{width:100%;margin:0;text-align:center}}
/* 2026-10-16 release polish — retail blue/yellow, CDN icons, local resilient layout */
.marketing{background:radial-gradient(circle at 82% 8%,rgba(67,170,190,.18),transparent 28%),radial-gradient(circle at 8% 38%,rgba(66,153,132,.13),transparent 24%),linear-gradient(180deg,#f8fbfc,#eef5f6)}
.marketing-nav{background:rgba(255,255,255,.70);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:0 0 20px 20px}
.hero-ledger{border-color:rgba(197,220,226,.72);box-shadow:0 28px 75px rgba(18,70,91,.15)}
.hero-ledger::before{background:linear-gradient(90deg,#1d6a9b,#38a6b7,#2f9c8f)}
.feature-grid article{border-color:#dfeaec}.feature-grid article:hover{border-color:#b8d7dd}
.principles{background:radial-gradient(circle at 88% 22%,rgba(75,193,178,.18),transparent 28%),linear-gradient(135deg,#123149,#1b5e78);box-shadow:0 28px 65px rgba(17,55,76,.20)}
.panel,.mini-stats article,.transaction-overview article{box-shadow:0 5px 20px rgba(29,76,96,.055)}
.panel-head{border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--blue),var(--mint),transparent 78%) 1}
.icon-action.danger,.btn.danger-soft{transition:background .2s,border-color .2s,transform .2s}.icon-action.danger:hover,.btn.danger-soft:hover{background:#f8dce1;border-color:#e5a7b2;transform:translateY(-1px)}
.permanent-delete-dialog{border-top:5px solid var(--red)}.permanent-delete-dialog .dialog-icon{box-shadow:0 0 0 7px var(--coral-soft)}
.logo-preview{background:radial-gradient(circle at 50% 18%,rgba(74,155,199,.10),transparent 38%),linear-gradient(145deg,#fff,#eef6f7)}
@media(max-width:700px){.marketing-nav{border-radius:0}.panel-head{border-image:linear-gradient(90deg,var(--blue),var(--mint)) 1}.permanent-delete-dialog{width:calc(100vw - 24px)}}
/* 2026-10-17 theme, payment clarity, and offline draft status */
.payment-account-disabled{opacity:.7}.payment-account-disabled select{background:var(--paper);cursor:not-allowed}.offline-draft{position:fixed;left:50%;bottom:18px;z-index:95;transform:translateX(-50%);width:min(620px,calc(100vw - 28px));padding:11px 16px;border:1px solid #e4b3ba;border-radius:12px;background:#7f2836;color:#fff;box-shadow:var(--shadow);text-align:center;font-size:12px;font-weight:700}
body.theme-dark{--paper:#0b141d;--surface:#132231;--white:#142433;--ink:#edf5fa;--ink-soft:#c4d2dc;--muted:#91a7b6;--deep:#07111a;--navy:#0d2231;--line:#263b4b;--line-strong:#365064;--violet:#62b4df;--violet-2:#4d9fca;--violet-soft:#173448;--mint:#53c6b5;--mint-soft:#153b38;--sky-soft:#173448;--coral-soft:#48262d;--amber-soft:#47371b;--green:#6ad1b9;--red:#ff9299;--blue:#65b5df;--shadow-xs:0 2px 8px rgba(0,0,0,.18);--shadow-sm:0 8px 24px rgba(0,0,0,.22);--shadow:0 18px 46px rgba(0,0,0,.28)}
body.theme-dark.app-shell{background:radial-gradient(circle at 92% 0,rgba(60,153,194,.12),transparent 27%),linear-gradient(180deg,#0e1924,#0b141d)}body.theme-dark .topbar{background:rgba(12,24,34,.92);border-color:var(--line)}body.theme-dark .panel,body.theme-dark .mini-stats article,body.theme-dark .transaction-overview article,body.theme-dark .headline-value,body.theme-dark .product-card,body.theme-dark .pagination,body.theme-dark .void-dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}body.theme-dark .panel-head,body.theme-dark .checkout-fields,body.theme-dark .cart-head,body.theme-dark .search,body.theme-dark .pagination,body.theme-dark th,body.theme-dark .transaction-note{background:#10202e;color:var(--ink);border-color:var(--line)}body.theme-dark input,body.theme-dark select,body.theme-dark textarea,body.theme-dark .search-field,body.theme-dark .topbar-btn,body.theme-dark .btn.ghost,body.theme-dark .mobile-menu{background:#172938;color:var(--ink);border-color:var(--line-strong)}body.theme-dark input:focus,body.theme-dark select:focus,body.theme-dark textarea:focus,body.theme-dark .search-field:focus-within{background:#192e3f}body.theme-dark tbody tr:hover,body.theme-dark .product-card:hover{background:#182b3b}body.theme-dark code{background:#193448;color:#8bd0f2}body.theme-dark .muted-row{background:#101d29}body.theme-dark .payment-account-disabled select{background:#0f1b26;color:#718696}body.theme-dark .logo-preview{background:#10202e}body.theme-dark .row-actions .icon-action{background:transparent}body.theme-dark p{color:var(--ink-soft)}
@media(max-width:700px){.offline-draft{bottom:10px}.topbar-actions [data-theme-toggle]{display:inline-grid}}
/* Operate-mode workspace: quiet hierarchy, generous controls, one retail accent. */
.app-shell{--muted:#526979;background:var(--paper)}body.theme-dark.app-shell{--muted:#a4b7c6;background:var(--paper)}
.app-shell .panel-head{border-image:none;border-top:0;background:var(--surface)}
.app-shell .page-head h1{font-size:34px;letter-spacing:-.035em;margin-bottom:10px}.app-shell .page-head p{font-size:14px}
.app-shell .btn,.app-shell .product-card{box-shadow:none}.app-shell .btn:hover,.app-shell .product-card:hover{transform:none}
.app-shell .sidebar{background:#15354b}.app-shell .sidebar::before{display:none}.app-shell .side-label{color:#b0c4d2}.app-shell .sidebar-search input::placeholder{color:#b0c4d2}
.app-shell :focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-shell ::placeholder{color:var(--muted);opacity:1}
.app-shell .topbar-btn,.app-shell .icon-action{min-height:44px}.app-shell input,.app-shell select,.app-shell textarea{min-height:44px}
body.theme-dark .btn.primary{background:#2777a5;color:#fff;border-color:#2777a5}body.theme-dark .btn.primary:hover{background:#22658c}
#pos-form .pos-grid{grid-template-columns:minmax(0,1fr) minmax(400px,1.05fr);gap:24px}#pos-form .catalog{min-height:360px;position:sticky;top:96px}#pos-form .cart{position:static}
#pos-form .panel-head h2,#pos-form .cart-head h2{font-size:20px;margin:5px 0 0}#pos-form .search,#pos-form .cart-head,#pos-form .checkout-fields{background:var(--surface)}
#pos-form .search{padding:14px 20px}#pos-form .search input{font-size:15px}#pos-form .cart-head{padding:22px 24px}#pos-form .checkout-fields{padding:24px;gap:18px;border-top:1px solid var(--line)}
.checkout-heading h2{font-size:18px;margin:5px 0 0}.checkout-fields label{font-size:13px}.checkout-fields .field-help{font-size:12px;line-height:1.6;font-weight:400;margin:0}
#pos-form .cart-summary{padding:24px;background:var(--surface);gap:10px;font-size:13px}#pos-form .cart-summary .total{font-size:18px;padding-top:18px}#pos-form .cart-summary .total strong{font-size:28px;font-variant-numeric:tabular-nums}
#pos-form .cart-empty{padding:28px 24px;text-align:left;font-size:14px}#pos-form .catalog-empty{padding:44px 24px}#pos-form .catalog-empty p{font-size:14px;max-width:30ch;margin-inline:auto}#pos-form .cart-line-head button{width:44px;height:44px;flex-shrink:0}
.payment-account-disabled{opacity:1}.payment-setup{font-size:13px;min-height:44px;display:flex;align-items:center}.payment-hint{color:var(--muted)}
.payment-readiness{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.payment-readiness article{padding:22px 24px;border:1px solid var(--line);background:var(--surface);border-radius:16px}.payment-readiness span{font-size:13px;color:var(--muted)}.payment-readiness strong{display:block;font-size:23px;margin:8px 0}.payment-readiness p{font-size:13px;margin:0;color:var(--muted)}.count-muted{color:var(--muted);font-size:16px;font-weight:400}.accounts-layout .form-grid{grid-template-columns:1fr}.accounts-layout .panel-head h2{font-size:20px}.accounts-layout .form-panel{scroll-margin-top:96px}.accounts-layout td{font-size:13px}.accounts-layout td small{overflow-wrap:anywhere}
@media(max-width:1180px){#pos-form .pos-grid{grid-template-columns:minmax(0,1fr)}#pos-form .catalog{position:static;min-height:0}#pos-form .catalog-empty{padding:24px}.accounts-layout{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:700px){.payment-readiness{grid-template-columns:1fr;gap:12px}.payment-readiness article{padding:18px}#pos-form .checkout-fields,#pos-form .cart-summary,#pos-form .cart-head{padding:20px}#pos-form .product-card{gap:12px}#pos-form .product-card strong{font-size:15px}#pos-form .product-card>b{white-space:nowrap;font-size:13px}.accounts-layout table,.accounts-layout tbody,.accounts-layout tr,.accounts-layout td{display:block}.accounts-layout thead{display:none}.accounts-layout tr{padding:16px;border-bottom:1px solid var(--line)}.accounts-layout td{padding:5px 0;border:0}.accounts-layout td.num{text-align:left}.accounts-layout .row-actions{justify-content:flex-start}.accounts-layout .table-wrap{overflow:visible}.app-shell .page-head h1{font-size:30px}.app-shell input,.app-shell select,.app-shell textarea{font-size:16px}}
body.theme-dark .status.paid{color:#89dbc8;background:#153b38}body.theme-dark th{color:#a4b7c6}body.theme-dark .payment-account-disabled select{color:#a4b7c6}.app-shell code{background:var(--violet-soft);color:var(--violet)}.app-shell .product-card:hover{background:var(--violet-soft);border-color:var(--blue)}
/* 2026-10-17 Taste UI — authored gradients, depth, and restrained motion */
:root{
 --taste-blue:#1768d5;--taste-indigo:#5746d9;--taste-cyan:#20a6c9;
 --taste-gradient:linear-gradient(135deg,#1768d5 0%,#3e62dc 48%,#6846d8 100%);
 --taste-gradient-soft:linear-gradient(135deg,rgba(23,104,213,.10),rgba(32,166,201,.07) 48%,rgba(104,70,216,.09));
 --taste-glow:0 18px 46px rgba(43,83,190,.22);--taste-ease:cubic-bezier(.22,1,.36,1)
}
.app-shell{background:radial-gradient(circle at 92% 4%,rgba(93,73,216,.12),transparent 25%),radial-gradient(circle at 52% 105%,rgba(32,166,201,.10),transparent 30%),linear-gradient(145deg,#f7f9ff 0%,#f1f6fb 52%,#f6f4ff 100%)}
.app-shell::before{content:'';position:fixed;z-index:-1;inset:var(--topbar) 0 auto var(--sidebar);height:220px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.34),transparent);transition:left .34s var(--taste-ease)}
.sidebar{background:radial-gradient(circle at 20% 2%,rgba(76,185,224,.22),transparent 26%),radial-gradient(circle at 90% 96%,rgba(110,73,218,.28),transparent 32%),linear-gradient(165deg,#123e63 0%,#153653 48%,#192844 100%);box-shadow:16px 0 50px rgba(25,50,96,.16)}
.sidebar::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.045),transparent 24%,transparent 76%,rgba(102,78,220,.06))}
.sidebar-brand-row,.sidebar-search,.sidebar-nav,.side-bottom,.side-label{position:relative;z-index:1}
.brand-mark{background:linear-gradient(145deg,#fff,#e7f6ff);box-shadow:0 10px 30px rgba(4,21,47,.24),inset 0 0 0 1px rgba(255,255,255,.75)}
.sidebar-search{background:rgba(255,255,255,.08);border-color:rgba(203,230,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.sidebar-nav a{transition:transform .2s var(--taste-ease),background .2s,border-color .2s,color .2s}
.sidebar-nav a:hover{transform:translateX(4px);background:rgba(255,255,255,.085)}
.sidebar-nav a.active{background:linear-gradient(135deg,rgba(42,139,220,.42),rgba(101,69,217,.38));border:1px solid rgba(206,225,255,.20);border-left-color:#9be8ff;box-shadow:0 12px 28px rgba(3,20,47,.20),inset 0 1px 0 rgba(255,255,255,.12)}
.sidebar-nav a.active b{background:linear-gradient(145deg,#eefaff,#fff);color:#285ed0;box-shadow:0 7px 20px rgba(4,25,59,.22)}
.topbar{background:rgba(248,250,255,.76);border-bottom-color:rgba(196,208,229,.64);box-shadow:0 8px 32px rgba(49,71,122,.06)}
.topbar-btn{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);transition:transform .2s var(--taste-ease),box-shadow .2s,border-color .2s,color .2s}
.topbar-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,70,122,.12)}
.quick-sale,.btn.primary{background:var(--taste-gradient);border-color:transparent;color:#fff;box-shadow:0 10px 25px rgba(48,83,196,.23);background-size:140% 140%;background-position:0 50%}
.quick-sale:hover,.btn.primary:hover{background-position:100% 50%;box-shadow:var(--taste-glow);transform:translateY(-2px);filter:saturate(1.05)}
.topbar-avatar,.user-avatar{background:linear-gradient(145deg,#fff,#dff5ff);color:#275bc8;box-shadow:0 8px 22px rgba(34,70,145,.14)}
.content{animation:tastePageIn .46s var(--taste-ease) both}.page-head{position:relative}.page-head .eyebrow{color:#3570ce}.page-head h1{background:linear-gradient(110deg,#173453 0%,#264e89 48%,#513bba 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.welcome{background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.20),transparent 22%),radial-gradient(circle at 92% 100%,rgba(38,218,200,.28),transparent 31%),linear-gradient(125deg,#1768d5 0%,#385fda 48%,#6746d7 100%);box-shadow:0 22px 52px rgba(57,76,191,.24);border:1px solid rgba(255,255,255,.18)}
.welcome::before{content:'';position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-72px;top:-108px;box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.025)}
.welcome::after{content:'✦';right:28%;top:12%;font-size:66px;animation:tasteFloat 5.5s ease-in-out infinite}
.panel,.stats article,.mini-stats article,.transaction-overview article,.payment-readiness article{border-color:rgba(202,214,233,.76);box-shadow:0 10px 30px rgba(43,67,119,.07);transition:transform .22s var(--taste-ease),box-shadow .22s,border-color .22s}
.panel{background:rgba(255,255,255,.90);backdrop-filter:blur(16px)}
.stats article:hover,.mini-stats article:hover,.payment-readiness article:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(43,67,119,.12);border-color:rgba(92,102,210,.24)}
.stats article{isolation:isolate}.stats article::after{display:block;width:100px;height:100px;right:-45px;top:-48px;background:linear-gradient(145deg,rgba(30,119,220,.18),rgba(101,69,217,.12));z-index:-1}.stats article:nth-child(2)::after{background:linear-gradient(145deg,rgba(31,169,170,.18),rgba(30,119,220,.10))}.stats article:nth-child(3)::after{background:linear-gradient(145deg,rgba(242,172,47,.19),rgba(226,101,85,.08))}.stats article:nth-child(4)::after{background:linear-gradient(145deg,rgba(221,84,103,.16),rgba(106,70,216,.08))}
.stats article>i,.stats article:nth-child(2)>i{background:linear-gradient(145deg,#e5f3ff,#eeeaff);color:#3963d2;box-shadow:inset 0 0 0 1px rgba(71,104,203,.08)}
.panel-head{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,249,255,.78));position:relative}.panel-head::after{content:'';position:absolute;left:20px;right:20px;bottom:-1px;height:1px;background:linear-gradient(90deg,rgba(23,104,213,.55),rgba(32,166,201,.30),rgba(104,70,216,.48),transparent)}
.cart-head{background:var(--taste-gradient-soft)!important}.checkout-fields{background:linear-gradient(155deg,rgba(250,252,255,.98),rgba(245,249,255,.96) 55%,rgba(249,247,255,.96))!important}.cart-summary{background:linear-gradient(180deg,#fff,#f8f9ff)!important}.cart-summary .total strong,.headline-value strong{background:var(--taste-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.badge{background:var(--taste-gradient);box-shadow:0 7px 18px rgba(53,82,198,.22)}
.search{background:linear-gradient(90deg,rgba(244,249,255,.96),rgba(249,247,255,.92))!important}.product-card:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,#f5faff,#f7f3ff)!important;border-color:rgba(86,76,207,.32)!important;box-shadow:0 13px 30px rgba(46,69,124,.10)!important}
.payment-readiness article:first-child{background:linear-gradient(145deg,#fff 30%,rgba(222,243,255,.76))}.payment-readiness article:last-child{background:linear-gradient(145deg,#fff 30%,rgba(239,232,255,.72))}.payment-readiness article strong{color:#285cae}
input,select,textarea{background:rgba(255,255,255,.90);transition:border-color .2s,box-shadow .2s,background .2s,transform .2s var(--taste-ease)}input:hover,select:hover,textarea:hover{background:#fff;border-color:#afbdd6}input:focus,select:focus,textarea:focus{border-color:#4d62d7;box-shadow:0 0 0 4px rgba(65,92,210,.12),0 8px 20px rgba(49,73,140,.07)}
.status.paid,.status.active{border-color:rgba(41,142,119,.26)}.status.partial,.status.unpaid{border-color:rgba(180,124,26,.28)}.status.void{border-color:rgba(190,69,84,.25)}
tbody tr{transition:background .18s,transform .18s}tbody tr:hover{background:linear-gradient(90deg,rgba(232,245,255,.68),rgba(244,240,255,.52))}
.btn{transition:transform .2s var(--taste-ease),box-shadow .2s,background-position .35s var(--taste-ease),border-color .2s,filter .2s}.btn.ghost:hover{border-color:rgba(67,91,196,.35);color:#355ac4;background:#f7f8ff}
@keyframes tastePageIn{from{opacity:0;transform:translateY(8px) scale(.997)}to{opacity:1;transform:none}}@keyframes tasteFloat{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-7px) rotate(14deg)}}
body.theme-dark.app-shell{background:radial-gradient(circle at 91% 2%,rgba(93,73,216,.18),transparent 26%),radial-gradient(circle at 45% 110%,rgba(32,166,201,.12),transparent 30%),linear-gradient(145deg,#0b1522,#0d1827 55%,#12152a)}
body.theme-dark .topbar{background:rgba(11,22,35,.78);box-shadow:0 10px 34px rgba(0,0,0,.20)}body.theme-dark .page-head h1{background:linear-gradient(110deg,#eef7ff,#a9dfff 52%,#c7b9ff);-webkit-background-clip:text;background-clip:text;color:transparent}body.theme-dark .panel,body.theme-dark .stats article,body.theme-dark .mini-stats article,body.theme-dark .transaction-overview article,body.theme-dark .payment-readiness article{background:rgba(18,35,51,.92);border-color:rgba(73,99,124,.58);box-shadow:0 14px 38px rgba(0,0,0,.20)}body.theme-dark .panel-head{background:linear-gradient(180deg,rgba(22,42,59,.96),rgba(15,31,46,.92))}body.theme-dark .checkout-fields{background:linear-gradient(150deg,#112333,#142334 55%,#181f38)!important}body.theme-dark .cart-summary{background:linear-gradient(180deg,#142536,#111e30)!important}body.theme-dark .cart-head,body.theme-dark .search{background:linear-gradient(135deg,rgba(31,66,91,.92),rgba(35,38,76,.88))!important}body.theme-dark .payment-readiness article:first-child{background:linear-gradient(145deg,#142536,rgba(21,57,76,.94))}body.theme-dark .payment-readiness article:last-child{background:linear-gradient(145deg,#142536,rgba(42,34,77,.94))}body.theme-dark .payment-readiness article strong{color:#9edcff}body.theme-dark tbody tr:hover{background:linear-gradient(90deg,rgba(25,57,77,.75),rgba(42,34,71,.58))}body.theme-dark .btn.ghost:hover{background:#1b2c44;color:#b9dfff}
@media(max-width:900px){.app-shell::before{left:0}.sidebar{box-shadow:20px 0 55px rgba(4,13,31,.34)}}
@media(max-width:700px){.welcome{border-radius:20px}.panel,.stats article,.payment-readiness article{border-radius:16px}.content{animation-duration:.36s}.sidebar-nav a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.welcome::after{animation:none!important}.content{animation:none!important}.quick-sale:hover,.btn.primary:hover,.stats article:hover,.mini-stats article:hover,.payment-readiness article:hover{transform:none!important}}

/* Progressive lists and readable payment details */
.payment-destination-detail{display:block;padding:12px 14px;margin-top:6px;border:1px solid var(--line-strong);border-left:3px solid var(--taste-blue);border-radius:10px;background:var(--violet-soft);color:var(--ink);font-size:14px;font-weight:600;line-height:1.65;overflow-wrap:anywhere}
.list-loading{opacity:.65;transition:opacity .18s;pointer-events:none}.panel:has(.pagination){scroll-margin-top:95px}.list-arrived{animation:tastePageIn .24s var(--taste-ease)}
.list-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:150;display:flex;gap:12px;align-items:center;flex-wrap:wrap;max-width:calc(100vw - 28px);width:max-content;padding:14px 20px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.pagination a{min-width:44px;min-height:44px;display:inline-flex;justify-content:center;align-items:center;transition:background .18s,transform .18s}.pagination a:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.list-arrived{animation:none}.pagination a:hover{transform:none}html{scroll-behavior:auto!important}}
/* Compact A4 receipt: preserve room for five or more services. */
.receipt-a4{padding:10mm 14mm;min-height:297mm;height:auto}
.receipt-a4 header{padding-bottom:4mm;gap:5mm;align-items:flex-start}
.receipt-brand-block{gap:3mm;flex:1;min-width:0}
.receipt-wordmark{width:23mm;height:23mm;max-height:23mm;object-fit:contain;flex:0 0 23mm;margin:0}
.receipt-title{flex:0 0 62mm;overflow-wrap:anywhere}
.receipt-title h1{font-size:15px;margin:4px 0}
.receipt-title p{font-size:10px;margin:3px 0}
.receipt-store-name{font-size:16px}
.receipt-meta{gap:10mm;padding:5mm 0;font-size:11px;line-height:1.5}
.receipt-table{margin-top:1mm;width:100%;font-size:11px}
.receipt-table th,.receipt-table td{padding:2mm 1.5mm;white-space:normal}
.receipt-table td:nth-child(2){overflow-wrap:anywhere}
.receipt-table small{font-size:9px}
.receipt-bottom{gap:8mm;margin-top:5mm;grid-template-columns:1fr 68mm;font-size:11px}
.receipt-note p{min-height:8mm}
.receipt-totals>div{padding:2mm 0}
.receipt-totals .grand{font-size:16px}
.receipt-a4 .signature{margin-top:6mm}
.receipt-a4 footer{margin-top:8mm;padding-top:3mm}
@media print{.receipt-a4{height:auto;min-height:0;width:210mm;padding:10mm 14mm}.receipt-table thead{display:table-header-group}.receipt-table tr,.receipt-bottom{break-inside:avoid}.receipt-a4 footer{break-inside:avoid}}

/* Readable item identifiers in cashier catalog, cart and item master. */
.product-card code,.cart-line code,.cart-row code,.master-item-code{font-size:15px!important;font-weight:750;line-height:1.55;letter-spacing:.035em;color:var(--ink);overflow-wrap:anywhere}
.master-item-code{display:inline-block;padding:4px 7px;background:var(--violet-soft);border-radius:6px}
input[name="code"]{font-size:16px;font-weight:650}
/* Rejeki Baru brand: strong blue structure, yellow action accent, red safety cue. */
:root{--brand-blue:#07579b;--brand-blue-deep:#073866;--brand-yellow:#f4c400;--brand-red:#d9222a;--violet:var(--brand-blue);--violet-2:#1678be;--blue:var(--brand-blue);--amber:var(--brand-yellow);--red:#b71922;--deep:var(--brand-blue-deep)}
.sidebar{background:linear-gradient(180deg,#073d70,#052d53)}.sidebar::before{background:linear-gradient(90deg,var(--brand-blue) 0 55%,var(--brand-yellow) 55% 82%,var(--brand-red) 82%)}
.sidebar-nav a.active{border-left-color:var(--brand-yellow);background:rgba(255,255,255,.13)}.sidebar-nav a.active b{background:var(--brand-yellow);color:#1d2730}.quick-sale,.btn.primary,.search-field>button{background:var(--brand-blue);border-color:var(--brand-blue)}.btn.primary:hover{background:#06477f;border-color:#06477f}.welcome{background:radial-gradient(circle at 90% 5%,rgba(244,196,0,.32),transparent 25%),linear-gradient(125deg,#07579b,#0b70b4 67%,#073866)}
.panel-head{box-shadow:inset 0 3px 0 rgba(244,196,0,.75)}.status.received,.status.sale{color:#075d46;background:#e3f5ee}.status.draft,.status.purchase{color:#705800;background:#fff4bf}.status.cancelled,.status.expense{color:#9c1820;background:#fde8ea}.text-success{color:#08735a!important}.purchase-lines{display:grid;gap:10px}.purchase-line{display:grid;grid-template-columns:minmax(170px,2fr) .65fr 1fr auto;gap:8px;align-items:center}.report-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:20px}.danger-zone{padding:23px;border-color:#ecc3c6}.danger-zone form{display:grid;gap:12px}.danger-zone label{display:grid;gap:7px;font-size:12px;font-weight:700}
@media(max-width:700px){.purchase-line{grid-template-columns:1fr 1fr}.purchase-line select{grid-column:1/-1}.report-filters{grid-template-columns:1fr 1fr}.report-filters .btn{grid-column:1/-1}}

/* Rejeki Baru retail identity — blue/navy foundation, yellow action accent. */
:root{--navy:#0b2d52;--deep:#082541;--violet:#15559A;--violet-2:#15559A;--violet-soft:#e8f1fb;--blue:#15559A;--sky:#4b8dcc;--mint:#FDC300;--mint-soft:#fff5bf;--amber:#FDC300;--amber-soft:#fff5bf;--green:#16765d;--coral:#e35a63;--coral-soft:#ffe7e9;--red:#c93443;--ink:#132c47;--ink-soft:#36526e;--paper:#f4f7fb;--line:#dce5ef;--line-strong:#c6d5e5}
body::selection{background:#FDC300;color:#082541}.eyebrow,.text-link{color:#15559A}h1 em,h2 em{color:#15559A}:focus-visible{outline-color:rgba(253,195,0,.72)}.btn.primary{color:#132c47;background:#FDC300;box-shadow:0 11px 25px rgba(189,144,0,.25)}.btn.primary:hover{background:#ffd324;box-shadow:0 16px 34px rgba(189,144,0,.31)}.quick-sale{background:#FDC300;color:#132c47;border-color:#FDC300}.quick-sale:hover{color:#132c47}.sidebar{background:linear-gradient(180deg,#082541,#0b315a)}.sidebar-nav a.active{background:#15559A;color:#fff}.sidebar-nav a.active b,.brand-mark{background:#FDC300;color:#132c47}.welcome,.principles,.auth-context{background:radial-gradient(circle at 20% 20%,rgba(253,195,0,.17),transparent 28%),linear-gradient(145deg,#082541,#15559A)}input:focus,select:focus,textarea:focus{border-color:#15559A;box-shadow:0 0 0 4px rgba(21,85,154,.13)}.marketing{background:radial-gradient(circle at 78% 10%,#e4effb 0,transparent 31%),radial-gradient(circle at 10% 36%,#fff3b3 0,transparent 25%),#f8fafc}.hero-ledger::before{background:linear-gradient(90deg,#15559A,#4b8dcc,#FDC300,#e35a63)}.purchase-lines{display:grid;gap:10px}.purchase-line{display:grid;grid-template-columns:minmax(180px,2fr) minmax(80px,.7fr) minmax(110px,1fr) auto;gap:8px;align-items:center}.status.received,.status.purchase{background:#e5f5ed;color:#146044}.status.void{background:#ffe7e9;color:#9b2937}.status.sale{background:#e8f1fb;color:#15559A}.status.expense{background:#fff5bf;color:#6c5100}@media(max-width:700px){.purchase-line{grid-template-columns:1fr 1fr}.purchase-line select{grid-column:1/-1}}

/* Product authorship credit */
.design-credit{margin:28px auto 4px;padding:14px 18px;text-align:center;color:var(--ink-soft);font-size:12px;font-weight:650;letter-spacing:.025em}
.design-credit a{color:#15559A;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(21,85,154,.28)}
.design-credit a:hover{color:#0b2d52;border-bottom-color:#FDC300}
.auth-design-credit{display:block;margin:9px 0 0;padding:9px 0 0;text-align:left;color:#dbe8f5;border-top:1px solid rgba(255,255,255,.22)}
.offline-page>.design-credit{margin-top:18px}
.marketing>footer .design-credit{margin:0;padding:0;text-align:inherit}
.receipt-a4 footer a{color:inherit;text-decoration:none}
body.theme-dark .design-credit{color:#9db1c5}body.theme-dark .design-credit a{color:#8bc4ff}
@media(max-width:700px){.auth-design-credit{margin-top:8px;padding-top:8px}.design-credit{font-size:11px}.marketing>footer{gap:9px;flex-direction:column;align-items:flex-start}}
@media print{.auth-design-credit{display:none}}
.auth-context .auth-design-credit{color:#dbe8f5}
.auth-context .auth-design-credit a{color:#FDC300;border-bottom-color:rgba(253,195,0,.55)}
.auth-context .auth-design-credit a:hover{color:#fff;border-bottom-color:#fff}
