html,body,#root{height:100%}:root{--green:#ea7317;--green-dark:#c2570c;--green-grad:linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);--bg:#fdf6ec;--card:#fff;--border:#f0e3d2;--danger:#dc2626;--danger-bg:#fef2f2;--muted:#8a7560;--text:#3d2c1a;--shadow-sm:0 1px 3px #78481414;--shadow-md:0 4px 16px #7848141f;--shadow-lg:0 12px 32px #7848142e;--radius:14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.app{background:var(--bg);flex-direction:column;max-width:520px;min-height:100vh;margin:0 auto;display:flex;position:relative}.topbar{background:var(--green-grad);color:#fff;z-index:10;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.25rem;font-weight:800;display:flex}.brand:before{content:"🛒";font-size:1.3rem}.content{flex:1;padding:20px 16px 96px;animation:.25s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h2{letter-spacing:-.02em;margin:0 0 18px;font-size:1.4rem;font-weight:800}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:10;background:#ffffffeb;max-width:520px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0f172a0f}.bottom-nav a{text-align:center;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 12px;font-size:.65rem;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.bottom-nav a:before{font-size:1.25rem;line-height:1}.bottom-nav a[href=\/]:before{content:"🏠"}.bottom-nav a[href=\/items]:before{content:"📦"}.bottom-nav a[href=\/purchase]:before{content:"🚚"}.bottom-nav a[href=\/sell]:before{content:"💰"}.bottom-nav a[href=\/reports]:before{content:"📊"}.bottom-nav a[href=\/expenses]:before{content:"💸"}.bottom-nav a[href="/settings/wallet"]:before{content:"👛"}.bottom-nav a[href=\/settings]:before{content:"⚙️"}.bottom-nav a[href="/settings/items"]:before{content:"📦"}.bottom-nav a[href="/settings/expense-types"]:before{content:"🏷️"}.bottom-nav a.active{color:var(--green)}.bottom-nav a.active:before{transform:scale(1.12)}.nav-group,.nav-group-head-row{flex:1;display:flex}.nav-group-head{text-align:center;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 12px;font-size:.65rem;font-weight:600;text-decoration:none;display:flex}.nav-group-head:before{content:"⚙️";font-size:1.25rem;line-height:1}.nav-group-head.active{color:var(--green)}.nav-group-caret,.nav-children{display:none}.auth-screen{background:var(--green-grad);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.card{background:var(--card);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;padding:32px 26px;animation:.3s cubic-bezier(.2,.8,.2,1) popIn;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.card h1{letter-spacing:-.03em;background:var(--green-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:1.7rem;font-weight:800}.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px}label{color:var(--muted);margin-top:14px;margin-bottom:6px;font-size:.8rem;font-weight:700}input,select{border:1.5px solid var(--border);color:var(--text);background:#fff;border-radius:11px;padding:13px 14px;font-size:1rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #16a34a1f}button{background:var(--green-grad);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:12px;margin-top:22px;padding:14px;font-size:1rem;font-weight:700;transition:transform .1s,box-shadow .15s,opacity .15s}button:hover{box-shadow:var(--shadow-md)}button:active{transform:scale(.98)}button:disabled{opacity:.6;cursor:not-allowed}.link-btn{color:#fff;box-shadow:none;background:#ffffff2e;border-radius:10px;margin:0;padding:8px 14px;font-size:.82rem;font-weight:600}.link-btn:hover{box-shadow:none;background:#ffffff47}.inline-form{gap:10px;margin-bottom:18px;display:flex}.inline-form input{flex:1}.inline-form button{white-space:nowrap;margin:0;padding:0 22px}.add-item-form{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.add-item-name{width:100%}.add-item-row{gap:8px;display:flex}.add-item-row select{flex:1;min-width:0}.add-item-row button{white-space:nowrap;min-height:46px;margin:0;padding:0 28px}.add-item-row button:only-child{flex:1;width:100%}.stacked-form{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;padding:20px;display:flex}.field-hint{color:var(--muted);margin-top:5px;font-size:.75rem}.qty-row{gap:8px;display:flex}.qty-row input{flex:2;min-width:0}.qty-row select{flex:1;min-width:0}.unit-tag{background:var(--bg);border:1.5px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:11px;align-items:center;padding:0 16px;font-weight:700;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.form-grid .field{flex-direction:column;min-width:0;display:flex}.form-grid .field.full{grid-column:1/-1}.form-grid label{margin-top:0}.data{border-collapse:separate;border-spacing:0 10px;width:100%}.data:not(.report-table) thead{display:none}.data:not(.report-table) tr{background:var(--card);box-shadow:var(--shadow-sm)}.data:not(.report-table) td{border:none;padding:16px;font-size:1rem}.data:not(.report-table) td:first-child{border-radius:var(--radius) 0 0 var(--radius);font-weight:700}.data:not(.report-table) td:last-child{border-radius:0 var(--radius) var(--radius) 0;text-align:right;color:var(--green-dark);font-weight:700}.data:not(.report-table) tr.low{box-shadow:0 0 0 1.5px #dc262640, var(--shadow-sm)}.data:not(.report-table) tr.low td:last-child{color:var(--danger)}.report-table{border-spacing:0;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.report-table th,.report-table td{text-align:right;border-bottom:1px solid var(--border);padding:10px 12px;font-size:.85rem}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#fdf6ec;font-size:.72rem}.table-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--radius);margin-bottom:4px;overflow-x:auto}.table-scroll .report-table{min-width:max-content}.table-scroll .report-table th,.table-scroll .report-table td{white-space:nowrap}.badge{background:var(--danger-bg);color:var(--danger);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;border-radius:20px;margin-left:8px;padding:3px 9px;font-size:.66rem;font-weight:700}.muted{color:var(--muted);font-size:.9rem}.amount-in-words{color:var(--muted);margin-top:6px;font-size:.85rem;font-style:italic}.center{text-align:center;margin-top:40px}.error{background:var(--danger-bg);color:var(--danger);border:1px solid #dc26262e;border-radius:11px;margin-bottom:10px;padding:12px 14px;font-size:.88rem;font-weight:600}.toast{color:var(--green-dark);background:#fff4e6;border:1px solid #ea580c38;border-radius:11px;margin-bottom:12px;padding:12px 14px;font-size:.88rem;font-weight:600}.greeting{letter-spacing:-.02em;margin:0 0 4px;font-size:1.5rem;font-weight:800}.greeting-sub{color:var(--muted);margin:0 0 22px;font-size:.92rem}.stat-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.stat{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 16px;position:relative;overflow:hidden}.stat .stat-icon{margin-bottom:8px;font-size:1.5rem;font-weight:800;display:block}.stat.accent .stat-icon{color:#fff}.stat .stat-value{letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.1}.stat .stat-label{color:var(--muted);margin-top:2px;font-size:.8rem;font-weight:600}.stat.accent{background:var(--green-grad);color:#fff}.stat.accent .stat-label{color:#ffffffd9}.stat.warn{box-shadow:0 0 0 1.5px #dc262640, var(--shadow-sm)}.stat.warn .stat-value{color:var(--danger)}.stat-link{color:inherit;text-decoration:none;transition:transform .1s,box-shadow .15s;display:block}.stat-link:active{transform:scale(.98)}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 12px;font-size:.8rem;font-weight:700}.quick-actions{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.action-btn{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:18px;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .15s;display:flex}.action-btn:active{transform:scale(.98)}.action-btn .action-icon{font-size:1.6rem}.recent-row{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 16px;display:flex}.recent-row .r-name{font-weight:700}.recent-row .r-sub{color:var(--muted);font-size:.8rem}.recent-row .r-amount{color:var(--green-dark);font-weight:800}.seg{background:var(--card);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:16px;padding:4px;display:flex}.seg button{color:var(--muted);box-shadow:none;background:0 0;border-radius:9px;flex:1;margin:0;padding:10px;font-size:.85rem;font-weight:700}.seg button.on{background:var(--green-grad);color:#fff}.report-totals{grid-template-columns:1fr 1fr 1fr;gap:10px;margin:16px 0;display:grid}.report-totals .stat{text-align:center;padding:14px 10px}.report-totals .stat-value{font-size:1.15rem}.profit-pos{color:var(--green-dark)}.profit-neg{color:var(--danger)}.range-row{gap:10px;display:flex}.range-row>div{flex-direction:column;flex:1;display:flex}.download-btn{width:100%}.item-list{scrollbar-width:thin;scrollbar-color:var(--green) transparent;max-height:60vh;padding:2px 6px 2px 2px;overflow-y:auto}.item-list::-webkit-scrollbar{width:8px}.item-list::-webkit-scrollbar-track{background:var(--border);border-radius:8px}.item-list::-webkit-scrollbar-thumb{background:var(--green);border-radius:8px}.item-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:14px 16px;display:flex}.item-card.low{box-shadow:0 0 0 1.5px #dc262640, var(--shadow-sm)}.item-main{flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.item-name{font-weight:700}.item-stock{color:var(--green-dark);white-space:nowrap;font-weight:700}.item-card.low .item-stock{color:var(--danger)}.item-actions{gap:6px;display:flex}.icon-btn{background:var(--bg);box-shadow:none;cursor:pointer;border:none;border-radius:9px;margin:0;padding:8px;font-size:1rem;line-height:1}.icon-btn:hover{box-shadow:none;background:#f3e6d3}.item-edit-wrap{flex-direction:column;flex:1;gap:6px;display:flex}.item-edit{flex:1;align-items:center;gap:8px;display:flex}.edit-warning{color:var(--danger);font-size:.74rem;font-weight:600}.item-edit input{flex:1}.item-edit-actions{gap:6px;display:flex}.btn-sm{border-radius:9px;margin:0;padding:9px 14px;font-size:.85rem}.btn-ghost{background:var(--bg);color:var(--muted);box-shadow:none}.btn-ghost:hover{box-shadow:none;background:#f3e6d3}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#3d2c1a73;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow-lg);border-radius:20px;padding:28px 24px 22px;animation:.25s cubic-bezier(.2,.8,.2,1) popIn}.modal-icon{margin-bottom:10px;font-size:2.6rem;line-height:1}.modal-title{margin:0 0 6px;font-size:1.2rem;font-weight:800}.modal-message{color:var(--muted);margin:0 0 20px;font-size:.95rem;line-height:1.4}.modal-btn{width:100%;margin:0}.purchase-page{flex-direction:column;gap:16px;padding-bottom:8px;display:flex}.list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.list-header .section-title{flex-shrink:0;margin:0}.search-box{flex:1;align-items:center;min-width:180px;max-width:300px;margin-left:auto;display:flex;position:relative}.search-icon{opacity:.6;pointer-events:none;font-size:.9rem;position:absolute;left:12px}.search-box input{border-radius:999px;width:100%;padding:10px 34px;font-size:.9rem}.search-box input::-webkit-search-cancel-button{appearance:none}.search-clear{background:var(--border);width:22px;height:22px;color:var(--text);cursor:pointer;box-shadow:none;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:.72rem;line-height:1;display:flex;position:absolute;right:8px}.search-clear:hover{background:var(--muted);color:#fff;box-shadow:none}.status-bg-paid{background:linear-gradient(135deg,#34d399 0%,#059669 100%)}.status-bg-partial{background:linear-gradient(135deg,#fbbf24 0%,#ea580c 100%)}.status-bg-unpaid{background:linear-gradient(135deg,#f87171 0%,#dc2626 100%)}.badge.status-paid{color:#059669;background:#ecfdf5}.badge.status-partial{color:#c2570c;background:#fff7ed}.badge.status-unpaid{background:var(--danger-bg);color:var(--danger)}.dues-hero{color:#fff;background:var(--green-grad);box-shadow:var(--shadow-md);border-radius:20px;padding:20px 20px 18px;position:relative;overflow:hidden}.dues-hero:after{content:"";background:#ffffff24;border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-30px}.dues-hero-left,.dues-hero-chips{z-index:1;position:relative}.dues-hero-label{letter-spacing:.04em;text-transform:uppercase;opacity:.9;font-size:.78rem;font-weight:700}.dues-hero-amount{letter-spacing:-.02em;margin-top:2px;font-size:2.1rem;font-weight:800}.dues-hero-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hero-chip{white-space:nowrap;background:#fff3;border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:.8rem;font-weight:700;display:inline-flex}a.hero-chip{color:inherit;text-decoration:none;transition:background .15s}a.hero-chip:hover{background:#ffffff52}.dues-hero-meta{opacity:.95;align-items:center;gap:8px;margin-top:8px;font-size:.82rem;font-weight:600;display:flex}.method-toggle{gap:8px;margin-top:8px;display:flex}.method-toggle button{color:var(--muted);border:1.5px solid var(--border);box-shadow:none;background:#fff;border-radius:11px;flex:1;margin:0;padding:10px;font-size:.86rem;font-weight:700}.method-toggle button.on{background:var(--green-grad);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.method-toggle button:hover{box-shadow:none}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 14px;display:flex}.due-filter-toggle{margin:0}.due-filter-toggle button{flex:none;padding:8px 16px}.pagination{justify-content:center;align-items:center;gap:14px;margin:0;display:flex}.pagination button{color:var(--green-dark);border:1.5px solid var(--border);box-shadow:none;background:#fff;border-radius:11px;margin:0;padding:8px 16px;font-size:.86rem;font-weight:700}.pagination button:disabled{color:var(--muted);border-color:var(--border);opacity:.5;cursor:not-allowed}.pagination-status{color:var(--muted);font-size:.82rem;font-weight:600}.bank-fields{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.bank-fields input{flex:1;min-width:160px}.method-tag{vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.66rem;font-weight:700}.method-tag.cash{color:#059669;background:#ecfdf5}.method-tag.online{color:#2563eb;background:#eff6ff}.dues-hero-meta .dot{opacity:.6}.panel-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.panel-card-head{width:100%;box-shadow:none;cursor:pointer;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;margin:0;padding:16px 18px;display:flex}.panel-card-head:hover{box-shadow:none}.panel-card-title{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;display:flex}.panel-card-icon{font-size:1.15rem}.chevron{color:var(--muted);font-size:1.4rem;line-height:1;transition:transform .2s}.chevron.up{transform:rotate(180deg)}.purchase-form{padding:4px 18px 18px;animation:.22s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.submit-btn{margin-top:6px}.owe-preview{background:var(--bg);border:1px dashed var(--border);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;padding:12px;display:grid}.owe-cell{text-align:center;flex-direction:column;gap:2px;display:flex}.owe-k{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.68rem;font-weight:700}.owe-v{color:var(--text);font-size:.92rem;font-weight:800}.owe-v.ok{color:#059669}.owe-v.due{color:var(--green-dark)}.purchase-list{flex-direction:column;gap:12px;display:flex}.pcard{background:var(--card);box-shadow:var(--shadow-sm);border-left:4px solid #0000;border-radius:16px;transition:box-shadow .15s,transform .1s;overflow:hidden}.pcard.open{box-shadow:var(--shadow-md)}.status-border-paid{border-left-color:#10b981}.status-border-partial{border-left-color:#f59e0b}.status-border-unpaid{border-left-color:#ef4444}.pcard-head{width:100%;box-shadow:none;cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;align-items:flex-start;gap:12px;margin:0;padding:14px;display:flex}.pcard-head:hover{box-shadow:none}.pcard-head:active{transform:none}.pcard-avatar{color:#fff;width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex}.pcard-main{flex:1;min-width:0}.pcard-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.pcard-party{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:800;overflow:hidden}.pcard-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.76rem;overflow:hidden}.pcard-bar{background:var(--border);border-radius:6px;height:6px;margin:9px 0 6px;overflow:hidden}.pcard-bar-fill{border-radius:6px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.pcard-amounts{justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.pcard-paid{color:var(--muted);font-weight:600}.pcard-due{color:#059669;font-weight:800}.pcard-due.has-due{color:var(--green-dark)}.pcard .chevron{align-self:center}.pcard.pcard-has-actions{position:relative}.pcard.pcard-has-actions .pcard-head{padding-right:52px;position:relative}.pcard.pcard-has-actions .chevron{position:absolute;bottom:14px;right:18px}.pcard-delete{z-index:1;padding:6px 7px;font-size:.9rem;position:absolute;top:10px;right:10px}.pcard-delete:hover{background:var(--danger-bg)}.payment-panel{border-top:1px solid var(--border);background:var(--bg);padding:14px;animation:.2s slideDown}.ph-title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px;font-size:.72rem;font-weight:800}.ph-empty{margin:0 0 4px}.timeline{margin-bottom:4px;padding-left:6px;position:relative}.tl-row{gap:12px;padding-bottom:14px;display:flex;position:relative}.tl-row:last-child{padding-bottom:0}.tl-row:before{content:"";background:var(--border);width:2px;position:absolute;top:14px;bottom:-2px;left:5px}.tl-row:last-child:before{display:none}.tl-dot{background:var(--green-grad);z-index:1;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:3px;box-shadow:0 0 0 3px #ea580c26}.tl-body{flex:1;min-width:0}.tl-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tl-amount{color:#059669;font-size:.98rem;font-weight:800}.tl-date{color:var(--muted);white-space:nowrap;font-size:.72rem}.tl-note{color:var(--text);opacity:.85;overflow-wrap:anywhere;margin-top:2px;font-size:.8rem}.add-payment{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;display:flex}.add-payment-row{gap:8px;display:flex}.add-payment-row input{flex:1;min-width:0}.chip-btn{white-space:nowrap;color:var(--green-dark);border:1.5px solid var(--green);box-shadow:none;background:#fff;flex-shrink:0;margin:0;padding:0 14px;font-size:.82rem;font-weight:700}.chip-btn:hover{background:var(--bg);box-shadow:none}.paid-banner{color:#059669;text-align:center;background:#ecfdf5;border-radius:12px;margin-top:12px;padding:12px;font-size:.9rem;font-weight:700}.invoice-btn{width:100%;color:var(--green-dark);border:1.5px solid var(--border);box-shadow:none;background:#fff;margin-top:10px;font-size:.9rem;font-weight:700}.invoice-btn:hover{background:var(--bg);box-shadow:none}.report-filters{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.filter-col{flex-direction:column;display:flex}.report-filters .items-col{flex:1;min-width:220px}.report-filters .date-col{flex-shrink:0;min-width:180px}.filter-col>label:first-child,.filter-col .range-row label{margin-top:0}.item-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.item-chip{background:var(--bg);border:1.5px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.item-chip button{background:var(--border);width:18px;height:18px;color:var(--text);cursor:pointer;box-shadow:none;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:.62rem;display:flex}.item-chip button:hover{background:var(--danger);color:#fff;box-shadow:none}.item-chip-clear{border:1.5px dashed var(--border);color:var(--muted);box-shadow:none;background:0 0;border-radius:999px;margin:0;padding:5px 12px;font-size:.8rem;font-weight:600}.item-chip-clear:hover{background:var(--bg);box-shadow:none}.dues-cards{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 16px;display:grid}.dues-mini{background:var(--card);text-align:center;box-shadow:var(--shadow-sm);border-top:3px solid var(--border);border-radius:12px;padding:12px 10px}.dues-mini.receivable{border-top-color:#10b981}.dues-mini.payable{border-top-color:#ef4444}.dues-mini.net{border-top-color:var(--green)}.dues-mini-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.68rem;font-weight:700}.dues-mini-value{color:var(--text);margin:3px 0 2px;font-size:.98rem;font-weight:800}.dues-mini-sub{color:var(--muted);font-size:.66rem}.empty-state{text-align:center;color:var(--muted);padding:32px 16px}.empty-state p{color:var(--text);margin:4px 0 2px;font-weight:700}.empty-emoji{margin-bottom:4px;font-size:2.4rem}.skeleton-list{flex-direction:column;gap:12px;display:flex}.skeleton-row{background:linear-gradient(90deg, var(--card) 25%, #f6ede0 37%, var(--card) 63%);background-size:400% 100%;border-radius:16px;height:84px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.topbar-left{align-items:center;gap:12px;display:flex}.nav-toggle{width:38px;height:38px;box-shadow:none;cursor:pointer;background:#ffffff2e;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:0;display:none}.nav-toggle:hover{box-shadow:none;background:#ffffff47}.nav-toggle-bar{background:#fff;border-radius:2px;width:18px;height:2px;transition:transform .25s,opacity .2s;display:block}.nav-open .nav-toggle .nav-toggle-bar:first-child{transform:translateY(6px)rotate(45deg)}.nav-open .nav-toggle .nav-toggle-bar:nth-child(2){opacity:0}.nav-open .nav-toggle .nav-toggle-bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width>=900px){.nav-toggle{display:flex}.app{background:var(--bg);max-width:1440px;box-shadow:var(--shadow-md);grid-template:"sidebar topbar""sidebar content"1fr/240px 1fr;column-gap:0;transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1);display:grid}.app.nav-closed{grid-template-columns:76px 1fr}.topbar{border-bottom:1px solid #ffffff26;grid-area:topbar}.topbar .brand:before{content:none}.content{grid-area:content;width:100%;padding:28px 40px 40px}.bottom-nav{background:var(--card);border-top:none;border-right:1px solid var(--border);max-width:none;height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;grid-area:sidebar;justify-content:flex-start;align-self:start;gap:4px;margin:0;padding:20px 12px;position:sticky;top:0;left:auto;right:auto;overflow:hidden}.bottom-nav:before{content:"🛒 Om Traders";letter-spacing:-.02em;color:var(--green-dark);white-space:nowrap;padding:6px 12px 18px;font-size:1.05rem;font-weight:800;display:block;overflow:hidden}.nav-closed .bottom-nav:before{content:"🛒";text-align:center;padding:6px 0 18px}.bottom-nav a{text-align:left;white-space:nowrap;border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-size:.92rem;transition:background .15s,color .15s;overflow:hidden}.bottom-nav a:before{flex-shrink:0;font-size:1.2rem}.bottom-nav a:hover{background:var(--bg);color:var(--text)}.bottom-nav a.active{background:var(--green-grad);color:#fff;box-shadow:var(--shadow-sm);font-weight:700}.bottom-nav a.active:before{transform:none}.nav-label{transition:opacity .18s}.nav-closed .nav-label{opacity:0;width:0;overflow:hidden}.nav-closed .bottom-nav a{justify-content:center;gap:0;padding:12px 0}.nav-group{flex:none;width:100%;display:block}.nav-group-head-row{align-items:center;width:100%;display:flex}.nav-group-head{white-space:nowrap;color:var(--muted);border-radius:12px;flex-direction:row;flex:1;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-size:.92rem;transition:background .15s,color .15s;overflow:hidden}.nav-group-head:before{flex-shrink:0;font-size:1.2rem}.nav-group-head:hover{background:var(--bg);color:var(--text)}.nav-group-head.active{background:var(--green-grad);color:#fff;box-shadow:var(--shadow-sm);font-weight:700}.nav-group-caret{width:30px;height:30px;box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0 2px 0 0;padding:0;font-size:1.2rem;line-height:1;transition:transform .2s,background .15s;display:flex}.nav-group-caret:hover{background:var(--bg);box-shadow:none}.nav-group.open .nav-group-caret{transform:rotate(180deg)}.nav-children{border-left:2px solid var(--border);flex-direction:column;gap:2px;margin:2px 0 2px 14px;padding-left:12px;animation:.18s slideDown;display:flex}.nav-child{color:var(--muted);white-space:nowrap;border-radius:10px;justify-content:flex-start;align-items:center;gap:10px;font-size:.86rem;overflow:hidden;flex-direction:row!important;padding:9px 12px!important}.nav-child:before{font-size:1rem}.nav-child:hover{background:var(--bg);color:var(--text)}.nav-child.active{background:var(--bg);color:var(--green-dark);font-weight:700}.nav-closed .nav-group-caret,.nav-closed .nav-children{display:none}.nav-closed .nav-group-head{justify-content:center;gap:0;padding:12px 0}.stat-grid{grid-template-columns:repeat(4,1fr)}.quick-actions{grid-template-columns:repeat(4,1fr);max-width:640px}.form-grid{grid-template-columns:1fr 1fr 1fr}.add-item-form{max-width:520px}.add-item-row button{min-width:140px;padding:0 32px}.purchase-list{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.pcard.open{grid-column:1/-1}.skeleton-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dues-hero{justify-content:space-between;align-items:center;gap:20px;display:flex}.dues-hero-chips{flex-direction:column;flex-shrink:0;align-items:flex-end;margin-top:0}.dues-hero-chips .hero-chip{justify-content:flex-start}}@media (width>=900px) and (width<=1100px){.stat-grid,.quick-actions{grid-template-columns:repeat(3,1fr)}}.mini-card-row-wrap{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.mini-card{background:var(--card);min-width:240px;box-shadow:var(--shadow-sm);border-radius:14px;flex:1;padding:16px}.mini-card-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.mini-card-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;line-height:1;display:inline-flex}.mini-card-icon.pay{color:var(--danger);background:#fef2f2}.mini-card-icon.receive{color:#059669;background:#ecfdf5}.mini-card-icon.neutral{background:0 0;width:auto;height:auto;font-size:1rem}.mini-card-title{color:var(--text);font-size:.9rem;font-weight:800}.mini-card-list{flex-direction:column;gap:2px;display:flex}.mini-card-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.mini-card-row:last-child{border-bottom:none}.mini-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.mini-card-amount{white-space:nowrap;flex-shrink:0;font-size:.88rem;font-weight:800}.mini-card-amount.pay{color:var(--danger)}.mini-card-amount.receive{color:#059669}.mini-card-amount.neutral{color:var(--green-dark)}.mini-card-empty{margin:4px 0;font-size:.82rem}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-head .section-title{margin:0}.granularity-select{border-radius:10px;width:auto;padding:8px 12px;font-size:.85rem}.chart-row{flex-wrap:wrap;gap:12px;display:flex}.chart-panel{flex:1;min-width:280px;margin-bottom:12px}.chart-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.chart-card-head .granularity-select{padding:6px 10px;font-size:.78rem}.chart-title{color:var(--text);margin:0;font-size:.95rem;font-weight:800}.chart-peak{margin-left:auto;font-size:.75rem}.cashflow-chart{flex-direction:column;gap:8px;display:flex}.chart-legend{color:var(--text);gap:16px;font-size:.82rem;font-weight:600;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.chart-svg-wrap{width:100%;position:relative}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-xlabel{fill:var(--muted);font-size:11px;font-weight:600}.chart-tooltip{background:var(--text);color:#fff;box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap;z-index:5;border-radius:10px;padding:8px 10px;font-size:.78rem;position:absolute;top:0;transform:translate(-50%)}.tt-title{margin-bottom:4px;font-weight:800}.tt-row{align-items:center;gap:6px;display:flex}.tt-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.tt-val{margin-left:auto;padding-left:12px;font-weight:700}.chart-scale-note{font-size:.72rem}.settings-intro{margin:-8px 0 18px}.settings-crumb{color:var(--muted);margin-bottom:6px;font-size:.8rem}.inline-link{color:var(--green-dark);font-weight:700;text-decoration:none}.inline-link:hover{text-decoration:underline}.items-manage-hint{background:var(--card);box-shadow:var(--shadow-sm);border-radius:12px;margin-top:18px;padding:12px 14px;font-size:.85rem}.settings-list{flex-direction:column;gap:10px;display:flex}.settings-card{background:var(--card);box-shadow:var(--shadow-sm);color:var(--text);border-radius:14px;align-items:center;gap:14px;padding:16px;text-decoration:none;transition:transform .1s,box-shadow .15s;display:flex}.settings-card:hover{box-shadow:var(--shadow-md)}.settings-card:active{transform:scale(.99)}.settings-card-icon{background:var(--bg);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.5rem;display:flex}.settings-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-card-title{font-size:1rem;font-weight:800}.settings-card-desc{color:var(--muted);font-size:.82rem}.settings-card-arrow{color:var(--muted);font-size:1.6rem;line-height:1}.modal-actions{gap:10px;display:flex}.modal-actions button{flex:1;margin-top:0}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}
