:root{color:#18342d;font-synthesis:none;--ink:#163a31;--ink-2:#245046;--lime:#c8f24b;--lime-soft:#eff9cb;--paper:#fff;--line:#dce4dc;--muted:#6f7f79;--danger:#b8363f;--shadow:0 16px 40px #163a3117;background:#f4f6f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f6f0;min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.48}.loading-page{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:14px;display:grid}.brand-pulse{background:var(--ink);width:62px;height:62px;color:var(--lime);border-radius:20px;place-items:center;font-size:20px;font-weight:900;animation:1.6s infinite pulse;display:grid}@keyframes pulse{50%{opacity:.8;transform:scale(.94)}}.login-page{min-height:100vh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 15% 10%,#dff6a1 0 8%,#0000 32%),linear-gradient(155deg,#f7f9f2,#e9eee7);align-content:center;gap:30px;display:grid}.login-brand,.mini-brand{align-items:center;gap:11px;display:flex}.login-brand>span,.mini-brand>span{background:var(--ink);color:var(--lime);place-items:center;font-weight:900;display:grid}.login-brand>span{border-radius:17px;width:50px;height:50px}.login-brand div{gap:1px;display:grid}.login-brand strong{font-size:16px}.login-brand small{color:var(--muted)}.login-card{background:#ffffffeb;border:1px solid #ffffffe6;border-radius:26px;width:min(100%,460px);padding:28px 22px 22px;box-shadow:0 24px 70px #163a3124}.login-card h1,.page-intro h1,.success-card h1{letter-spacing:-.045em;margin:7px 0 8px;font-size:clamp(28px,8vw,38px);line-height:1.05}.login-card>p{color:var(--muted);margin:0 0 23px;line-height:1.55}.login-card form{gap:15px;display:grid}.login-error{color:var(--danger);background:#fff0f1;border-radius:12px;padding:12px;font-size:13px;font-weight:700}.demo-note{background:var(--lime-soft);border-radius:13px;gap:2px;margin-top:18px;padding:12px 14px;font-size:12px;display:grid}.demo-note span{color:#5c6b3a}.eyebrow{color:#6b8025;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:900}.app-shell{min-height:100vh;padding-bottom:88px}.topbar{z-index:20;height:66px;padding:env(safe-area-inset-top) 18px 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4f6f0e6;border-bottom:1px solid #dce4dcdb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mini-brand>span{border-radius:12px;width:36px;height:36px;font-size:12px}.mini-brand strong{font-size:14px}.user-pill{align-items:center;gap:8px;display:flex}.user-pill>span{background:#dce6db;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.user-pill div{display:none}.app-main{width:min(100%,780px);margin:0 auto;padding:24px 16px 32px}.page-intro{justify-content:space-between;align-items:flex-end;gap:12px;min-width:0;margin-bottom:20px;display:flex}.page-intro h1{margin-bottom:0}.count-badge{background:var(--ink);color:#fff;border-radius:15px;place-items:center;min-width:44px;height:44px;padding:0 12px;font-weight:900;display:grid}.stepper{grid-template-columns:repeat(4,1fr);margin:0 2px 24px;display:grid;position:relative}.stepper-line{background:#d9e0d8;border-radius:99px;height:3px;position:absolute;top:15px;left:12.5%;right:12.5%;overflow:hidden}.stepper-line span{background:var(--ink);height:100%;transition:width .3s;display:block}.step-dot{z-index:1;color:#909b96;justify-items:center;gap:5px;display:grid;position:relative}.step-dot>span{color:#738078;background:#d9e0d8;border:3px solid #f4f6f0;border-radius:50%;place-items:center;width:31px;height:31px;font-size:11px;font-weight:900;display:grid}.step-dot small{font-size:9px;font-weight:800}.step-dot.active{color:var(--ink)}.step-dot.active>span{background:var(--ink);color:var(--lime)}.notice{color:#52651a;background:#f5fbdc;border:1px solid #d9e7b1;border-radius:14px;margin-bottom:14px;padding:13px 15px;font-size:13px;font-weight:700;line-height:1.4}.form-card,.filter-card,.report-filter-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:24px}.form-card{padding:20px 17px 22px}.step-content{gap:17px;display:grid}.section-title{align-items:flex-start;gap:12px;margin-bottom:2px;display:flex}.section-title>span{background:var(--ink);min-width:40px;height:40px;color:var(--lime);border-radius:13px;place-items:center;font-size:11px;font-weight:900;display:grid}.section-title h2{letter-spacing:-.025em;margin:1px 0 3px;font-size:21px}.section-title p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.field{gap:7px;min-width:0;display:grid}.field-label{color:#42564f;font-size:12px;font-weight:850}.field-label span{color:#7e981f}.field small{color:var(--muted);font-size:10px;line-height:1.4}.field .error-text{color:var(--danger);font-size:11px;font-weight:750}input,select,textarea{width:100%;min-width:0;min-height:48px;color:var(--ink);background:#fbfcfa;border:1px solid #cfd9d2;border-radius:13px;outline:none;padding:0 13px;font-size:16px;transition:border-color .18s,box-shadow .18s}textarea{resize:vertical;padding-top:12px}input:focus,select:focus,textarea:focus{border-color:#789527;box-shadow:0 0 0 3px #c8f24b40}.has-error input,.has-error select{background:snow;border-color:#d86e74}.input-action{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.input-action button{background:var(--lime-soft);color:#496015;border:1px solid #ccdaa2;border-radius:13px;min-height:48px;padding:0 14px;font-size:12px;font-weight:850}.two-column,.quantity-unit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;display:grid}.quick-values{flex-wrap:wrap;gap:7px;min-width:0;display:flex}.quick-chip,.view-all-chip{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:12px;max-width:100%;min-height:42px;padding:0 12px;font-size:11px;font-weight:850;overflow:hidden}.quick-chip{color:#4e5f59;background:#f7f9f5;border:1px solid #dce4dc}.quick-chip.selected{border-color:var(--ink);background:var(--ink);color:#fff}.view-all-chip{color:#58741b;background:#fff;border:1px dashed #aebcae}.shortcut-button{color:#496058;cursor:pointer;background:#eef2eb;border:0;border-radius:11px;justify-self:start;min-height:42px;margin-top:-9px;padding:0 12px;font-size:11px;font-weight:850}.shortcut-button.prominent{background:var(--lime-soft);color:#4f6418;width:100%;min-height:48px;margin:0}.segmented-control{background:#f5f7f4;border:1px solid #cfd9d2;border-radius:13px;grid-template-columns:1fr 1fr;min-height:48px;padding:3px;display:grid}.segmented-control button{color:var(--muted);background:0 0;border:0;border-radius:9px;font-size:11px;font-weight:900}.segmented-control button.active{background:var(--ink);color:var(--lime);box-shadow:0 3px 10px #163a312e}.calculated-row{background:linear-gradient(135deg,#f4fadf,#fcfdf8);border:1px solid #dbe6ba;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:11px 14px;display:flex}.calculated-row span{color:#667752;font-size:11px;font-weight:800}.calculated-row strong{letter-spacing:-.025em;font-size:17px}.primary-button,.secondary-button,.ghost-button,.text-button{cursor:pointer;border-radius:13px;min-height:48px;padding:0 18px;font-weight:850}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff;box-shadow:0 8px 18px #163a312e}.secondary-button{color:var(--ink);background:#fff;border:1px solid #ccd7ce}.ghost-button{color:var(--muted);background:0 0;border:1px solid #d8e0d8}.text-button{color:#5b6f65;background:0 0;border:0}.full{width:100%}.link-button{place-items:center;text-decoration:none;display:grid}.form-sticky-actions{z-index:15;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f9f5ed;border:1px solid #dce4dce6;border-radius:17px;justify-content:space-between;gap:10px;margin:17px -1px 0;padding:9px;display:flex;position:sticky;bottom:74px;box-shadow:0 12px 32px #163a311f}.form-sticky-actions .primary-button{margin-left:auto}.review-group{border:1px solid var(--line);border-radius:16px;overflow:hidden}.review-head{background:#f5f7f4;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.review-head h3{margin:0;font-size:13px}.review-head button{color:#56721b;background:#fff;border:0;border-radius:9px;min-height:36px;padding:0 11px;font-size:10px;font-weight:900}.review-row{border-top:1px solid #eef2ee;justify-content:space-between;gap:12px;min-height:42px;padding:10px 13px;font-size:11px;display:flex}.review-row span{color:var(--muted)}.review-row strong{text-align:right;overflow-wrap:anywhere;max-width:65%}.profit-panel{background:var(--ink);color:#fff;border-radius:18px;gap:9px;padding:16px;display:grid}.profit-panel>div{justify-content:space-between;gap:12px;display:flex}.profit-panel span{color:#b9c9c4;font-size:11px}.profit-panel strong{font-size:13px}.profit-panel .profit-total{background:#c8f24b21;border-radius:13px;margin:4px -5px -5px;padding:13px}.profit-total strong{color:var(--lime);font-size:20px}.profit-total strong.negative{color:#ff9b9f}.photo-section{gap:12px;display:grid}.photo-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.photo-heading>div{gap:2px;display:grid}.photo-heading strong{font-size:13px}.photo-heading span{color:var(--muted);font-size:10px}.photo-heading button{background:var(--lime-soft);color:#4e6318;border:1px solid #d3dfaf;border-radius:12px;min-height:42px;padding:0 12px;font-size:11px;font-weight:850}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.photo-grid figure{aspect-ratio:1;background:#e7ece7;border-radius:13px;margin:0;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid figure button{color:#fff;background:#152621c7;border:0;border-radius:50%;width:32px;height:32px;font-size:19px;position:absolute;top:5px;right:5px}.photo-placeholder{min-height:112px;color:var(--muted);background:#f8faf7;border:1px dashed #b7c4b8;border-radius:15px;grid-column:1/-1;align-content:center;place-items:center;gap:3px;display:grid}.photo-placeholder>span{color:#6d8325;font-size:24px}.photo-placeholder strong{color:var(--ink);font-size:12px}.photo-placeholder small{font-size:10px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;overflow:hidden;width:1px!important;height:1px!important;position:absolute!important}.sheet-backdrop{z-index:100;background:#0d1f1a7a;align-items:end;display:grid;position:fixed;inset:0}.selection-sheet{width:min(100%,560px);max-height:84vh;padding:9px 16px max(20px, env(safe-area-inset-bottom));background:#fff;border-radius:25px 25px 0 0;grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;margin:0 auto;display:grid;box-shadow:0 -20px 60px #0d1f1a38}.sheet-handle{background:#d8dfda;border-radius:99px;justify-self:center;width:42px;height:4px}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{margin:3px 0 0;font-size:21px}.icon-button{width:44px;height:44px;color:var(--ink);background:#f0f3ef;border:0;border-radius:14px;font-size:23px}.selection-list{align-content:start;gap:6px;min-height:0;display:grid;overflow-y:auto}.selection-row{border-bottom:1px solid #edf1ed;grid-template-columns:minmax(0,1fr) 48px;gap:5px;min-height:52px;display:grid}.selection-value,.star-button{background:0 0;border:0}.selection-value{min-width:0;color:var(--ink);text-align:left;overflow-wrap:anywhere;padding:0 8px;font-size:14px;font-weight:750}.star-button{color:#9ca7a0;font-size:21px}.star-button.is-favorite{color:#809e21}.bottom-nav{z-index:30;height:calc(68px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-top:1px solid #d7e0d8f2;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#85918b;background:0 0;border:0;border-radius:13px;align-content:center;justify-items:center;gap:2px;min-width:0;display:grid}.bottom-nav button>span{border-radius:9px;place-items:center;min-width:28px;height:24px;font-size:18px;font-weight:900;display:grid}.bottom-nav small{font-size:9px;font-weight:850}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active>span{background:var(--lime)}.success-card{border:1px solid var(--line);max-width:500px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:26px;margin:9vh auto 0;padding:28px 21px}.success-mark{background:var(--lime);width:66px;height:66px;color:var(--ink);border-radius:22px;place-items:center;margin:0 auto 18px;font-size:30px;font-weight:900;display:grid}.success-card p{color:var(--muted);margin:0 0 20px}.success-total{background:var(--ink);color:#fff;border-radius:15px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:15px;display:flex}.success-total span{color:#c3d0cb;font-size:11px}.success-total strong{color:var(--lime);font-size:20px}.success-card>button{margin-top:8px}.record-tools{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.filter-button{min-height:48px;color:var(--ink);background:#fff;border:1px solid #cfd9d2;border-radius:13px;padding:0 14px;font-size:11px;font-weight:850}.filter-button.active{background:var(--ink);color:#fff}.filter-card,.report-filter-card{box-shadow:none;gap:13px;margin-bottom:14px;padding:15px;display:grid}.record-list{gap:11px;display:grid}.record-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;box-shadow:0 8px 20px #163a310d}.record-top{justify-content:space-between;gap:10px;display:flex}.record-top span{color:var(--muted);font-size:10px;font-weight:750}.record-top h2{margin:3px 0 0;font-size:20px}.record-top h2 small{color:var(--muted);font-size:10px;font-weight:700}.record-top>strong{font-size:14px}.record-facts{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.record-facts span,.review-flag{color:#52625c;background:#f0f3ef;border-radius:9px;align-items:center;min-height:29px;padding:0 9px;font-size:9px;font-weight:800;display:inline-flex}.review-flag{color:#755f15;background:#fff3ce;width:max-content}.record-actions{border-top:1px solid #edf1ed;grid-template-columns:repeat(4,1fr);gap:7px;padding-top:10px;display:grid}.record-actions button{color:#50635b;background:#f1f4f0;border:0;border-radius:10px;min-height:40px;font-size:10px;font-weight:850}.empty-state{min-height:180px;color:var(--muted);text-align:center;border:1px dashed #cbd5cd;border-radius:18px;place-content:center;justify-items:center;gap:5px;display:grid}.empty-state.compact{min-height:120px}.empty-state strong{color:var(--ink)}.empty-state span{font-size:11px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:17px;align-content:space-between;gap:15px;min-width:0;min-height:106px;padding:15px;display:grid}.metric-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:850}.metric-card strong{overflow-wrap:anywhere;letter-spacing:-.035em;font-size:clamp(17px,5vw,23px)}.metric-card.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.metric-card.dark span{color:#bfd0ca}.metric-card.lime{background:var(--lime);border-color:#abd225}.metric-card.danger{color:var(--danger);background:#fff0f0;border-color:#f2c4c6}.quantity-card{border:1px solid var(--line);background:var(--line);border-radius:17px;grid-template-columns:repeat(2,1fr);gap:1px;margin-bottom:13px;display:grid;overflow:hidden}.quantity-card div{background:#fff;align-content:center;gap:4px;min-height:82px;padding:13px;display:grid}.quantity-card span{color:var(--muted);font-size:10px}.quantity-card strong{font-size:21px}.profile-card{background:var(--ink);color:#fff;border-radius:20px;align-items:center;gap:14px;padding:18px;display:flex}.avatar{background:var(--lime);width:54px;height:54px;color:var(--ink);border-radius:18px;place-items:center;font-size:20px;font-weight:900;display:grid}.profile-card h2{margin:0 0 4px;font-size:18px}.profile-card p{color:#bed0ca;margin:0;font-size:11px}.settings-card,.security-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin:13px 0;padding:16px}.settings-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-card>div{align-items:flex-start;gap:11px;display:flex}.settings-icon{background:var(--lime-soft);border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.settings-card p,.security-card p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.45}.settings-card button{background:#eef2ec;border:0;border-radius:10px;min-height:40px;padding:0 12px;font-size:10px;font-weight:850}.user-management{border:1px solid var(--line);background:#fff;border-radius:18px;gap:13px;margin-bottom:13px;padding:16px;display:grid}.management-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.management-head h2{margin:0 0 3px;font-size:17px}.management-head p{color:var(--muted);margin:0;font-size:10px}.management-head .primary-button{min-height:42px;padding:0 13px;font-size:10px}.create-user-form{background:#f5f7f4;border-radius:15px;gap:12px;padding:14px;display:grid}.user-list{gap:8px;display:grid}.user-card{border:1px solid var(--line);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.avatar.small{border-radius:13px;width:42px;height:42px;font-size:14px}.user-detail{gap:2px;min-width:0;display:grid}.user-detail span{color:var(--muted);overflow-wrap:anywhere;font-size:9px}.user-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.user-actions button{min-height:40px;color:var(--ink);background:#eef2ec;border:0;border-radius:10px;font-size:10px;font-weight:850}.detail-backdrop{align-items:stretch;padding:12px;overflow-y:auto}.record-detail{width:min(100%,680px);box-shadow:var(--shadow);background:#fff;border-radius:24px;margin:auto;padding:18px}.record-detail .sheet-head h2{margin:4px 0 0;font-size:20px}.detail-summary{gap:10px;margin:15px 0;display:grid}.saved-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px;display:grid}.saved-photo-grid a{aspect-ratio:1;background:#e8ece8;border-radius:13px;overflow:hidden}.saved-photo-grid img{object-fit:cover;width:100%;height:100%}.audit-list{background:#f5f7f4;border-radius:15px;gap:8px;padding:14px;display:grid}.audit-list h3{margin:0 0 3px;font-size:14px}.audit-list>div{border-top:1px solid #e4e9e4;justify-content:space-between;gap:10px;padding-top:8px;font-size:10px;display:flex}.audit-list strong{text-transform:capitalize}.audit-list span{color:var(--muted);text-align:right}@media (width>=700px){.app-main{padding-top:34px}.user-pill div{display:grid}.user-pill strong{font-size:11px}.user-pill small{color:var(--muted);text-transform:capitalize;font-size:9px}.form-card{padding:28px}.quick-chip,.view-all-chip{min-height:44px}.bottom-nav{border:1px solid var(--line);border-radius:19px;width:min(760px,100% - 32px);padding-bottom:6px;bottom:10px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 12px 38px #163a3126}.form-sticky-actions{bottom:90px}}@media (width<=400px){.app-main{padding-left:12px;padding-right:12px}.topbar{padding-left:13px;padding-right:13px}.mini-brand strong{font-size:12px}.form-card{padding-left:14px;padding-right:14px}.two-column,.quantity-unit-grid{grid-template-columns:1fr}.quick-chip,.view-all-chip{min-height:44px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-sticky-actions .primary-button,.form-sticky-actions .secondary-button{padding:0 13px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
