:root{--purple:#382447;--deep:#2c1c38;--gold:#b89858;--cream:#f7f5ef;--ink:#302d32;--muted:#78737c;--line:#e8e4dc;--sage:#637d6d;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.55 var(--sans)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s,transform .15s}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b8985890;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:normal;line-height:1.2}h1{font-size:34px;letter-spacing:-.7px}h2{font-size:25px}h3{font-size:15px;font-weight:600}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#95763e;display:block}.eyebrow.light{color:#d8c092}.brand{display:flex;align-items:center;gap:13px}.brand strong{display:block;font:14px var(--serif);letter-spacing:1.05px}.brand small{display:block;font-size:7px;letter-spacing:1.7px;margin-top:4px}.monogram{position:relative;width:43px;height:51px;border:1px solid var(--gold);border-radius:23px 23px 8px 8px;display:grid;place-items:center;color:var(--gold);font:19px var(--serif);padding-top:8px}.monogram span{position:absolute;top:1px;font-size:11px}.primary,.cream-button,.secondary{border:0;border-radius:7px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:13px;font-weight:600;min-height:46px}.primary{background:var(--purple);color:white}.primary .icon{width:17px}.cream-button{background:#f3ede0;color:var(--purple)}.secondary{background:white;border:1px solid var(--line);color:var(--purple)}.full{width:100%}.text-button{border:0;background:none;padding:0;color:var(--purple);font-size:12px}.login{display:grid;grid-template-columns:46% 54%;min-height:100dvh}.login-story{background:var(--purple);color:#f8f3e8;padding:44px 60px 27px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;width:600px;height:600px;border:1px solid #b8985817;border-radius:50%;right:-360px;top:70px;pointer-events:none}.story-main{margin:auto 0;padding-top:50px}.story-main h1{font-size:46px;line-height:1.17;margin:20px 0;letter-spacing:-.8px}.story-main p{color:#d1c6d6;line-height:1.8;font-size:14px}.login-story footer{font:italic 12px var(--serif);color:#cbb88f;border-top:1px solid #ffffff14;padding-top:23px}.plate-art{height:260px;position:relative;display:grid;place-items:center;margin:5px auto 24px;width:300px}.plate{height:205px;width:205px;border:18px solid #f2e9d7;border-radius:50%;background:#e5d9bd;box-shadow:0 10px 30px #1a0a2840,inset 0 0 0 1px #d3c8af;position:relative;transform:rotate(-13deg)}.food{position:absolute;border-radius:45%;box-shadow:inset -5px -7px 0 #00000008}.rice{width:77px;height:70px;background:repeating-linear-gradient(32deg,#faf7ec 0 3px,#eae4d4 4px 5px);left:9px;top:15px}.beans{width:66px;height:54px;background:radial-gradient(ellipse,#80543a 40%,#9e7150 45%,#694328 80%);background-size:16px 11px;left:15px;bottom:18px}.green{width:68px;height:55px;right:8px;top:14px;background:radial-gradient(circle,#819664 40%,#657c4f 43%,#b1bd88 65%);background-size:24px 20px}.carrot{width:47px;height:43px;background:repeating-linear-gradient(30deg,#d69c59 0 9px,#b88144 10px 12px);bottom:17px;right:4px}.chicken{width:71px;height:48px;background:repeating-linear-gradient(10deg,#bc8d58 0 8px,#9a7042 9px 10px);left:74px;top:76px;transform:rotate(25deg)}.herb{color:#4f7049;font-size:48px;position:absolute;left:59px;top:50px}.orbit{position:absolute;border:1px solid #b8985840;border-radius:50%;width:255px;height:255px}.o2{width:280px;height:280px;border-style:dashed;opacity:.4}.art-caption{position:absolute;bottom:0;right:-35px;font:italic 15px var(--serif);color:#d7c293;transform:rotate(-5deg)}.login-form{padding:35px 50px 20px;display:flex;flex-direction:column;align-items:center}.demo-pill{align-self:flex-end;background:#ece7df;color:#847657;padding:6px 12px;border-radius:20px;font-size:9px;font-weight:700;letter-spacing:1px}.login-inner{width:100%;max-width:383px;margin:auto;padding:55px 0}.login-inner h2{font-size:33px;margin:16px 0}.login-inner>p{color:var(--muted);margin-bottom:29px;font-size:13px}.login-inner label{display:block;font-weight:600;font-size:12px;margin:20px 0 8px}.input-icon{position:relative}.input-icon>.icon{position:absolute;left:15px;top:14px;color:#928b97;width:18px}.input-icon input{border:1px solid #dcd7df;background:#fff;padding:13px 13px 13px 43px;border-radius:6px;width:100%;color:var(--ink);font-size:13px;min-height:48px}.login-help{display:flex;justify-content:space-between;margin:14px 0 20px;font-size:11px;color:#8a848e}.login-help .icon{width:12px;height:12px}.error{color:#a3453d;font-size:12px;margin-bottom:8px}.divider{margin:30px 0 20px;display:flex;align-items:center;gap:12px;color:#918997;font-size:9px;letter-spacing:1.2px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}.demo-button{display:flex;gap:12px;justify-content:center;align-items:center;background:none;border:1px solid #d7cedf;color:var(--purple);width:100%;padding:13px;border-radius:6px;font-size:12px}.demo-button .icon{width:17px}.demo-note{text-align:center;color:#928b96;font-size:10px;margin-top:12px}.login-form footer{font-size:10px;color:#9b949e}.login-form footer .icon{height:12px;width:12px;color:#b89858;margin-left:5px}.app-shell{display:flex;min-height:100dvh}.sidebar{width:242px;background:var(--purple);color:#e6ddec;position:fixed;inset:0 auto 0 0;padding:32px 22px;display:flex;flex-direction:column}.sidebar .brand{gap:10px}.sidebar .brand strong{font-size:11px}.sidebar .brand small{font-size:6px;letter-spacing:1.2px}.sidebar .monogram{width:38px;height:46px;font-size:17px}.portal-label{font-size:9px;letter-spacing:1.5px;color:#aa99b2;margin:43px 12px 15px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border:0;border-radius:6px;background:none;color:#c7b9d0;width:100%;text-align:left;font-size:12px;margin-bottom:5px}.nav-item.active{background:#ffffff12;color:#fff}.nav-item .icon{width:17px;height:17px}.nav-item.active .icon{color:#cfb17d}.nav-dot{height:5px;width:5px;background:#c6a666;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto}.care-note{border-top:1px solid #ffffff18;padding:27px 12px;display:flex;align-items:center;gap:13px}.care-note>.icon{color:#bda577;width:28px;height:28px}.care-note p{font-family:var(--serif);color:#bdadc8;font-size:14px;line-height:1.6}.care-note strong{font-weight:normal;color:#e3d6bb}.version{font-size:9px;color:#a18eac;margin:0 14px 14px;display:block}.workspace{margin-left:242px;width:calc(100% - 242px)}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fffefd;display:flex;justify-content:space-between;align-items:center;padding:0 42px}.top-title{font-size:12px;font-weight:600;color:#594c61}.top-sub{font-size:11px;color:#aaa2ae;font-weight:400;margin-left:12px}.header-right{display:flex;align-items:center;gap:11px}.env-dot{font-size:9px;color:#8c826d;margin-right:15px}.env-dot:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#bea36f;margin-right:6px}.guardian{font-size:11px}.avatar{display:flex;align-items:center;justify-content:center;width:47px;height:47px;border-radius:50%;background:#eee7f2;color:var(--purple);font-family:var(--serif);font-size:18px;flex-shrink:0}.tiny{height:30px;width:30px;font-size:11px}.small{height:35px;width:35px;font-size:13px}.sage-bg{background:#e8eee8;color:#5e7563}main{max-width:1320px;margin:auto;padding:37px 42px 32px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.page-heading h1{font-size:31px;margin:10px 0}.page-heading p{color:var(--muted);font-size:12px}.date-chip{border:1px solid var(--line);border-radius:5px;padding:8px 11px;font-size:10px;color:#847b8a;white-space:nowrap}.date-chip .icon{width:14px;height:14px;margin-right:7px}.welcome-banner{position:relative;background:var(--purple);border-radius:10px;padding:29px 34px;overflow:hidden;display:flex;justify-content:space-between;color:#f8f2e7;min-height:238px}.welcome-banner h2{font-size:32px;margin:13px 0 12px;line-height:1.15}.welcome-banner p{font-size:11px;color:#c9bcd3;margin-bottom:22px}.welcome-banner p span{margin:0 9px;color:#bda577}.welcome-banner .cream-button{font-size:11px;min-height:39px;padding:10px 15px}.banner-art{position:relative;width:280px;display:flex;align-items:center;justify-content:center}.banner-art:before,.banner-art:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #b8985838;border-radius:50%;right:0;top:-21px}.banner-art:after{width:280px;height:280px;right:-25px;top:-46px;opacity:.5}.bowl{height:146px;width:146px;border:13px solid #e5d8bc;box-shadow:0 9px 20px #15091c50,inset 0 0 0 4px #d5c7a8;border-radius:50%;background:#f0e7d3;position:relative;transform:rotate(-15deg)}.bowl:before{content:'';width:55px;height:60px;background:#b58a52;position:absolute;left:11px;bottom:14px;border-radius:45%;box-shadow:inset 3px 3px 0 #d1a46c}.bowl:after{content:'';width:45px;height:40px;background:repeating-linear-gradient(40deg,#eee8d5 0 3px,#d5ccb4 4px 5px);position:absolute;right:5px;top:10px;border-radius:40%}.bowl span{font-size:60px;color:#6f855b;position:absolute;left:2px;top:-9px}.bowl i{width:45px;height:39px;border-radius:40%;position:absolute;right:9px;bottom:10px;background:repeating-linear-gradient(15deg,#b6753d 0 6px,#cb8d4f 7px 12px)}.art-label{position:absolute;right:-2px;bottom:-2px;font:italic 12px/1.5 var(--serif);color:#bda77e;text-align:right}.art-label strong{color:#e0d0b0;font-weight:normal}.banner-leaf{position:absolute;left:7px;top:26px;transform:rotate(-24deg);color:#b89858;opacity:.6}.banner-leaf .icon{width:45px;height:45px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 31px}.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:20px;display:flex;align-items:flex-start;gap:15px}.stat-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;margin-top:4px}.stat-icon .icon{width:18px}.purple{background:#eee8f3;color:var(--purple)}.sage{background:#edf1e9;color:#728768}.gold{background:#f5eee0;color:#b09153}.stat small{font-size:11px;color:#817788;display:block}.stat strong{display:block;font-size:27px;line-height:1.4;font-weight:500;letter-spacing:-.7px}.stat div>span{display:block;font-size:9px;color:#a19aa6;margin-top:3px}.home-grid{display:grid;grid-template-columns:1fr 285px;gap:25px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-title h2{font-size:23px}.section-title>span{font-size:10px;color:#9d939f}.children{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.child-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px 19px 0}.child-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.active-label{color:#75846b;background:#f1f4ed;border-radius:12px;padding:3px 7px;font-size:8px}.active-label .icon{width:10px;height:10px}.child-card h3{font-size:14px;margin:16px 0 2px}.child-card p{font-size:10px;color:#958c9b}.child-bottom{border-top:1px solid #f0edf2;margin-top:20px;padding:13px 0;display:flex;justify-content:space-between;align-items:center}.child-bottom span{font-size:9px;color:#968a9d}.child-bottom button{border:0;border-radius:50%;background:#f4f0f6;color:var(--purple);width:29px;height:29px}.child-bottom .icon{width:15px}.reminder{display:flex;align-items:flex-start;gap:12px;background:#efede6;border-radius:7px;padding:16px 18px;margin-top:20px;color:#928264}.reminder>.icon{width:18px;height:18px;margin-top:3px}.reminder strong{font-size:11px;font-weight:600;color:#786b56}.reminder p{font-size:10px;color:#938a7b;margin-top:3px}.reminder b{font-weight:600}.notice-board{background:#f0eee7;border:1px solid #e6e2d8;border-radius:8px;padding:25px 23px}.notice-board h2{font-size:23px;margin:11px 0 24px}.notice{display:flex;gap:12px;margin:0 0 22px}.notice:last-child{margin:0}.notice>.icon{width:17px;height:17px;color:#a0875c;margin-top:2px}.notice h3{font-size:11px;margin-bottom:5px;color:#685e6e}.notice p{font-size:10px;color:#928995;line-height:1.7}.app-footer{display:flex;justify-content:space-between;margin:0 42px;padding:18px 0;border-top:1px solid var(--line);font-size:9px;color:#a69ca9}.app-footer span:last-child{font-family:var(--serif);font-style:italic}.mobile-nav{display:none}.student-picker{background:white;border:1px solid var(--line);border-radius:8px;padding:18px 22px;margin-bottom:27px;display:flex;align-items:center;gap:28px}.student-picker>span{font-size:11px;font-weight:600;color:#968a9c;white-space:nowrap}.student-picker>div{display:flex;gap:12px;flex-wrap:wrap}.student-tab{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:7px;padding:10px 14px;background:#fff;text-align:left;min-width:240px;color:#807189}.student-tab.selected{border-color:#897199;background:#f7f4f9}.student-tab strong{display:block;font-size:12px;font-weight:600}.student-tab small{display:block;font-size:9px;color:#9b90a3;margin-top:1px}.student-tab>.icon{margin-left:auto;width:16px}.week-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.week-toolbar h2{font-size:26px;margin-top:7px}.week-switch{display:flex;align-items:center;gap:14px;font-size:11px;color:#8b7d94}.square{width:31px;height:31px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:21px;color:var(--purple);line-height:1}.deadline{display:flex;align-items:center;gap:5px;font-size:10px;color:#8e8170;margin-bottom:18px}.deadline .icon{width:15px;height:15px;margin-right:3px}.deadline span{color:#b0a595;margin-left:5px}.menu-list{display:grid;gap:12px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;padding:18px 20px;gap:23px}.menu-date{min-width:56px;text-align:center;border-right:1px solid var(--line);padding-right:20px;color:#796286;line-height:1.3}.menu-date>span{font-size:9px;letter-spacing:1px}.menu-date strong{display:block;font:29px var(--serif);margin:3px 0}.menu-date small{font-size:10px;color:#a79aaa}.menu-body{flex:1}.menu-title{display:flex;align-items:center;gap:12px}.menu-title .eyebrow{font-size:8px;letter-spacing:1.2px}.menu-status{font-size:8px;color:#859875;background:#f2f5ee;border-radius:15px;padding:2px 7px;white-space:nowrap}.menu-status.locked{background:#eee;color:#8a848d}.menu-body h3{font-family:var(--serif);font-weight:normal;font-size:20px;margin:5px 0}.menu-body>p{color:#887c91;font-size:11px}.sides{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;color:#aaa0b0;margin-top:9px}.sides .icon{width:11px;height:11px;margin-right:3px;color:#809273}.meal-options{display:flex;gap:6px;flex-direction:column;min-width:177px;border:0;margin:0;padding:0}.meal-options legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.meal-option{display:flex;align-items:center;gap:7px;border:1px solid #eee9f0;border-radius:5px;padding:7px 8px;font-size:10px;color:#8d7e96;cursor:pointer}.meal-option.chosen{border-color:#b9a6c5;background:#f8f5fa;color:var(--purple)}.meal-option input{accent-color:var(--purple);width:12px;height:12px;margin:0}.meal-option strong{margin-left:auto;font-size:10px;font-weight:500}.closed{opacity:.65}.reservation-summary{position:sticky;bottom:15px;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #d8cedf;box-shadow:0 5px 20px #3824470b;padding:15px 23px;border-radius:8px;margin-top:23px}.reservation-summary small{font-size:8px;letter-spacing:1.4px;color:#a28a62;display:block;margin-bottom:5px}.reservation-summary strong{font-size:13px;font-weight:500}.reservation-summary strong span{color:var(--purple);margin-left:10px;font-weight:600}.bottom-note{display:flex;justify-content:center;align-items:center;gap:6px;font-size:9px;color:#a297a8;margin-top:16px}.bottom-note .icon{width:12px;height:12px}.card{background:#fff;border:1px solid var(--line);border-radius:8px}.review{max-width:800px;margin:30px auto;padding:35px}.review h2{font-size:28px;margin-top:10px}.review>p{font-size:12px;color:#9b8da4;margin-top:8px;margin-bottom:23px}.review-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:17px 0;font-size:12px}.review-row strong{font-size:11px;font-weight:500;color:var(--purple)}.review-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;align-items:center;font-size:12px}.review-total strong{font-size:26px;color:var(--purple)}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.filter-row{display:flex;align-items:center;gap:15px;margin:0 0 22px;font-size:12px;color:#968a9d}.filter-row select{border:1px solid #dcd3e3;border-radius:6px;background:#fff;padding:10px;max-width:260px;color:var(--purple)}.filter-row>span{margin-left:auto;font-size:11px}.order-list{padding:0 22px}.order-row{display:flex;align-items:center;gap:23px;padding:20px 0;border-bottom:1px solid var(--line)}.order-row:last-child{border-bottom:0}.order-row h3{font-size:12px}.order-row p{font-size:10px;color:#9e91a7}.order-day{display:flex;align-items:center;gap:8px;color:#8f7c9a;font-size:12px}.order-day .icon{width:16px}.order-badge{font-size:9px;color:var(--sage);background:#edf2e9;border-radius:12px;padding:3px 8px;margin-left:auto}.order-row>strong{font-size:12px;color:var(--purple)}.order-row .text-button{display:flex;align-items:center;font-size:10px;gap:3px}.order-row .text-button .icon{width:12px}.empty{text-align:center;padding:65px 20px}.empty>.icon{width:35px;height:35px;color:#a38bae;margin-bottom:20px}.empty h2{font-size:28px}.empty p{color:#9a8ba2;font-size:12px;margin:13px 0 25px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;transition:.2s;pointer-events:none;z-index:100;background:var(--deep);color:#fff;padding:15px 25px;border-radius:8px;box-shadow:0 4px 20px #0002;max-width:90vw;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.welcome-banner{min-height:250px}.banner-art{width:400px}.banner-art:before{right:60px}.banner-art:after{right:35px}.art-label{right:40px}}
@media(max-width:1200px){.sidebar{width:215px;padding:30px 16px}.workspace{margin-left:215px;width:calc(100% - 215px)}main{padding:30px 26px}.topbar{padding:0 26px}.page-heading h1{font-size:28px}.date-chip{display:none}.home-grid{grid-template-columns:1fr 235px;gap:20px}.stat{padding:16px;gap:10px}.stat strong{font-size:24px}.stat div>span{font-size:8px}.child-card{padding:18px 15px 0}.child-card h3{font-size:12px}.active-label{font-size:7px}.menu-card{gap:15px;padding:16px}.sides{flex-direction:column;gap:2px}.student-tab{min-width:205px}.app-footer{margin:0 26px}.notice-board{padding:23px 17px}}
@media(max-width:1000px){.home-grid{grid-template-columns:1fr}.notice-board{display:none}.menu-title{flex-wrap:wrap;gap:5px}.student-picker{gap:17px}.student-picker>div{flex:1}.student-tab{min-width:0;flex:1}.student-picker>span{display:none}.top-sub,.guardian,.env-dot{display:none}.banner-art{width:210px}.login-story{padding:35px}.story-main h1{font-size:38px}.login-form{padding:30px}.login-inner h2{font-size:29px}.plate-art{transform:scale(.85);transform-origin:center left;width:230px}.stats{gap:10px}.stat{gap:10px;display:block}.stat-icon{float:right;margin:0}.stat strong{margin-top:5px}.stat small{font-size:10px}.stat div>span{font-size:8px}.meal-options{min-width:155px}.menu-body h3{font-size:18px}.order-row{gap:13px}.order-row .text-button{display:none}}
@media(max-width:760px){.login{grid-template-columns:1fr}.login-story{padding:25px 27px 30px;min-height:260px}.story-main{padding-top:30px}.story-main h1{font-size:32px;margin:12px 0}.story-main p{font-size:11px;max-width:220px}.login-story footer{display:none}.plate-art{position:absolute;right:-82px;top:76px;transform:scale(.55);transform-origin:top left}.art-caption{display:none}.login-story .eyebrow{font-size:8px}.login-story .brand strong{font-size:12px}.login-story .brand small{font-size:6px}.login-story .monogram{height:44px;width:37px;font-size:16px}.login-form{padding:20px 28px 25px}.demo-pill{font-size:8px;align-self:center}.login-inner{padding:30px 0}.login-inner h2{font-size:29px}.login-inner>p{font-size:12px}.login-inner label{margin-top:15px}.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:61px;padding:0 21px}.top-title{font-family:var(--serif);font-size:15px}.header-right{gap:0}.top-title:after{content:'REGINA ANGELORUM';display:block;font:7px var(--sans);letter-spacing:1.5px;color:#a38961;margin-top:1px}main{padding:25px 20px 25px}.page-heading{margin-bottom:21px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.page-heading h1{font-size:29px;max-width:330px;line-height:1.13;margin:10px 0 12px}.page-heading p{font-size:11px;max-width:310px;line-height:1.7}.welcome-banner{padding:25px 24px;min-height:236px}.welcome-banner h2{font-size:27px}.welcome-banner .eyebrow{font-size:8px;letter-spacing:1.1px}.welcome-banner p{font-size:9px}.welcome-banner p span{margin:0 4px}.banner-art{position:absolute;width:120px;right:-27px;bottom:-12px;height:150px;transform:scale(.8);opacity:.7}.banner-art:before{top:-45px;right:-70px}.banner-art:after{top:-70px;right:-95px}.bowl{min-width:146px}.art-label,.banner-leaf{display:none}.welcome-banner>div:first-child{z-index:1}.stats{gap:7px;margin:15px 0 28px}.stat{padding:12px 9px;border-radius:6px}.stat-icon{float:none;width:26px;height:26px;margin:0 0 7px}.stat-icon .icon{width:14px}.stat small{font-size:8px;line-height:1.4;min-height:23px}.stat strong{font-size:21px;letter-spacing:-1px;white-space:nowrap}.stat div>span{display:none}.section-title h2{font-size:24px}.children{gap:11px}.child-card{padding:15px 13px 0}.child-card .avatar{height:38px;width:38px;font-size:15px}.child-card h3{font-size:12px;line-height:1.6;margin-top:13px}.child-card p{font-size:9px}.active-label{display:none}.child-bottom{margin-top:15px}.child-bottom span{font-size:8px;max-width:76px}.child-bottom button{width:25px;height:25px}.reminder{padding:14px;margin-top:17px}.reminder p{font-size:10px;line-height:1.7}.app-footer{margin:0 20px 82px;display:block;text-align:center;font-size:8px}.app-footer span{display:block;margin-top:3px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:70px;z-index:10;border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-around;padding:9px 10px max(9px,env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:none;color:#a499ab;display:flex;flex-direction:column;align-items:center;font-size:9px;gap:5px;min-width:80px}.mobile-nav button.active{color:var(--purple);font-weight:600}.mobile-nav button .icon{width:19px;height:19px}.student-picker{padding:10px;margin-bottom:23px}.student-picker>div{gap:7px}.student-tab{padding:9px 8px;gap:6px}.student-tab .avatar{width:28px;height:28px;font-size:10px}.student-tab strong{font-size:10px}.student-tab small{font-size:7px}.student-tab>.icon{display:none}.week-toolbar{gap:10px}.week-toolbar .eyebrow{font-size:8px}.week-toolbar h2{font-size:22px}.week-switch{gap:7px}.week-switch>span{display:none}.square{width:29px;height:29px}.deadline{font-size:9px;flex-wrap:wrap;margin-bottom:15px}.deadline span{font-size:8px}.menu-card{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:17px 14px}.menu-date{padding-right:12px;min-width:0;align-self:start;padding-top:4px}.menu-date strong{font-size:27px}.menu-body h3{font-size:21px;margin:6px 0}.menu-title{justify-content:space-between}.menu-title .eyebrow{font-size:7px}.menu-status{font-size:7px}.menu-body>p{font-size:10px}.sides{font-size:9px;margin-top:7px;gap:3px}.meal-options{grid-column:1/-1;flex-direction:row;border-top:1px solid #f0ebf2;padding-top:13px;gap:6px}.meal-option{flex:1;min-height:45px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:7px 5px;font-size:9px}.meal-option strong{margin:0;width:100%;text-align:center;font-size:10px;line-height:1}.meal-option:first-of-type{align-content:center}.meal-option input{width:11px;height:11px}.reservation-summary{bottom:80px;margin-top:18px;padding:13px 14px;gap:8px}.reservation-summary small{font-size:7px}.reservation-summary strong{font-size:10px}.reservation-summary strong span{display:block;margin:2px 0 0;font-size:15px}.reservation-summary .primary{padding:10px 12px;min-height:42px;font-size:10px;gap:10px}.reservation-summary .icon{width:14px}.bottom-note{font-size:8px;align-items:flex-start;text-align:center;margin-top:14px}.review{padding:22px;margin-top:15px}.review h2{font-size:25px}.review-row{display:block;padding:14px 0;font-size:11px}.review-row strong{display:block;margin-top:5px}.review-total strong{font-size:24px}.actions{flex-direction:column-reverse}.actions button{width:100%}.filter-row{flex-wrap:wrap;gap:9px}.filter-row>span{margin-left:0;width:100%;font-size:10px}.filter-row select{flex:1;max-width:none;font-size:11px}.order-list{padding:0 15px}.order-row{display:grid;grid-template-columns:53px 1fr;gap:7px 12px;padding:17px 0}.order-day{grid-row:1/3;font-size:11px;gap:3px;flex-direction:column}.order-row h3{font-size:11px}.order-row>strong{grid-column:2;font-size:12px}.order-badge{display:none}.order-row .text-button{display:block;grid-column:2;text-align:left;font-size:10px;margin-top:2px}.empty{padding:40px 5px}.empty h2{font-size:25px}#toast{bottom:95px;font-size:11px;padding:13px 20px;min-width:250px;text-align:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.mobile-logout{display:none}@media(max-width:760px){.mobile-logout{display:block;margin-left:14px;padding:5px;border:0;background:none;color:#97889f}.mobile-logout .icon{width:17px;height:17px}}

.setup-shell{min-height:100dvh;display:grid;place-items:center;padding:25px}.setup-card{width:100%;max-width:630px;background:white;border:1px solid var(--line);border-radius:12px;padding:40px}.setup-card .brand{color:var(--purple);margin-bottom:40px}.setup-card h1{margin:15px 0}.setup-card>p{color:var(--muted);font-size:13px;margin:18px 0;line-height:1.8}.setup-card .reminder p{font-size:12px}.setup-card .primary{margin-top:10px}@media(max-width:760px){.setup-card{padding:25px}.setup-card h1{font-size:28px}}

/* Identidade oficial: arquivo original, preservado sem recortes ou recoloração. */
.official-logo{display:block;flex:none;width:76px;height:76px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}
.sidebar .official-logo{width:60px;height:60px;padding:3px;border-radius:6px}
.sidebar .brand{gap:10px}.sidebar .brand>div{min-width:0}.sidebar .brand strong{font-size:10px;letter-spacing:.5px;line-height:1.5}.sidebar .brand small{font-size:6px;letter-spacing:.6px;line-height:1.5}
.topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.compact-logo{display:none;width:44px;height:44px;object-fit:contain;background:white;border-radius:5px;flex-shrink:0}
.login-story .brand{align-items:center}.login-story .brand strong{line-height:1.5}.setup-card .brand strong{line-height:1.5}
@media(max-width:760px){.official-logo{width:65px;height:65px}.login-story{padding-top:22px}.login-story .brand{max-width:100%}.login-story .brand strong{font-size:12px}.login-story .brand small{font-size:6px}.setup-card .brand{gap:10px}.setup-card .brand strong{font-size:12px}.setup-card .brand small{font-size:6px}.plate-art{top:104px;right:-102px;opacity:.7}.story-main{padding-top:25px}.story-main h1{max-width:290px}}
/* Navegação de toque: celulares, tablets e tablets maiores na horizontal. */
@media(max-width:1100px), (pointer:coarse) and (max-width:1400px){
 .sidebar{display:none}.workspace{margin-left:0;width:100%;min-width:0}.app-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .topbar{position:relative;padding-left:22px;padding-right:22px;min-height:70px;height:auto;padding-top:9px;padding-bottom:9px;gap:12px}
 .compact-logo{display:block}.top-sub,.guardian,.env-dot{display:none}.top-title{font-family:var(--serif);font-size:17px;white-space:normal}.top-title:after{content:'REGINA ANGELORUM';display:block;font:8px var(--sans);letter-spacing:1.2px;color:#a38961;margin-top:3px}
 .mobile-logout{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;margin-left:8px;border:0;background:none;color:#85728f}.mobile-logout .icon{width:18px;height:18px}
 .mobile-nav{position:fixed;inset:auto 0 0;z-index:20;display:flex;align-items:center;justify-content:center;gap:clamp(10px,5vw,80px);height:auto;min-height:76px;padding:9px max(12px,env(safe-area-inset-right,0px)) calc(9px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:#fffefc;border-top:1px solid #e4dce9;box-shadow:0 -5px 20px #38244708}
 .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;width:min(25vw,170px);min-width:80px;border:0;border-radius:9px;background:none;color:#8b7d94;font-size:11px;font-weight:500;padding:7px 12px;touch-action:manipulation}
 .mobile-nav button.active{background:#f0eaf5;color:var(--purple);font-weight:700}.mobile-nav button .icon{width:21px;height:21px}
 .reservation-summary{bottom:calc(88px + env(safe-area-inset-bottom,0px))}.app-footer{margin-bottom:14px}#toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .student-tab,.square,.meal-option{min-height:44px}.child-bottom button{min-width:44px;min-height:44px}.meal-options{flex-shrink:0}.actions button{min-height:46px}
 main{min-width:0}.menu-body{min-width:0}.menu-body h3,.sides span,.child-card h3{overflow-wrap:anywhere}.filter-row select{min-height:44px}.filter-row{min-width:0}.order-row>div{min-width:0}
}
@media(min-width:761px) and (max-width:1100px){main{padding:30px}.home-grid{grid-template-columns:1fr 270px}.notice-board{display:block}.stats .stat{display:flex}.stat-icon{float:none}.stat div>span{font-size:9px}.menu-card{padding:20px;gap:22px}.menu-date{min-width:65px}.menu-body h3{font-size:22px}.sides{font-size:11px;gap:5px}.meal-options{min-width:205px}.meal-option{font-size:12px;padding:10px}.meal-option strong{font-size:12px}.student-tab{min-width:230px}.student-tab strong{font-size:13px}.student-tab small{font-size:10px}.week-switch .square{width:44px}.order-row .text-button{display:flex;min-height:44px}.order-row h3{font-size:13px}.order-row p{font-size:11px}.order-row{gap:18px}.guardian{display:none}}
@media(max-width:760px){.topbar{padding-left:16px;padding-right:10px}.topbar-brand{gap:9px}.top-title{font-size:16px}.top-title:after{font-size:7px}.header-right .tiny{width:28px;height:28px}.mobile-nav{gap:6px}.mobile-nav button{flex:1;max-width:180px;width:auto;font-size:10px}.app-footer{margin-bottom:14px}.input-icon input{font-size:16px}.student-tab small{font-size:8px}.meal-option{font-size:10px}.meal-option strong{font-size:11px}.menu-body>p{font-size:11px}.sides{font-size:10px}.child-card p{font-size:10px}.child-bottom span{font-size:9px}.bottom-note{font-size:9px}.review-row{font-size:12px}.review-row strong{font-size:12px}}
@media(max-width:380px){main{padding-left:14px;padding-right:14px}.student-tab{padding:9px 6px;gap:5px}.student-tab .avatar{width:24px;height:24px}.student-tab strong{font-size:9px}.student-tab small{font-size:7px}.meal-option{font-size:9px}.reservation-summary{padding-left:12px;padding-right:12px}.reservation-summary .primary{padding-left:10px;padding-right:10px;gap:5px}}
@media(max-width:760px){.login-story .plate-art{display:none}}

/* Consulta de períodos e relatório mensal da família. */
.week-toolbar{align-items:flex-end;flex-wrap:wrap}.week-switch{gap:8px}.week-button{min-height:44px;padding:9px 13px;border:1px solid #dcd3e3;border-radius:6px;background:white;color:var(--purple);font-size:12px;white-space:nowrap}.week-select{display:flex;flex-direction:column;font-size:9px;color:var(--muted);gap:4px}.week-select select{min-height:44px;padding:9px 12px;border:1px solid #dcd3e3;background:white;color:var(--purple);border-radius:6px;font-size:12px;max-width:260px}.week-context{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--sage);margin:0 0 13px}.orders-controls,.report-controls{padding:20px 23px;margin-bottom:23px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.report-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;flex:1}.report-filters label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:#817189;min-width:170px;flex:1;max-width:320px}.report-filters select,.report-filters input{border:1px solid #ded5e5;min-height:44px;background:white;border-radius:6px;padding:10px 11px;color:var(--purple);font-size:12px;width:100%;min-width:0}.period-total{display:flex;flex-direction:column;text-align:right;gap:3px;color:var(--purple)}.period-total strong{font-size:12px;font-weight:500}.period-total span{font-size:24px;font-weight:600}.period-total small{font-size:10px;color:var(--muted)}.export-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.export-actions button{font-size:11px;gap:8px;padding:11px 14px}.monthly-summary{padding:26px 30px;border-radius:9px;background:var(--purple);color:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.monthly-summary .eyebrow{color:#ccb385;font-size:9px}.monthly-summary h2{font-size:30px;margin:12px 0;text-transform:capitalize}.monthly-summary p{font-size:12px;color:#d3c6da}.monthly-number{display:flex;flex-direction:column;gap:4px;text-align:right}.monthly-number span{font-size:11px;color:#d7cce0}.monthly-number strong{font-size:35px;font-weight:500}.monthly-number small{font-size:10px;color:#c9b8d2}.student-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:24px}.student-totals article{padding:21px}.student-totals h3{font-size:14px}.student-totals p{color:var(--muted);font-size:10px;margin-top:5px}.student-totals article>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:17px;margin-top:17px;border-top:1px solid var(--line)}.student-totals article>div span{font-size:11px;color:var(--muted)}.student-totals article strong{font-size:21px;font-weight:500;color:var(--purple)}.report-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.report-types,.report-details{padding:23px;min-width:0}.report-grid h2{font-size:22px;margin-bottom:19px}.type-row{display:flex;justify-content:space-between;gap:10px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.type-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.type-row strong{font-weight:600;color:var(--purple);white-space:nowrap}.report-table-scroll{overflow-x:auto}.report-details table{border-collapse:collapse;width:100%;font-size:11px}.report-details th{text-align:left;padding:10px 8px;background:#f3eef6;color:var(--purple);font-weight:600}.report-details td{padding:13px 8px;border-bottom:1px solid var(--line);color:#75667f}.report-details td:last-child,.report-details th:last-child{text-align:right;white-space:nowrap}.report-details tfoot th{background:#f3f0e8;border-top:1px solid #d8cba8}.report-loading{padding:35px;text-align:center;color:var(--muted);font-size:13px}.report-empty{font-size:12px;color:var(--muted);line-height:1.7}.orders-controls .report-filters label:nth-child(2){max-width:380px}.report-content{min-width:0}
@media(max-width:1100px),(pointer:coarse) and (max-width:1400px){.mobile-nav{gap:clamp(4px,3vw,50px)}.mobile-nav button{min-width:0;width:min(21vw,170px)}.report-grid{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:760px){.page-heading{flex-wrap:wrap}.page-heading>.secondary{min-height:42px;font-size:11px;padding:10px 13px}.week-toolbar{gap:15px;display:block}.week-toolbar h2{font-size:25px;margin-bottom:15px}.week-switch{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:7px}.week-switch .week-button{font-size:10px;padding:9px 10px;min-height:44px}.week-select{min-width:0;font-size:9px}.week-select select{max-width:none;font-size:10px;padding:9px 6px;min-width:0;width:100%;min-height:44px}.week-context{font-size:10px;gap:5px;flex-direction:column}.orders-controls,.report-controls{padding:16px;gap:17px}.report-filters{gap:12px;width:100%;flex-direction:column;align-items:stretch}.report-filters label,.orders-controls .report-filters label:nth-child(2){width:100%;max-width:none;min-width:0;font-size:11px}.report-filters input,.report-filters select{font-size:16px}.period-total{text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 15px;width:100%}.period-total small{grid-column:1/-1}.period-total span{font-size:24px}.export-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.export-actions button{width:100%;font-size:11px;min-height:46px;padding:11px 8px}.monthly-summary{padding:22px;display:block}.monthly-summary h2{font-size:29px}.monthly-number{text-align:left;margin-top:23px;border-top:1px solid #ffffff25;padding-top:17px}.monthly-number strong{font-size:36px}.student-totals{grid-template-columns:1fr;gap:12px}.student-totals article{padding:18px}.student-totals h3{font-size:14px}.report-grid{grid-template-columns:1fr;gap:17px}.report-types,.report-details{padding:18px}.report-details table{font-size:10px}.report-details td,.report-details th{padding:11px 6px}.report-details td:nth-child(2){min-width:105px}.report-details td:nth-child(3){min-width:100px}.mobile-nav{gap:3px}.mobile-nav button{min-width:0;padding:7px 5px;font-size:10px;flex:1}.mobile-nav button .icon{width:20px;height:20px}}

/* Etapa 2 — secretaria, cadastros e acesso. */
.admin-stats{margin-top:5px}.admin-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.admin-shortcuts button{display:flex;align-items:center;gap:18px;padding:24px;text-align:left;color:var(--purple)}.admin-shortcuts button>.icon:first-child{width:28px;height:28px;color:var(--gold)}.admin-shortcuts button>.icon:last-child{margin-left:auto}.admin-shortcuts strong{display:block;font-size:14px}.admin-shortcuts small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.admin-steps{padding:28px}.admin-steps h2{margin:12px 0 21px}.admin-steps ol{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.9}.admin-steps li{margin-bottom:12px;padding-left:7px}.admin-steps li strong{color:var(--purple)}.admin-search{margin:0 0 23px}.admin-search label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.admin-search input{border:1px solid #ddd4e4;border-radius:7px;padding:12px 15px;background:white;width:100%;max-width:520px;min-height:45px;color:var(--purple)}.admin-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.admin-family-card{padding:23px}.admin-card-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.admin-card-heading h3{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.3}.admin-card-heading p{font-size:12px;margin-top:5px;color:var(--muted)}.status-pill{padding:4px 9px;border-radius:20px;font-size:9px;background:#edf3e9;color:#638052;white-space:nowrap}.status-pill.inactive{background:#f2e8e5;color:#946956}.family-contact{margin:20px 0 16px;font-size:11px;color:var(--muted);display:grid;gap:7px;overflow-wrap:anywhere}.family-contact span{display:flex;gap:8px;align-items:center}.family-contact .icon{height:14px;width:14px}.family-children{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--purple);display:grid;gap:9px}.family-children small{font-size:10px;color:var(--muted)}.family-children p{color:var(--muted);font-size:12px}.family-access-state{font-size:10px;color:#968465;margin:16px 0}.family-access-state .icon{width:14px;height:14px;margin-right:5px}.admin-card-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.admin-card-actions .secondary,.admin-card-actions .primary{font-size:11px;padding:9px 12px;min-height:40px}.admin-card-actions .text-button{font-size:11px;min-height:40px;padding:5px}.admin-student-list,.admin-access-list{padding:0 23px}.admin-student-row{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid var(--line)}.admin-student-row:last-child{border-bottom:0}.admin-student-row>div{flex:1;min-width:0}.admin-student-row h3{font-size:13px;overflow-wrap:anywhere}.admin-student-row p{font-size:11px;color:var(--muted);margin-top:4px}.admin-student-row .secondary{font-size:11px;min-height:40px;padding:8px 13px}.admin-access-list{margin-top:23px}.admin-access-row{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}.admin-access-row:last-child{border-bottom:0}.admin-access-row h3{font-size:14px}.admin-access-row p{font-size:12px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.admin-access-row small{font-size:10px;color:#a08a64;display:block;margin-top:5px}.admin-config-note{margin:20px 0}.admin-refresh{width:40px;height:40px;background:#f4f0f7;border:0;border-radius:50%;font-size:23px;color:var(--purple);margin-left:15px}.admin-family-card[hidden],.admin-student-row[hidden]{display:none}.search-empty{padding:25px;color:var(--muted);font-size:13px}#admin-dialog{border:1px solid #e2d8e8;border-radius:12px;background:#fffefa;padding:30px;width:min(680px,92vw);max-height:90dvh;overflow-y:auto;color:var(--ink);box-shadow:0 20px 80px #24142d40}#admin-dialog::backdrop{background:#24172d85;backdrop-filter:blur(2px)}.form-title{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.form-title h2{font-size:28px;margin-top:8px}.close-dialog{border:0;background:#f2edf5;border-radius:50%;width:36px;height:36px;font-size:25px;color:var(--purple);flex-shrink:0}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.admin-form-grid label,.link-label{display:flex;flex-direction:column;gap:7px;color:#7e6e87;font-size:11px;font-weight:600;min-width:0}.admin-form-grid .wide{grid-column:1/-1}.admin-form-grid input,.admin-form-grid select,.link-label textarea{border:1px solid #ddd3e3;border-radius:6px;padding:11px;background:white;min-height:44px;color:var(--purple);font-size:13px;width:100%;min-width:0}.form-divider{margin:24px 0 17px;padding-top:20px;border-top:1px solid var(--line)}.form-divider h3{font-size:13px}.form-divider p,.form-hint{font-size:11px;color:var(--muted);line-height:1.8;margin-top:7px}.form-hint{margin-top:19px}.link-label textarea{font-size:12px;line-height:1.8;overflow-wrap:anywhere;resize:vertical}.access-page{min-height:100dvh;display:grid;place-items:center;padding:35px 20px}.access-card{width:100%;max-width:510px;padding:35px}.access-card .brand{margin-bottom:35px;color:var(--purple)}.access-card h1{font-size:32px;margin:13px 0 20px}.access-card>p{color:var(--muted);font-size:12px;line-height:1.8}.access-card label{display:block;font-size:12px;color:#786783;font-weight:600;margin:20px 0}.access-card input{display:block;width:100%;min-height:46px;padding:12px;border:1px solid #ddd3e3;border-radius:6px;background:white;margin-top:8px}.access-message{font-size:12px;color:var(--sage);margin:17px 0;line-height:1.8}.access-back{margin-top:22px;min-height:35px}.access-contact{margin-top:20px;font-size:10px!important}.admin-setup-help{font-size:10px!important;color:#8a7a95!important;margin:18px 0 0!important}.admin-setup-help button{font-size:10px}.form-hint a{color:var(--purple)}
@media(max-width:760px){.admin-family-grid{grid-template-columns:1fr;gap:14px}.admin-family-card{padding:19px}.admin-card-heading h3{font-size:23px}.admin-shortcuts{grid-template-columns:1fr;gap:12px}.admin-shortcuts button{padding:19px}.admin-steps{padding:21px}.admin-steps ol{font-size:12px}.admin-student-list,.admin-access-list{padding:0 16px}.admin-student-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px}.admin-student-row .status-pill{grid-column:2;justify-self:start}.admin-student-row .secondary{grid-column:3;grid-row:1/3;min-height:44px}.admin-student-row h3{font-size:12px}.admin-student-row p{font-size:10px}.admin-access-row{display:block;padding:19px 0}.admin-access-row .admin-card-actions{margin-top:17px}.admin-access-row .admin-card-actions button{flex:1}.admin-form-grid{grid-template-columns:1fr;gap:15px}.admin-form-grid .wide{grid-column:auto}.admin-form-grid input,.admin-form-grid select{font-size:16px}.admin-search input{font-size:16px}.form-title h2{font-size:26px}#admin-dialog{padding:23px;max-height:88dvh;width:94vw}.access-card{padding:25px}.access-card .brand strong{font-size:11px}.access-card .brand small{font-size:6px}.access-card .official-logo{width:61px;height:61px}.access-card input{font-size:16px}.access-card h1{font-size:29px}.admin-card-actions .secondary,.admin-card-actions .primary,.admin-card-actions .text-button{min-height:44px}}
/* Cardápios e seleção independente — 2.2 */
.meal-bulk,.menu-editor,.menu-prices,.menu-admin-start{padding:26px;margin-bottom:22px}.meal-bulk h2{font-size:24px;margin:8px 0}.meal-bulk p,.menu-editor>p{font-size:13px;line-height:1.7;color:var(--muted)}.bulk-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0 12px}.bulk-groups fieldset{border:0;padding:0;display:flex;gap:9px;flex-wrap:wrap}.bulk-groups legend{font-size:12px;font-weight:700;margin-bottom:12px}.bulk-groups button{flex:1;min-height:44px;white-space:normal}.portion-note{font-size:13px;color:var(--muted);margin:18px 0}.menu-originals,.menu-week-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.menu-originals a{text-decoration:none;font-size:12px}.new-menu-card{align-items:flex-start;gap:22px}.new-menu-card .menu-body{flex:1}.daily-types{display:grid;gap:12px;margin-top:16px}.daily-type{padding:15px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.daily-type.selected-type{border-color:#b19cbe;background:#f2edf5}.daily-type h3{font-family:var(--sans);font-size:13px;margin:0 0 7px;color:var(--purple)}.daily-type p{white-space:pre-line;font-size:13px;line-height:1.65;margin:0;color:#625b65;overflow-wrap:anywhere}.new-meal-options{border:0;min-width:210px;max-width:245px;display:grid;gap:10px;padding:0;margin-top:10px}.new-meal-options legend{position:absolute;clip:rect(0 0 0 0)}.new-meal-options label,.menu-admin-start label,.menu-editor label,.menu-prices label{display:grid;gap:7px;font-size:12px;font-weight:600;min-width:0}.new-meal-options select,.menu-admin-start input,.menu-editor textarea,.menu-prices input{width:100%;border:1px solid #dcd4e1;border-radius:7px;padding:11px;background:#fff;font:14px var(--sans);color:var(--purple);min-height:44px;box-sizing:border-box}.meal-price{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.new-meal-options small{font-size:11px;line-height:1.5}.menu-admin-start{display:flex;align-items:end;gap:16px}.menu-admin-start input{min-width:190px}.menu-prices summary{cursor:pointer;font-size:16px;font-weight:600}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}.price-grid fieldset{border:1px solid var(--line);border-radius:8px;padding:15px;display:grid;gap:12px}.price-grid legend{font-size:12px;font-weight:600}.menu-editor-tabs{display:flex;gap:10px;margin:22px 0}.menu-upload{padding:18px;background:#f5f1f8;border-radius:8px}.menu-upload input{font-size:12px;max-width:100%}.attached-menu{display:flex;gap:20px;align-items:center;margin:14px 0}.attached-menu img{max-width:130px;max-height:150px;object-fit:contain}.menu-edit-days{display:grid;gap:20px;margin:25px 0}.menu-edit-days>section{border:1px solid var(--line);padding:20px;border-radius:9px}.menu-edit-day-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.menu-edit-day-title h3{font-size:16px}.menu-edit-day-title label{display:flex;align-items:center;gap:8px;font-size:12px}.menu-edit-day-title input{width:20px;height:20px}.menu-editor textarea{resize:vertical;line-height:1.6;min-height:120px}.menu-edit-days small{display:block;margin-top:9px;font-size:11px;color:var(--muted)}#menu-review-dialog{max-width:740px;width:calc(100% - 32px);max-height:85dvh;border:0;border-radius:12px;padding:28px;color:var(--purple);box-sizing:border-box}#menu-review-dialog::backdrop{background:#21162b99}.publish-day{border-bottom:1px solid var(--line);padding:16px 0}.publish-day h3{font-size:16px}.publish-day strong,.publish-day p{font-size:13px}.publish-day p{white-space:pre-line;line-height:1.6}.menu-editor .actions{flex-wrap:wrap}.menu-editor .form-hint{font-size:12px}.new-meal-options:disabled{opacity:.65}
@media(max-width:1100px), (pointer:coarse) and (max-width:1400px){.mobile-nav[aria-label="Navegação da secretaria"]{gap:0;padding-left:4px;padding-right:4px}.mobile-nav[aria-label="Navegação da secretaria"] button{min-width:0;width:20%;flex:1;padding:6px 2px;font-size:10px}}
@media(max-width:760px){.meal-bulk,.menu-editor,.menu-prices,.menu-admin-start{padding:19px}.bulk-groups{grid-template-columns:1fr;gap:20px}.meal-bulk h2{font-size:23px}.new-menu-card{display:grid;grid-template-columns:48px minmax(0,1fr);padding:18px;gap:14px}.new-menu-card .menu-date{min-width:0;width:auto}.new-menu-card .new-meal-options{grid-column:1/-1;min-width:0;max-width:none;width:100%;grid-template-columns:1fr 1fr;gap:12px}.new-meal-options .meal-price,.new-meal-options>small,.new-meal-options>button{grid-column:1/-1}.new-meal-options select{font-size:16px;max-width:100%;padding:9px}.daily-type{padding:12px}.daily-type p{font-size:12px}.daily-type h3{font-size:13px}.new-menu-card .menu-title{flex-wrap:wrap;gap:9px}.menu-admin-start{flex-wrap:wrap}.menu-admin-start label{width:100%}.menu-admin-start input{font-size:16px}.price-grid{grid-template-columns:1fr}.menu-edit-day-title{align-items:start;flex-direction:column;gap:7px}.menu-edit-days>section{padding:14px}.menu-editor textarea,.menu-prices input{font-size:16px}.menu-editor .actions button{width:100%}.attached-menu{flex-wrap:wrap}.menu-originals a{width:100%;text-align:center}.menu-week-links button{width:100%;white-space:normal}.menu-editor-tabs button{flex:1}.menu-list{min-width:0}}

.bulk-groups button[aria-pressed="true"]{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple)}
.bulk-groups button[aria-pressed="true"]::before{content:"✓ ";font-weight:700}
