/* Weeksy concept B. Public visual assets only; no user-state or data changes. */
@font-face{font-family:Nunito;src:url('./nunito-variable.ttf') format('truetype');font-style:normal;font-weight:200 1000;font-display:swap}
:root{
 color-scheme:light;--bg:#f8f7f2;--surface:#fffefa;--surface2:#eeeee5;--text:#344532;--ink:#344532;
 --muted:#627064;--line:#dfe4d9;--green:#4e6b56;--green-dark:#3e5743;--green-strong:#c8d5c6;
 --accent:#e5ebe0;--tint:#e5ebe0;--card:#fffefa;--light:#f0f1e9;--orange:#f4e4d7;
 --sage:#c8d5c6;--beige:#eadfcc;--clay:#d9a88e;--cream:#f8f7f2;
 --shadow:0 4px 20px rgba(52,69,50,.05);--radius:20px;
 font-family:Nunito,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
body{font-family:Nunito,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font-family:inherit}
input[type=checkbox],input[type=radio]{accent-color:var(--green)}
h1,h2,h3{color:var(--ink);font-weight:850;letter-spacing:-.035em}
body .topbar{background:var(--cream);border-color:var(--line);box-shadow:none}
body .brand{color:#344532;font-size:27px;letter-spacing:-1.1px;gap:8px;font-weight:950;line-height:1}
body .brand .logo,body .brand .brand-mark{background:none;box-shadow:none;border-radius:0;width:43px;height:43px;flex:none}
.weeksy-brand-mark{display:block;width:100%;height:100%;object-fit:contain}
.weeksy-compact-brand{display:inline-flex;align-items:center;gap:5px;font-size:22px;font-weight:950;letter-spacing:-.9px;color:var(--ink);white-space:nowrap}
.weeksy-compact-brand img{width:29px;height:29px;object-fit:contain}
.weeksy-wordmark{position:relative;padding-right:9px}
.weeksy-wordmark:after{content:'';position:absolute;width:9px;height:9px;top:1px;right:0;background:var(--clay);clip-path:path('M4.5 9C3 7.8 0 5.5 0 3.2 0 .3 3-.9 4.5 1.5 6-.9 9 .3 9 3.2 9 5.5 6 7.8 4.5 9Z')}
body .avatar{background:var(--beige);color:var(--green-dark)}
body .navbtn{font-weight:800;color:#627064;border-radius:15px}
body .navbtn.active,body .navbtn:hover{background:var(--accent);color:var(--green-dark)}
body .navbtn .navicon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--beige);color:var(--green);font-size:19px}
.navicon svg{display:block;width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
body .navbtn[data-page=familyplanner] .navicon{background:var(--sage)}
body .navbtn[data-page=shopping] .navicon{background:#f1d8c4}
body .navbtn[data-page=plan] .navicon{background:var(--sage)}
body .navbtn[data-page=meals] .navicon,body .navbtn[data-page=recipes] .navicon{background:var(--beige)}
body .panel,body .stat,body .meal-card,body .library-card,body .list-card,body .mini-panel{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px}
body .btn{border-radius:12px;border-color:#d5ddcf;background:var(--surface);font-weight:800}
body .btn.primary{background:var(--green);border-color:var(--green);color:#fff}
body .btn.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}
body .hero,body .meal-hero{background:linear-gradient(110deg,#dbe4d4,#f0f0e6)!important;border:1px solid #cbd6c3;box-shadow:none;color:var(--ink)!important;border-radius:22px}
body .hero h2,body .hero p,body .meal-hero h2,body .meal-hero p{color:var(--ink)!important}
body .hero .btn{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}
body .food{background:#eee8db;border-radius:17px}
body .field input,body .field select,body .field textarea,body .field-input{background:var(--surface);border-color:#d5ddcf;border-radius:12px;color:var(--ink)}
body .modal{background:var(--surface);border-color:var(--line);border-radius:24px;box-shadow:0 20px 70px #25342228}
body .modalback{background:#23302566;backdrop-filter:blur(3px)}
body .side-note,body .sidebar-tip{background:#eee9dd;border-color:#e1d8c9;color:#59664f;border-radius:18px}
body .side-nav button.active,body .side-nav button:hover,body .bottom-nav button.active{background:var(--accent);color:var(--green-dark)}
body .side-nav .ico{color:var(--green)}
body .calendar-grid{gap:9px}
body .day-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 8px #34453204}
body .day-card.today{background:#eff2e8;border-color:#94aa8a}
body .day-card.today .day-num{background:var(--green);color:#fff}
body .calendar-pill{background:#f5f5ed;border-radius:8px;box-shadow:none}
body .calendar-pill.meal{background:#eee9db;color:#475a42}
body .calendar-pill.work{background:#e8eee5}
body .calendar-visibility-toggle{background:var(--surface);border-color:var(--line);color:var(--ink)}
body .calendar-visibility-toggle:hover{background:var(--accent);border-color:#b6c5ad}
body .list-icon,body .quick-option .quick-icon{background:#e4eadf;color:var(--green);border-radius:50%}
body .list-card.active{background:#edf1e7;border-color:#9caf91}
body .person-chip.active,body .filter-chip.active{background:var(--green);border-color:var(--green);color:#fff}
body .progress,body .weeksy-shop-progress{background:#e5e9de}
body .weeksy-shop-note,body .w3-shopping-group{border-color:var(--line)}
body .topright,body .week-range,body .page-intro p,body .sub{color:var(--muted)}
body .bottom-nav{background:var(--surface);border-color:var(--line);box-shadow:0 -4px 24px #34453208}
body .weeksy-integrated-frame .topbar{background:var(--cream)}
#weeksyBetaBanner{background:#eee7d9!important;color:#5a624e!important;border-bottom:1px solid #dedccd;letter-spacing:.06em!important}
@media(max-width:800px){
 body .brand{font-size:25px}body .brand .logo{width:37px;height:37px}
 body .sidebar .navbtn .navicon{width:30px;height:30px}body .navbtn .navicon svg{width:20px;height:20px}
 body .sidebar{border-radius:20px 20px 0 0;background:var(--surface)}
 body .navbtn{gap:3px}body .navlabel{font-weight:850}
}
@media(max-width:760px){body .weeksy-integrated-frame .topbar{background:var(--cream)}.weeksy-integrated-frame .crumb #crumbText,.weeksy-integrated-frame .weeksy-crumb-separator{display:none}}
.weeksy-week-heading h1{font-size:20px;line-height:1.25;letter-spacing:-.035em;margin:0}
@media(max-width:760px){.weeksy-week-heading h1{font-size:18px}}
@media(prefers-reduced-motion:reduce){body .modalback{backdrop-filter:none}}

#sideNav [data-nav="settings"]{margin-left:auto} .bottom-nav [data-nav="settings"]{position:relative}
