*{box-sizing:border-box}body{margin:0;background:#faf6f0;color:#27271f;font-family:Caviar,'Trebuchet MS',Arial,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b18e31;outline-offset:3px}.pilot-banner{background:#fdd717;color:#493c1d;text-align:center;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.5px;padding:9px 20px}.header{max-width:1200px;margin:auto;min-height:108px;padding:20px 40px;display:flex;gap:28px;align-items:center;border-bottom:1px solid #e7dfd2}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:1.8px;color:#614a1b;font-weight:bold;font-size:18px}.brand img{height:58px;width:58px;border-radius:50%;object-fit:cover}.brand small{display:block;font:10px/2 Arial,sans-serif;letter-spacing:2px}.school{margin-left:auto;display:flex;align-items:center;gap:12px;color:#614a1b;font-size:13px}.school small{display:block;color:#827a6a;font-size:11px}.school-icon{font-size:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #614a1b;background:#614a1b;color:#fffdf5;border-radius:12px;padding:12px 20px;font-weight:bold;text-decoration:none;min-height:46px}.button:hover{background:#4a3814}.button.yellow{background:#fdd717;color:#493b19;border-color:#fdd717}.button.quiet{background:transparent;color:#614a1b;border-color:#d9cfbd}.button.quiet:hover{background:#f0e9dc}.button.small{padding:7px 12px;min-height:36px;font-size:12px}.button.danger{color:#a83f32;background:white;border-color:#dbb2aa}main{max-width:1120px;margin:0 auto;padding:44px 28px 72px;min-height:72vh}.eyebrow{font:700 10px/1.5 Arial,sans-serif;letter-spacing:2.2px;color:#85734a;text-transform:uppercase}.hero{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:0 0 32px}.hero h1,.welcome h1{font:500 clamp(32px,4vw,48px)/1.15 Georgia,serif;color:#614a1b;letter-spacing:-1.3px;margin:10px 0 14px}.hero p,.welcome p{color:#817866;margin:0;max-width:560px}.hero-mark{border:1px solid #dacdad;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;transform:rotate(-10deg);flex-shrink:0;color:#614a1b;font:italic 17px/1.4 Georgia,serif;text-align:center}.nav{display:flex;gap:25px;border-bottom:1px solid #ded5c6;margin-bottom:28px;overflow:auto}.nav button{white-space:nowrap;background:none;border:0;border-bottom:3px solid transparent;color:#877c67;padding:14px 1px}.nav button.active{color:#614a1b;border-color:#614a1b;font-weight:bold}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.card{border:1px solid #e4dccf;border-radius:20px;background:white;overflow:hidden}.card-pad{padding:26px}.card h2{font:500 26px/1.3 Georgia,serif;color:#614a1b;margin:4px 0 12px}.card h3{color:#614a1b;margin:0 0 8px;font-size:17px}.card p{margin:8px 0;color:#817866}.menu-top{padding:28px;background:#eee8d8;position:relative;min-height:180px}.menu-top .eyebrow{color:#847145}.menu-top h2{max-width:400px;font-size:30px;margin:13px 0}.menu-top:after{content:'☀';font-size:65px;position:absolute;right:25px;top:8px;color:#c9b57f;opacity:.5}.pill{display:inline-block;padding:4px 10px;border-radius:30px;background:#edf3e6;color:#526e39;font:600 11px/1.8 Arial,sans-serif}.pill.gold{background:#fcf3c6;color:#75601c}.pill.muted{background:#eeeae4;color:#83796a}.deadline{border-bottom:1px solid #e9e1d4;padding:14px 26px;font-size:12px;color:#776746;background:#fffcf1}.row{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #eee8df}.row:last-child{border-bottom:0}.row .grow{flex:1}.row strong{display:block;color:#594922}.row small{color:#928775}.number{font:700 20px/1.2 'Courier New',monospace;letter-spacing:2px;color:#614a1b;border:1px solid #e2d7bd;background:#fbf7ec;border-radius:10px;padding:12px;min-width:88px;text-align:center}.balance{background:#614a1b;color:#fff7df;border:0}.balance h2,.balance p{color:inherit}.balance .eyebrow{color:#d2c29e}.balance-value{font:500 64px/1 Georgia,serif;color:#fdd717;margin:22px 0 8px}.balance .button{width:100%;margin-top:20px}.note{font-size:12px;color:#8c8068}.callout{padding:17px 20px;border:1px solid #e6d9af;background:#fff9e5;border-radius:12px;color:#75622d;font-size:13px;margin:18px 0}.section-title{margin:30px 0 14px;display:flex;align-items:center;justify-content:space-between}.section-title h2{font:500 27px Georgia,serif;color:#614a1b;margin:0}.week{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.day{padding:18px;border:1px solid #e2d9ca;border-radius:14px;background:#fff}.day .day-name{font-size:12px;color:#8f7c56}.day strong{font:500 27px Georgia,serif;color:#614a1b;display:block;margin:6px 0 12px}.day p{font-size:12px;margin:8px 0;color:#7f7667}.day.current{border-color:#a18a50;background:#fffcf3}.welcome{max-width:820px;margin:25px auto}.welcome .intro{text-align:center;margin:0 auto 32px;max-width:600px}.login-panel{max-width:510px;margin:30px auto}.login-panel .button{width:100%;margin-top:14px}.demo-roles{display:grid;gap:10px;margin-top:22px}.demo-roles .button{justify-content:space-between;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.step{border-top:1px solid #dbcfba;padding-top:16px;color:#8c806a;font-size:13px}.step strong{color:#614a1b;display:block;margin:10px 0}.step span{font:italic 25px Georgia,serif;color:#b49b5b}label{display:block;color:#675637;font-size:12px;font-weight:bold;margin:12px 0 6px}input,textarea,select{width:100%;border:1px solid #dacfbb;border-radius:10px;background:#fffcf8;color:#504328;padding:12px;min-height:45px}input[type=checkbox]{width:18px;height:18px;min-height:0;vertical-align:middle}.check-label{display:flex;align-items:center;gap:8px}textarea{resize:vertical;min-height:95px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}.packs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pack{padding:25px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.pack .quantity{font:42px Georgia,serif;color:#614a1b}.pack .price{font-size:19px;color:#614a1b}.pack .button{width:100%;margin-top:15px}.pack p{font-size:12px}.pack.featured{border-color:#a18a50;background:#fffdf6}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font:600 10px Arial,sans-serif;letter-spacing:1px;color:#96886d;text-transform:uppercase;padding:14px 10px;border-bottom:1px solid #e5dbc8}td{padding:14px 10px;border-bottom:1px solid #eee7db}td code{color:#614a1b;font-weight:bold;letter-spacing:2px}td .button{white-space:nowrap}.empty{padding:25px;color:#9b8d71;text-align:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.search-number{font:40px 'Courier New',monospace;letter-spacing:12px;text-align:center;max-width:360px}.delivery-card{max-width:600px;margin:24px auto}.delivery-card .number{display:inline-block;font-size:32px;margin-bottom:18px}.delivery-card .button{width:100%;margin-top:20px}.big-count{font:55px Georgia,serif;color:#614a1b}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 22px;background:#40371f;color:white;border-radius:12px;box-shadow:0 8px 30px #0002;z-index:20;font-size:13px}#toast.error{background:#933e31}footer{border-top:1px solid #e6ddce;max-width:1120px;margin:auto;padding:23px 28px;font-size:11px;color:#9c8c6e;display:flex;justify-content:space-between;gap:20px}.loading{text-align:center;margin:80px;color:#827350}[hidden]{display:none!important}.spinner{opacity:.6;pointer-events:none}.meta{font-size:11px;color:#91846b;overflow-wrap:anywhere}.allergens{font-size:11px!important}.mt{margin-top:22px}.inline-link{background:none;border:0;padding:0;text-decoration:underline;color:#614a1b}.danger-text{color:#a23e32}.skeleton{padding:50px;text-align:center;color:#958569}@media(max-width:760px){.header{padding:16px 20px;min-height:86px;gap:12px}.brand{font-size:14px;gap:8px}.brand img{width:43px;height:43px}.brand small{font-size:8px}.school{font-size:10px;gap:5px}.school-icon{display:none}.school small{font-size:9px}main{padding:26px 18px 45px}.hero{margin-bottom:20px}.hero-mark{display:none}.hero h1{font-size:34px}.hero p{font-size:13px}.grid,.split{grid-template-columns:1fr}.card-pad{padding:20px}.packs{grid-template-columns:1fr 1fr}.week{grid-template-columns:repeat(2,1fr)}.week .day:last-child{grid-column:span 2}.nav{gap:20px;font-size:13px}.row{gap:10px;flex-wrap:wrap}.row .button{margin-left:auto}.number{min-width:72px;font-size:17px;padding:10px}.steps{gap:12px}.step{font-size:11px}.form-grid{grid-template-columns:1fr}.pack{padding:20px 16px}.pack .quantity{font-size:36px}footer{display:block}footer span{display:block;margin-top:8px}#logout{padding:8px;min-height:36px;font-size:11px}.pilot-banner{font-size:9px}.menu-top h2{font-size:27px}.welcome h1{font-size:38px}}
/* Calendar-first school application. */
.page-title{font:500 38px/1.2 Georgia,serif;color:#614a1b;margin:10px 0}.full{width:100%}.back-link{display:inline-block;text-decoration:none;color:#8b7850;font-size:12px;margin-bottom:20px}.account-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:4px 0 24px}.account-heading p{color:#91826c;margin:6px 0}.account-balance{display:flex;align-items:center;gap:14px;background:#614a1b;color:#fff8dc;padding:16px 22px;border-radius:16px;flex-shrink:0}.account-balance strong{font:45px Georgia,serif;color:#fdd717}.account-balance span{font-size:12px}.account-balance small{display:block;color:#d1c2a1;font-size:10px;margin-top:3px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 22px}.calendar-heading h1{font:500 40px/1.15 Georgia,serif;color:#614a1b;letter-spacing:-1px;margin:10px 0}.calendar-heading p{font-size:13px;color:#8d806b;margin:0}.calendar-heading>.pill{white-space:nowrap}.test-clock{font-size:10px;color:#927f55;margin:0 0 18px}.calendar-layout{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(280px,1fr);gap:22px;align-items:start}.calendar-card{background:#fff;border:1px solid #e3dacb;border-radius:18px;overflow:hidden}.month-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px}.month-nav h2{font:500 25px Georgia,serif;color:#614a1b;text-transform:capitalize;margin:0}.month-nav>div{display:flex;align-items:center;gap:8px}.month-arrow{border:1px solid #e2d6bf;background:#fff;border-radius:8px;color:#614a1b;font-size:17px;width:34px;height:34px}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{background:#f8f4eb;border-top:1px solid #ede5d6;border-bottom:1px solid #ede5d6;padding:10px 0}.weekday-row span{text-align:center;font:600 10px Arial,sans-serif;color:#99845c}.calendar-cell{position:relative;min-width:0;min-height:130px;border:0;border-right:1px solid #efe8dc;border-bottom:1px solid #efe8dc;background:#fff;text-align:left;padding:10px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:#988c77}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell:hover{background:#fcf8ef}.calendar-cell.selected{background:#fff8d9;box-shadow:inset 0 0 0 2px #b9a05d;z-index:1}.calendar-cell.outside{background:#faf9f6;color:#c5bdaf}.date-number{font-size:15px;font-weight:bold;color:#8e7d5a}.is-today .date-number{background:#614a1b;color:white;border-radius:50%;width:25px;height:25px;text-align:center;line-height:25px;margin:-3px}.cell-menu{font-size:10px;line-height:1.5;overflow-wrap:anywhere;max-width:100%;color:#8d806b}.service-day .date-number{color:#614a1b}.service-day.is-today .date-number{color:white}.service-day .cell-menu{color:#6e5e3e}.outside .cell-menu{color:#c1b9ab}.booked-tag{background:#e6eedc;color:#5c7541;font:600 8px/1.5 Arial,sans-serif;border-radius:4px;padding:2px 4px;margin-top:auto}.today-tag{font:700 7px Arial,sans-serif;color:#938159}.draft-tag{font-size:8px;color:#a87b24}.menu-dot{display:none}.calendar-legend{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;font-size:9px;color:#a18d65}.legend-dot{display:inline-block;width:7px;height:7px;background:#b19a60;border-radius:50%;margin-right:4px}.day-detail-top{padding:24px;background:#eee8d8}.day-detail-top h2{font:500 27px/1.25 Georgia,serif;color:#614a1b;margin:12px 0}.day-detail-top p{color:#918165;font-size:10px;margin-bottom:15px}.day-detail-top .pill{font-size:9px;white-space:normal}.child-booking{padding:10px 0 18px;border-bottom:1px solid #eee6d7;margin-bottom:10px}.child-booking .row{border:0;padding:8px 0 12px}.child-booking .row strong{font-size:13px}.child-booking .number{min-width:70px;font-size:17px;padding:10px}.child-booking>.pill{margin:0 0 8px;font-size:9px}.mini-balance{border-radius:12px;background:#faf7ef;padding:15px;margin-top:20px;color:#796337;font-size:12px}.mini-balance strong,.mini-balance span,.mini-balance a{display:block}.mini-balance span{color:#a18a5f;font-size:10px;margin:5px 0}.mini-balance a{font-weight:bold;margin-top:8px}.how-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid #e1d6c3;margin-top:35px;padding-top:22px}.how-strip span{font:italic 22px Georgia,serif;color:#ad965e;float:left;margin-right:12px}.how-strip strong{font-size:12px;color:#715b30}.how-strip p{font-size:11px;color:#a08d6c;margin:5px 0 0 35px}.child-chip{display:inline-block;background:#faf7ed;border:1px solid #e1d8c5;border-radius:9px;padding:8px 12px;margin:8px 8px 0 0;font-size:12px}.child-chip code{color:#614a1b;font-weight:bold;letter-spacing:1px}.account-link{font-size:12px;padding:10px 15px;white-space:nowrap}.admin-calendar{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}footer a{text-decoration:none}footer a:hover{text-decoration:underline}#account-detail{scroll-margin-top:24px}
@media(min-width:1400px){main{max-width:1260px}.calendar-cell{min-height:142px}}
@media(max-width:1000px){.calendar-layout,.admin-calendar{grid-template-columns:minmax(0,1fr)}#day-detail{max-width:none}.calendar-cell{min-height:130px}.school{display:none}}
@media(max-width:600px){.header{gap:10px}.brand{margin-right:auto}.account-link{font-size:10px;padding:8px 10px;min-height:36px}.calendar-heading{align-items:flex-start}.calendar-heading h1{font-size:31px}.calendar-heading p{font-size:12px}.calendar-heading>.pill{font-size:8px;padding:4px 7px;margin-top:5px}.calendar-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.month-nav{padding:16px 12px}.month-nav h2{font-size:21px}.month-nav>div{gap:5px}.month-nav .button{font-size:10px;padding:5px 8px;min-height:30px}.month-arrow{width:30px;height:30px}.weekday-row span{font-size:9px}.calendar-cell{min-height:69px;padding:9px 5px;gap:4px;align-items:center}.cell-menu{display:none}.menu-dot{display:block;height:5px;width:5px;border-radius:50%;background:#ac9559}.booked-tag{font-size:7px;padding:1px 2px;max-width:100%;overflow:hidden;white-space:nowrap}.date-number{font-size:14px}.today-tag{font-size:6px}.calendar-legend{font-size:8px;padding:12px;display:block}.calendar-legend span{display:block;margin:3px 0}.calendar-layout{gap:18px}.how-strip{gap:16px;grid-template-columns:1fr}.how-strip p{margin-top:0}.how-strip strong{font-size:12px}.account-heading{display:block}.account-balance{margin-top:20px;padding:12px 18px;max-width:290px}.page-title{font-size:31px}.day-detail-top h2{font-size:27px}.child-booking .row{flex-wrap:nowrap}.account-heading p{font-size:12px}.test-clock{font-size:9px}.nav{gap:18px}.header .brand small{font-size:7px}}
/* Reusable menus and photographs. */
.calendar-photo{display:block;width:100%;height:54px;object-fit:cover;border-radius:7px}.day-photo{display:block;width:100%;max-height:220px;object-fit:cover}.calendar-heading h2{font:500 29px/1.2 Georgia,serif;color:#614a1b;margin:8px 0}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:6px 0 24px}.library-heading h2{font:500 29px Georgia,serif;color:#614a1b;margin:0 0 8px}.library-heading p{font-size:13px;color:#9a8868;margin:0}.library-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}.menu-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.library-card>img{width:100%;height:170px;object-fit:cover;display:block}.library-card .card-pad{padding:20px}.library-card h3{font:500 21px/1.3 Georgia,serif}.library-card .form-actions{gap:8px}.library-card .form-actions .button{flex:1;white-space:nowrap}.menu-photo-empty{height:140px;display:grid;place-items:center;background:#eee8d8;color:#ad9a70;font-size:12px}.library-image-preview{width:100%;max-height:190px;object-fit:cover;border-radius:12px;display:block;margin-top:15px}.library-editor{position:sticky;top:20px}.library-editor input[type=file]{font-size:11px;padding:10px 6px;background:#fff}.library-editor #remove-photo{margin-top:12px}.annual-card{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start;background:#fffdf4;border-color:#d6c28d;margin-top:25px}.annual-card h2{font-size:29px}.annual-price{font:500 43px Georgia,serif;color:#614a1b;margin:5px 0 10px}.annual-card .pill{margin:8px 6px 0 0;font-size:10px}.annual-purchase{border-left:1px solid #e1d5b4;padding-left:25px}
@media(max-width:1000px){.library-layout{grid-template-columns:1fr}.library-editor{position:static;grid-row:1}.annual-card{gap:20px}.menu-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.calendar-photo{height:30px;border-radius:4px}.calendar-cell:has(.calendar-photo){min-height:94px}.library-heading{display:block}.library-heading>.button{margin-top:15px}.menu-library{grid-template-columns:1fr}.library-card>img{height:210px}.annual-card{grid-template-columns:1fr}.annual-purchase{padding:20px 0 0;border-left:0;border-top:1px solid #e1d5b4}.calendar-heading h2{font-size:25px}.library-editor{grid-row:1}.day-photo{max-height:200px}}
