:root{--ink:#171915;--muted:#747970;--paper:#f4f5f1;--card:#fff;--line:#e3e6df;--gold:#b99a5e;--green:#233c31;--good:#247153;--bad:#a84b48;--warn:#a16a1a;--shadow:0 15px 38px rgba(22,27,23,.09)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#dde1da;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:var(--ink);-webkit-text-fill-color:var(--ink)}button,label{cursor:pointer}button{appearance:none;-webkit-appearance:none}.app{width:100%;min-height:100dvh;background:var(--paper);padding-bottom:100px;overflow:hidden}.top{padding:calc(18px + env(safe-area-inset-top)) 20px 14px;background:rgba(244,245,241,.94);backdrop-filter:blur(18px);position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;align-items:center}.brand{font:21px Georgia,serif;letter-spacing:.22em}.brand b{color:var(--gold);font-weight:500}.avatar{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-weight:750;font-size:13px}.page{display:none;padding:5px 18px 30px;animation:fade .2s ease}.page.active{display:block}@keyframes fade{from{opacity:.3;transform:translateY(4px)}}
h1{font:500 30px/1.08 Georgia,serif;margin:11px 0 7px}h2{font:500 21px/1.2 Georgia,serif;margin:25px 0 12px}p{color:var(--muted);font-size:14px;margin:0 0 20px}.page-title,.section-head{display:flex;justify-content:space-between;align-items:center}.pill{font-size:12px;padding:7px 10px;border-radius:99px;background:#e5eee8;color:var(--good);font-weight:750}.hero{background:#10110f;border-radius:24px;color:#fff;padding:21px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"L";position:absolute;right:-10px;bottom:-53px;font:165px Georgia;color:rgba(255,255,255,.035)}.hero small{color:#c7c9c4}.money{font:500 39px Georgia;margin:7px 0 18px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-grid>div{border-top:1px solid rgba(255,255,255,.16);padding-top:12px}.hero-grid strong{display:block;margin-top:4px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick button,.secondary-btn{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px 8px;color:var(--ink)}.quick i,.add-card i{width:35px;height:35px;border-radius:12px;background:#edf0eb;display:grid;place-items:center;margin:0 auto 8px;font-style:normal;font-size:18px}.quick span{font-size:12px;font-weight:700}.card,.metric,.stat{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:15px;box-shadow:0 3px 12px rgba(22,27,23,.025)}.text-btn{border:0;background:none;color:var(--green);font-weight:750;font-size:13px}.round-btn{display:grid;place-items:center;width:41px;height:41px;border-radius:14px;border:1px solid var(--line);background:#fff;font-size:20px;color:var(--green)}.metric-list{display:grid;gap:9px}.metric{display:flex;justify-content:space-between;align-items:center}.metric small{display:block;color:var(--muted);margin-bottom:4px}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.search{width:100%;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 15px;color:var(--ink);font-size:14px;margin-bottom:13px}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:13px;scrollbar-width:none}.chip{border:1px solid var(--line);border-radius:99px;background:#fff;padding:8px 12px;white-space:nowrap;font-size:12px}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.stock-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:13px;margin-bottom:11px;display:grid;grid-template-columns:68px 1fr;gap:13px;cursor:pointer;transition:transform .15s,border-color .15s}.stock-card:active{transform:scale(.985);border-color:#b9beb5}.stock-pic{border-radius:15px;background:linear-gradient(150deg,#e0ded6,#92a099);min-height:84px;display:grid;place-items:center;font-size:34px;color:white}.status{display:inline-block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--good);margin-bottom:5px}.status.written_off{color:var(--bad)}.status.returned{color:var(--warn)}.stock-card h3{font-size:15px;margin:0 0 5px}.meta{font-size:12px;color:var(--muted);margin-top:4px}.stock-nums{display:flex;justify-content:space-between;font-size:12px;margin-top:11px;color:var(--muted)}.stock-nums b{color:var(--ink)}
.add-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:18px;text-align:left;min-height:142px}.add-card i{margin:0 0 18px}.add-card b{display:block;font-size:15px}.add-card small{color:var(--muted);display:block;margin-top:6px;line-height:1.35}.import-card{margin-top:15px;background:#ece6da;border:1px dashed #c7ab72;border-radius:20px;padding:19px;text-align:center}.import-icon{width:39px;height:39px;border-radius:13px;background:#fff;display:grid;place-items:center;margin:0 auto 8px;font-weight:800}.import-card b{display:block}.import-card p{margin:7px auto 15px;line-height:1.45}.primary-btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:15px;padding:13px 18px;background:var(--green);color:#fff;font-weight:750}.full{width:100%;margin-top:15px}.transaction{display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center}.transaction+.transaction{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.transaction-icon{width:40px;height:40px;border-radius:13px;background:#f0f1ed;display:grid;place-items:center;font-weight:800}.transaction b{font-size:13px;display:block}.transaction strong{font-size:13px}.empty{text-align:center;color:var(--muted);padding:24px 8px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat small{color:var(--muted);display:block}.stat b{font:22px Georgia;display:block;margin-top:6px}.chart{height:190px;display:flex;align-items:end;gap:9px;padding:25px 14px 31px}.bar{flex:1;border-radius:8px 8px 3px 3px;background:#cbd4cd;position:relative;min-height:4px}.bar.hot{background:var(--green)}.bar span{position:absolute;bottom:-21px;width:100%;text-align:center;font-size:10px;color:var(--muted)}.status-row{display:flex;justify-content:space-between}.status-row+.status-row{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.danger-link{border:0;background:none;color:var(--bad);width:100%;padding:16px;margin-top:4px;font-size:13px}
.nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px);height:calc(76px + env(safe-area-inset-bottom));padding:9px 9px env(safe-area-inset-bottom);display:grid;grid-template-columns:1fr 1fr 72px 1fr 1fr;z-index:12}.nav button{border:0;background:none;color:#8a8e86;font-size:10px;padding:4px 2px}.nav button.active{color:var(--green);font-weight:800}.nav svg{display:block;margin:0 auto 4px;width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8}.nav .plus{width:56px;height:56px;border-radius:19px;background:var(--green);color:#fff;margin:-21px auto 0;box-shadow:0 10px 23px rgba(35,60,49,.27)}.nav .plus svg{width:25px;height:25px;margin:0 auto}
dialog{border:0;border-radius:25px;padding:0;width:min(92vw,420px);max-height:88dvh;color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(15,18,16,.55);backdrop-filter:blur(4px)}dialog form,.watch-detail{padding:20px;overflow:auto;max-height:88dvh}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head small{font-size:10px;letter-spacing:.12em;color:var(--gold);font-weight:850}.dialog-head h2{margin:4px 0 18px}.close{border:0;background:#f0f1ed;width:34px;height:34px;border-radius:11px;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.file-drop{font-size:12px;color:var(--muted);font-weight:650}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;padding:11px;color:var(--ink);font-size:14px}.file-drop{display:grid;place-items:center;min-height:150px;border:1px dashed #b6bbae;border-radius:17px;background:#f7f8f5;text-align:center;padding:20px}.hint{text-align:center;margin:10px 0;font-size:12px}.detail-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.detail-row span{color:var(--muted)}.toast{position:fixed;left:50%;bottom:94px;transform:translate(-50%,20px);background:#171915;color:#fff;padding:11px 15px;border-radius:13px;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:30;max-width:88vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:650px){body{padding:34px}.app{width:430px;min-height:860px;height:calc(100dvh - 68px);margin:auto;border-radius:34px;box-shadow:0 24px 80px rgba(20,25,21,.18);overflow:auto}.nav{width:430px;left:50%;right:auto;transform:translateX(-50%);bottom:34px;border-radius:0 0 34px 34px}.toast{bottom:126px}}

/* iPhone form and interaction fixes */
.transaction{cursor:pointer}.form-grid label{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;-webkit-appearance:none}.detail-photo{width:100%;height:190px;object-fit:cover;border-radius:17px;margin-bottom:9px;background:#eef0eb}.detail-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:16px}.detail-actions .primary-btn,.detail-actions .secondary-btn{margin:0}.file-drop.compact{min-height:94px;margin-top:16px}.receipt-status{font-size:13px;color:var(--good);text-align:center;margin-top:10px}.primary-btn,.nav .plus{color:#fff;-webkit-text-fill-color:#fff}.chips button,.avatar,.close,.round-btn{color:var(--ink);-webkit-text-fill-color:var(--ink)}
@media(max-width:480px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.dialog-head h2{font-size:24px}.form-grid input,.form-grid select,.form-grid textarea{width:100%}}
.form-grid textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;padding:11px;resize:vertical}.form-grid input[type="file"]::file-selector-button{border:0;border-radius:9px;background:#eceee9;color:var(--ink);padding:8px 10px;margin-right:8px;font-weight:700}
.chip.active{color:#fff!important;-webkit-text-fill-color:#fff!important}.arrived-btn{grid-column:1/-1;border:0;border-radius:11px;background:#e5eee8;color:var(--green);-webkit-text-fill-color:var(--green);padding:10px;font-size:12px;font-weight:800;margin-top:4px}.auth-screen{position:fixed;inset:0;background:var(--paper);z-index:100;display:grid;place-items:center;padding:22px}.auth-screen.hidden{display:none}.auth-card{width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.auth-card h1{margin-top:32px}.auth-card label{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-top:13px}.auth-card input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fafbf8}.auth-status{text-align:center;color:var(--bad);font-size:13px;margin-top:12px;min-height:18px}

/* Mobile app polish */
[hidden]{display:none!important}
input,select,textarea{font-size:16px!important}
.nav .plus,.nav .plus.active{color:#fff!important;-webkit-text-fill-color:#fff!important}
.modal-open{overflow:hidden}
.modal-open .app{height:100dvh;overflow:hidden}
dialog form,.watch-detail{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
html,body,.app,dialog form,.watch-detail,.chips{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.app::-webkit-scrollbar,dialog form::-webkit-scrollbar,.watch-detail::-webkit-scrollbar,.chips::-webkit-scrollbar{display:none;width:0;height:0}
.receipt-select{display:block;margin:0 0 14px;color:var(--muted);font-size:12px;font-weight:650}
.receipt-select select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;padding:11px;color:var(--ink)}
.receipt-preview{display:block;width:100%;max-height:320px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#f7f8f5;margin-top:14px}
.receipt-open{display:flex;justify-content:center;align-items:center;margin-top:10px;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--green);font-size:13px;font-weight:800;text-decoration:none;-webkit-text-fill-color:var(--green)}
