.login-layout{display:grid;grid-template-columns:1fr 1fr;max-width:880px;margin:45px auto;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}.login-copy{background:#ffda5d;padding:40px;color:#47234f}.login-copy h1{font:40px Lalezar}.login-copy p{font-size:12px;line-height:2.3}.login-form{padding:36px}.login-form h2{font:30px Lalezar;margin:0 0 20px}.live-form label,.login-form label{display:grid;gap:6px;font-size:11px;margin-bottom:13px}.live-form input,.live-form select,.live-form textarea,.login-form input,.week-picker{font:12px Estedad;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);width:100%;min-width:0}.login-form input{direction:ltr;text-align:left}.login-form .primary{width:100%;margin-top:14px}.login-form small{color:var(--muted);font-size:10px;display:block;margin-top:18px}.login-mode .shell{margin:0}.login-mode main{max-width:1100px}#live-error{background:#fff0ed;border:1px solid #d89e9e;color:#972727;padding:14px;border-radius:8px;margin-bottom:15px;font-size:12px}.live-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}.live-heading h1{font:36px Lalezar;margin:0}.live-heading p{color:var(--muted);font-size:11px}.week-picker{max-width:230px}.live-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-form .wide{grid-column:1/-1}.live-form label{margin:0}.live-form button{align-self:end}.meal-visual .meal-lettering{min-height:120px}.server-status{font-size:10px;color:var(--muted);line-height:1.8;margin:8px 0}.live-badge{background:#ffe7a0;color:#674c20;border-radius:5px;padding:3px 8px}.live-note{font-size:11px;color:var(--muted)}.report-filter a{justify-content:center}.admin-card+.admin-card{margin-top:18px}.live-person{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--border)}.live-person>div{flex:1;min-width:150px}.live-person small{display:block;color:var(--muted);font:11px Vazir}.live-person select{font:11px Estedad;max-width:120px;padding:8px;border:1px solid var(--border);border-radius:8px}.live-person button{font-size:10px}.status-reserved{color:#813b94}.status-cancelled{color:#9b5660}.status-delivered{color:#813b94}#live-selection .primary{margin-right:auto}.live-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.live-tools button{font-size:10px}.live-report-table{min-width:640px}.login-form button:disabled,.primary:disabled{opacity:.55}.live-heading .overline{font-size:11px}.report-heading small{display:block}.meal .select-meal:disabled{background:#f1eaf3;color:#806a89}.live-photo img{width:100%;height:100%;object-fit:cover}.table-wrap{max-width:100%}
@media(max-width:850px){.login-layout{grid-template-columns:1fr;margin:20px auto;max-width:440px}.login-copy{padding:22px}.login-copy h1{font-size:32px;margin:0}.login-copy p{margin:8px 0;font-size:11px}.login-form{padding:24px}.live-heading{flex-wrap:wrap}.live-heading h1{font-size:29px}.week-picker{max-width:100%}.live-form{grid-template-columns:1fr}.live-heading{margin-bottom:18px}.live-person>div{min-width:100%}#live-sidebar .nav-item{justify-content:center;font-size:10px;min-height:55px}.live-form .wide{grid-column:auto}.login-mode{padding-bottom:0}}
.meal-price{font:12px Estedad;color:#79338c;margin:10px 0}.meal-price strong{font-family:Vazir}.finance-balance{background:#f2e6f8;color:#68327b;border-radius:12px;padding:22px;margin-top:18px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}.finance-balance strong{font:700 27px Vazir}.finance-balance small{flex-basis:100%;font-size:11px}.finance-page h3{font:25px Lalezar;margin-top:24px}.desk-actions{flex-wrap:wrap}#account-label{font-size:11px}.reservation-matrix th small{display:block}
@media(max-width:600px){.desk-actions{gap:5px}.desk-actions .desk-link{font-size:9px;padding:7px}.finance-balance{padding:16px}.finance-balance strong{font-size:24px}}
@media print{.finance-page .live-form,.finance-page .sheet-actions,.finance-page button,.finance-page~.admin-card{display:none!important}.finance-page .table-wrap{overflow:visible}.finance-page .admin-table{white-space:normal}.finance-balance{break-inside:avoid}}
/* Shared readable typography across desktop and phones. */
.desktop-toolbar{display:flex;height:auto;min-height:108px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}.desktop-toolbar .site-title{font:700 23px/1.8 Estedad}.desktop-toolbar .site-title small{font:13px/1.8 Vazir}.demo-strip,.demo-strip>span{font-size:12px;line-height:1.9}
@media(max-width:850px){.desktop-toolbar .site-title{font-size:19px}.desktop-toolbar .site-title small{font-size:12px}.save-panel{bottom:88px}.demo-strip,.demo-strip>span{font-size:11px}}
#live-sidebar .workspace{color:#ffdf71;font-size:21px;line-height:1.9}#live-sidebar .nav-item{font:500 14px Estedad}.report-filter label{font:14px Estedad}.report-filter input,.report-filter select{font:15px Vazir;min-height:46px}.people-search{display:grid;gap:8px;font:14px Estedad;margin-bottom:16px}.people-search input{font:15px Vazir;border:1px solid var(--border);border-radius:12px;padding:12px;max-width:420px}.live-person[hidden]{display:none}.save-panel{position:sticky;bottom:12px;z-index:3;box-shadow:0 8px 20px #43224b12}
body{font-size:15px;line-height:1.85;background:#faf8f4}
.site-title{font:700 clamp(21px,2.2vw,30px)/1.6 Estedad;color:#482251}.site-title small{font:14px Vazir;margin-top:5px}
.workspace,.login-copy>span:first-child{font:700 21px/1.8 Estedad;color:#482251;display:block}
.live-form label,.login-form label{font:500 14px/1.9 Estedad}.live-form input,.live-form select,.live-form textarea,.login-form input,.week-picker{font:15px/1.7 Vazir;min-height:48px;border-radius:12px;padding:11px 13px}
.primary,.secondary{min-height:46px;font:600 14px Estedad;border-radius:12px;padding:11px 20px}.admin-card{padding:26px;border-radius:18px}.admin-card h2{font:29px Lalezar;margin:0 0 17px;color:#542764}.admin-card p,.live-note,.admin-note,.live-heading p,.server-status{font:14px/1.9 Vazir}.admin-table{font:14px/1.9 Vazir}.admin-table th{font:600 13px Estedad}.admin-table td{padding:14px 12px}.admin-tabs{gap:8px;flex-wrap:wrap}.admin-tabs button{font:500 13px Estedad;padding:12px 16px;min-height:44px}.live-person select{font:14px Vazir;max-width:190px;min-height:45px}.live-person small,.admin-list-row small{font:13px/1.9 Vazir}.live-person strong{font:600 16px Estedad}.live-person button{font-size:13px}.login-form small{font:13px/2 Vazir}.login-copy p{font:16px/2 Vazir}.login-layout{max-width:1000px}.login-form{padding:40px}.login-copy h1{font-size:50px}.login-copy{padding:40px}.live-heading .overline{font-size:13px}.meal-price{font-size:16px}.meal-price strong{font-size:19px}.desk-actions .desk-link{font:13px Vazir;min-height:40px}#account-label{font-size:14px}.save-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;background:#fff4c7;border:1px solid #e9cd70;border-radius:16px;margin:18px 0}.save-panel h3{font:25px Lalezar;margin:0}.save-panel p{font:14px Vazir;margin:5px 0}.download-template{display:inline-block;margin:4px 0 22px;color:#713182;border:1px solid #d8bce1;text-decoration:none}.import-errors{background:#fff0ed;padding:16px;border-radius:12px;color:#972727}.jalali-input{font-variant-numeric:tabular-nums}.admin-list-row{gap:16px}.admin-list-row small{display:block}#live-error{font:14px/1.9 Vazir}.live-heading h1{font-size:38px}
@media(max-width:850px){.site-title{font-size:22px}.site-title small{font-size:13px}.workspace{font-size:20px}.login-copy>span:first-child{font-size:20px}.login-copy h1{font-size:40px}.login-copy p{font-size:15px}.login-form{padding:25px}.login-copy{padding:26px}.live-heading h1{font-size:31px}.admin-card{padding:19px}.save-panel{align-items:stretch;flex-direction:column}.live-form input,.live-form select,.login-form input{font-size:16px}.live-person select{max-width:100%;flex:1}.desk-actions .desk-link{font-size:12px}#live-sidebar .nav-item{font-size:11px}.live-heading p{font-size:14px}.admin-tabs button{font-size:12px}.live-person>div{min-width:100%}}

.sheet-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.sheet-actions .desk-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-size:15px;font-weight:700;border:1px solid #8a459e;border-radius:12px;background:#f5ebfa;color:#602873;cursor:pointer;text-decoration:none}
.person-picker{position:relative}.person-options{position:absolute;top:100%;right:0;left:0;z-index:30;max-height:260px;overflow:auto;padding:8px;background:#fff;border:1px solid #b486c4;border-radius:12px;box-shadow:0 10px 25px #32103c22}.person-options button{display:block;width:100%;text-align:right;padding:12px;border:0;background:white;color:#50235e;font:inherit;cursor:pointer}.person-options button:hover,.person-options button:focus{background:#fff1a8}.person-options[hidden],.person-options button[hidden]{display:none}
.jalali-input{cursor:pointer;background-image:linear-gradient(110deg,#fffdf2,#fff)}.calendar-popup{position:fixed;z-index:1000;width:340px;max-width:calc(100vw - 16px);padding:14px;background:#fffdf8;border:1px solid #bb8cca;border-radius:18px;box-shadow:0 18px 60px #33114144;direction:rtl;color:#4d245b}.calendar-header{display:flex;gap:5px;align-items:center;margin-bottom:12px}.calendar-header select{min-width:0;flex:1;padding:8px;border:1px solid #ddc7e5;border-radius:8px;font:inherit}.calendar-popup button{font:inherit;border:0;border-radius:9px;padding:9px;cursor:pointer;background:#f0e5f5;color:#542564}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-grid strong{padding:7px}.calendar-grid button{background:white;min-height:36px}.calendar-grid button:hover,.calendar-grid button:focus{background:#ffe16a}.calendar-grid button:disabled{opacity:.25;cursor:default}.calendar-popup>button{margin-top:12px;width:100%}.calendar-popup input{width:100%;padding:10px}

/* Card interaction inspired by the supplied Sanjesh recording. */
.admin-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px!important;overflow:visible!important;padding:8px 2px 16px!important}
.admin-tabs button{position:relative;display:flex!important;flex-direction:column;align-items:stretch!important;gap:14px!important;text-align:right;white-space:normal!important;min-width:0!important;padding:20px 16px 16px!important;border:1px solid #e1d7e6!important;border-radius:14px!important;background:#fffdfa!important;color:#482153!important;box-shadow:0 5px 14px #44234e0d;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;overflow:hidden}
.admin-tabs button::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#803a96,#edba36)}
.management-card-top{display:flex;align-items:center;gap:10px;min-height:46px}.management-card-top strong{font-size:15px;line-height:1.8}.management-icon{display:grid;place-items:center;flex:none;width:40px;height:46px;border-radius:10px;background:#f0e5f6;color:#803a96;font-size:25px}.management-description{font-size:12px;color:#82748a;line-height:1.8;min-height:24px}.management-enter{display:flex;justify-content:center;gap:10px;align-items:center;background:#823c97;color:white;border-radius:8px;padding:10px;font-size:12px;margin-top:auto;transition:background .2s ease}.management-enter>span{transition:transform .2s ease}
.admin-tabs button.active{border-color:#a266b4!important;box-shadow:0 8px 22px #70328620!important}.admin-tabs button.active .management-enter{background:#ffe16a;color:#54275e}.admin-tabs button.active .management-icon{background:#fff1b0}
@media(hover:hover){.admin-tabs button:hover{transform:translateY(-5px);border-color:#ad6fc1!important;box-shadow:0 13px 26px #67337525}.admin-tabs button:hover .management-enter>span{transform:translateX(-4px)}.primary:hover,.secondary:hover,.sheet-actions .desk-link:hover{filter:brightness(1.04);box-shadow:0 5px 14px #66307522;transform:translateY(-2px)}}
.primary,.secondary,.sheet-actions .desk-link{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.admin-tabs button:active,.primary:active,.secondary:active,.sheet-actions .desk-link:active{transform:translateY(1px) scale(.985)}button:focus-visible,a:focus-visible{outline:3px solid #c89b22;outline-offset:3px}button:disabled{cursor:not-allowed;transform:none!important}
@media(max-width:1100px){.admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.admin-tabs button{padding:16px 12px 12px!important;gap:10px!important}.management-card-top strong{font-size:13px}.management-icon{width:30px;height:38px;font-size:22px}.management-description{font-size:11px}.management-enter{font-size:11px;padding:9px}}
@media(prefers-reduced-motion:reduce){.admin-tabs button,.management-enter,.management-enter>span,.primary,.secondary,.sheet-actions .desk-link{transition:none!important;transform:none!important}}

@media print{.admin-tabs,.calendar-popup,.person-options{display:none!important}}

.choice-wrap{display:block;position:relative;min-width:0;font-family:Estedad,Vazirmatn,sans-serif}.choice-native{display:none!important}.choice-input-row{display:flex;align-items:stretch;border:1px solid #ddcbe5;background:#fff;border-radius:12px;transition:border-color .18s,box-shadow .18s}.choice-input-row:hover,.choice-input-row:focus-within{border-color:#efc447;box-shadow:0 0 0 3px #ffe36c38}.choice-input-row .choice-search{width:100%;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:13px 12px;color:#592968;font:inherit;font-size:14px;outline:none}.choice-toggle{border:0;background:#fff5cb;color:#6a3679;border-radius:11px 0 0 11px;min-width:38px;font-size:22px;cursor:pointer}.choice-list{position:absolute;top:100%;right:0;left:0;z-index:80;background:#fffdf7;box-shadow:0 14px 32px #48245426;border:1px solid #d8bde2;border-radius:12px;padding:7px;max-height:280px;overflow:auto;min-width:180px}.choice-list[hidden]{display:none!important}.choice-list button{display:flex;align-items:center;gap:9px;width:100%;min-height:43px;padding:10px;border:0;border-radius:8px;background:transparent;color:#542462;text-align:right;font:inherit;font-size:14px;cursor:pointer}.choice-list button:hover,.choice-list button:focus{background:#fff0a6;outline:none}.choice-list button.chosen{background:#f1e6f7}.choice-list button[hidden]{display:none!important}.choice-check{width:19px;height:19px;border:1px solid #b193bd;border-radius:5px;display:grid;place-items:center;flex:none;color:#7b348f;background:white}.choice-summary{display:block;white-space:normal;font-size:12px;line-height:1.9;color:#784887;margin-top:4px}.choice-summary:empty{display:none}.live-form label,.report-filter label{min-width:0}.live-form label>small{font-size:12px;font-weight:400;line-height:2;color:#796c80;margin-top:6px}.live-form input:hover,.live-form input:focus,.report-filter input:hover,.report-filter input:focus{border-color:#e9bd37!important;box-shadow:0 0 0 3px #ffe57130}.inline-feedback{grid-column:1/-1;width:100%;box-sizing:border-box;padding:16px 19px;border-radius:12px;margin:12px 0;font-size:16px;line-height:2;font-weight:600;text-align:right}.feedback-success{background:#e6f6e9!important;border:1px solid #70b383;color:#195f32!important}.feedback-error{background:#fff0f0!important;border:1px solid #d88787;color:#932e35!important}.toast.feedback-error,.toast.feedback-success{max-width:calc(100vw - 28px);font-size:15px;line-height:1.9}.plan-matrix{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.plan-matrix th,.plan-matrix td{padding:14px 12px;border-bottom:1px solid #e9dfee;border-left:1px solid #eee6f1;vertical-align:top;line-height:1.9}.plan-matrix thead{background:#f3e9f7;color:#582366}.plan-matrix th:first-child{width:17%}.plan-matrix small,.plan-matrix strong,.meal-cell-state{display:block}.plan-matrix small{font-size:12px;color:#7a6c80}.plan-matrix .secondary{margin-top:8px;padding:7px 14px;font-size:12px}.meal-cell-state{font-size:12px;color:#875593}.muted{color:#998aa2;font-size:13px}.food-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.food-group{padding:16px;border:1px solid #e8dceb;border-radius:16px;background:#fffdf8}.food-group h3{display:flex;justify-content:space-between;align-items:center;color:#733488}.food-group h3 span{font-family:Vazirmatn,sans-serif;background:#ffe675;padding:3px 10px;border-radius:9px}.food-tile{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #eee3f1;border-radius:12px;padding:12px;margin-top:10px;background:white}.food-tile:hover{border-color:#e6bb38;box-shadow:0 4px 14px #6030700c}.food-tile small{display:block;font-size:12px;color:#8b7c92;margin-top:6px}.food-tile strong{font-size:14px}.food-tile button{font-size:12px;padding:8px}.food-tile[hidden]{display:none}.library-search{display:block;max-width:480px;margin-top:20px}.library-search input{width:100%;border:1px solid #d8c2e0;padding:14px;border-radius:12px;font:inherit;background:white}.eligibility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.eligibility-list>div{background:#fff9df;border-radius:10px;padding:12px}.eligibility-list span{display:block;font-size:12px;margin-top:8px}.night-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.night-person{padding:16px;background:#f0f8f1;border:1px solid #c5dfcc;border-radius:12px;display:flex;flex-direction:column;gap:7px}.night-person span{font-size:14px}.night-person small{color:#68806e;font-size:12px}.is-suspended{background:#fff1f1!important;border:1px solid #e6b3b3!important;border-radius:12px;padding:14px!important}.suspended-button{background:#b83d49!important;color:white!important;border-color:#b83d49!important}.payment-confirm{font-size:19px;line-height:2.1;background:#fff9e4;border:1px solid #e6d092;padding:20px;border-radius:14px;margin:16px 0}.payment-confirm strong{font-size:24px;color:#78378b}.desk-actions .desk-link{border:1px solid #e0d0e6;background:#f8f1fb;color:#693277;border-radius:10px;min-height:40px;padding:10px 14px;transition:transform .2s,background .2s,box-shadow .2s}.desk-actions .desk-link:hover{background:#ffe578;border-color:#e3b83b;transform:translateY(-3px);box-shadow:0 7px 16px #64317822}.desk-actions .desk-link:active{transform:translateY(0)}
@media(max-width:800px){.food-groups{grid-template-columns:1fr}.night-entries{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-matrix{min-width:620px}.payment-confirm{font-size:17px}.payment-confirm strong{font-size:21px}.inline-feedback{font-size:15px}.choice-list{max-height:220px}.eligibility-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.desk-actions .desk-link,.choice-input-row{transition:none!important;transform:none!important}}@media print{.choice-wrap,.inline-feedback,.library-search{display:none!important}}

[data-day-only][hidden]{display:none!important}
/* Final Persian interaction design — v1.2.7 */
:root{--plum:#71348b;--sun:#ffdc64;--rose:#fff0f3}
.designer-credit{text-align:center;font:600 14px/2 Estedad;color:#76517f;padding:24px 12px}
.choice-list [role=option]{min-height:46px}.choice-list [role=option] .choice-check{flex:0 0 20px}.choice-toggle{color:#71348b!important;background:#f4edf7!important;font-size:23px!important;border-radius:10px!important}
.live-person>.choice-wrap{flex:0 1 240px;width:240px;min-width:190px}.live-person{background:linear-gradient(115deg,#fff,#faf5fc);border:1px solid #e5d7eb;border-radius:18px;padding:20px;margin:14px 0}.live-person strong{font-size:18px}.live-person small{font-size:14px;line-height:2}.live-person.is-suspended{background:#fff0f2;border:2px solid #c44158}
.is-holiday,.reservation-matrix td.is-holiday{background:#ffe3e9!important;border:2px solid #c84159!important;color:#922039!important}.is-holiday .meal-body,.is-holiday .meal-visual,.is-holiday button,.is-holiday .meal-lettering,.is-holiday .meal-time{background:#ffe3e9!important;color:#922039!important}.meal-desc{font:600 17px/2 Estedad!important}.meal-time{display:flex!important;flex-wrap:wrap;gap:9px!important;padding:13px!important;background:#f2e4f8!important;border:1px solid #dbc0e6!important;border-radius:13px!important;color:#642d78!important;font:700 18px/1.8 Vazir!important}.editorial-copy p{font:500 17px/2.1 Estedad!important}.server-status{font-size:13px}.meal-price{font-size:16px}.plan-matrix td.is-holiday small{color:#922039}
.admin-tabs button.active{background:linear-gradient(125deg,#6e3289,#974bae)!important;color:white!important;border-color:#6e3289!important;box-shadow:0 10px 26px #71348b25}.admin-tabs button.active .management-description,.admin-tabs button.active strong,.admin-tabs button.active .management-enter{color:#fff8df!important}.admin-tabs button.active .management-icon{background:#ffdf76!important;color:#622477!important}.management-icon svg{width:30px;height:30px}.management-icon{display:grid;place-items:center}.management-enter{background:none!important;border:none!important}.management-enter span{display:none}.admin-tabs button:hover .management-icon svg{transform:rotate(-8deg) translateY(-2px);transition:transform .2s}.nav-item{border:1px solid transparent!important;transition:background .2s,transform .2s,box-shadow .2s!important;min-height:58px;gap:12px!important}.nav-item svg{width:25px;height:25px;flex-shrink:0}.nav-item>span{font-size:14px!important;width:auto!important}.nav-item:hover{background:#ffe58e!important;border-color:#f2c744!important;color:#5b286c!important;transform:translateX(-4px);box-shadow:0 7px 18px #71348b18}.nav-item.active{background:#77348f!important;color:#fff!important;box-shadow:0 8px 18px #71348b25}.nav-item:hover svg{transform:rotate(-8deg);transition:.2s}
.login-layout{max-width:1040px;border-radius:30px;box-shadow:0 22px 70px #71348b16;border:1px solid #e9dff0}.login-copy{background:radial-gradient(circle at 90% 10%,#fff3bd 0,transparent 45%),linear-gradient(145deg,#ffdf66,#ffe99f);position:relative;padding:44px}.login-copy>span:first-of-type{font:700 19px/2 Estedad}.login-copy h1{font-size:58px;line-height:1.3;color:#623075;margin:23px 0}.login-copy p{font:500 15px/2.2 Estedad}.login-mark{display:grid;place-items:center;width:68px;height:68px;background:#fff8df;border-radius:22px;color:#71348b;box-shadow:0 8px 24px #71348b18;margin-bottom:24px}.login-mark svg{width:40px;height:40px}.login-form{padding:48px 40px;background:linear-gradient(140deg,#fff,#fcf8ff)}.login-form h2{font-size:38px}.login-form label{font-size:14px}.login-form input{min-height:55px;font-size:17px;border-radius:14px}.login-form .primary{min-height:56px;font-size:17px;border-radius:15px}.login-form small{font-size:13px}.login-form .designer-credit{margin-bottom:0}
.guest-stack{grid-template-columns:minmax(0,1fr);max-width:680px}.guest-stack #guest-names{display:grid;gap:16px}.permission-person{display:block!important;border:1px solid #e5d6ec;border-radius:16px;padding:18px!important;background:#fcf8ff}.permission-person small{display:block;font-size:14px}.inline-decision{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.inline-decision input{flex:1;min-width:160px;font:14px Estedad;border:1px solid #decde8;border-radius:10px;padding:10px}.presence-button,.absence-button{border:0;border-radius:12px;padding:12px 19px;font:600 15px Estedad;cursor:pointer}.presence-button{background:#247453;color:white}.absence-button{background:#b93652;color:white}.feedback-warning{background:#fff1d1!important;color:#8c5008!important;border:2px solid #dfad4e!important}.feedback-absent{background:#ffe8ee!important;color:#972840!important;border:2px solid #d57389!important}.night-person.absent{background:#ffe5eb!important;border:2px solid #cc5771!important;color:#8d243e!important}.night-person.present{background:#e9f7ee;border:1px solid #6db088}.attention-night{padding:20px;border:2px solid #e5ad48;background:#fff6df;border-radius:18px;margin:20px 0}.attention-night h3{color:#91500c}.attention-night p{font-size:14px}.permission-log{display:grid;gap:6px;border-radius:13px;padding:16px;margin:10px 0}.is-restricted{background:#ffe8ee;border:1px solid #df8397;color:#922039}.is-granted{background:#f3e9f9;border:1px solid #c99cdb;color:#6c3480}.policy-card{border-top:4px solid #e5ba3c}.admin-table tbody tr:nth-child(even){background:#f5ecfa}.admin-table tbody tr:nth-child(odd){background:#fffdf5}.admin-table tbody tr:hover{background:#fff0bf}.admin-table td{padding:15px 12px}
.time-popover{display:block;position:relative;background:linear-gradient(140deg,#fff,#faf2ff);border:2px solid #d0a5df;border-radius:22px;padding:20px;box-shadow:0 12px 30px #71348b20;margin-top:10px;z-index:20;min-width:230px}.clock-heading{display:flex;justify-content:space-between;align-items:center;font-size:17px}.clock-heading button{border:0;background:#f0e5f5;color:#71348b;border-radius:50%;width:34px;height:34px;font-size:23px}.clock-readout{font:700 42px/1.8 Vazir;text-align:center;color:#71348b;direction:ltr;font-variant-numeric:tabular-nums}.clock-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quick-times{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.quick-times button{border:1px solid #e3cee9;background:#fff;border-radius:10px;padding:9px;color:#71348b}.quick-times button:hover{background:#ffe27b;border-color:#dbb234}.time-popover>.primary{width:100%}.time-popover .choice-list{max-height:210px}.time-popover~*{position:relative}[data-time24]{cursor:pointer;background:linear-gradient(90deg,#fcf5ff,#fff)!important;font-size:19px!important;color:#71348b!important}
@media(max-width:850px){.nav-item>span{font-size:10px!important}.nav-item svg{width:22px;height:22px}.nav-item{min-height:54px;gap:3px!important}.nav-item:hover{transform:translateY(-2px)}.login-copy{padding:26px}.login-copy h1{font-size:44px}.login-form{padding:28px}.login-layout{margin:16px auto}.meal-time{font-size:17px!important}.editorial-copy p{font-size:15px!important}.live-person>.choice-wrap{flex:1 1 100%;width:100%}.inline-decision button{flex:1}.designer-credit{padding-bottom:35px}.clock-columns{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.nav-item,.nav-item svg,.management-icon svg{transition:none!important;transform:none!important}}

/* Keep nested date/time controls reachable in short viewports and dialogs. */
.calendar-popup{box-sizing:border-box;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.calendar-popup .time-popover{min-width:0;box-sizing:border-box;padding:12px}.calendar-popup .clock-readout{font-size:30px}.calendar-popup .choice-list{position:relative;max-height:140px}.night-count-summary{background:#fff2b5;border:2px solid #e9c44d;border-radius:18px;padding:20px;margin:16px 0;color:#542764;font:600 19px/1.9 Estedad}.night-count-summary b{font:700 38px Vazir}.night-count-summary small{display:block;font:15px Vazir}

@media(max-width:850px){.login-mode .login-copy,.login-mode .demo-strip,.login-mode .site-title small,.login-mode main>footer{display:none}.login-mode .desktop-toolbar{min-height:0;padding:16px 18px}.login-mode .site-title{font-size:18px;line-height:1.8}.login-mode main{padding:8px 16px}.login-mode .login-layout{display:block;margin:4px auto 16px}.login-mode .login-form{padding:22px}.login-mode .login-form h2{font-size:32px;margin-bottom:16px}.login-mode .login-form small{font-size:12px;line-height:1.9}.login-mode .designer-credit{padding:8px 0 0}}/* v1.3: quieter holidays, readable status, compact mobile login. */
.reservation-matrix td.is-holiday,.plan-matrix td.is-holiday,.meal.is-holiday{background:#fcf3f5!important;border-color:#e6c8d1!important;color:#8b4058!important;box-shadow:none!important}
.reservation-matrix td.is-holiday b{font-size:16px!important;line-height:1.5!important}
.reservation-matrix td small{font-size:15px!important}
.reservation-matrix td.booked small,.reservation-matrix td.not-booked small{font-size:16px!important}
.meal.is-holiday .meal-visual{background:#f3e8ed!important}
.login-mode{background:#f1e5f6!important}
.designer-credit{width:fit-content;margin:22px auto!important;padding:12px 24px!important;border-radius:18px;background:#fff0b5;color:#6d307f;font-size:110%!important;text-align:center;border:1px solid #ead29b}
.android-download-link{display:flex;flex:1;align-items:center;justify-content:center;gap:12px;min-height:78px;padding:12px 20px;border-radius:17px;background:#74358c;color:#fff!important;text-decoration:none!important;font-size:19px;font-weight:800;line-height:1.6;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 8px 20px #71348b36}
.android-download-link:hover,.android-download-link:focus-visible{background:#5d2874;transform:translateY(-2px);box-shadow:0 12px 24px #71348b48}
.android-download-link small{display:block;color:#fff0bd;font-size:12px;font-weight:500}
.download-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:13px;background:#fff3be;color:#652f7d;font-size:29px;line-height:1}
body.login-mode .login-copy{display:flex;flex-direction:column}
.login-copy-download{width:100%;flex:none;margin-top:auto;padding:16px 20px}
.login-mobile-download{display:none}
body.login-mode .login-form .designer-credit{display:block}
.login-form .android-download-link small{margin:0;color:#fff0bd;font:500 12px/1.8 Estedad}
@media(max-width:850px){body.login-mode .login-copy{display:none}body.login-mode .login-mobile-download{display:flex;width:100%;margin-top:12px;min-height:70px;font-size:16px}body.login-mode .login-form .designer-credit{margin:14px auto!important}body.login-mode .login-copy-download{display:none}}
@media(max-width:760px){.login-mobile-download{gap:8px;padding:10px}.login-mobile-download .download-icon{width:34px;height:34px;font-size:24px}.login-form .login-mobile-download small{font-size:11px!important}}
.initial-password-reminder,.draft-explainer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#fff3bf;border:1px solid #e7cf77;padding:16px 20px;border-radius:18px;margin:12px 0 20px}
.draft-explainer p{margin:0;width:100%}
.password-feedback{grid-column:1/-1;background:#fff0f1;color:#9d2945;padding:16px;border-radius:12px;font-size:17px}
.password-feedback.success{background:#e5f4eb;color:#176a4c}
.password-policy{font-size:16px;color:#71348b}
.danger-text{color:#a32e4f!important}
.holiday-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #eee3ed}
@media(max-width:760px){
 body.login-mode .login-copy{display:none!important}
 body.login-mode .login-layout{display:block!important;margin-top:8px!important}
 body.login-mode .login-form{padding:22px!important;border-top:5px solid #ffdc64;border-radius:24px!important}
 body.login-mode .demo-strip{display:none!important}
 body.login-mode .desktop-toolbar{padding:12px!important;min-height:0!important}
 body.login-mode .site-title{font-size:17px!important;line-height:1.7!important}
 body.login-mode .site-title small{display:none!important}
 body.login-mode main{padding-top:8px!important}
 body.login-mode .designer-credit{font-size:15px!important;margin:14px auto!important}
 body.login-mode main>footer.designer-credit{display:none!important}
}

.is-holiday .meal-body,.is-holiday button,.is-holiday .meal-lettering,.is-holiday .meal-time{background:#fcf3f5!important;color:#8b4058!important}.reservation-matrix td.is-holiday button{border:0!important;min-height:48px!important}.holiday-empty{background:#fcf3f5;border:1px solid #e6c8d1;color:#8b4058}

/* Compact weekly overview and explicit, reversible disclosure controls. */
.reservation-heading h1{font:600 25px/1.7 Estedad}
.reservation-heading p{font-size:13px}
.reservation-sheet{padding:16px;max-width:960px}
.reservation-matrix{border-spacing:4px}
.reservation-matrix thead th{font:600 14px/1.7 Estedad;background:#f0e7f5;color:#633578;padding:10px 4px}
.reservation-matrix tbody th{font:500 12px/1.6 Estedad;padding:6px 9px}
.reservation-matrix th .server-status{font:11px/1.6 Vazir;margin-top:4px}
.reservation-matrix td{height:52px;border-radius:8px}
.reservation-matrix td button{min-height:48px;padding:5px 2px}
.reservation-matrix td b{font:400 19px/1.2 Vazir}
.reservation-matrix td small,.reservation-matrix td.booked small,.reservation-matrix td.not-booked small{font:12px/1.6 Vazir!important}
.reservation-matrix td.is-holiday{border:1px solid #e6c8d1!important;font:500 13px/1.7 Estedad}
.reservation-matrix td.holiday-day{height:42px;text-align:center;letter-spacing:0}
.reservation-matrix .unavailable{border-style:solid;border-color:#f0eaf3;background:#fcfafc}
.choice-toggle{display:grid;place-items:center;align-self:center;flex:0 0 36px;min-width:36px;min-height:36px;margin:4px;border:1px solid #e7dced;background:#f8f3fa!important;border-radius:9px!important;transition:background .18s,border-color .18s}
.choice-toggle svg{width:20px;height:20px;transition:transform .18s}
.choice-toggle:hover,.choice-toggle:focus-visible{background:#ffedaf!important;border-color:#e5bc48;outline:2px solid #f2d56b;outline-offset:1px}
.choice-open .choice-toggle svg{transform:rotate(180deg)}
.choice-open .choice-toggle{background:#eee0f5!important;border-color:#c6a6d5}
.save-panel{position:static;box-shadow:none;padding:14px 18px;margin:12px 0 24px}
.save-panel[hidden]{display:none!important}
.save-panel h3{font:600 17px/1.8 Estedad}
.save-panel p{font:13px/1.8 Vazir}
@media(max-width:600px){.reservation-sheet{padding:9px 5px}.reservation-heading h1{font-size:22px}.reservation-matrix thead th{font-size:12px}.reservation-matrix tbody th{font-size:11px;padding:4px}.reservation-matrix th .server-status{font-size:10px}.reservation-matrix td small,.reservation-matrix td.booked small,.reservation-matrix td.not-booked small{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.choice-toggle,.choice-toggle svg{transition:none}}
.kitchen-summary{background:#fff3b8;border:1px solid #eac64e;border-radius:18px;padding:20px 24px;margin:0 0 14px;color:#542764}
.kitchen-summary h2{font:24px/1.8 Lalezar;margin:0 0 14px}
.kitchen-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:center}
.kitchen-slots>div{background:#fffaf0;border-radius:12px;padding:12px 6px}
.kitchen-slots h3{font:600 16px Estedad;margin:0 0 10px}
.kitchen-slots strong{font:700 32px Vazir}.kitchen-slots strong small{font:13px Vazir}
.kitchen-guests{font:600 14px Vazir;color:#75328b;border-top:1px solid #ead694;padding-top:8px;margin:8px 0 0}
.kitchen-updated{font:12px/1.9 Vazir;color:#786d80;margin-bottom:24px}
@media(max-width:600px){.kitchen-summary{padding:15px 10px}.kitchen-summary h2{font-size:21px}.kitchen-slots{gap:6px}.kitchen-slots h3{font-size:13px}.kitchen-slots strong{font-size:25px}.kitchen-slots strong small{display:block;font-size:11px}.kitchen-guests{font-size:12px}}
