:root{color-scheme:light;accent-color:var(--primary);--primary-hue:285deg;--secondary-offset:-30deg;--tertiary-offset:30deg;--complementary-offset:180deg;--success-offset:-120deg;--warning-offset:60deg;--danger-offset:180deg;--secondary-hue:calc(var(--primary-hue) + var(--secondary-offset));--tertiary-hue:calc(var(--primary-hue) + var(--tertiary-offset));--complementary-hue:calc(var(--primary-hue) + var(--complementary-offset));--success-hue:calc(var(--primary-hue) + var(--success-offset));--warning-hue:calc(var(--primary-hue) + var(--warning-offset));--danger-hue:calc(var(--primary-hue) + var(--danger-offset));--primary:oklch(.58 .20 var(--primary-hue));--primary-hover:oklch(.51 .18 var(--primary-hue));--primary-pressed:oklch(.45 .15 var(--primary-hue));--primary-ring:oklch(.72 .12 var(--primary-hue)/.42);--primary-soft:oklch(.96 .035 var(--primary-hue));--primary-outline:oklch(.82 .075 var(--primary-hue));--secondary:oklch(.58 .15 var(--secondary-hue));--tertiary:oklch(.62 .14 var(--tertiary-hue));--success:oklch(.60 .14 var(--success-hue));--warning:oklch(.72 .14 var(--warning-hue));--danger:oklch(.56 .16 var(--danger-hue));--ink:oklch(.22 .025 var(--primary-hue));--navy:oklch(.25 .055 var(--primary-hue));--navy-raised:oklch(.31 .065 var(--primary-hue));--muted:oklch(.48 .035 var(--primary-hue));--background:oklch(.965 .012 var(--primary-hue));--surface:oklch(.995 .004 var(--primary-hue));--surface-secondary:oklch(.975 .012 var(--primary-hue));--line:oklch(.86 .025 var(--primary-hue));--line-strong:oklch(.79 .04 var(--primary-hue));--grid-line:oklch(.885 .025 var(--primary-hue));--shadow-color:oklch(.30 .04 var(--primary-hue)/.10);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--background)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--background);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:30px 30px;background-attachment:fixed;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary-hover)}a:hover{color:var(--primary-pressed)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:0}textarea{min-height:82px;resize:vertical}label{display:grid;gap:6px;font-size:12px;font-weight:700}small,.helper{color:var(--muted);font-size:12px}.topbar{width:min(1240px,calc(100% - 32px));min-height:66px;margin:12px auto 0;padding:8px 14px 8px 12px;display:flex;align-items:center;gap:22px;background:var(--navy);border:1px solid var(--navy-raised);border-radius:14px;box-shadow:0 4px 0 var(--shadow-color)}.brand{display:flex;align-items:center;gap:9px;color:var(--surface);text-decoration:none;font-size:18px;font-weight:850;letter-spacing:-.5px;white-space:nowrap}.brand:hover{color:var(--surface)}.brand>span:last-child span{color:oklch(.78 .12 var(--primary-hue))}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font-weight:900}.primary-nav{display:flex;align-items:center;gap:3px}.nav-item{padding:9px 11px;border:0;border-radius:8px;background:transparent;color:oklch(.91 .015 var(--primary-hue));font-size:12px;font-weight:650;white-space:nowrap}.nav-item:hover,.nav-item.active{background:oklch(.39 .055 var(--primary-hue));color:var(--surface)}.nav-item.active{box-shadow:inset 0 -2px 0 oklch(.78 .12 var(--primary-hue))}.account{margin-left:auto;display:flex;align-items:center;gap:13px;color:oklch(.91 .015 var(--primary-hue));font-size:12px;white-space:nowrap}.link-button{border:0;background:none;color:oklch(.88 .10 var(--primary-hue));font-weight:700}.shell{width:min(1120px,calc(100% - 40px));margin:30px auto 68px}.welcome{min-height:190px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid var(--line-strong);border-radius:18px;background:radial-gradient(ellipse at 85% 4%,oklch(.90 .075 calc(var(--primary-hue) + 55deg)/.82),transparent 39%),radial-gradient(ellipse at 13% 110%,oklch(.90 .07 calc(var(--primary-hue) - 45deg)/.72),transparent 42%),linear-gradient(125deg,var(--surface),oklch(.985 .02 var(--primary-hue)));box-shadow:0 4px 0 var(--shadow-color);overflow:hidden}.welcome>div:first-child{max-width:590px}.welcome h1{margin:0;font-size:clamp(27px,4vw,41px);line-height:1.1;letter-spacing:-1.6px}.welcome p:not(.eyebrow){margin:11px 0 0;color:var(--muted);font-size:14px}.eyebrow{margin:0 0 7px;color:var(--primary-hover);font-size:10px;font-weight:800;letter-spacing:.14em}.welcome-actions,.heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.button{min-height:40px;padding:9px 14px;display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap;box-shadow:0 3px 0 var(--shadow-color);transition:transform .15s,border-color .15s,background .15s}.button:hover{transform:translateY(-1px);border-color:var(--primary-outline);color:var(--primary-hover)}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-hover);color:#fff}.button.small{min-height:32px;padding:6px 10px;font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:31px 2px 18px}.page-heading h2{margin:0;font-size:27px;line-height:1.15;letter-spacing:-.8px}.page-heading>div:first-child>p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card,.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 0 var(--shadow-color)}.stat-card{position:relative;padding:16px 17px;overflow:hidden}.stat-card:after{position:absolute;content:"";width:85px;height:85px;right:-25px;top:-32px;border-radius:50%;background:radial-gradient(circle,oklch(.93 .055 var(--primary-hue)/.95),transparent 70%)}.stat-label{position:relative;z-index:1;color:var(--muted);font-size:11px;font-weight:700}.stat-value{position:relative;z-index:1;margin-top:8px;font-size:24px;font-weight:800;letter-spacing:-.8px}.stat-note{margin-top:2px;color:var(--muted);font-size:10px}.dashboard-grid,.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.panel{padding:17px 18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-heading h3{margin:0;font-size:15px;letter-spacing:-.2px}.panel-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{min-height:66px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .15s,transform .15s}.quick-action:hover{border-color:var(--primary-outline);transform:translateY(-1px)}.quick-action>span:nth-child(2){display:grid;gap:2px;flex:1}.quick-action strong{font-size:12px}.quick-action small{font-size:10px}.quick-action>b{color:var(--muted)}.quick-icon,.signin-icon{width:33px;height:33px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--primary-soft);color:var(--primary-hover);font-weight:850}.text-action{border:0;background:none;color:var(--primary-hover);font-size:11px;font-weight:750}.compact-list,.transaction-list,.inventory-list,.expense-list,.contacts-list{display:grid;gap:8px}.list-row,.transaction-row,.inventory-row,.expense-row,.contact-row{min-width:0;padding:11px 12px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.list-row-main,.transaction-main,.inventory-main,.expense-main,.contact-main{min-width:0;flex:1}.list-row strong,.transaction-main strong,.inventory-main strong,.expense-main strong,.contact-main strong{display:block;font-size:12px}.list-row small,.transaction-main small,.inventory-main small,.expense-main small,.contact-main small{display:block;margin-top:2px;font-size:10px}.row-value{font-size:13px;font-weight:800;white-space:nowrap}.empty-state{padding:28px 12px;text-align:center;color:var(--muted);font-size:12px}.toolbar{margin-bottom:14px;display:flex;align-items:center;gap:12px}.search{max-width:430px;position:relative;display:flex;align-items:center;flex:1}.search>span{position:absolute;left:12px;color:var(--muted);font-size:18px}.search input{padding-left:34px}.count{margin-left:auto;color:var(--muted);font-size:11px}.inventory-list{grid-template-columns:1fr 1fr}.inventory-row{align-items:flex-start}.item-thumb{width:48px;height:48px;flex:none;object-fit:cover;border-radius:9px;background:var(--primary-soft)}.stock-badge,.type-badge{padding:4px 7px;border-radius:6px;background:var(--primary-soft);color:var(--primary-hover);font-size:9px;font-weight:800;white-space:nowrap}.type-badge.bought{background:oklch(.96 .025 var(--success-hue));color:oklch(.42 .11 var(--success-hue))}.type-badge.made{background:oklch(.96 .025 var(--tertiary-hue));color:oklch(.42 .11 var(--tertiary-hue))}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.mini-button{min-height:29px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:10px;font-weight:700}.mini-button:hover{border-color:var(--primary-outline);color:var(--primary-hover)}.mini-button.danger{color:var(--danger)}.transaction-row{align-items:flex-start}.transaction-summary{min-width:68px;text-align:right}.transaction-summary strong{display:block;font-size:13px}.transaction-summary small{font-size:10px}.balance-grid{margin:0}.contacts-panel{margin-top:14px}.contact-row .contact-kind{width:76px;color:var(--muted);font-size:10px;text-transform:capitalize}.report-panel{margin-bottom:14px}.report-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.report-toolbar label{max-width:190px}.report-toolbar input{min-height:38px}.report-stats{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.report-kpi{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-secondary)}.report-kpi span{display:block;color:var(--muted);font-size:10px;font-weight:700}.report-kpi strong{display:block;margin-top:5px;font-size:18px}.report-kpi.net{background:radial-gradient(ellipse at top right,oklch(.92 .06 calc(var(--primary-hue) + 45deg)),transparent 65%),var(--primary-soft)}.helper{margin:13px 0 0;line-height:1.55}.expense-row{justify-content:space-between}.notice{margin:13px 0;padding:12px 14px;border:1px solid var(--primary-outline);border-radius:10px;background:var(--primary-soft);color:var(--ink);font-size:12px}.notice.error{border-color:oklch(.78 .12 var(--danger-hue));background:oklch(.97 .035 var(--danger-hue));color:oklch(.35 .11 var(--danger-hue))}.signin{margin-top:22px;padding:22px;display:flex;align-items:center;gap:14px}.signin h2{margin:0;font-size:17px}.signin p{margin:5px 0 0;color:var(--muted);font-size:12px}.signin .button{margin-left:auto}.signin-icon{width:43px;height:43px;font-size:20px}footer{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:18px 0 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}footer nav{display:flex;gap:16px}footer a{color:var(--muted);text-decoration:none}.modal{width:min(700px,calc(100% - 24px));max-height:min(90vh,900px);padding:0;border:1px solid var(--line-strong);border-radius:15px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px oklch(.15 .04 var(--primary-hue)/.25)}.modal::backdrop{background:oklch(.18 .03 var(--primary-hue)/.55);backdrop-filter:blur(3px)}.modal-head{position:sticky;top:0;z-index:3;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--surface)}.modal-head h2{margin:0;font-size:20px;letter-spacing:-.5px}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:20px}.modal-body{padding:18px 20px 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .full{grid-column:1/-1}.form-section{margin:16px 0 10px;padding-top:13px;border-top:1px solid var(--line);font-size:12px;font-weight:800}.form-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.inline-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px 95px 32px;gap:7px;align-items:end;margin:8px 0}.inline-row label{font-size:10px}.inline-row input,.inline-row select{min-height:36px;padding:6px 8px;font-size:11px}.line-total{padding:9px 3px;text-align:right;font-size:11px;font-weight:750}.remove-line{height:34px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--danger)}.helper-box{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-secondary);font-size:11px;color:var(--muted)}.photo-strip{display:flex;gap:7px;flex-wrap:wrap}.photo-chip{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-secondary);font-size:10px}.photo-chip button{margin-left:6px;border:0;background:none;color:var(--danger)}.bill-shell{width:min(780px,calc(100% - 32px));margin:38px auto}.bill-card{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 0 var(--shadow-color)}.bill-card h1{margin:0;font-size:26px}.bill-meta{display:flex;justify-content:space-between;gap:12px;margin:12px 0 20px;color:var(--muted);font-size:12px}.bill-line{padding:12px 0;display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid var(--line);font-size:12px}.bill-total{margin-top:13px;display:grid;gap:7px}.bill-total div{display:flex;justify-content:space-between;font-size:12px}.bill-total .due{font-weight:850;font-size:16px}@media(max-width:1020px){.topbar{gap:10px}.primary-nav{overflow-x:auto}.nav-item{padding:8px 9px}.account #accountName{display:none}.welcome{align-items:flex-start;flex-direction:column}.welcome-actions{margin-top:2px}}@media(max-width:720px){.topbar{width:calc(100% - 20px);margin-top:8px;display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px}.primary-nav{grid-column:1/-1;grid-row:2;width:100%;padding-bottom:2px}.nav-item{flex:1;padding:8px 5px;font-size:10px}.account{grid-column:2;grid-row:1}.shell{width:calc(100% - 24px);margin:19px auto 48px}.welcome{min-height:0;padding:22px 20px}.welcome h1{font-size:30px}.welcome-actions{width:100%}.welcome-actions .button{flex:1}.page-heading{align-items:flex-start;flex-direction:column;margin-top:25px}.heading-actions{width:100%}.heading-actions .button{flex:1}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:12px}.stat-value{font-size:20px}.dashboard-grid,.balance-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr}.inventory-list{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar select{max-width:118px}.transaction-row{flex-wrap:wrap}.transaction-main{flex-basis:calc(100% - 90px)}.row-actions{width:100%;padding-left:0}.report-stats{grid-template-columns:1fr 1fr}.report-toolbar{align-items:flex-end}.report-toolbar label{max-width:none;flex:1}.report-toolbar .button{width:100%}.signin{align-items:flex-start;flex-wrap:wrap}.signin .button{margin-left:0}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.inline-row{grid-template-columns:minmax(0,1fr) 80px 80px 32px}.inline-row .line-total{grid-column:2/4;grid-row:2}.inline-row .remove-line{grid-column:4;grid-row:1}footer{width:calc(100% - 24px);align-items:flex-start;flex-direction:column}footer nav{flex-wrap:wrap}.modal-body{padding:14px}.bill-card{padding:17px}.bill-meta{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.view{display:none}.view.active{display:block}.nav-item:focus-visible,.button:focus-visible{outline-offset:2px}.inventory-row{flex-wrap:wrap}.inventory-main{flex:1 1 180px}.stock-badge{margin-left:auto}.transaction-row .row-actions{margin-left:auto}.quick-action:focus-visible,.mini-button:focus-visible{outline-offset:2px}
[hidden]{display:none!important}
/* Keep wide navigation and data-entry rows contained on narrow screens. */
html,body{max-width:100%;overflow-x:clip}
.topbar,.shell,footer{min-width:0}
.topbar>*{min-width:0}
.primary-nav{min-width:0;scrollbar-width:none}
.primary-nav::-webkit-scrollbar{display:none}
.panel,.card,.signin,.page-heading,.dashboard-grid>*{min-width:0}
.page-heading>div:first-child,.welcome>div:first-child{min-width:0;overflow-wrap:anywhere}
.inline-row{min-width:0}
@media(max-width:420px){.topbar{width:calc(100% - 16px)}.account{gap:6px}.account .button{padding-inline:8px;font-size:10px}.nav-item{flex:0 0 auto}.quick-actions{grid-template-columns:1fr}.inline-row{grid-template-columns:minmax(0,1fr) 64px 64px 30px;gap:5px}.panel{padding:14px 12px}.signin{padding:16px}}
