/* Family Command Center v1.4.7b — responsive meal calendar cards */
#fcc-meal-schedule-overlay,#fcc-meal-card-overlay{position:fixed;inset:0;z-index:2147483600;background:rgba(15,23,42,.62);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px}
#fcc-meal-schedule-overlay[hidden],#fcc-meal-card-overlay[hidden]{display:none!important}
.fcc-meal-schedule-shell,.fcc-meal-card-shell{position:relative;width:min(94vw,760px);max-height:min(90vh,820px);overflow:auto;background:#fffdf8;border:2px solid #fed7aa;border-radius:28px;box-shadow:0 28px 80px rgba(15,23,42,.32);padding:24px;color:#1e293b}
.fcc-meal-x{position:sticky;float:right;top:0;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:#fff7ed;color:#9a3412;font-size:30px;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.12);cursor:pointer}
.fcc-meal-schedule-title,.fcc-meal-card-head{display:flex;gap:16px;align-items:flex-start;padding-right:48px}
.fcc-meal-chef{width:62px;height:62px;flex:0 0 62px;border-radius:20px;background:linear-gradient(145deg,#fb923c,#f59e0b);display:grid;place-items:center;font-size:36px;box-shadow:0 9px 22px rgba(245,158,11,.25)}
.fcc-meal-chef.big{width:76px;height:76px;flex-basis:76px;font-size:44px}
.fcc-meal-schedule-title h2,.fcc-meal-card-head h2{margin:2px 0 5px;font-size:clamp(22px,4vw,34px);line-height:1.08;color:#7c2d12}
.fcc-meal-schedule-title p{margin:0;color:#64748b;font-weight:650}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:900;color:#ea580c}
.fcc-meal-schedule-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:22px 0 14px}.fcc-meal-schedule-grid label{display:flex;flex-direction:column;gap:6px}.fcc-meal-schedule-grid span{font-size:12px;font-weight:850;color:#7c2d12}.fcc-meal-schedule-grid input,.fcc-meal-schedule-grid select{width:100%;box-sizing:border-box;border:1.5px solid #fdba74;border-radius:14px;padding:12px;background:white;font:inherit;font-weight:700;color:#334155}
.fcc-meal-primary,.fcc-meal-secondary{border:0;border-radius:16px;padding:13px 18px;font-weight:900;font-size:15px;cursor:pointer}.fcc-meal-primary{background:linear-gradient(135deg,#f97316,#f59e0b);color:white;box-shadow:0 8px 18px rgba(249,115,22,.22)}.fcc-meal-secondary{background:#fff7ed;color:#9a3412;border:1px solid #fdba74;margin-top:12px}
.fcc-meal-status{min-height:24px;padding:7px 2px;color:#166534;font-weight:800}.fcc-meal-existing{margin-top:16px;border-top:1px solid #fed7aa;padding-top:15px}.fcc-meal-existing h3{margin:0 0 8px;color:#7c2d12}.fcc-meal-assignment{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:11px 12px;margin:7px 0}.fcc-meal-assignment small{display:block;color:#78716c;margin-top:3px}.fcc-meal-assignment .remove{border:0;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:850;padding:8px 10px;cursor:pointer}.fcc-meal-note,.fcc-meal-help{font-size:12px;color:#78716c;line-height:1.45}.fcc-meal-note{margin-top:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:13px;padding:10px}.fcc-meal-empty,.fcc-meal-loading,.fcc-meal-error{padding:20px;border-radius:16px;background:#f8fafc;color:#64748b;font-weight:700}.fcc-meal-error{background:#fff1f2;color:#9f1239}
.fcc-meal-meta{display:flex;gap:6px;flex-wrap:wrap}.fcc-meal-meta span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:11px;font-weight:850}.fcc-meal-when{margin-top:8px;color:#475569;font-size:12px;font-weight:800}
.fcc-meal-broad,.fcc-meal-detail{margin-top:20px;background:#fff;border:1px solid #fed7aa;border-radius:22px;padding:18px}.fcc-meal-broad h3,.fcc-meal-detail h3{margin:0 0 12px;font-size:20px;color:#7c2d12}.fcc-meal-broad ul,.fcc-meal-detail ol,.fcc-meal-detail ul{margin:0;padding-left:22px}.fcc-meal-broad li,.fcc-meal-detail li{padding:5px 0;font-size:clamp(14px,2.4vw,17px);line-height:1.35}.fcc-meal-more{margin-top:9px;color:#ea580c;font-weight:900}.fcc-meal-detail h4{margin:16px 0 5px;color:#7c2d12}.fcc-meal-detail .checklist,.fcc-meal-shop-group ul{list-style:none;padding:0}.fcc-meal-detail .checklist li,.fcc-meal-shop-group li{display:flex;gap:9px;align-items:flex-start;border-bottom:1px dashed #e2e8f0;padding:8px 0}.fcc-meal-detail .checklist li span,.fcc-meal-shop-group li span{font-size:19px;color:#f59e0b}
.fcc-meal-card-actions{position:sticky;bottom:-24px;margin:18px -24px -24px;padding:12px 18px;background:rgba(255,253,248,.96);backdrop-filter:blur(8px);border-top:1px solid #fed7aa;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fcc-meal-card-actions button{border:1px solid #fdba74;background:white;color:#9a3412;border-radius:14px;padding:11px 7px;font-size:12px;font-weight:900;cursor:pointer}.fcc-meal-card-actions button.active{background:#f97316;color:#fff;border-color:#f97316}.fcc-meal-shop-group{margin:12px 0}.fcc-meal-shop-group h4{margin:0 0 4px;background:#fff7ed;padding:7px 10px;border-radius:10px;color:#9a3412}
/* Calendar meal markers: deliberately distinct from normal pink/blue calendar events. */
.fcc-meal-calendar-marker{background:#fff7ed!important;background-image:linear-gradient(135deg,#ffedd5,#fef3c7)!important;color:#7c2d12!important;border-color:#f59e0b!important;outline:1px solid rgba(245,158,11,.45)!important;box-shadow:0 2px 7px rgba(245,158,11,.18)!important;font-weight:900!important;cursor:pointer!important}
.fcc-meal-calendar-marker:hover{filter:saturate(1.08) brightness(.99);transform:translateY(-1px)}
.fcc-meal-calendar-btn{background:#fff7ed!important;border-color:#fb923c!important;color:#9a3412!important}
@media(max-width:720px){#fcc-meal-schedule-overlay,#fcc-meal-card-overlay{padding:0;align-items:flex-end}.fcc-meal-schedule-shell,.fcc-meal-card-shell{width:100vw;max-height:94vh;border-radius:26px 26px 0 0;border-left:0;border-right:0;border-bottom:0;padding:19px}.fcc-meal-schedule-grid{grid-template-columns:1fr}.fcc-meal-card-actions{grid-template-columns:1fr 1fr;margin-left:-19px;margin-right:-19px;margin-bottom:-19px;bottom:-19px}.fcc-meal-schedule-title,.fcc-meal-card-head{gap:11px;padding-right:35px}.fcc-meal-chef{width:52px;height:52px;flex-basis:52px;font-size:30px}.fcc-meal-chef.big{width:58px;height:58px;flex-basis:58px;font-size:34px}}
@media(max-width:420px){.fcc-meal-card-actions{grid-template-columns:1fr}.fcc-meal-card-shell{max-height:96vh}.fcc-meal-broad,.fcc-meal-detail{padding:14px}}
.fcc-meal-schedule-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.fcc-meal-schedule-actions .fcc-meal-secondary{margin-top:0}
/* v1.4.7c — inline/native meal scheduling */
.fcc-native-meal-schedule{margin:14px 0;padding:14px;border:2px solid #fdba74;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#fffbeb)}
.fcc-native-meal-schedule-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.fcc-native-meal-schedule-head b{display:block;font-size:13px;color:#9a3412}.fcc-native-meal-schedule-head small{display:block;margin-top:3px;font-size:10px;line-height:1.35;color:#78716c}
.fcc-native-meal-schedule-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:8px}.fcc-native-meal-schedule-grid label{display:flex;flex-direction:column;gap:4px}.fcc-native-meal-schedule-grid span{font-size:9px;font-weight:900;text-transform:uppercase;color:#9a3412}.fcc-native-meal-schedule-grid input,.fcc-native-meal-schedule-grid select{width:100%;box-sizing:border-box;border:1px solid #fdba74;border-radius:10px;padding:8px;background:#fff;color:#1e293b;font-size:11px;font-weight:700}
.native-meal-calendar-button{margin-top:9px;width:100%;border:0;border-radius:11px;padding:9px 12px;background:#f59e0b;color:#fff;font-weight:900;font-size:11px;cursor:pointer}.native-meal-calendar-status{min-height:16px;margin-top:6px;font-size:10px;font-weight:800;color:#166534}
@media(max-width:700px){.fcc-native-meal-schedule-grid{grid-template-columns:1fr}}
.fcc-meal-cook-section{margin:10px 0;padding:11px 13px;border-radius:14px;background:#fffbeb;border:1px solid #fde68a}.fcc-meal-cook-section>b{color:#92400e}.fcc-meal-cook-section ol{margin-top:6px}
