:root{--color-primary:#3572a2;--color-primary-dark:#2a5a82;--color-primary-light:#e8f1f8;--color-velvet-blue:#112351;--color-rose-gold:#f9d98d;--color-serious-blue:#3572a2;--color-fun-peach:#fcad69;--color-eco-green:#7abc7b;--color-pyp-yellow:#f7e17a;--color-myp-magenta:#f28176;--color-dp-cyan:#27abcf;--color-secondary:#112351;--color-secondary-light:#e8f1f8;--color-secondary-lighter:#f0f5fa;--color-text-primary:#112351;--color-text-secondary:#2d4a6f;--color-text-tertiary:#4a6a8a;--color-text-muted:#6c8db0;--color-text-placeholder:#7a9bc0;--color-text-dark:#112351;--color-text-light:#fff;--color-text-gold:#f9d98d;--color-bg-primary:#fff;--color-bg-secondary:#f5f7fa;--color-bg-tertiary:#f8f9fb;--color-bg-hover:#e8f1f8;--color-bg-light:#edf2f7;--color-bg-dark:#112351;--color-border-light:#d4e0ed;--color-border-medium:#c5d5e8;--color-border-lighter:#e5ecf4;--color-error:#f28176;--color-error-bg:#fef2f1;--color-success:#7abc7b;--color-success-bg:#f0f9f0;--shadow-sm:0 1px 3px #11235114;--shadow-md:0 2px 6px #1123511f;--shadow-lg:0 4px 12px #11235126;--shadow-focus:0 0 0 3px #3572a233;--gradient-info-section:linear-gradient(135deg,#f8f9fb,#fff);--gradient-header:linear-gradient(135deg,#112351,#1a3366);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:50px;--font-heading:"Arial","Helvetica Neue",sans-serif;--font-body:"Arial","Helvetica Neue",serif;--font-ui:"Arial","Helvetica Neue",sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body);line-height:1.6;margin:0}[data-theme=dark] body,body{background-color:var(--color-velvet-blue);color:var(--color-text-light)}[data-theme=light] body{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,h1,h2,h3,h4,h5,h6{color:var(--color-text-light)}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] h4,[data-theme=light] h5,[data-theme=light] h6{color:var(--color-velvet-blue)}button,input,select,textarea{font-family:var(--font-ui)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.student-info-card{align-items:center;border-radius:var(--radius-lg);box-sizing:border-box;display:flex;gap:1.25rem;margin-bottom:.75rem;max-width:100%;overflow:hidden;padding:1.25rem;position:relative}.student-info-card,[data-theme=dark] .student-info-card{background:#ffffff1a;border:2px solid #fff3;box-shadow:0 2px 8px #0003}[data-theme=light] .student-info-card{background:linear-gradient(135deg,#3572a214,#3572a208);border:2px solid var(--color-serious-blue);box-shadow:0 2px 8px #3572a226,var(--shadow-sm)}.student-avatar{align-items:center;background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98dcc 100%);border:3px solid var(--color-rose-gold);border-radius:50%;box-shadow:0 2px 8px #f9d98d4d;display:flex;flex-shrink:0;height:70px;justify-content:center;width:70px}.avatar-initials{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;line-height:1}.avatar-initials,[data-theme=dark] .avatar-initials{color:var(--color-text-light)}[data-theme=light] .avatar-initials{color:var(--color-velvet-blue)}.student-info-content{flex:1 1}.student-info-content,.student-info-main{max-width:100%;min-width:0;overflow:hidden}.student-info-main{display:flex;flex-direction:column;gap:.75rem}.student-name{word-wrap:break-word;font-family:var(--font-heading);font-size:1.35rem;font-weight:700;line-height:1.2;max-width:100%;min-width:0;overflow-wrap:break-word;width:100%;word-break:break-word}.student-name,[data-theme=dark] .student-name{color:var(--color-text-light)}[data-theme=light] .student-name{color:var(--color-velvet-blue)}.student-details{flex-wrap:nowrap;gap:.75rem;max-width:100%;overflow:hidden}.student-detail-item,.student-details{align-items:center;display:flex;flex-direction:row;min-width:0}.student-detail-item{flex-shrink:0;gap:.5rem;white-space:nowrap}.student-detail-label{font-family:var(--font-heading);font-size:.8rem;font-weight:600;letter-spacing:.03em}.student-detail-label,[data-theme=dark] .student-detail-label{color:var(--color-text-light);opacity:.9}[data-theme=light] .student-detail-label{color:var(--color-text-secondary);opacity:1}.student-detail-value{word-wrap:break-word;flex:1 1 auto;font-family:var(--font-heading);font-size:.95rem;font-weight:600;max-width:100%;min-width:0;overflow-wrap:break-word;position:relative;word-break:break-word}.student-detail-value,[data-theme=dark] .student-detail-value{color:var(--color-text-light)}[data-theme=light] .student-detail-value{color:var(--color-velvet-blue)}.student-detail-value:after{background:linear-gradient(90deg,var(--color-rose-gold) 0,#0000 100%);bottom:-2px;content:"";height:2px;left:0;opacity:.4;position:absolute;right:0}.student-detail-separator{color:var(--color-border-medium);display:inline-block;flex-shrink:0;font-weight:400;opacity:.6}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:1.25rem;transition:box-shadow .2s ease,transform .2s ease}.info-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.student-info-item{background:linear-gradient(135deg,#f9d98d14,#f9d98d08);border:2px solid var(--color-rose-gold);border-radius:var(--radius-md);box-shadow:0 2px 8px #f9d98d26,var(--shadow-sm);padding:1.5rem;position:relative}.student-label{color:var(--color-rose-gold);font-size:.85rem;letter-spacing:.05em;margin-bottom:.75rem}.student-label,.student-value{font-family:var(--font-heading);font-weight:700}.student-value{color:var(--color-velvet-blue);font-size:1.35rem;line-height:1.3;word-break:break-word}.parent-info-item{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-lighter);opacity:.85}.parent-info-item:hover{opacity:1;transform:translateY(-1px)}.parent-value{color:var(--color-text-secondary);font-family:var(--font-ui);font-size:1rem;font-weight:500;word-break:break-word}.info-label{color:var(--color-text-muted);font-size:.8rem;margin-bottom:.5rem}.info-label,.info-value{font-family:var(--font-ui);font-weight:600}.info-value{color:var(--color-velvet-blue);font-size:1.1rem;word-break:break-word}@media (max-width:768px){.student-info-card{align-items:flex-start;box-sizing:border-box;flex-direction:row;gap:1rem;max-width:100%;overflow:hidden;padding:1.25rem;width:100%}.student-info-content{flex:1 1}.student-info-content,.student-info-main{max-width:100%;min-width:0;overflow:hidden}.student-info-main{align-items:flex-start;gap:.75rem;width:100%}.student-avatar{flex-shrink:0;height:60px;width:60px}.avatar-initials{font-size:1.5rem}.student-name{word-wrap:break-word;font-size:1.3rem;line-height:1.3;margin-bottom:0;overflow-wrap:break-word;text-align:left;word-break:break-word}.student-details,.student-name{max-width:100%;min-width:0;width:100%}.student-details{align-items:flex-start;flex-direction:column;gap:.5rem;margin-top:0;overflow:hidden}.student-detail-separator{display:none}.student-detail-item{align-items:center;flex-direction:row;gap:.5rem;max-width:100%;min-width:0;overflow:hidden;text-align:left;width:100%}.student-detail-label{flex-shrink:0;font-size:.8rem;letter-spacing:.03em;opacity:.9}.student-detail-value{word-wrap:break-word;flex:1 1 auto;font-size:.95rem;max-width:100%;min-width:0;overflow-wrap:break-word;padding:0;word-break:break-word}.info-grid{gap:1rem;grid-template-columns:1fr}.info-item{padding:1rem}.section-title{font-size:1.1rem}.info-value{font-size:1rem}}.yes-no-group{display:flex;gap:.75rem}.yes-no-button{border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-family:var(--font-ui);font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.875rem 1.5rem;transition:all .2s ease}.yes-no-button,[data-theme=dark] .yes-no-button{background-color:#ffffff1a;border:2px solid #ffffff4d;color:var(--color-text-light)}.yes-no-button:hover,[data-theme=dark] .yes-no-button:hover{background-color:#fcad6933;border-color:var(--color-fun-peach);color:var(--color-fun-peach)}[data-theme=light] .yes-no-button{background-color:var(--color-bg-primary);border:2px solid var(--color-border-medium);color:var(--color-text-secondary)}[data-theme=light] .yes-no-button:hover{background-color:#fcad691a;border-color:var(--color-fun-peach);color:var(--color-fun-peach)}.yes-no-button.active{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border-color:var(--color-rose-gold);box-shadow:0 2px 6px #f9d98d33;color:var(--color-velvet-blue)}.yes-no-button.active:hover{background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);border-color:var(--color-rose-gold);box-shadow:0 3px 8px #f9d98d4d}.yes-no-button:focus-visible{outline:3px solid var(--color-fun-peach);outline-offset:2px}.yes-no-button.active:focus-visible{outline-color:var(--color-rose-gold)}@media (max-width:768px){.yes-no-group{flex-direction:column}.yes-no-button{width:100%}}.dietary-restrictions{border-top:2px solid var(--color-rose-gold);margin-top:2rem;padding-top:2rem;position:relative}.dietary-restrictions:before{background:linear-gradient(90deg,var(--color-rose-gold) 0,#f9d98d4d 100%);content:"";height:2px;left:0;position:absolute;top:-2px;width:100px}.dietary-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;margin-bottom:.5rem;padding-bottom:.5rem;position:relative}.dietary-title,[data-theme=dark] .dietary-title{color:var(--color-text-light)}[data-theme=light] .dietary-title{color:var(--color-velvet-blue)}.dietary-title:after{background:linear-gradient(90deg,var(--color-rose-gold) 0,#0000 100%);border-radius:var(--radius-sm);bottom:0;content:"";height:3px;left:0;position:absolute;width:60px}.dietary-description{font-family:var(--font-ui);font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.dietary-description,[data-theme=dark] .dietary-description{color:var(--color-text-light);opacity:.85}[data-theme=light] .dietary-description{color:var(--color-text-tertiary);opacity:1}.selected-summary{border:2px solid var(--color-rose-gold);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1rem 1.25rem}.selected-summary,[data-theme=dark] .selected-summary{background:linear-gradient(135deg,#f9d98d26,#f9d98d14);box-shadow:0 2px 8px #f9d98d40}[data-theme=light] .selected-summary{background:linear-gradient(135deg,#f9d98d1a,#f9d98d0d);box-shadow:0 2px 8px #f9d98d26}.summary-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.summary-title{font-family:var(--font-ui);font-size:.9rem;font-weight:700;letter-spacing:.5px}.summary-title,[data-theme=dark] .summary-title{color:var(--color-text-light)}[data-theme=light] .summary-title{color:var(--color-velvet-blue)}.summary-count{border:1px solid var(--color-rose-gold);border-radius:var(--radius-pill);color:var(--color-rose-gold);font-family:var(--font-ui);font-size:.85rem;font-weight:700;padding:.2rem .6rem}.summary-count,[data-theme=dark] .summary-count{background-color:#ffffff1a}[data-theme=light] .summary-count{background-color:var(--color-bg-primary)}.summary-pills{display:flex;flex-wrap:wrap;gap:.5rem}.summary-pill{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-family:var(--font-ui);font-size:.85rem;font-weight:500;gap:.4rem;padding:.4rem .75rem .4rem .85rem}.summary-pill,[data-theme=dark] .summary-pill{background-color:#ffffff1a}.summary-pill.custom,.summary-pill.predefined,[data-theme=dark] .summary-pill.custom,[data-theme=dark] .summary-pill.predefined{background-color:#f9d98d26;border:1px solid var(--color-rose-gold);color:var(--color-text-light)}[data-theme=light] .summary-pill{background-color:var(--color-bg-primary)}[data-theme=light] .summary-pill.custom,[data-theme=light] .summary-pill.predefined{background-color:#f9d98d1a;border:1px solid var(--color-rose-gold);color:var(--color-velvet-blue)}.check-icon{color:var(--color-rose-gold);font-size:.9rem;font-weight:700}.summary-remove{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:1.3rem;height:1.2rem;justify-content:center;line-height:1;margin-left:.25rem;opacity:.7;padding:0;transition:opacity .2s,color .2s;width:1.2rem}.summary-remove:hover{background-color:var(--color-error-bg);color:var(--color-error);opacity:1}.summary-remove:focus-visible{opacity:1;outline:3px solid var(--color-error);outline-offset:2px}.summary-pill.custom .summary-remove:hover,.summary-pill.predefined .summary-remove:hover{background-color:var(--color-error-bg)}.options-section{margin-bottom:1.5rem}.options-title{font-family:var(--font-ui);font-size:.9rem;font-weight:700;margin-bottom:.75rem}.options-title,[data-theme=dark] .options-title{color:var(--color-text-light);opacity:.85}[data-theme=light] .options-title{color:var(--color-text-secondary);opacity:1}.restrictions-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.restriction-pill{align-items:center;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.9rem;font-weight:500;gap:.5rem;max-width:45%;min-width:0;padding:.6rem 1.25rem;transition:all .2s ease}.pill-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restriction-pill,[data-theme=dark] .restriction-pill{background-color:#ffffff1a;border:2px solid #ffffff4d;color:var(--color-text-light)}.restriction-pill:hover,[data-theme=dark] .restriction-pill:hover{background-color:#fcad6933;border-color:var(--color-fun-peach);color:var(--color-fun-peach)}[data-theme=light] .restriction-pill{background-color:var(--color-bg-primary);border:2px solid var(--color-border-medium);color:var(--color-text-secondary)}[data-theme=light] .restriction-pill:hover{background-color:#fcad691a;border-color:var(--color-fun-peach);color:var(--color-fun-peach)}.restriction-pill.selected{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border-color:var(--color-rose-gold);box-shadow:0 2px 6px #f9d98d33;color:var(--color-velvet-blue);font-weight:600}.restriction-pill.selected:hover{background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);border-color:var(--color-rose-gold);box-shadow:0 3px 8px #f9d98d4d}.restriction-pill:focus-visible{outline:3px solid var(--color-fun-peach);outline-offset:2px}.restriction-pill.selected:focus-visible{outline-color:var(--color-rose-gold)}.pill-check{align-items:center;display:inline-flex;font-size:.95rem;font-weight:700;justify-content:center;margin-right:.3rem}.restriction-pill.custom.selected{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border-color:var(--color-rose-gold);box-shadow:0 2px 6px #f9d98d33;color:var(--color-velvet-blue);font-weight:600}.restriction-pill.custom.selected:hover{background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);border-color:var(--color-rose-gold);box-shadow:0 3px 8px #f9d98d4d}.remove-pill{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;line-height:1;margin-left:.25rem;opacity:.7;padding:0;transition:opacity .2s}.remove-pill:hover{opacity:1}.remove-pill:focus-visible{opacity:1;outline:3px solid var(--color-error);outline-offset:2px}.custom-restrictions{margin-bottom:1.5rem;margin-top:1.5rem}.custom-title{font-family:var(--font-ui);font-size:.95rem;font-weight:700;margin-bottom:.75rem}.custom-title,[data-theme=dark] .custom-title{color:var(--color-text-light);opacity:.85}[data-theme=light] .custom-title{color:var(--color-text-secondary);opacity:1}.custom-restriction-input{display:flex;gap:.75rem;margin-top:1rem}.custom-restriction-input .form-input{border-radius:var(--radius-md);flex:1 1;font-family:var(--font-ui);font-size:1rem;min-width:0;padding:.875rem 1rem;transition:border-color .2s,box-shadow .2s}.custom-restriction-input .form-input,[data-theme=dark] .custom-restriction-input .form-input{background-color:#ffffff1a;border:2px solid #ffffff4d;color:var(--color-text-light)}.custom-restriction-input .form-input:focus,[data-theme=dark] .custom-restriction-input .form-input:focus{background-color:#ffffff26;border-color:var(--color-fun-peach);box-shadow:0 0 0 3px #fcad694d;outline:none}.custom-restriction-input .form-input::placeholder,[data-theme=dark] .custom-restriction-input .form-input::placeholder{color:#ffffff80;opacity:1}.custom-restriction-input .form-input::-webkit-input-placeholder,[data-theme=dark] .custom-restriction-input .form-input::-webkit-input-placeholder{color:#ffffff80;opacity:1}.custom-restriction-input .form-input::-moz-placeholder,[data-theme=dark] .custom-restriction-input .form-input::-moz-placeholder{color:#ffffff80;opacity:1}.custom-restriction-input .form-input:-ms-input-placeholder,[data-theme=dark] .custom-restriction-input .form-input:-ms-input-placeholder{color:#ffffff80;opacity:1}[data-theme=light] .custom-restriction-input .form-input{background-color:var(--color-bg-primary);border:2px solid var(--color-border-medium);color:var(--color-text-primary)}[data-theme=light] .custom-restriction-input .form-input:focus{border-color:var(--color-fun-peach);box-shadow:0 0 0 3px #fcad6933;outline:none}[data-theme=light] .custom-restriction-input .form-input::placeholder{color:var(--color-text-placeholder);opacity:1}[data-theme=light] .custom-restriction-input .form-input::-webkit-input-placeholder{color:var(--color-text-placeholder);opacity:1}[data-theme=light] .custom-restriction-input .form-input::-moz-placeholder{color:var(--color-text-placeholder);opacity:1}[data-theme=light] .custom-restriction-input .form-input:-ms-input-placeholder{color:var(--color-text-placeholder);opacity:1}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.add-button{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border:2px solid var(--color-rose-gold);border-radius:var(--radius-md);box-shadow:0 2px 6px #f9d98d40;color:var(--color-velvet-blue);cursor:pointer;flex-shrink:0;font-family:var(--font-ui);font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.875rem 1.75rem;transition:all .2s ease;white-space:nowrap}.add-button:hover:not(:disabled){background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);border-color:var(--color-rose-gold);box-shadow:0 4px 12px #f9d98d59;transform:translateY(-1px)}.add-button:focus-visible{outline:3px solid var(--color-rose-gold);outline-offset:2px}.add-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.selected-summary{padding:.875rem 1rem}.summary-title{font-size:.85rem}.summary-count{font-size:.8rem;padding:.15rem .4rem}.summary-pill{font-size:.8rem;padding:.35rem .65rem .35rem .75rem}.summary-remove{font-size:1.2rem;height:1.1rem;width:1.1rem}.options-title{font-size:.85rem}.custom-restriction-input{flex-direction:column;gap:.75rem}.custom-restriction-input .form-input{font-size:1rem;padding:.875rem 1rem;width:100%}.add-button{font-size:1rem;padding:.875rem 1.5rem;width:100%}.restrictions-pills{gap:.5rem}.restriction-pill{font-size:.85rem;max-width:100%;padding:.55rem 1rem}.dietary-title{font-size:1.1rem}.custom-title,.dietary-description{font-size:.9rem}}@media (max-width:480px){.custom-restriction-input{margin-top:.75rem}.custom-restriction-input .form-input{font-size:16px;padding:.75rem}.add-button{font-size:.95rem;padding:.75rem 1.25rem}.restriction-pill{font-size:.8rem;padding:.5rem .9rem}}.answers-section{margin-bottom:1.5rem}.section-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;margin-bottom:1.25rem;padding-bottom:.5rem;position:relative}.section-title,[data-theme=dark] .section-title{color:var(--color-text-light)}[data-theme=light] .section-title{color:var(--color-velvet-blue)}.section-title:after{background:linear-gradient(90deg,var(--color-rose-gold) 0,#0000 100%);border-radius:var(--radius-sm);bottom:0;content:"";height:3px;left:0;position:absolute;width:60px}.meal-preferences{gap:1.25rem;margin-bottom:1.5rem}.meal-item,.meal-preferences{display:flex;flex-direction:column}.meal-item{border:none;gap:.75rem;margin:0;padding:0}.meal-label-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;padding-left:1rem;position:relative;width:100%}.meal-label{flex-shrink:0;font-family:var(--font-ui);font-size:.95rem;font-weight:600;margin-bottom:0;padding:0;position:relative}.meal-label,[data-theme=dark] .meal-label{color:var(--color-text-light);opacity:.9}[data-theme=light] .meal-label{color:var(--color-text-secondary);opacity:1}.meal-label-wrapper:before{background-color:var(--color-fun-peach);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.general-info-text{font-size:.95rem;line-height:1.5;margin-bottom:1.25rem;padding-left:1rem}.general-info-text,[data-theme=dark] .general-info-text{color:var(--color-text-light);opacity:.85}[data-theme=light] .general-info-text{color:var(--color-text-tertiary);opacity:1}.meal-text{flex:1 1;font-size:.85rem;line-height:1.5;min-width:0}.meal-text,[data-theme=dark] .meal-text{color:var(--color-text-light);opacity:.85}[data-theme=light] .meal-text{color:var(--color-text-tertiary);opacity:1}[data-theme=dark] .general-info-text a,[data-theme=dark] .general-info-text div,[data-theme=dark] .general-info-text span,[data-theme=dark] .meal-text a,[data-theme=dark] .meal-text div,[data-theme=dark] .meal-text span{background-color:initial!important;color:var(--color-text-light)!important}[data-theme=dark] .general-info-text a,[data-theme=dark] .meal-text a{opacity:.9}[data-theme=light] .general-info-text div,[data-theme=light] .meal-text div{opacity:1}[data-theme=light] .general-info-text a,[data-theme=light] .general-info-text div,[data-theme=light] .general-info-text span,[data-theme=light] .meal-text a,[data-theme=light] .meal-text div,[data-theme=light] .meal-text span{background-color:initial!important;color:var(--color-text-tertiary)!important}[data-theme=light] .general-info-text a,[data-theme=light] .meal-text a{opacity:1}.general-info-text a,.meal-text a{text-decoration:underline}.general-info-text a:hover,.meal-text a:hover{opacity:1}@media (max-width:768px){.meal-label-wrapper{align-items:flex-start;flex-direction:column;gap:.25rem}.meal-label-wrapper:before{top:.5rem;transform:none}.meal-text{padding-left:0;width:100%}}@media (max-width:480px){.meal-label-wrapper{gap:.25rem}.general-info-text,.meal-text{font-size:.8rem}}.school-meal-form-container{margin:0 auto;max-width:900px;padding:.5rem 1rem 2rem}.school-meal-form{background-color:initial;border:none;border-radius:0;box-shadow:none;padding:1.5rem 2rem;position:relative}.school-meal-form .avatar-initials,.school-meal-form .info-value,.school-meal-form .section-title,.school-meal-form .student-detail-value,.school-meal-form .student-name,.school-meal-form .student-value,[data-theme=dark] .school-meal-form .avatar-initials,[data-theme=dark] .school-meal-form .info-value,[data-theme=dark] .school-meal-form .section-title,[data-theme=dark] .school-meal-form .student-detail-value,[data-theme=dark] .school-meal-form .student-name,[data-theme=dark] .school-meal-form .student-value{color:var(--color-text-light)}.school-meal-form .dietary-title,.school-meal-form .info-label,.school-meal-form .meal-label,.school-meal-form .student-detail-label,[data-theme=dark] .school-meal-form .dietary-title,[data-theme=dark] .school-meal-form .info-label,[data-theme=dark] .school-meal-form .meal-label,[data-theme=dark] .school-meal-form .student-detail-label{color:var(--color-text-light);opacity:.9}.school-meal-form .custom-title,.school-meal-form .dietary-description,.school-meal-form .options-title,[data-theme=dark] .school-meal-form .custom-title,[data-theme=dark] .school-meal-form .dietary-description,[data-theme=dark] .school-meal-form .options-title{color:var(--color-text-light);opacity:.85}.school-meal-form .student-info-card,[data-theme=dark] .school-meal-form .student-info-card{background:#ffffff1a;border-color:#fff3}.school-meal-form .yes-no-button,[data-theme=dark] .school-meal-form .yes-no-button{background-color:#ffffff1a;border-color:#ffffff4d;color:var(--color-text-light)}.school-meal-form .yes-no-button:hover,[data-theme=dark] .school-meal-form .yes-no-button:hover{background-color:#ffffff26;border-color:var(--color-fun-peach);color:var(--color-fun-peach)}.school-meal-form .yes-no-button.active,[data-theme=dark] .school-meal-form .yes-no-button.active{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border-color:var(--color-rose-gold);color:var(--color-velvet-blue)}.school-meal-form .yes-no-button.active:hover,[data-theme=dark] .school-meal-form .yes-no-button.active:hover{background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);border-color:var(--color-rose-gold);color:var(--color-velvet-blue)}[data-theme=light] .school-meal-form{background-color:var(--color-bg-primary);border:1px solid var(--color-border-lighter);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}[data-theme=light] .school-meal-form .avatar-initials,[data-theme=light] .school-meal-form .info-value,[data-theme=light] .school-meal-form .section-title,[data-theme=light] .school-meal-form .student-detail-value,[data-theme=light] .school-meal-form .student-name,[data-theme=light] .school-meal-form .student-value{color:var(--color-velvet-blue)}[data-theme=light] .school-meal-form .dietary-title,[data-theme=light] .school-meal-form .info-label,[data-theme=light] .school-meal-form .meal-label,[data-theme=light] .school-meal-form .student-detail-label{color:var(--color-text-secondary);opacity:1}[data-theme=light] .school-meal-form .custom-title,[data-theme=light] .school-meal-form .dietary-description,[data-theme=light] .school-meal-form .options-title{color:var(--color-text-tertiary);opacity:1}[data-theme=light] .school-meal-form .student-info-card{background:linear-gradient(135deg,#3572a214,#3572a208);border-color:var(--color-serious-blue)}[data-theme=light] .school-meal-form .yes-no-button{background-color:var(--color-bg-primary);border-color:var(--color-border-medium);color:var(--color-text-secondary)}[data-theme=light] .school-meal-form .yes-no-button:hover{background-color:#fcad691a;border-color:var(--color-fun-peach);color:var(--color-fun-peach)}.form-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.form-logo{flex-shrink:0;height:100px;object-fit:contain;width:auto}.form-title-row{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:space-between}.form-title{flex:1 1;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin:0;text-align:center}.form-title,[data-theme=dark] .form-title{color:var(--color-text-light)}[data-theme=light] .form-title{color:var(--color-velvet-blue)}.parent-user-indicator{background:linear-gradient(135deg,#f9d98d1a,#f9d98d0d);border:1px solid var(--color-rose-gold);border-radius:var(--radius-pill);gap:.5rem;padding:.4rem .75rem}.parent-user-avatar,.parent-user-indicator{align-items:center;display:flex;flex-shrink:0}.parent-user-avatar{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98dcc 100%);border-radius:50%;box-shadow:0 1px 4px #f9d98d4d;height:32px;justify-content:center;width:32px}.parent-avatar-initials{color:var(--color-velvet-blue);font-family:var(--font-heading);font-size:.85rem;font-weight:700;line-height:1}.parent-user-name{font-family:var(--font-ui);font-size:.85rem;font-weight:500;white-space:nowrap}.parent-user-name,[data-theme=dark] .parent-user-name{color:var(--color-text-light)}[data-theme=light] .parent-user-name{color:var(--color-text-secondary)}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem}.form-actions,[data-theme=dark] .form-actions{border-top:1px solid #fff3}[data-theme=light] .form-actions{border-top:1px solid var(--color-border-lighter)}.button{border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-ui);font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.875rem 2.5rem;transition:all .2s ease}.button-primary{background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border:2px solid var(--color-rose-gold);box-shadow:0 2px 6px #f9d98d33;color:var(--color-velvet-blue)}.button-primary:hover:not(:disabled){background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);border-color:var(--color-rose-gold);box-shadow:0 3px 8px #f9d98d4d;transform:translateY(-1px)}.button-primary:focus-visible{outline:3px solid var(--color-rose-gold);outline-offset:2px}.button-secondary{border:2px solid #ffffff4d}.button-secondary,[data-theme=dark] .button-secondary{background-color:#ffffff1a;color:var(--color-text-light)}.button-secondary:hover,[data-theme=dark] .button-secondary:hover{background-color:#fff3;border-color:#ffffff80}[data-theme=light] .button-secondary{background-color:var(--color-bg-primary);border-color:var(--color-border-medium);color:var(--color-text-secondary)}[data-theme=light] .button-secondary:hover{background-color:var(--color-bg-hover);border-color:var(--color-primary)}.button-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-error{align-items:flex-start;border:1px solid var(--color-error);border-radius:var(--radius-md);display:flex;font-family:var(--font-ui);font-size:.9rem;gap:1rem;justify-content:space-between;margin:1rem 0;padding:1rem 1.25rem;position:relative}.form-error-text{flex:1 1}.form-error,[data-theme=dark] .form-error{background-color:#f2817626;color:#fcc}[data-theme=light] .form-error{background-color:var(--color-error-bg);color:#c0392b}.form-success{align-items:center;border:2px solid var(--color-success);border-radius:var(--radius-lg);display:flex;gap:.75rem;justify-content:space-between;margin:1.5rem 0;padding:1.25rem 1.5rem;position:relative}.form-success,[data-theme=dark] .form-success{background-color:#2e7d32;box-shadow:0 2px 8px #2e7d3266;color:#fff}[data-theme=light] .form-success{background-color:#2e7d32;box-shadow:0 2px 8px #2e7d324d;color:#fff}.form-success-text{color:#fff;flex:1 1;font-family:var(--font-heading);font-size:1rem;font-weight:600;line-height:1.5}.form-message-close{align-items:center;background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:300;height:1.75rem;justify-content:center;line-height:1;opacity:.8;padding:0;transition:all .2s ease;width:1.75rem}.form-message-close:hover{background-color:#fff3;opacity:1}.form-message-close:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}[data-theme=dark] .form-message-close{color:#ffffffe6}[data-theme=dark] .form-message-close:hover{background-color:#ffffff26}[data-theme=light] .form-message-close{color:#ffffffe6}[data-theme=light] .form-message-close:hover{background-color:#fff3}@media (max-width:768px){.school-meal-form-container{padding:.5rem .5rem 2rem}.school-meal-form{border-radius:var(--radius-md);padding:1rem 1rem 1.5rem}.form-header{align-items:stretch;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-logo{align-self:center;height:60px;margin-bottom:.25rem}.form-title-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between;width:100%}.form-title{flex:1 1;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0;min-width:0;text-align:left;text-shadow:0 2px 4px #0003}[data-theme=dark] .form-title{text-shadow:0 2px 6px #0006,0 0 20px #f9d98d1a}[data-theme=light] .form-title{text-shadow:0 1px 3px #11235126}.form-title-row .parent-user-indicator{flex-shrink:0}.parent-user-name{font-size:.8rem}.form-actions{flex-direction:column}.button{width:100%}.form-error{gap:.75rem;padding:.875rem 1rem}.form-error-text{font-size:.85rem}.form-success{gap:.75rem;margin:1rem 0;padding:1rem 1.25rem}.form-success-text{font-size:.95rem}.form-message-close{font-size:1.25rem;height:1.5rem;width:1.5rem}}.auth-error-container{align-items:center;background-color:var(--color-bg-secondary);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-error-content{background-color:var(--color-bg-primary);border:1px solid var(--color-border-lighter);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;padding:3rem;text-align:center;width:100%}.auth-error-title{color:var(--color-error);font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.auth-error-message{color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin-bottom:2rem}.auth-error-retry{margin-bottom:1.5rem}.auth-error-retry .button{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-family:var(--font-ui);font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.875rem 2rem;text-transform:uppercase;transition:all .2s ease}.auth-error-retry .button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.auth-error-help{color:var(--color-text-muted);font-family:var(--font-body);font-size:.875rem;line-height:1.5;margin-top:1rem}@media (max-width:768px){.auth-error-container{padding:1rem}.auth-error-content{padding:2rem 1.5rem}.auth-error-title{font-size:1.25rem}}.App{min-height:100vh;padding:.5rem 0}@media (max-width:768px){.App{padding:.25rem 0}}.App,[data-theme=dark] .App{background-color:var(--color-velvet-blue)}[data-theme=light] .App{background-color:var(--color-bg-secondary)}.loading-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.loading-text{font-family:var(--font-ui);font-size:1.125rem;font-weight:500}.loading-text,[data-theme=dark] .loading-text{color:var(--color-text-light)}[data-theme=light] .loading-text{color:var(--color-text-primary)}.theme-toggle{align-items:center;background:linear-gradient(135deg,var(--color-rose-gold) 0,#f9d98de6 100%);border:2px solid var(--color-rose-gold);border-radius:50%;box-shadow:0 2px 6px #f9d98d4d;color:var(--color-velvet-blue);cursor:pointer;display:flex;font-size:1.5rem;height:3rem;justify-content:center;position:fixed;right:1rem;top:1rem;transition:all .2s ease;width:3rem;z-index:1000}.theme-toggle:hover{background:linear-gradient(135deg,#f9d98df2 0,var(--color-rose-gold) 100%);box-shadow:0 3px 8px #f9d98d66;transform:scale(1.1)}.theme-toggle:focus-visible{outline:3px solid var(--color-rose-gold);outline-offset:2px}@media (max-width:768px){.theme-toggle{font-size:1.25rem;height:2.5rem;right:.5rem;top:.5rem;width:2.5rem}}
/*# sourceMappingURL=main.43ccb546.css.map*/