@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{
  --bg:#f5f4f1; --surface:#fff; --ink:#151515; --muted:#77756f;
  --line:#e7e4de; --accent:#c46a3d; --soft:#f0ebe5;
  --radius:22px; --shadow:0 12px 40px rgba(22,20,17,.07);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}
body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{width:min(100%,720px);margin:auto;padding:0 18px}
.topbar{position:sticky;top:0;z-index:5;background:rgba(245,244,241,.92);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top)) 0 16px;border-bottom:1px solid rgba(231,228,222,.7)}
.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--muted);margin:0 0 6px}
.active-profile{font-weight:700;font-size:13px}
.avatar-button{width:40px;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:50%;font-weight:800;box-shadow:var(--shadow)}
.view{display:none;padding:34px 0}.view.active{display:block}
.hero{padding:18px 0 42px}
.hero h1{font-family:Manrope,sans-serif;font-size:42px;line-height:1.04;letter-spacing:-.045em;margin:0 0 16px}
.hero h1 span{color:var(--muted)}
.hero-copy,.section-copy{font-size:15px;line-height:1.6;color:var(--muted);max-width:560px}
.search-box{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:7px;margin-top:26px;box-shadow:var(--shadow)}
.search-icon{font-size:24px;color:var(--muted);padding-left:7px}
.search-box input{border:0;outline:0;background:transparent;min-width:0;flex:1;padding:13px 2px;font-size:15px}
.search-box button,.primary-button{border:0;background:var(--ink);color:#fff;border-radius:13px;padding:12px 17px;font-weight:700}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 16px}
.section-head h2{font-family:Manrope,sans-serif;font-size:22px;margin:0;letter-spacing:-.03em}
.text-button{border:0;background:none;color:var(--muted);font-size:13px;font-weight:700}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quick-card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:17px;min-height:118px;box-shadow:0 5px 20px rgba(22,20,17,.035)}
.quick-card span{display:block;font-size:20px;margin-bottom:22px}.quick-card strong{display:block;font-size:14px}.quick-card small{display:block;color:var(--muted);margin-top:4px;font-size:11px}
.saved-head{margin-top:40px}.saved-preview,.product-list{display:grid;gap:12px}
.product-card{display:grid;grid-template-columns:82px 1fr;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 5px 22px rgba(22,20,17,.04)}
.product-image{width:82px;height:100px;border-radius:13px;object-fit:cover;background:#eee}
.product-info{min-width:0}.product-title{font-weight:700;font-size:14px;line-height:1.3;margin:2px 0 7px}.product-meta{font-size:11px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.product-price{font-family:Manrope,sans-serif;font-weight:800;font-size:20px;margin-top:9px}.commission{color:#3f7655;font-size:12px;font-weight:700;margin-top:3px}.card-actions{display:flex;gap:7px;margin-top:10px}.small-button{border:1px solid var(--line);background:transparent;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700}.small-button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.view-heading{display:flex;gap:12px;align-items:center;margin-bottom:22px}.view-heading h1{font-family:Manrope,sans-serif;font-size:30px;letter-spacing:-.04em;margin:0}.back-button{border:0;background:var(--surface);border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:27px;line-height:1}
.filter-row{display:flex;gap:8px;margin-bottom:14px}.pill-button,.sort-select{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;font-size:12px;font-weight:700}.sort-select{margin-left:auto;max-width:190px}
.filter-panel{display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:18px;margin-bottom:14px}.filter-panel label,.dialog-form label{font-size:12px;font-weight:700;color:var(--muted);display:grid;gap:7px}.filter-panel input,.dialog-form input{border:1px solid var(--line);border-radius:11px;padding:11px;background:#faf9f7;outline:0}.hidden{display:none!important}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;margin:auto;z-index:10;width:min(100%,720px);height:72px;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.nav-item{border:0;background:transparent;color:#999;padding:9px 0}.nav-item span{display:block;font-size:21px;line-height:24px}.nav-item small{font-size:10px}.nav-item.active{color:var(--ink);font-weight:800}
.profiles-list{display:grid;gap:10px;margin:22px 0}.profile-card{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:15px}.profile-main{display:flex;align-items:center;gap:12px}.profile-avatar{width:42px;height:42px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-weight:800}.profile-card strong{display:block}.profile-card small{color:var(--muted)}.active-dot{width:8px;height:8px;border-radius:50%;background:#4c8a61;display:inline-block;margin-right:5px}
dialog{border:0;border-radius:26px;padding:0;width:min(92vw,560px);box-shadow:0 30px 100px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.35);backdrop-filter:blur(4px)}#productDetail{padding:22px}.close-dialog{width:calc(100% - 44px);margin:0 22px 22px;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:11px;font-weight:700}.dialog-form{padding:22px;display:grid;gap:15px}.dialog-top{display:flex;justify-content:space-between;align-items:start}.dialog-top h2{font-family:Manrope;margin:0;font-size:24px}.icon-button{border:0;background:none;font-size:25px}.security-note{font-size:11px;line-height:1.5;color:var(--muted);background:var(--soft);padding:12px;border-radius:12px}
.detail-image{width:100%;max-height:320px;object-fit:contain;border-radius:18px;background:#f3f2ef}.detail-title{font-family:Manrope;font-size:25px;line-height:1.12;margin:18px 0 8px}.detail-price{font-family:Manrope;font-size:32px;font-weight:800}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.metric{background:#f7f6f3;border-radius:15px;padding:13px}.metric small{display:block;color:var(--muted);font-size:10px}.metric strong{display:block;margin-top:5px;font-size:15px}.score{font-family:Manrope;font-size:38px;font-weight:800}.score-label{color:#3f7655;font-weight:700;font-size:12px}
.empty{padding:28px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center;font-size:13px}
@media(min-width:700px){.app-shell{padding:0 28px}.quick-grid{grid-template-columns:repeat(4,1fr)}.hero h1{font-size:56px}}


.hidden{display:none!important}
.login-screen{min-height:100vh;min-height:100svh;background:#f5f4f1;display:grid;place-items:center;padding:28px 20px calc(28px + env(safe-area-inset-bottom))}
.login-inner{width:min(100%,470px)}
.login-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:64px}
.login-mark{width:44px;height:44px;border-radius:14px;background:#151515;color:#fff;display:grid;place-items:center;font:800 12px Manrope,sans-serif;letter-spacing:.08em}
.login-copy h1{font:800 43px/1.03 Manrope,sans-serif;letter-spacing:-.05em;margin:0 0 16px}
.login-copy h1 span{color:#77756f}
.login-copy>p:last-child{font-size:15px;line-height:1.6;color:#77756f;max-width:410px}
.login-form{margin-top:34px;display:grid;gap:14px}
.login-form label{font-size:12px;font-weight:700;color:#77756f;display:grid;gap:7px}
.login-form input,.login-form select{width:100%;border:1px solid #e7e4de;border-radius:14px;padding:14px;background:#fff;outline:0;color:#151515}
.login-form input:focus,.login-form select:focus{border-color:#b9b3aa;box-shadow:0 0 0 4px rgba(21,21,21,.04)}
.login-button{width:100%;padding:14px 18px;border-radius:14px;margin-top:4px}
.login-note{font-size:11px;line-height:1.55;color:#8a8780;margin:2px 2px 0}
.login-error{font-size:12px;color:#a43d2e;background:#f7e7e3;border-radius:11px;padding:10px 12px}
.secondary-button{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;padding:12px 17px;font-weight:700;margin-top:4px}
@media(max-width:420px){
  .login-brand{margin-bottom:48px}
  .login-copy h1{font-size:39px}
}
