:root{--navy:#17324d;--navy2:#244b6b;--accent:#df7f6e;--accent2:#f7ddd5;--soft:#eaf3f7;--bg:#f8f5ef;--surface:#fff;--text:#223446;--muted:#74808b;--line:#e8e2d9;--success:#4d8068;--shadow:0 12px 35px rgba(28,50,69,.07);--font:Arial,sans-serif;--heading:Arial,sans-serif;--heading-weight:800;--heading-spacing:-.025em;--body-spacing:0}html[data-theme=sage]{--navy:#315849;--navy2:#477563;--accent:#bd725e;--accent2:#f0ddd4;--soft:#e6eee8;--bg:#f5f1e7;--text:#293d35;--line:#e2dccf;--success:#52745e}html[data-theme=midnight]{--navy:#101f35;--navy2:#1d3b5c;--accent:#c98b48;--accent2:#f1dfc5;--soft:#e4eef6;--bg:#f7f3eb;--surface:#fffdf9;--text:#1d2b3b;--muted:#68788a;--line:#dfe4e7;--success:#4f7a6b}html[data-theme=espresso]{--navy:#3b2b25;--navy2:#60473b;--accent:#b86f4f;--accent2:#eed8ca;--soft:#e7ede3;--bg:#f4eee4;--surface:#fffdf8;--text:#3c332e;--muted:#7c7169;--line:#e4d9cb;--success:#61785d}html[data-font=modern]{--font:"Trebuchet MS",Arial,sans-serif;--heading:"Trebuchet MS",Arial,sans-serif;--heading-weight:800;--heading-spacing:-.035em;--body-spacing:0}html[data-font=editorial]{--font:Georgia,"Times New Roman",serif;--heading:Georgia,"Times New Roman",serif;--heading-weight:700;--heading-spacing:-.018em;--body-spacing:.005em}html[data-font=rounded]{--font:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;--heading:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;--heading-weight:700;--heading-spacing:-.015em;--body-spacing:.01em}html[data-font=bold]{--font:Arial,Helvetica,sans-serif;--heading:"Arial Black",Arial,sans-serif;--heading-weight:900;--heading-spacing:-.045em;--body-spacing:.015em}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);letter-spacing:var(--body-spacing);font-size:15px}.app-shell{min-height:100vh}h1,h2,h3,.logo,.stat strong,.top-title{font-family:var(--heading);font-weight:var(--heading-weight);letter-spacing:var(--heading-spacing)}html[data-font=editorial] h1,html[data-font=editorial] h2,html[data-font=editorial] h3{line-height:1.12}html[data-font=rounded] .btn,html[data-font=rounded] .side-nav a{border-radius:18px}html[data-font=bold] h1{text-transform:uppercase;font-size:.94em}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--surface);border-right:1px solid var(--line);padding:25px 16px;z-index:20}.logo{font-size:22px;color:var(--navy);text-decoration:none;padding:0 10px}.logo span{color:var(--accent)}.side-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin:28px 12px 9px}.side-nav a{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--text);padding:11px 13px;border-radius:12px;margin:3px 0;font-weight:650}.side-nav a:hover,.side-nav a.active{background:var(--soft);color:var(--navy)}.side-nav .ask{background:var(--navy);color:#fff;margin-top:12px}.main{margin-left:245px;min-height:100vh}.topbar{height:72px;background:rgba(255,255,255,.86);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.top-title{color:var(--navy)}.profile-dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:850;color:var(--navy)}.content{max-width:1320px;margin:auto;padding:28px 32px 80px}.dog-hero{border-radius:25px;padding:28px 30px;background:linear-gradient(125deg,var(--navy),var(--navy2));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;opacity:.76}.dog-hero h1{font-size:31px;margin:8px 0 6px}.dog-hero p{margin:0;color:rgba(255,255,255,.8)}.btn{border:0;border-radius:12px;padding:11px 15px;background:var(--accent);color:#fff;font-family:var(--font);font-weight:800;cursor:pointer}.btn.soft{background:var(--soft);color:var(--navy)}.btn.ghost{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:17px 0}.stat,.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px}.stat{padding:17px 19px}.stat small{display:block;color:var(--muted);font-weight:650}.stat strong{display:block;font-size:22px;color:var(--navy);margin-top:5px}.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:17px}.card{padding:21px}.card h2,.card h3{margin:0;color:var(--navy)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.muted{color:var(--muted)}.task{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.task small{display:block;color:var(--muted);margin-top:2px}.done{color:var(--success);font-weight:800}.mini{padding:7px 10px;font-size:12px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid a,.quick-grid button{text-decoration:none;text-align:center;padding:12px 8px;border-radius:12px;background:var(--soft);color:var(--navy);font-weight:750;border:0;font-family:var(--font);cursor:pointer}.ask-card{margin-top:15px;background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;border:0}.ask-card h3{color:#fff}.ask-card p{color:rgba(255,255,255,.78)}.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-top:17px}.module-link{display:inline-block;margin-top:10px;color:var(--navy);font-weight:800;text-decoration:none}.progress{height:8px;background:var(--soft);border-radius:99px;overflow:hidden;margin:12px 0}.progress span{display:block;height:100%;background:var(--success);border-radius:99px}.bottom-nav{display:none}.modal{display:none;position:fixed;inset:0;background:rgba(23,50,77,.45);z-index:50;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.sheet{background:var(--surface);width:min(520px,100%);border-radius:22px;padding:23px}.sheet-head{display:flex;justify-content:space-between}.close{border:0;background:var(--soft);width:35px;height:35px;border-radius:50%}label{display:block;font-weight:750;margin:13px 0 5px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);font-family:var(--font)}.sheet-actions{display:flex;gap:8px;margin-top:15px}.auth-wrap{max-width:700px;margin:5vh auto;padding:22px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.msg{color:#a3483d;margin-top:10px}.appearance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{border:2px solid var(--line);border-radius:14px;padding:13px;cursor:pointer}.choice.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent2)}.swatches{display:flex;gap:5px;margin-top:8px}.swatches i{width:23px;height:23px;border-radius:50%}.mobile-top{display:none}@media(max-width:900px){.sidebar{display:none}.main{margin-left:0}.topbar{padding:0 18px}.content{padding:20px 16px 88px}.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;padding:9px 4px max(9px,env(safe-area-inset-bottom))}.bottom-nav a{font-size:11px;text-decoration:none;color:var(--navy);font-weight:750;text-align:center}.bottom-nav span{display:block;font-size:18px}.mobile-top{display:block;font-weight:850;color:var(--navy)}}@media(max-width:620px){.dog-hero{padding:22px;align-items:flex-start;flex-direction:column}.dog-hero h1{font-size:26px}.stats{grid-template-columns:1fr}.modules{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.appearance-grid{grid-template-columns:1fr}.top-title{display:none}}