:root{--ink:#18342b;--forest:#325a49;--paper:#fbfaf6;--cream:#f0ece1;--line:#ded8c9;--accent:#dc795c;--muted:#6a766e}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.45 ui-rounded,"Avenir Next",system-ui,sans-serif}.app-shell{max-width:760px;margin:auto;min-height:100vh;background:var(--paper);padding:24px 18px 48px}.topbar,.section-heading,.filters{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}h1,h2,p{margin:0}h1{font-size:clamp(1.8rem,6vw,2.5rem);letter-spacing:-.06em}h2{font-size:1.4rem;letter-spacing:-.04em}.eyebrow{font-size:.68rem;letter-spacing:.12em;color:var(--forest);font-weight:800}.icon-button,.close-button{border:0;background:transparent;color:var(--forest);font-size:1.35rem;cursor:pointer}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.summary article{background:var(--forest);color:#fff;border-radius:14px;padding:13px 11px}.summary span{font-size:.7rem;display:block;opacity:.78}.summary strong{font-size:1.1rem}.tabs{display:flex;border-bottom:1px solid var(--line);margin:5px 0 25px;gap:18px}.tab{padding:10px 0;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.tab.is-active{border-color:var(--accent);color:var(--ink);font-weight:800}.view{display:none}.view.is-visible{display:block}.section-heading{margin-bottom:20px}.section-heading>p{font-size:.78rem;color:var(--muted);max-width:205px;text-align:right}label{display:block;font-size:.85rem;font-weight:700;margin:0 0 16px}input,select,textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:11px;font:inherit}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.unit-price{background:#e8f1e9;border-radius:9px;padding:10px 12px;margin:-3px 0 16px;font-size:.84rem;font-weight:700;color:var(--forest)}fieldset{border:0;margin:0 0 16px;padding:0}legend{font-size:.85rem;font-weight:700;margin-bottom:6px}legend span,.optional{color:var(--muted);font-weight:400}.rating{display:flex;gap:7px}.rating input{position:absolute;opacity:0}.rating label{margin:0;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;cursor:pointer;color:var(--muted)}.rating input:checked+label{background:var(--accent);border-color:var(--accent);color:#fff}.primary-button,.secondary-button,.import-label{border:0;border-radius:10px;padding:13px 15px;background:var(--accent);color:#fff;font:inherit;font-weight:800;cursor:pointer;text-align:center;display:block;width:100%}.filters{margin-bottom:18px}.filters>*{margin:0}.record-list{display:grid;gap:10px}.record{border:1px solid var(--line);border-radius:12px;padding:14px;position:relative}.record h3{font-size:1rem;margin:0 28px 3px 0}.record-meta{font-size:.8rem;color:var(--muted)}.record-price{color:var(--forest);font-weight:800;margin-top:8px}.delete-record{position:absolute;right:9px;top:8px;border:0;background:transparent;color:#a95543;font-size:1.25rem;cursor:pointer}.empty-state{border:1px dashed var(--line);border-radius:12px;padding:24px;text-align:center;color:var(--muted)}.comparison{margin-top:18px}.comparison-grid{display:grid;gap:9px}.comparison-card{border-left:5px solid var(--forest);background:#f0f5f0;border-radius:8px;padding:12px}.comparison-card h3{margin:0 0 3px;font-size:1rem}.comparison-card p{font-size:.86rem}.comparison-card strong{color:var(--forest)}dialog{border:0;border-radius:16px;width:min(92vw,420px);padding:0;box-shadow:0 15px 55px #0004}dialog::backdrop{background:#18342b88}.settings-panel{padding:25px;position:relative}.settings-panel p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin:10px 0 20px}.close-button{position:absolute;right:12px;top:9px;font-size:1.8rem}.secondary-button,.import-label{background:var(--forest);margin-bottom:12px}.import-label input{display:none}.settings-panel hr{border:0;border-top:1px solid var(--line);margin:23px 0}.text-button{border:0;background:transparent;color:#a95543;text-decoration:underline;padding:0;font:inherit;cursor:pointer}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,130px);background:var(--ink);color:white;padding:10px 16px;border-radius:999px;transition:.25s;z-index:2;font-size:.88rem}#toast.show{transform:translate(-50%,0)}@media(min-width:650px){.app-shell{margin:26px auto;border-radius:22px;box-shadow:0 5px 30px #18342b14}.topbar{padding-top:4px}}
