@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Public+Sans:wght@400;500;700&display=swap";:root{color:#102234;background:radial-gradient(circle at 8% 15%,#dbefff 0 20%,#0000 45%),radial-gradient(circle at 92% 6%,#ffe8c7 0 18%,#0000 44%),#f3f8fd;font-family:Public Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}h1,h2{font-family:Fraunces,Georgia,serif}.shell{max-width:1280px;margin:0 auto;padding:28px}.masthead{grid-template-columns:1.4fr 1fr;align-items:stretch;gap:16px;display:grid}.kicker{text-transform:uppercase;letter-spacing:.14em;color:#2a4d79;margin:0;font-size:.8rem;font-weight:700}h1{margin:6px 0 8px;font-size:clamp(1.8rem,1rem + 2vw,2.9rem);line-height:1.1}.subcopy{color:#1f2f3d;margin:0}.authcard{background:linear-gradient(155deg,#f7fbff,#e9f1f8);border:1px solid #b2c8de;border-radius:14px;padding:16px}.authcontrols{gap:8px;display:grid}.layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.panel{background:#fff;border:1px solid #c7d5e3;border-radius:14px;padding:14px;box-shadow:0 10px 30px #27436612}.wide{grid-column:1/-1}.stack{gap:10px;display:grid}.formrow{flex-wrap:wrap;gap:8px;display:flex}input,select,textarea,button{font:inherit}input,select,textarea{background:#fbfdff;border:1px solid #bfd2e7;border-radius:10px;width:100%;padding:9px 10px}textarea{resize:vertical}button{color:#fff;cursor:pointer;background:#2f5b8d;border:1px solid #2f5b8d;border-radius:10px;padding:9px 12px;transition:transform .12s,opacity .12s}button:hover{transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed}button.danger{background:#8f1f2a;border-color:#8f1f2a}button.danger:hover{background:#751923}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.recipegrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.recipecard{text-align:left;color:#1e344a;background:#f8fbff;border-color:#c3d4e6;gap:2px;display:grid}.recipecard.active{border-color:#164271;box-shadow:inset 0 0 0 1px #164271}.status{color:#324b67;margin:6px 0}.error{color:#8b1b1b;margin:4px 0}.planner-grid{grid-template-columns:140px repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.head{color:#213a52;font-weight:700}.daylabel{background:#f2f7fc;border-radius:10px;padding:10px;font-weight:600}.dropzone{background:#fbfdff;border:1px dashed #8eaacc;border-radius:10px;justify-content:center;align-items:center;min-height:58px;padding:6px;display:flex}.dropzone.pantry-highlight{background:#fff4dd;border-style:solid;border-color:#c47c14;box-shadow:inset 0 0 0 1px #c47c14}.slotcard{background:#d9e8f8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.slotcard.pantry-highlight{background:#ffd79a;box-shadow:inset 0 0 0 1px #a75f00}.slotcard button{border:1px solid #173d66;border-radius:6px;padding:3px 7px}.hint{color:#5f7894;font-size:.9rem}.grocery-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.grocery-list label{background:#f6fbff;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.aisle-heading{color:#23415f;margin-top:8px;font-weight:700}.done{opacity:.6;text-decoration:line-through}@media (width<=980px){.shell{padding:16px}.masthead,.layout,.planner-grid{grid-template-columns:1fr}.daylabel,.head{padding-top:6px}}
