*{margin:0;padding:0;box-sizing:border-box}.parent-name.parent-contact-trigger{cursor:help;text-decoration:dotted underline transparent;text-decoration-thickness:1px;transition:text-decoration-color .2s}.parent-name.parent-contact-trigger:focus-visible,.parent-name.parent-contact-trigger:hover{text-decoration-color:rgba(0,0,0,0.45)}@media (hover:none) and (pointer:coarse){.note-btn{margin-left:10px;margin-right:4px}}:root{--primary-color:#3498db;--secondary-color:#f39c12;--accent-color:#2ecc71;--dark-color:#34495e;--light-color:#ecf0f1;--success-color:#2ecc71;--error-color:#e74c3c}body{font-family:'Baloo 2','Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--dark-color);background-color:var(--light-color);background-image:url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="10" fill="%234ecdc4" opacity="0.2"/><circle cx="60" cy="60" r="15" fill="%23ff6b6b" opacity="0.1"/><circle cx="80" cy="30" r="8" fill="%23ffe66d" opacity="0.15"/></svg>');background-size:200px}.container{max-width:1320px;margin:0 auto;padding:20px;background-color:#fff;min-height:100vh;box-shadow:0 0 10px rgba(0,0,0,.1)}.card{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:14px;padding:16px;box-shadow:0 2px 10px rgba(15,23,42,.06)}.card h2,.card h3{margin-top:0}.account-settings-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}@media (max-width:900px){.account-settings-grid{grid-template-columns:1fr}}.account-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.account-card__titles h3{margin:0}.account-card__subtitle{margin-top:2px;font-size:.95rem}.account-kv__label{font-weight:600;margin-bottom:4px}.account-kv__value{word-break:break-word}.account-status{margin-top:4px}.account-inline-alert{margin-top:10px;padding:10px 12px;border-radius:12px}.account-inline-alert__row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.account-inline-alert__meta{margin-top:6px;font-size:.9rem}.account-collapsible{margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,23,42,.12)}.account-actions{display:flex;gap:10px;align-items:center}.app-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 16px;min-height:220px;color:var(--dark-color)}.app-loader__spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(52,152,219,.2);border-top-color:var(--primary-color);animation:.8s linear infinite app-loader-spin}.app-loader__text{font-weight:600;letter-spacing:.02em}body.app-loading #app-container{opacity:0;visibility:hidden;pointer-events:none}body.app-loading .app-loader{display:flex}body.app-ready #app-container{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s}body.app-ready .app-loader{display:none}.users-subtabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.users-subtab{background:0 0;border:none;border-bottom:2px solid transparent;padding:8px 16px;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;transition:.2s;border-radius:6px 6px 0 0}.users-subtab:hover{color:#334155;background:rgba(99,102,241,.04)}.users-subtab--active{color:#6366f1;border-bottom-color:#6366f1;background:rgba(99,102,241,.06);font-weight:600}.users-subtab:focus-visible{outline:#6366f1 solid 2px;outline-offset:-2px}.users-subtab-content{animation:.2s fadeIn}@keyframes fadeIn{from{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}.team-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.team-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:box-shadow .2s,transform .2s}.team-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}.team-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.team-card__header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0;line-height:1.3}.team-card__role{font-size:14px;color:#64748b;margin:4px 0 0}.team-card__username{font-size:13px;color:#94a3b8;background:#f1f5f9;padding:4px 8px;border-radius:6px;font-family:monospace}.team-card__details{margin-bottom:16px;font-size:14px;line-height:1.6}.team-card__details p{margin:0 0 6px;display:flex}.team-card__details span{font-weight:600;color:#475569;min-width:60px;margin-right:8px}.team-card__link{color:#6366f1;text-decoration:none;transition:color .2s}.team-card__link:hover{color:#4f46e5;text-decoration:underline}.team-card__meta-item{display:block;font-size:12px;color:#94a3b8;margin-top:8px}.team-card__actions{display:flex;gap:8px;flex-wrap:wrap}.team-card__actions .btn{font-size:13px;padding:6px 12px}.add-user-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.add-user-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.add-user-panel__header h2{margin:0 0 4px;font-size:24px;color:#0f172a}.add-user-section{border:1px solid #e2e8f0;border-radius:12px;padding:18px;margin-bottom:18px;background:#f8fafc}.add-user-section h3{margin:0 0 12px;font-size:18px;color:#1e293b}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.smtp-settings-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(15,23,42,.06)}#smtp-settings-alert:empty{display:none}.smtp-panel-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.smtp-panel-header__icon{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(99,102,241,.1));color:#3b82f6;display:flex;align-items:center;justify-content:center}.smtp-panel-header__title{margin:0 0 2px;font-size:18px;font-weight:700;color:#0f172a;line-height:1.3}.smtp-panel-header__desc{margin:0;font-size:13px;color:#64748b;line-height:1.4}.smtp-status-bar{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;font-size:13px;line-height:1.35}.smtp-status-bar__icon{flex:0 0 auto;font-size:18px;line-height:1.3}.smtp-status-bar__body{display:flex;flex-direction:column;gap:2px}.smtp-status-bar__text{font-weight:700;color:#334155;font-size:14px}.smtp-status-bar__detail{color:#64748b;font-size:12px;line-height:1.4}.smtp-status-bar--inactive{background:#fef2f2;border-color:rgba(239,68,68,.25)}.smtp-status-bar--inactive .smtp-status-bar__text{color:#991b1b}.smtp-status-bar--warn{background:#fffbeb;border-color:rgba(245,158,11,.35)}.smtp-status-bar--warn .smtp-status-bar__text{color:#92400e}.smtp-status-bar--ok{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.3)}.smtp-status-bar--ok .smtp-status-bar__text{color:#065f46}.smtp-setup-banner{display:flex;align-items:flex-start;gap:16px;padding:24px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;margin-top:8px}.smtp-setup-banner__icon{flex:0 0 auto;color:#94a3b8}.smtp-setup-banner__body{display:flex;flex-direction:column;gap:6px}.smtp-setup-banner__body strong{font-size:15px;color:#1e293b}.smtp-setup-banner__body p{margin:0;font-size:13px;color:#64748b;line-height:1.5}.smtp-setup-banner__body .btn{align-self:flex-start;margin-top:4px}.smtp-section{margin-bottom:18px;padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.smtp-section--optional{background:#fafbfc;border-style:dashed}details.smtp-section--optional{padding:0}details.smtp-section--optional>summary{padding:14px 16px}details.smtp-section--optional>.smtp-section__collapsible{padding:0 16px 16px}.smtp-section__toggle{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;color:#475569;user-select:none}.smtp-section__toggle::-webkit-details-marker{display:none}.smtp-section__toggle-chevron{display:inline-block;width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .2s}details[open]>.smtp-section__toggle .smtp-section__toggle-chevron{transform:rotate(90deg)}.smtp-section__heading{font-size:14px;font-weight:700;color:#334155;margin-bottom:4px;padding-bottom:0}.smtp-section__desc{margin:0 0 12px;font-size:12.5px;color:#64748b;line-height:1.45}.smtp-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px 16px}.smtp-span-2{grid-column:span 2}.smtp-span-1{grid-column:span 1}.smtp-settings-grid input[type=number]{width:100%;box-sizing:border-box}.smtp-label-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.smtp-label-with-tip{display:inline-flex;align-items:center;gap:5px}.smtp-tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#94a3b8;cursor:help;border-radius:50%;transition:color .15s,background .15s;position:relative}.smtp-tip:focus,.smtp-tip:hover{color:#3b82f6;background:rgba(59,130,246,.08)}.smtp-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(59,130,246,.25);background:rgba(59,130,246,.1);color:#1e3a8a}.smtp-pill--info{border-color:rgba(139,92,246,.25);background:rgba(139,92,246,.1);color:#6d28d9;font-size:11px;padding:1px 7px;vertical-align:middle}.smtp-pill--warning{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.14);color:#92400e}.smtp-pill--ok{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.12);color:#065f46}.smtp-password-wrap{position:relative}.smtp-password-wrap input{padding-right:44px}.smtp-icon-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:10px;border:1px solid rgba(15,23,42,.12);background:rgba(248,250,252,.95);color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.smtp-icon-btn:hover{background:rgba(52,152,219,.12);color:var(--primary-color,#3498db);border-color:rgba(52,152,219,.25)}.smtp-icon-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(52,152,219,.25)}.smtp-security-note{display:flex;align-items:center;margin-top:4px;color:#64748b;font-size:12px}.smtp-settings-actions{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.smtp-inline-result{padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;margin-bottom:14px;line-height:1.4}.smtp-inline-result--ok{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#065f46}.smtp-inline-result--fail{background:#fef2f2;border:1px solid rgba(239,68,68,.25);color:#991b1b}.smtp-preset-lock-hint{margin-top:4px}.smtp-preset-lock-hint a{color:#3b82f6;text-decoration:none;font-weight:600}.smtp-preset-lock-hint a:hover{text-decoration:underline}.smtp-settings-actions .btn-outline-secondary{background:0 0;border:1px solid #cbd5e1;color:#475569;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.smtp-settings-actions .btn-outline-secondary:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.smtp-settings-actions .btn-outline-secondary:disabled{opacity:.5;cursor:not-allowed}.smtp-test-card{margin-top:0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.smtp-test-card__title{font-weight:700;font-size:14px;color:#0f172a;margin-bottom:10px}.smtp-test-row{display:flex;align-items:flex-end;gap:12px}.smtp-test-row__btn{flex:0 0 auto}@media (max-width:640px){.smtp-settings-grid{grid-template-columns:1fr}.smtp-span-1,.smtp-span-2{grid-column:span 1}.smtp-test-row{flex-direction:column;align-items:stretch}.smtp-test-row__btn,.smtp-test-row__btn .btn{width:100%}.smtp-panel-header{flex-direction:column;gap:10px}.smtp-settings-actions{flex-direction:column}.smtp-settings-actions .btn{width:100%}}.smtp-education{margin-top:16px;border:1px solid #e2e8f0;border-radius:12px;background:#fafbfc;overflow:hidden}.smtp-education__toggle{padding:12px 16px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}.smtp-education__toggle::-webkit-details-marker{display:none}.smtp-education__toggle::before{content:'\25B6';font-size:10px;transition:transform .2s;display:inline-block}.smtp-education[open] .smtp-education__toggle::before{transform:rotate(90deg)}.smtp-education__toggle:hover{color:#1e293b;background:rgba(0,0,0,.02)}.smtp-education__content{padding:0 16px 14px;font-size:13px;color:#64748b;line-height:1.6}.smtp-education__content p{margin:0 0 6px}.smtp-education__content p:last-child{margin-bottom:0}.role-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.role-card{display:flex;gap:10px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.role-card input[type=radio]{margin-top:4px}.role-card strong{display:block;font-size:15px;color:#0f172a}.role-card span{display:block;font-size:13px;color:#64748b}.role-card:hover{border-color:#c7d2fe;box-shadow:0 4px 14px rgba(79,70,229,.15)}.role-card[aria-disabled=true]{opacity:.6;cursor:not-allowed}.staff-groups{display:flex;flex-wrap:wrap;gap:10px}.staff-group-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #c7d2fe;border-radius:999px;background:rgba(99,102,241,.08);cursor:pointer;font-size:13px;color:#312e81;transition:border-color .2s,background .2s}.staff-group-chip input{margin:0}.staff-group-chip[style*="--chip-color"]{border-color:var(--chip-color);background:color-mix(in srgb,var(--chip-color),#fff 80%);color:#0f172a}.staff-group-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.staff-group-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(99,102,241,.1);font-size:12px;font-weight:600;color:#4338ca}.staff-group-badge[style*="--chip-color"]{background:color-mix(in srgb,var(--chip-color),#fff 70%);color:#0f172a}.add-user-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}@keyframes app-loader-spin{to{transform:rotate(360deg)}}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:20px;border-bottom:3px dashed var(--accent-color)}header h1{font-size:1.8rem;color:var(--primary-color);position:relative;padding:0 10px}.user-info{text-align:right;font-size:.9rem}.user-info a{margin-left:10px;color:#3498db;text-decoration:none}.user-info a:hover{text-decoration:underline}.user-info .refresh-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;margin-left:10px;color:var(--primary-color);text-decoration:none;transition:transform .2s,background-color .2s,opacity .2s;opacity:.9}.user-info .refresh-link:hover{transform:rotate(90deg);background-color:rgba(52,152,219,.12);text-decoration:none}.user-info .refresh-link:focus{outline:2px solid var(--secondary-color);outline-offset:2px}main{min-height:400px}footer{text-align:center;margin-top:2rem;padding-top:1rem;border-top:2px dashed var(--secondary-color);color:#888;font-size:.9rem}.footer-links{margin-top:.5rem;display:flex;justify-content:center;gap:.35rem;flex-wrap:wrap;font-weight:600}.footer-links a{color:#2563eb;text-decoration:none;position:relative}.footer-links a::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:currentColor;opacity:0;transition:opacity .2s ease-in-out}.footer-links a:focus-visible::after,.footer-links a:hover::after{opacity:1}.footer-links span{color:rgba(0,0,0,.35)}.footer-links--sectioned{row-gap:6px}.footer-links__label{color:#64748b;font-weight:700}.footer-payment-attribution{margin:.9rem auto 0;padding:.9rem 1rem;max-width:540px;display:flex;align-items:center;justify-content:center;gap:.9rem 1.4rem;flex-wrap:wrap;border:1px solid rgba(37,99,235,.14);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 12px 30px rgba(15,23,42,.06)}.footer-payment-attribution__group{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:center}.footer-payment-attribution__label{color:#64748b;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.footer-payment-attribution__brand{display:inline-flex;align-items:center;gap:.55rem;min-height:42px;padding:.45rem .8rem;border-radius:999px;background:#fff;color:#0f172a;font-weight:800;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(148,163,184,.25)}.footer-payment-attribution__brand--p24:focus-visible,.footer-payment-attribution__brand--p24:hover{box-shadow:inset 0 0 0 1px rgba(37,99,235,.28),0 6px 18px rgba(37,99,235,.14)}.footer-payment-attribution__brand--system{background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(14,165,233,.1))}.footer-payment-attribution__logo{display:block;width:auto;height:20px}.tuition-field-link-preview{display:inline-block;margin-top:8px;color:#0369a1;font-size:12px;line-height:1.45;word-break:break-all;text-decoration:underline}.tuition-generated-legal-note{margin-top:4px;padding:12px 14px;border-radius:12px;border:1px solid rgba(249,115,22,.18);background:rgba(255,247,237,.92);color:#9a3412;font-size:13px;line-height:1.55}label{display:block;margin-bottom:5px;font-weight:600}input[type=email],input[type=password],input[type=text],input[type=time],select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.input--invalid{border-color:var(--error-color);background-color:#fff1f2;box-shadow:0 0 0 3px rgba(231,76,60,.12)}.field-error{color:var(--error-color);font-size:.9rem;margin-top:6px}.time-input{font-variant-numeric:tabular-nums;letter-spacing:.02em}.time-input--invalid{border-color:var(--error-color);background-color:#fff1f2;box-shadow:0 0 0 3px rgba(231,76,60,.2)}.time-input__wrap{position:relative;display:inline-flex;align-items:center;width:100%;max-width:100%}.time-input__wrap--compact{width:auto}.time-input--with-picker{padding-right:36px}.time-input__trigger{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.time-input__trigger:hover{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.time-input__trigger.is-disabled,.time-input__trigger:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc;color:#94a3b8}.time-input__trigger.is-disabled:hover,.time-input__trigger:disabled:hover{background:#f8fafc;color:#94a3b8;border-color:#e2e8f0}.time-input__icon{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.time-picker{position:absolute;display:none;z-index:1100;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;box-shadow:0 16px 32px rgba(15,23,42,.18);min-width:220px}.time-picker__cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.time-picker__col{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:6px;overflow:hidden;min-height:0}.time-picker__label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:6px;font-weight:600}.time-picker__list{display:flex;flex-direction:column;gap:4px;max-height:168px;overflow:auto;padding-right:2px}.time-picker__list[data-type=minute]{display:flex;flex-direction:column}.time-picker__btn{width:100%;border:1px solid transparent;background:0 0;padding:4px 6px;border-radius:6px;font-size:12px;text-align:center;cursor:pointer;color:#0f172a;transition:background .15s,border-color .15s}.time-picker__btn:hover{background:#e2e8f0;border-color:#cbd5e1}.time-picker__btn.is-selected{background:#2563eb;border-color:#2563eb;color:#fff}textarea{width:100%;min-height:110px;padding:12px 14px;border:1px solid #d5e0ea;border-radius:12px;font-size:1rem;line-height:1.6;font-family:inherit;color:#0f172a;background-color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 8px rgba(15,23,42,.06);transition:border-color .2s,box-shadow .2s,background-color .2s;resize:vertical}textarea:focus{outline:0;border-color:var(--primary-color);background-color:#fff;box-shadow:0 0 0 3px rgba(52,152,219,.22),0 8px 18px rgba(15,23,42,.12)}textarea::placeholder{color:#94a3b8}textarea:disabled,textarea[readonly]{background-color:#eef2f6;border-color:#e2e8f0;color:#94a3b8;box-shadow:none;cursor:not-allowed}textarea:disabled::placeholder,textarea[readonly]::placeholder{color:#a3b1c2}.btn{display:inline-block;padding:8px 16px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;text-decoration:none}.btn-sm{padding:6px 10px;font-size:.9rem;line-height:1.2;border-radius:6px}.btn-light{background-color:#f1f5f9;color:#0f172a;border:1px solid #e5e7eb}.btn-light:hover{background-color:#e2e8f0}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn:hover{background-color:#2980b9}.btn:focus{outline:0;box-shadow:0 0 0 3px rgba(243,156,18,.35)}.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-danger{background-color:#e74c3c}.btn-danger:hover{background-color:#c0392b}.btn-danger:focus{box-shadow:0 0 0 3px rgba(231,76,60,.35)}.btn-success{background-color:#2ecc71}.btn-success:hover{background-color:#27ae60}#login-container{max-width:450px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:20px;box-shadow:0 10px 25px rgba(0,0,0,.1);position:relative;overflow:hidden;border:6px solid var(--secondary-color)}#login-container h2{font-size:1.8rem;color:var(--primary-color);text-align:center;margin-bottom:1.5rem}#login-container::before{content:'';position:absolute;top:-15px;left:-15px;width:30px;height:30px;background-color:var(--accent-color);border-radius:50%;z-index:0}#login-container::after{content:'';position:absolute;bottom:-15px;right:-15px;width:30px;height:30px;background-color:var(--primary-color);border-radius:50%;z-index:0}#login-form .form-group{margin-bottom:1.5rem;position:relative}#login-form label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--dark-color);font-size:1rem;transition:.3s}#login-form .login-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:.5rem;flex-wrap:wrap}#login-form .login-label-row label{margin-bottom:0}#login-form .forgot-password-link{font-size:.875rem;font-weight:600;color:var(--primary-color);text-decoration:none;padding:6px 10px;border-radius:999px;border:1px solid rgba(52,152,219,.25);background-color:transparent;transition:background-color .2s,border-color .2s,color .2s,text-decoration-color .2s}#login-form .forgot-password-link:hover{background-color:rgba(52,152,219,.12);border-color:rgba(52,152,219,.4);text-decoration:underline;text-decoration-color:rgba(52,152,219,0.6)}#login-form .forgot-password-link:focus-visible{outline:rgba(52,152,219,.35) solid 3px;outline-offset:3px;background-color:rgba(52,152,219,.12)}#login-form input{width:100%;padding:12px 15px;border:3px solid #e1e1e1;border-radius:15px;font-size:1rem;transition:.3s;background-color:#f9f9f9}#login-form input:focus{outline:0;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(78,205,196,.2)}#login-form button{width:100%;padding:12px;background-color:var(--primary-color);border-radius:15px;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 0 darken(var(--primary-color),10%)}#login-form button:active{box-shadow:0 2px 0 darken(var(--primary-color),10%);transform:translateY(2px)}.login-decoration{position:absolute;z-index:-1}.login-decoration.pencil{width:60px;height:10px;background-color:var(--accent-color);top:20px;right:-20px;transform:rotate(45deg)}.login-decoration.crayon{width:10px;height:50px;background-color:var(--secondary-color);bottom:30px;left:-5px;transform:rotate(-20deg)}.password-container{position:relative}.password-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);cursor:pointer;color:#777}#login-alert{padding:10px 15px;margin-bottom:15px;border-radius:10px;display:none}#login-alert.error{background-color:rgba(231,76,60,.2);color:#e74c3c;border:1px solid #e74c3c;display:block}.alert{padding:10px 15px;margin-bottom:15px;border-radius:4px;border-left:4px solid}.alert-dismissible{position:relative;padding-right:36px}.alert-dismiss{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:0 0;border:none;font-size:1.25rem;line-height:1;color:inherit;opacity:.55;cursor:pointer;padding:2px 6px;border-radius:4px}.alert-dismiss:hover{opacity:1;background:rgba(0,0,0,.06)}.alert-info{background-color:#e3f2fd;border-color:#2196f3;color:#0d47a1}.alert-warning{background-color:#fff8e1;border-color:#ffc107;color:#ff6f00}.alert strong{font-weight:600}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.parent-announcement-banner{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:52px 14px 12px;margin:6px 0 16px;border-radius:12px;border:2px solid rgba(243,156,18,.55);background:linear-gradient(135deg,rgba(243,156,18,.18),rgba(52,152,219,.1));box-shadow:0 6px 16px rgba(0,0,0,.08);position:sticky;top:8px;z-index:50}.parent-announcement-banner--info{border-color:rgba(52,152,219,.55);background:linear-gradient(135deg,rgba(52,152,219,.14),rgba(46,204,113,.08))}.parent-announcement-banner--warn{border-color:rgba(243,156,18,.7);background:linear-gradient(135deg,rgba(243,156,18,.2),rgba(255,255,255,.06))}.parent-announcement-banner--urgent{border-color:rgba(231,76,60,.7);background:linear-gradient(135deg,rgba(231,76,60,.16),rgba(243,156,18,.08))}.parent-announcement-banner__actions{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.parent-announcement-banner__toggle{flex:0 0 auto;border:1px solid rgba(52,73,94,.18);background:rgba(255,255,255,.72);border-radius:10px;padding:8px 10px;cursor:pointer;font-size:14px;line-height:1}.parent-announcement-banner__toggle:hover{background:rgba(255,255,255,.92)}.parent-announcement-banner__toggle:focus{outline:2px solid var(--secondary-color);outline-offset:2px}.parent-announcement-banner__content{flex:1;font-size:.98rem;line-height:1.45;color:var(--dark-color);padding-right:108px}.parent-announcement-banner--collapsed .parent-announcement-banner__content{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.parent-announcement-banner__content a{color:var(--primary-color);font-weight:600;text-decoration:underline;word-break:break-word}.parent-announcement-banner__close{flex:0 0 auto;width:40px;height:40px;border-radius:10px;border:1px solid rgba(52,73,94,.2);background:rgba(255,255,255,.75);cursor:pointer;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.parent-announcement-banner__close:hover{background:rgba(255,255,255,.95);transform:translateY(-1px)}.parent-announcement-banner__close:focus{outline:2px solid var(--secondary-color);outline-offset:2px}.parent-announcement-preview-modal .parent-announcement-banner{padding-top:14px;margin:0;position:static}.parent-announcement-preview-modal .parent-announcement-banner__actions{position:static;justify-content:flex-end;margin-bottom:4px}.parent-announcement-preview-modal .parent-announcement-banner__content{padding-right:14px}.attendance-toggle{display:flex;align-items:center;cursor:pointer;min-height:48px;padding:10px 12px;border-radius:6px;transition:.3s;border:1px solid #ddd;box-shadow:0 1px 3px rgba(0,0,0,.1);touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}.attendance-toggle.disabled{cursor:not-allowed}.attendance-toggle.disabled:active{transform:none}.attendance-toggle:hover{box-shadow:0 2px 5px rgba(0,0,0,.15);transform:translateY(-1px)}.attendance-toggle:active{transform:translateY(0) scale(.98)}.attendance-toggle:focus{outline:2px solid var(--secondary-color);outline-offset:2px}@media (hover:none) and (pointer:coarse){.attendance-row--tappable:active td{background-color:var(--cg-bg-hover,rgba(52,152,219,.08))}}.toggle-slider{width:50px;height:24px;border-radius:12px;margin-right:12px;position:relative;transition:background-color .3s;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.toggle-text{font-weight:500;font-size:14px;transition:color .3s}.attendance-toggle.present{background-color:rgba(76,175,80,.05);border-color:#4caf50}.attendance-toggle.present .toggle-slider{background-color:#4caf50}.attendance-toggle.present .toggle-slider:after{content:'';position:absolute;width:20px;height:20px;background-color:#fff;border-radius:50%;top:2px;right:2px;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:.3s}.attendance-toggle.present .toggle-text{color:#388e3c}.attendance-toggle.absent{background-color:rgba(244,67,54,.05);border-color:#f44336}.attendance-toggle.absent .toggle-slider{background-color:#f44336}.attendance-toggle.absent .toggle-slider:after{content:'';position:absolute;width:20px;height:20px;background-color:#fff;border-radius:50%;top:2px;left:2px;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:.3s}.attendance-toggle.absent .toggle-text{color:#d32f2f}.present{color:#4caf50}.absent{color:#f44336}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;font-size:14px}.status-badge.present{background-color:rgba(76,175,80,.2);color:#388e3c;border:1px solid #4caf50}.status-badge.absent{background-color:rgba(244,67,54,.2);color:#d32f2f;border:1px solid #f44336}.announcement-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:600;font-size:13px;letter-spacing:.2px;border:1px solid transparent;white-space:nowrap}.announcement-type-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.9}.announcement-type-badge--info{background:rgba(52,152,219,.14);color:#1e6fa8;border-color:rgba(52,152,219,.4)}.announcement-type-badge--warn{background:rgba(243,156,18,.18);color:#b85c00;border-color:rgba(243,156,18,.45)}.announcement-type-badge--urgent{background:rgba(231,76,60,.14);color:#b63a2c;border-color:rgba(231,76,60,.45)}#parent-announcement-section[data-pa-type=info] select,#parent-announcement-section[data-pa-type=info] textarea{border-left:4px solid rgba(52,152,219,.75)}#parent-announcement-section[data-pa-type=warn] select,#parent-announcement-section[data-pa-type=warn] textarea{border-left:4px solid rgba(243,156,18,.85)}#parent-announcement-section[data-pa-type=urgent] select,#parent-announcement-section[data-pa-type=urgent] textarea{border-left:4px solid rgba(231,76,60,.85)}.parent-announcement-admin{display:grid;grid-template-columns:1fr;gap:16px;max-width:1320px;margin-left:auto;margin-right:auto}.parent-announcement-card,.parent-announcement-history-card{background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:16px;box-shadow:0 8px 18px rgba(15,23,42,.08)}.parent-announcement-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.parent-announcement-card__titles h3{margin:0}.parent-announcement-hint{display:block;margin-top:6px}.parent-announcement-form-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:720px) and (max-width:979px){.parent-announcement-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.parent-announcement-valid-until{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.parent-announcement-form-grid>.form-group{min-width:0}#parent-announcement-type{min-height:44px}.parent-announcement-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.parent-announcement-publish{display:inline-flex;align-items:center;gap:8px;font-weight:600}.parent-announcement-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.parent-announcement-history-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.parent-announcement-history-card__header h4{margin:0}td .btn{margin:2px;white-space:nowrap}table td:last-child{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:5px}#parent-announcement-history table{width:100%;max-width:100%;table-layout:fixed}#parent-announcement-history td:nth-child(5){overflow-wrap:anywhere;word-break:break-word}#parent-announcement-history table td:last-child{display:table-cell}#parent-announcement-history table td:last-child .btn{margin:0}#parent-announcement-history .pa-actions-row{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}#parent-announcement-history .pa-actions-more{position:relative}#parent-announcement-history .pa-actions-more>summary{list-style:none;cursor:pointer}#parent-announcement-history .pa-actions-more>summary::-webkit-details-marker{display:none}#parent-announcement-history .pa-actions-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;max-width:calc(100vw - 24px);padding:10px;background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:12px;box-shadow:0 12px 22px rgba(15,23,42,.14);display:flex;flex-direction:column;gap:8px;z-index:20}#parent-announcement-history .pa-actions-menu .btn{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center}#parent-announcement-history .pa-history-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}#parent-announcement-history .pa-history-page-info{font-weight:700;color:#64748b;white-space:nowrap}@media (max-width:980px){#parent-announcement-history thead{display:none}#parent-announcement-history tbody,#parent-announcement-history td,#parent-announcement-history tr{display:block;width:100%}#parent-announcement-history tbody tr{background:rgba(255,255,255,.85);border:1px solid rgba(15,23,42,.1);border-radius:12px;padding:12px;margin-bottom:10px;box-shadow:0 8px 16px rgba(15,23,42,.06)}#parent-announcement-history td{border:0;padding:8px 0;text-align:left;white-space:normal}#parent-announcement-history td::before{display:block;font-weight:700;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:2px}#parent-announcement-history td:first-child::before{content:'Utworzono'}#parent-announcement-history td:nth-child(2)::before{content:'Ważny do'}#parent-announcement-history td:nth-child(3)::before{content:'Status'}#parent-announcement-history td:nth-child(4)::before{content:'Typ'}#parent-announcement-history td:nth-child(5)::before{content:'Treść'}#parent-announcement-history td:nth-child(2):empty::after{content:'—';color:#94a3b8}#parent-announcement-history td:nth-child(6){display:flex;flex-wrap:wrap;gap:8px}#parent-announcement-history td:nth-child(6)::before{content:'Akcje';flex:0 0 100%}#parent-announcement-history .pa-history-pager{flex-wrap:wrap;justify-content:center}#parent-announcement-history .pa-history-page-info{flex:0 0 100%;text-align:center}#parent-announcement-history .pa-actions-more,#parent-announcement-history .pa-actions-row{display:contents}#parent-announcement-history .pa-actions-menu{position:static;min-width:0;padding:0;border:0;border-radius:0;box-shadow:none;display:contents}}.parent-announcement-admin__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.parent-announcement-admin__header h3{margin:0}.parent-announcement-admin__modes{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}#parent-announcement-general-view,#parent-announcement-individual-view{display:grid;gap:12px}#parent-announcement-general-view[hidden],#parent-announcement-individual-view[hidden]{display:none!important}.ia-channels{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ia-channel-item{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;border:1px solid rgba(15,23,42,.14);background:rgba(255,255,255,.7);font-weight:600}.ia-channel-item--fixed{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.22)}.ia-recipients-box{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:12px;background:rgba(248,250,252,.85)}.ia-recipients-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ia-recipients-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.ia-recipients-summary{margin-top:8px;line-height:1.45;color:#334155}#individual-announcement-edit-mode-info{flex:1 1 100%;margin:0;color:#475569}.ia-history-list{display:grid;gap:10px}.ia-history-card{border:1px solid rgba(15,23,42,.1);border-radius:12px;background:rgba(255,255,255,.88);padding:12px;box-shadow:0 6px 14px rgba(15,23,42,.06)}.ia-history-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ia-history-card__meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 14px;color:#475569;font-size:13px}.ia-history-card__actions{margin-top:10px;display:inline-flex;gap:8px;flex-wrap:wrap}.parent-announcements-feed{display:grid;gap:10px;margin-bottom:14px}.parent-announcements-feed__empty{border:1px dashed rgba(15,23,42,.2);border-radius:12px;padding:12px;text-align:center;color:#64748b;background:rgba(255,255,255,.72)}.parent-announcements-feed__card{border-radius:12px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.9);box-shadow:0 8px 16px rgba(15,23,42,.08);padding:12px}.parent-announcements-feed__card--info{border-left:4px solid rgba(52,152,219,.75)}.parent-announcements-feed__card--warn{border-left:4px solid rgba(243,156,18,.85)}.parent-announcements-feed__card--urgent{border-left:4px solid rgba(231,76,60,.9)}.parent-announcements-feed__card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.parent-announcements-feed__dismiss{border:0;background:0 0;color:#64748b;cursor:pointer;width:28px;height:28px;border-radius:8px;line-height:1;font-size:20px;display:inline-flex;align-items:center;justify-content:center}.parent-announcements-feed__dismiss:hover{background:rgba(148,163,184,.18);color:#334155}.parent-announcements-feed__dismiss:disabled{opacity:.5;cursor:default}.parent-announcements-feed__meta{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 14px;color:#64748b;font-size:12px}.parent-announcements-feed__content{margin-top:8px;color:#0f172a;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.parent-announcements-feed__content a{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}@media (max-width:720px){.parent-announcement-admin__header{align-items:flex-start}.ia-history-card__actions{display:flex}.ia-history-card__actions .btn{flex:1 1 calc(50% - 4px);min-height:42px}}.add-child-for-parent-btn,.delete-user-btn,.edit-user-btn,.reset-password-btn{flex-shrink:0}.timer-container{margin:15px 0;text-align:center}.timer-label{font-size:.9rem;margin-bottom:5px;color:#555}.timer-display{font-size:1.8rem;font-weight:700;padding:8px 15px;background-color:#e8f5e9;border-radius:6px;display:inline-block;min-width:160px;color:#2e7d32;cursor:help}.timer-display.warning{background-color:#fff3e0;color:#e65100}.timer-display.critical{background-color:#ffebee;color:#c62828;animation:1s infinite pulse}.time-value{display:inline-block;min-width:34px;text-align:center}.timer-expired{font-size:1.1rem;font-weight:700;color:#c62828;padding:10px 15px;background-color:#ffebee;border-radius:6px;border-left:4px solid #c62828}.special-note{margin-top:8px;font-size:.85rem;color:#ff6f00;font-style:italic}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}table{width:100%;border-collapse:collapse;margin-bottom:20px}table td,table th{padding:10px;text-align:left;border-bottom:1px solid #ddd}table th{background-color:#f2f2f2;font-weight:600}table tr:hover{background-color:#f5f5f5}.row-flash,.row-flash--success{--row-flash-bg:#e8f5e9;--row-flash-accent:#2e7d32}.row-flash--warning{--row-flash-bg:#fff3e0;--row-flash-accent:#e65100}.row-flash--danger{--row-flash-bg:#ffebee;--row-flash-accent:#c62828}table tr.row-flash td{animation:2.2s ease-out rowFlash}table tr.row-flash td:first-child{box-shadow:inset 4px 0 0 var(--row-flash-accent)}.team-card.row-flash{animation:2.2s ease-out rowFlash;box-shadow:inset 4px 0 0 var(--row-flash-accent)}.team-card.row-flash-accent,table tr.row-flash-accent td:first-child{box-shadow:inset 4px 0 0 var(--row-flash-accent)}@keyframes rowFlash{0%,45%{background-color:var(--row-flash-bg)}100%{background-color:transparent}}.cg-groups-table td:last-child{flex-wrap:wrap;gap:6px}.cg-groups-table td .btn{margin:0}.cg-groups-table tr[data-editing-row="1"]{background-color:#fff7ed}.cg-groups-table tbody tr:nth-child(2n){background-color:#f8fafc}.cg-table-wrap{border:1px solid #e5e7eb;border-radius:10px;overflow:auto;max-height:520px;background:#fff}.cg-groups-table{margin-bottom:0}.cg-groups-table thead th{position:sticky;top:0;z-index:2}.cg-pill{--cg-color:#64748b;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;line-height:1.4;border:1px solid rgba(0,0,0,.08);background:var(--cg-color);color:#fff}.cg-pill--neutral{background:#f1f5f9;color:#0f172a;border-color:#e5e7eb}.cg-color-cell{display:inline-flex;align-items:center;gap:8px}.cg-color-swatch{--cg-color:#64748b;width:12px;height:12px;border-radius:3px;background:var(--cg-color);border:1px solid rgba(0,0,0,.12)}.cg-color-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#475569}.cg-inline-name{min-width:180px;max-width:280px;width:100%}.cg-inline-sort{width:90px}.child-group-select-wrap{display:inline-flex;align-items:center;gap:8px}.child-group-swatch{width:14px;height:14px;border-radius:4px;border:1px solid #cbd5e1;background:0 0}.child-group-select-wrap.child-group-select-wrap--has-color .child-group-swatch{background:var(--cg-color)}.child-group-select{min-width:160px}.btn-plus-icon{width:18px;height:18px;flex:0 0 auto}.children-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 10px}.children-toolbar__primary{display:flex;align-items:center;gap:10px;flex:0 0 auto}.children-toolbar__search{flex:1 1 360px;min-width:220px}.children-toolbar__filter{display:inline-flex;align-items:center;gap:10px;margin-left:auto;padding:8px 10px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.6)}.children-toolbar__filter-label{display:inline-block;margin:0;font-size:.95rem;font-weight:600;color:rgba(15,23,42,.75);white-space:nowrap}.children-toolbar__filter-select{width:auto;min-width:180px;max-width:260px;padding:8px 12px;border:1px solid #ddd;border-radius:10px;font-size:1rem;background:#fff}.users-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 10px}.users-toolbar__primary{display:flex;align-items:center;gap:10px;flex:0 0 auto}.users-toolbar__search{flex:1 1 360px;min-width:220px}#global-search-container{margin:8px 0}.children-toolbar__search #global-search-container,.children-toolbar__search .global-search,.global-search-container--toolbar,.users-toolbar__search #global-search-container,.users-toolbar__search .global-search{margin:0}.children-toolbar__search .global-search-wrap,.users-toolbar__search .global-search-wrap{max-width:100%}@media (max-width:768px){.attendance-row--tappable td{cursor:pointer}.children-toolbar{align-items:stretch;margin:10px 0 8px}.children-toolbar__search{width:100%;flex:1 0 100%;min-width:0}.children-toolbar__filter{width:100%;justify-content:space-between;padding:8px}.children-toolbar__filter-select{flex:1;min-width:0;max-width:100%}.users-toolbar{align-items:stretch;margin:10px 0 8px}.users-toolbar__search{width:100%;flex:1 0 100%;min-width:0}}input[type=color]{width:44px;height:36px;padding:0;border:1px solid #ddd;border-radius:6px;background:#fff}.tab-nav{display:flex;list-style:none;padding:0;margin:0 0 20px;border-bottom:2px solid var(--primary-color)}.tab-nav li{margin-right:5px}.tab-nav a{display:block;padding:10px 15px;color:var(--dark-color);text-decoration:none;border-radius:8px 8px 0 0;transition:.3s;border:2px solid transparent;border-bottom:none}.tab-nav a.active,.tab-nav a:hover{background-color:var(--primary-color);color:#fff}.tab-nav .header-icons{display:flex;align-items:center;gap:8px}.tab-nav .tab-icon{font-size:1rem}.tab-nav .tab-text{margin:0 5px}.header-wrapper{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;border-bottom:1px solid #ddd;position:relative}.tabs{display:flex;flex:1}.tabs .tab--right{margin-left:auto;margin-right:0}.header-actions{display:flex;align-items:center;gap:8px;align-self:center}.settings-btn{display:flex;align-items:center;justify-content:center;padding:10px 15px;background:0 0;border:1px solid transparent;border-bottom:none;cursor:pointer;color:#64748b;transition:color .2s,background-color .2s;margin-bottom:0;border-radius:5px 5px 0 0;align-self:center}.settings-btn:hover{color:var(--primary-color,#3498db);background-color:rgba(52,152,219,.05)}.settings-btn.active{background-color:#fff;border-color:#ddd;color:var(--primary-color,#3498db)}.settings-btn .icon{width:18px;height:18px}.settings-btn span{margin-left:6px}.user-info .settings-btn.settings-btn--topbar{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;margin-left:10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.72);color:var(--primary-color,#3498db);gap:6px}.user-info .settings-btn.settings-btn--topbar span{margin-left:0}.user-info .settings-btn.settings-btn--topbar:hover{background:rgba(52,152,219,.12)}.user-info .settings-btn.settings-btn--topbar.active{background:rgba(52,152,219,.16);border-color:rgba(52,152,219,.25)}.user-info .settings-btn.settings-btn--topbar .icon{width:18px;height:18px}.user-info .help-btn.help-btn--topbar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin-left:6px;border-radius:999px;border:1px solid rgba(15,23,42,.12);border-bottom:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.72);color:#64748b}.user-info .help-btn.help-btn--topbar:hover{background:rgba(52,152,219,.12);color:var(--primary-color,#3498db)}.user-info .help-btn.help-btn--topbar.active{background:rgba(52,152,219,.16);border-color:rgba(52,152,219,.25);color:var(--primary-color,#3498db)}.user-info .help-btn.help-btn--topbar .icon{width:18px;height:18px}@media (max-width:768px){.user-info .settings-btn.settings-btn--topbar{display:none}}.help-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px;background:0 0;border:1px solid transparent;border-bottom:none;cursor:pointer;color:#64748b;transition:color .2s,background-color .2s;border-radius:5px 5px 0 0;position:relative}.help-btn:hover{color:var(--primary-color,#3498db);background-color:rgba(52,152,219,.05)}.help-btn.active{background-color:#fff;border-color:#ddd;color:var(--primary-color,#3498db)}.help-btn .icon{width:18px;height:18px}.help-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 6px);background:#1f2937;color:#fff;padding:6px 8px;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:5}.help-btn[data-tooltip]::before{content:'';position:absolute;right:12px;bottom:100%;border:6px solid transparent;border-top-color:#1f2937;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.help-btn:focus-visible::after,.help-btn:focus-visible::before,.help-btn:hover::after,.help-btn:hover::before{opacity:1;transform:translateY(0)}.help-btn--floating{position:absolute;top:-24px;right:0;background:rgba(255,255,255,.92);border-color:rgba(15,23,42,.12);z-index:6}.faq-container{max-width:980px;margin:0 auto;padding:18px 18px 22px;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.72)}.faq-title{margin:0 0 10px;font-size:26px;font-weight:900;color:var(--primary-color,#3498db);letter-spacing:-.01em}.faq-intro{margin:0 0 14px;color:#334155;line-height:1.5}.faq-accordion{display:flex;flex-direction:column;gap:10px}.faq-item{border-radius:12px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.9);overflow:hidden}.faq-question{width:100%;appearance:none;border:0;background:0 0;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:#0f172a;font-weight:800;font-size:15px;line-height:1.3}.faq-question::after{content:'▾';flex:0 0 auto;font-size:16px;line-height:1;color:#64748b;transform:rotate(-90deg);transition:transform .18s}.faq-question:hover{background:rgba(52,152,219,.06)}.faq-question:focus-visible{outline:rgba(52,152,219,.55) solid 2px;outline-offset:2px}.faq-answer{display:none;padding:0 14px 14px;color:#334155;line-height:1.55}.faq-answer p{margin:8px 0 0}.faq-item.active .faq-question{background:rgba(52,152,219,.08)}.faq-item.active .faq-question::after{transform:rotate(0)}.faq-item.active .faq-answer{display:block}@media (max-width:480px){.faq-container{padding:14px 14px 18px}.faq-title{font-size:22px}.faq-question{font-size:14px;padding:11px 12px}.faq-answer{padding:0 12px 12px}}.tab{padding:10px 15px;cursor:pointer;border:1px solid transparent;border-bottom:none;margin-right:5px;display:inline-flex;align-items:center;gap:6px}.tab.active{background-color:#fff;border-color:#ddd;border-radius:5px 5px 0 0;margin-bottom:-1px}.tab .icon{width:16px;height:16px;color:#64748b}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:6px;border-radius:999px;font-size:12px;line-height:1;color:#fff}.tab-badge--info{background:#2563eb}.tab-badge--alert{background:#dc2626}.tab.active .icon{color:var(--primary-color,#3498db)}.tab-content{display:none}.tab-content.active{display:block}.attendance-table{border-collapse:separate;border-spacing:0;background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.12);border-radius:12px;overflow:hidden;table-layout:fixed}.attendance-notes-header{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px;background-color:var(--light-color);padding:1rem;border-radius:12px;box-shadow:0 2px 5px rgba(0,0,0,.08)}.attendance-notes-date-nav{margin-bottom:0;background-color:transparent;box-shadow:none;padding:0}.attendance-notes-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.attendance-notes-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}.attendance-notes-stat{background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px 12px}.attendance-notes-stat--unread{border-color:rgba(15,23,42,.12);background:rgba(255,255,255,.72)}.attendance-notes-stat--unread.is-active{border-color:rgba(220,38,38,.35);background:rgba(254,242,242,.9)}.attendance-notes-stat__label{font-size:12px;color:#64748b}.attendance-notes-stat__value{font-size:20px;font-weight:800;color:#0f172a;margin-top:2px}.attendance-notes-table-wrap{border-radius:12px;overflow:hidden;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.72)}.attendance-notes-table{width:100%;border-collapse:separate;border-spacing:0}.attendance-notes-table td,.attendance-notes-table th{padding:12px;border-bottom:1px solid rgba(15,23,42,.08);vertical-align:top}.attendance-notes-table thead th{background:rgba(248,250,252,.9);font-weight:700;color:#0f172a}.attendance-notes-row--unread td{background:rgba(254,242,242,.75)}.attendance-notes-cards{display:grid;grid-template-columns:1fr;gap:12px}.attendance-notes-card{border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.72);border-radius:12px;padding:12px}.attendance-notes-card--unread{border-color:rgba(220,38,38,.28);background:rgba(254,242,242,.65)}.attendance-notes-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.attendance-notes-card__child{font-size:15px;font-weight:800;color:#0f172a;line-height:1.2}.attendance-notes-card__parent{margin-top:3px;font-size:12px;color:#64748b}.attendance-notes-card__body{margin-top:10px}.attendance-notes-card__footer{margin-top:12px;display:flex;align-items:center;justify-content:flex-end}.attendance-notes-card .attendance-notes-icon-btn,.attendance-notes-card .note-btn{width:36px;height:36px;border-radius:10px}.attendance-notes-card .note-btn{min-height:36px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.75);opacity:1}.attendance-notes-card .note-btn:hover{background:rgba(248,250,252,.95)}.attendance-notes-note{color:#0f172a;line-height:1.35}.attendance-notes-meta{margin-top:6px;font-size:12px;color:#64748b;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.attendance-notes-actions-cell{width:92px;text-align:center;vertical-align:middle}.attendance-notes-actions-icons{display:inline-flex;align-items:center;justify-content:center;gap:8px}.attendance-notes-actions-cell .note-btn{margin-left:0;width:34px;min-height:34px;height:34px;align-self:center;border-radius:10px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.75);opacity:1}.attendance-notes-actions-cell .note-btn:hover{background:rgba(248,250,252,.95)}.attendance-notes-actions-cell .note-btn.has-note::after{right:5px;top:5px}.attendance-notes-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.75);color:#0f172a;cursor:pointer;transition:background .15s,transform .15s}.attendance-notes-icon-btn:hover{background:rgba(248,250,252,.95);transform:translateY(-1px)}.attendance-notes-icon-btn:active{transform:translateY(0)}.attendance-notes-icon-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.attendance-notes-mark-btn{color:#16a34a;border-color:rgba(22,163,74,.28);background:rgba(220,252,231,.55)}.attendance-notes-mark-btn:hover{background:rgba(220,252,231,.75)}.attendance-notes-empty{background:rgba(255,255,255,.72);border:1px dashed rgba(15,23,42,.22);border-radius:12px;padding:18px 14px;color:#0f172a}.attendance-notes-empty--loading{border-style:solid;background:rgba(248,250,252,.85)}.attendance-notes-empty__title{font-weight:800;margin-bottom:4px}.attendance-notes-empty__text{color:#64748b}@media (max-width:768px){.attendance-notes-header{padding:.6rem}.attendance-notes-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-table td{text-align:center}.attendance-parent-inline{display:none}.attendance-col-child{width:42%}.attendance-table.attendance-table--group{border:none;border-radius:0;background:0 0}.attendance-table.attendance-table--group th{background-color:rgba(255,255,255,.7)}.attendance-table.attendance-table--group th:first-child{padding-left:calc(4px + .75rem)}.attendance-table tbody tr:hover{background-color:#f5f5f5}.attendance-table tbody tr.attendance-group-header:hover,.attendance-table tbody tr.attendance-group-row:hover{background-color:transparent}.attendance-group-header td{text-align:left;padding:12px 14px;background:var(--cg-bg,#f1f5f9);border-bottom:1px solid rgba(15,23,42,.12);border-top:1px solid rgba(15,23,42,.08)}.attendance-group-header td:first-child{border-left:8px solid var(--cg-color,#64748b)}.attendance-group-row td:first-child{border-left:4px solid var(--cg-color,#94a3b8)}.attendance-group-row td{background:0 0}.attendance-group-row:hover td{background:#f5f5f5}.attendance-group-row--first td{border-top:1px solid rgba(15,23,42,.12)}.attendance-group-row--last td{border-bottom:1px solid rgba(15,23,42,.12)}.attendance-group-badge{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:12px;color:#0f172a;text-transform:uppercase;letter-spacing:.08em;padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.1);background:rgba(255,255,255,.55)}.attendance-group-badge::before{content:'';width:10px;height:10px;border-radius:999px;background:var(--cg-color,#64748b);box-shadow:0 0 0 2px rgba(255,255,255,.85)}.attendance-group-card{margin:14px 0;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.72);overflow:hidden}.attendance-group-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--cg-bg,rgba(241,245,249,.9));border-left:8px solid var(--cg-color,#64748b);border-bottom:1px solid rgba(15,23,42,.1)}.attendance-group-card__title{display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0f172a;font-size:12px}.attendance-group-card__title::before{content:'';width:10px;height:10px;border-radius:999px;background:var(--cg-color,#64748b);box-shadow:0 0 0 2px rgba(255,255,255,.85)}.attendance-group-card__count{min-width:28px;height:22px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800;font-size:12px;color:#fff;background:var(--cg-color,#64748b);box-shadow:0 1px 2px rgba(0,0,0,.12)}.attendance-group-card__table-wrap{padding:0}.note-btn{margin-left:6px;border:none;background:0 0;cursor:pointer;font-size:16px;line-height:1;white-space:nowrap;vertical-align:middle;opacity:.7;transition:opacity .2s,transform .1s;position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:48px;height:auto;align-self:stretch;padding-block:2px;box-sizing:content-box;border-radius:6px}.note-btn--readonly{opacity:.45;cursor:not-allowed}.note-btn--readonly:hover{opacity:.45;transform:none}.note-btn:hover{opacity:1;transform:translateY(-1px)}.note-btn:focus{outline:2px solid var(--secondary-color);outline-offset:2px}.note-btn.has-note{opacity:1;color:var(--success-color,#2ecc71);filter:drop-shadow(0 0 2px rgba(0,0,0,.12))}.note-btn.has-note::after{content:'';position:absolute;width:8px;height:8px;background:var(--success-color,#2ecc71);border-radius:50%;right:4px;top:6px}.note-btn--daily.has-note::after{border-radius:50%;background:var(--success-color,#2ecc71)}.note-btn--global.has-note::after{border-radius:0;background:var(--info-color,#3498db);transform:rotate(45deg);right:4px;top:6px}.status-cell{display:inline-flex;gap:8px;align-items:stretch;justify-content:center}.status-cell .attendance-toggle{align-self:center}.status-cell .note-btn{height:100%}.attendance-history-btn{margin-left:4px;border:none;background:0 0;cursor:pointer;font-size:15px;line-height:1;vertical-align:middle;opacity:.65;transition:opacity .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center;width:26px;min-height:26px;padding:2px;border-radius:4px}.attendance-history-btn:hover{opacity:1;transform:translateY(-1px);background:rgba(52,152,219,.08)}.attendance-history-btn:focus{outline:2px solid var(--secondary-color);outline-offset:2px}.attendance-history-modal{padding:24px!important;max-width:520px;width:90%}.attendance-history-modal h3{margin-bottom:4px}.attendance-history-modal #attendance-history-child-name{color:#555;font-size:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.attendance-history-tabs{margin-bottom:20px!important}.attendance-history-tab{background:#fff;border:1px solid #ddd;color:#555;padding:8px 16px;font-size:13px;border-radius:4px;transition:.15s}.attendance-history-tab:hover:not(.active){background:#f8f9fa;border-color:#ccc;color:#333}.attendance-history-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.attendance-history-modal table{width:100%;border-collapse:collapse;font-size:13px}.attendance-history-modal table th{text-align:left;padding:10px 12px;background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;color:#495057}.attendance-history-modal table td{padding:10px 12px;border-bottom:1px solid #eee}.attendance-history-modal table tr:hover td{background:#f8f9fa}.attendance-history-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.attendance-history-filter-bar label{font-size:12px;font-weight:600;color:#555}.attendance-history-filter-bar select{min-width:180px;padding:6px 8px;border:1px solid #d0d7de;border-radius:6px;font-size:13px}.attendance-history-period-meta{margin-left:auto;font-size:12px;color:#6b7280}.attendance-history-period-meta[aria-live]{min-height:18px}.attendance-history-load-more{margin-top:12px;display:none}.attendance-history-loading{color:#6b7280;font-size:13px}.attendance-history-error{color:#c0392b;font-size:13px}.attendance-history-status{font-weight:600}.attendance-history-status--present{color:#2ecc71}.attendance-history-status--absent{color:#e74c3c}.attendance-history-note{white-space:pre-line;color:#2c3e50;font-size:13px;line-height:1.35}.attendance-history-note--empty{color:#95a5a6;font-style:italic}.attendance-history-note-meta{margin-top:6px;font-size:11px;color:#7f8c8d}.meal-price-history-modal .confirm-modal-body{padding-top:.75rem}.meal-price-history-content{display:flex;flex-direction:column;gap:12px}.meal-price-history-empty,.meal-price-history-loading{font-size:14px;color:#6b7280}.meal-price-history-table{width:100%;border-collapse:collapse;font-size:14px}.meal-price-history-table td,.meal-price-history-table th{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}.meal-price-history-table th{background:#f8f9fa;font-weight:600;color:#374151}.meal-price-history-table tbody tr:hover td{background:#f3f4f6}.tuition-price-history-modal .confirm-modal-body{padding-top:.75rem}.tuition-price-history-content{display:flex;flex-direction:column;gap:12px}.tuition-price-history-empty,.tuition-price-history-loading{font-size:14px;color:#6b7280}.tuition-price-history-table{width:100%;border-collapse:collapse;font-size:14px}.tuition-price-history-table td,.tuition-price-history-table th{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}.tuition-price-history-table th{background:#f8f9fa;font-weight:600;color:#374151}.tuition-price-history-table tbody tr:hover td{background:#f3f4f6}.tuition-price-history-status{display:inline-flex;align-items:center;border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;color:#374151;background:rgba(15,23,42,.05)}.tuition-price-history-status--current{color:#166534;background:rgba(34,197,94,.14);border-color:rgba(22,101,52,.24)}.tuition-price-history-status--planned{color:#1d4ed8;background:rgba(59,130,246,.14);border-color:rgba(30,64,175,.24)}#attendance-plan-content{padding-top:8px}.absence-plan-desc{color:#666;font-size:13px;margin-bottom:16px}.absence-date-inputs{display:flex;gap:16px;margin-bottom:16px}.absence-date-field label{display:block;font-size:12px;font-weight:500;color:#555;margin-bottom:6px}.absence-date-field input[type=date]{width:160px;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.absence-date-field input[type=date]:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 2px rgba(52,152,219,.15)}#absence-plan-info{min-height:20px;font-size:13px;color:#666;margin-bottom:16px}#attendance-history-list{max-height:280px;overflow-y:auto}.attendance-history-modal .confirm-modal-buttons{margin-top:20px;padding-top:16px;border-top:1px solid #eee}.note-tooltip{position:absolute;z-index:2050;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:10px 12px;font-size:13px;line-height:1.35;color:#333;max-width:520px;max-height:60vh;overflow:auto;opacity:0;transition:opacity .08s ease-out;will-change:opacity;pointer-events:none}.note-tooltip[data-day-nav-tooltip="1"]{max-height:none;overflow:visible}.note-tooltip[data-day-nav-tooltip="1"] .tooltip-arrow{display:none}.note-tooltip[data-show="1"]{opacity:1;pointer-events:auto}.note-tooltip .tooltip-content{white-space:pre-wrap;overflow:visible;word-wrap:break-word;font-size:13px;color:#333}.parent-contact-tooltip{min-width:0;max-width:220px;padding:8px 10px}.parent-contact-tooltip .tooltip-content--parent{display:flex;flex-direction:column;gap:4px;font-size:12px}.note-tooltip .tooltip-badge{display:inline-block;font-size:10px;line-height:1;letter-spacing:.4px;text-transform:uppercase;color:#555;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:6px;padding:3px 6px;margin-bottom:6px}.note-tooltip .tooltip-arrow{position:absolute;width:8px;height:8px;background:#fff;border-left:1px solid #ddd;border-top:1px solid #ddd;transform:rotate(45deg)}.note-tooltip[data-popper-placement^=top] .tooltip-arrow{bottom:-4px}.note-tooltip[data-popper-placement^=bottom] .tooltip-arrow{top:-4px}.note-tooltip[data-popper-placement^=left] .tooltip-arrow{right:-4px}.note-tooltip[data-popper-placement^=right] .tooltip-arrow{left:-4px}.note-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:2100;padding:16px}.note-dialog{width:min(680px,92vw);max-height:80vh;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:16px;display:flex;flex-direction:column;gap:10px}.note-dialog h3{margin:0 0 4px;color:var(--primary-color)}.note-scope-hint{color:#6b7280;font-size:12px;margin-left:8px}.note-intro{border:1px solid rgba(15,23,42,.12);background:rgba(241,245,249,.7);border-radius:10px;padding:10px 12px}.note-intro__title{font-weight:800;color:#0f172a;font-size:13px;letter-spacing:.01em;margin-bottom:4px}.note-intro__text{color:#334155;font-size:13px;line-height:1.35}.note-intro__hint{margin-top:4px;color:#64748b;font-size:12px}.note-intro__sep{opacity:.6;margin:0 4px}.note-templates{display:flex;flex-wrap:wrap;gap:8px}.note-chip{appearance:none;border:1px solid rgba(15,23,42,.14);background:rgba(255,255,255,.85);color:#0f172a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .12s,background .12s,border-color .12s}.note-chip:hover{background:#fff;border-color:rgba(15,23,42,.22);transform:translateY(-1px)}.note-chip:active{transform:translateY(0)}.note-chip:focus{outline:2px solid var(--secondary-color);outline-offset:2px}.note-textarea{width:100%;min-height:120px;max-height:50vh;resize:vertical;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;line-height:1.4}.note-meta{font-size:12px;color:#666;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.note-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:480px){.note-dialog{width:96vw;max-height:86vh}.note-textarea{min-height:160px}}.meal-summary{margin-top:20px}.meal-summary-box{background-color:#f5f5f5;border:1px solid #ddd;border-radius:5px;padding:15px;margin-top:15px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.meal-summary-box h4{margin-top:0;font-weight:700;color:#333}.large-text{font-size:18px;margin-top:10px}.large-text strong{color:#4caf50;font-size:20px}.logo-container{display:flex;flex-direction:row;align-items:center;gap:12px}.brand-logo{display:block;max-height:56px;width:auto;margin-bottom:0}.tagline{color:var(--secondary-color);font-size:1rem;margin-top:-5px;font-style:italic}.preschool-decoration{display:flex;justify-content:center;margin-bottom:2rem;position:relative;height:60px}.decoration-item{position:absolute}.crayon-red{width:12px;height:80px;background:linear-gradient(to bottom,#3498db 80%,#2980b9 20%);border-radius:3px 3px 0 0;transform:rotate(-15deg);left:calc(50% - 60px);top:-10px}.crayon-blue{width:12px;height:70px;background:linear-gradient(to bottom,#f39c12 80%,#e67e22 20%);border-radius:3px 3px 0 0;transform:rotate(5deg);left:calc(50% - 20px);top:-5px}.crayon-yellow{width:12px;height:90px;background:linear-gradient(to bottom,#2ecc71 80%,#27ae60 20%);border-radius:3px 3px 0 0;transform:rotate(-5deg);left:calc(50% + 40px);top:-15px}.pencil{width:10px;height:100px;background:linear-gradient(to bottom,#e74c3c 80%,#c0392b 10%,#111 10%);border-radius:3px 3px 0 0;transform:rotate(15deg);left:calc(50% + 80px);top:-10px}.welcome-message{max-width:450px;margin:2rem auto;text-align:center;padding:1.5rem;background-color:rgba(255,255,255,.8);border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05);border-left:5px solid var(--accent-color)}.welcome-message h3{color:var(--primary-color);margin-bottom:.8rem}.welcome-message p{color:var(--dark-color);line-height:1.6}#login-form button{background-color:var(--primary-color);color:#fff;border:none;font-weight:700;position:relative;overflow:hidden;transition:.3s}#login-form button:hover{background-color:#ff5252;transform:translateY(-2px)}.tab-content h2{color:var(--primary-color);border-bottom:2px dashed var(--secondary-color);padding-bottom:.5rem;margin-bottom:1.5rem;position:relative;z-index:1}#weekly_menu-tab{background-color:rgba(255,255,255,.9);padding:1.5rem;border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05);position:relative;background-image:radial-gradient(circle at 90% 10%,rgba(46,204,113,.1) 20%,transparent 20%),radial-gradient(circle at 10% 90%,rgba(52,152,219,.1) 20%,transparent 20%),radial-gradient(circle at 50% 50%,rgba(243,156,18,.05) 25%,transparent 25%);background-size:30% 30%,20% 20%,40% 40%;background-position:0 0,0 0,0 0}#weekly_menu-tab::before{content:'🏝️';font-size:3rem;position:absolute;top:-1.5rem;right:-1rem;opacity:.2;transform:rotate(15deg)}.weekly-menu-container{display:grid;grid-gap:1.5rem}.weekly-menu-week-nav{display:flex;align-items:center;gap:.35rem}.weekly-menu-week-nav .btn{padding:.35rem .5rem;min-width:2.2rem}.weekly-menu-week-nav input[type=date]{min-width:140px}.menu-day-container{border:2px solid var(--secondary-color);border-radius:10px;padding:1rem;background-color:rgba(255,255,255,.7);position:relative}.menu-day-container:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.menu-day-container h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem;border-bottom:1px dashed var(--secondary-color);padding-bottom:.5rem}.menu-day-container textarea:focus{outline:0;border-color:var(--primary-color)}input.date-input,input[type=date]{padding:.6rem 1rem;border:2px solid #ddd;border-radius:8px;font-family:inherit;background-color:#fff;transition:.3s}input.date-input.date-input--alt,input.date-input[type=text]{padding-right:2.4rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:1.1rem 1.1rem}input.date-input:focus,input[type=date]:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(52,152,219,.2)}.flatpickr-weekdays .flatpickr-weekday:nth-child(6),.flatpickr-weekdays .flatpickr-weekday:nth-child(7){color:rgba(15,23,42,.32)}#menu-week-date{position:relative;cursor:pointer}#menu-week-date::after{content:"📅 Wybierasz cały tydzień (pon–pt)";position:absolute;top:calc(100% + 5px);left:0;font-size:.8rem;color:var(--primary-color);white-space:nowrap;opacity:0;transition:opacity .3s}#menu-week-date:focus::after,#menu-week-date:hover::after{opacity:1}.week-summary{margin-top:6px;font-size:.95rem;color:var(--dark-color)}.flatpickr-calendar .flatpickr-day.week-range{background-color:rgba(52,152,219,.18)}.flatpickr-calendar .flatpickr-day.week-range-start{background-color:rgba(52,152,219,.28);border-top-left-radius:8px;border-bottom-left-radius:8px}.flatpickr-calendar .flatpickr-day.week-range-end{background-color:rgba(52,152,219,.28);border-top-right-radius:8px}.flatpickr-calendar .flatpickr-day.week-range:hover{background-color:rgba(52,152,219,.28)}.excluded-days-calendar.flatpickr-calendar{width:fit-content;max-width:100%;position:relative;display:block;margin:0 auto}.excluded-days-calendar .flatpickr-next-month,.excluded-days-calendar .flatpickr-prev-month{display:inline-block!important}.excluded-days-calendar .flatpickr-days,.excluded-days-calendar .flatpickr-months,.excluded-days-calendar .flatpickr-weekdays{display:block;width:100%}.excluded-days-calendar .flatpickr-days::after,.excluded-days-calendar .flatpickr-months::after,.excluded-days-calendar .flatpickr-weekdays::after{content:"";display:block}.excluded-days-calendar .flatpickr-days{width:auto}.excluded-days-calendar .flatpickr-month{padding:4px 6px;min-height:32px;display:flex;align-items:center;justify-content:center}.excluded-days-calendar .flatpickr-current-month{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.excluded-days-calendar .dayContainer{box-shadow:none;border:1px solid #eee;border-radius:8px;background:#fff;width:auto;min-width:0}.excluded-days-calendar .flatpickr-weekdays .flatpickr-weekdaycontainer{min-height:28px}.excluded-days-calendar .flatpickr-day.selected,.excluded-days-calendar .flatpickr-day.selected:hover{background:var(--error-color);border-color:var(--error-color);color:#fff}.excluded-days-calendar .flatpickr-day.today:not(.selected){border-color:var(--primary-color);color:var(--primary-color);box-shadow:inset 0 0 0 1px rgba(52,152,219,.4)}.excluded-days-calendar .flatpickr-day.holiday-highlight:not(.selected){background:rgba(243,156,18,.12);border-color:var(--secondary-color)}.excluded-days-calendar .flatpickr-day.selected.holiday-highlight{box-shadow:0 0 0 2px var(--secondary-color) inset}.excluded-days-calendar .flatpickr-day:focus{outline:2px solid var(--secondary-color);outline-offset:-2px}.excluded-days-calendar .flatpickr-months{display:flex;align-items:center;justify-content:center}.excluded-days-calendar .flatpickr-months .flatpickr-next-month,.excluded-days-calendar .flatpickr-months .flatpickr-prev-month{width:44px;height:44px;cursor:pointer;opacity:1}.excluded-days-calendar .flatpickr-months .flatpickr-next-month svg,.excluded-days-calendar .flatpickr-months .flatpickr-prev-month svg{width:24px;height:24px;fill:var(--primary-color);stroke:var(--primary-color);transition:transform .15s}.excluded-days-calendar .flatpickr-months .flatpickr-next-month:hover svg,.excluded-days-calendar .flatpickr-months .flatpickr-prev-month:hover svg{transform:scale(1.2)}#excluded-attendance-days{display:none}.excluded-days-legend{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:10px;padding:10px 12px;border:1px dashed rgba(15,23,42,.2);border-radius:12px;background:rgba(248,250,252,.9)}.excluded-days-legend__item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#475569;min-width:180px}.legend-dot{width:18px;height:18px;border-radius:999px;border:2px solid currentColor;display:inline-block}.legend-dot--excluded{background:var(--error-color);border-color:var(--error-color)}.legend-dot--holiday{background:rgba(243,156,18,.12);border-color:var(--secondary-color);box-shadow:inset 0 0 0 2px rgba(243,156,18,.5)}.legend-dot--today{border-color:var(--primary-color);color:var(--primary-color);background:0 0;box-shadow:inset 0 0 0 2px rgba(52,152,219,.4)}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:8px;font-weight:700;cursor:pointer;transition:.3s;display:inline-block;margin-top:1rem}.btn-primary:hover{background-color:#2980b9;transform:translateY(-2px)}.btn-primary:active{transform:translateY(1px)}#zapisz-jadlospis{background-color:var(--accent-color);color:#fff;font-weight:700;padding:.8rem 1.5rem;border-radius:8px;border:none;cursor:pointer;transition:.3s;display:inline-block;margin-top:1.5rem;position:relative;overflow:hidden}#zapisz-jadlospis:hover{background-color:#27ae60;transform:translateY(-2px)}#zapisz-jadlospis:active{transform:translateY(1px)}#weekly-menu-list-parent{margin:1rem 0}#weekly-menu-list-parent table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden;box-shadow:0 0 10px rgba(0,0,0,.1)}#weekly-menu-list-parent th{background-color:var(--primary-color);color:#fff;padding:1rem;text-align:left}#weekly-menu-list-parent td{padding:1rem;border-bottom:1px solid #eee}#weekly-menu-list-parent tr:nth-child(2n){background-color:rgba(52,152,219,.05)}#weekly-menu-list-parent tr:hover{background-color:rgba(243,156,18,.1)}.menu-day-container::before{position:absolute;font-size:1.5rem;opacity:.2;top:-.5rem;right:.5rem}.menu-day-container:first-child::before{content:'🍳'}.menu-day-container:nth-child(2)::before{content:'🥗'}.menu-day-container:nth-child(3)::before{content:'🍕'}.menu-day-container:nth-child(4)::before{content:'🍜'}.menu-day-container:nth-child(5)::before{content:'🍰'}#weekly_menu-tab h2{position:relative;display:inline-block;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--dark-color);font-weight:700}.form-group--inline{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.form-group--inline label{margin-bottom:0;width:280px;flex-shrink:0}.label-with-icon{display:inline-flex;align-items:center;gap:8px}.price-history-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(15,23,42,.15);border-radius:50%;background:#fff;color:#1f2937;cursor:pointer;transition:color .2s,border-color .2s,box-shadow .2s,transform .2s}.price-history-btn:focus-visible,.price-history-btn:hover{color:var(--primary-color);border-color:rgba(52,152,219,.5);box-shadow:0 6px 14px rgba(15,23,42,.12);transform:translateY(-1px)}.price-history-btn:focus-visible{outline:0}.price-history-btn svg{display:block}.price-history-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);background:#1f2937;color:#fff;padding:6px 8px;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10}.price-history-btn[data-tooltip]::before{content:'';position:absolute;left:50%;bottom:100%;transform:translateX(-50%) translateY(4px);border:6px solid transparent;border-top-color:#1f2937;opacity:0;transition:opacity .2s,transform .2s}.price-history-btn:focus-visible::after,.price-history-btn:focus-visible::before,.price-history-btn:hover::after,.price-history-btn:hover::before{opacity:1;transform:translate(-50%,0)}.form-inline-controls{display:flex;align-items:center;gap:8px}.input--compact{width:140px}.time-input.input--compact,input[type=time].input--compact{width:160px}@media (max-width:600px){.form-group--inline{flex-direction:column;align-items:flex-start;gap:8px}.form-group--inline label{width:auto}}#weekly_menu-tab #save-weekly-menu,#weekly_menu-tab .weekly-menu-container,.menu-parent-view .menu-day-item,.menu-parent-view .weekly-menu-items{display:none!important}#weekly_menu-tab .weekly-image-section{margin:1rem 0 1.5rem}.weekly-image-preview{display:flex;align-items:center;justify-content:center;min-height:160px;background:#f7fbff;border:2px dashed #e3eef9;border-radius:12px;overflow:hidden;margin-bottom:.75rem;position:relative}.weekly-image-preview img{max-width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.weekly-image-preview .preview-delete-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(231,76,60,.95);color:#fff;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s,background-color .2s;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);z-index:2}.weekly-image-preview:hover .preview-delete-btn{opacity:1;transform:translateY(0)}.weekly-image-preview .preview-delete-btn:focus{outline:0;box-shadow:0 0 0 3px rgba(231,76,60,.35),0 2px 6px rgba(0,0,0,.2);opacity:1;transform:translateY(0)}.weekly-image-preview .preview-delete-btn:hover{background:#c0392b}@media (hover:none){.weekly-image-preview .preview-delete-btn{opacity:1;transform:none}}.weekly-image-preview .no-image{color:#888;font-style:italic}.weekly-image-dropzone{margin-top:.75rem;border:2px dashed var(--primary-color);background:rgba(52,152,219,.06);border-radius:12px;text-align:center;padding:1rem;cursor:pointer;transition:.25s}.weekly-image-dropzone .dz-icon{font-size:2rem}.weekly-image-dropzone .dz-text{margin-top:.25rem;font-weight:600;color:var(--dark-color)}.weekly-image-dropzone .dz-subtext{margin-top:.25rem;font-size:.9rem;color:#666}.weekly-image-dropzone:hover{background:rgba(52,152,219,.1);transform:translateY(-1px)}.weekly-image-dropzone:focus{outline:0;box-shadow:0 0 0 3px rgba(243,156,18,.35)}.weekly-image-dropzone.is-dragover{background:rgba(243,156,18,.12);border-color:var(--secondary-color);transform:scale(1.01)}.weekly-image-dropzone.is-uploading{opacity:.7;cursor:progress}.parent-documents-dropzone .dz-icon{width:32px;height:32px;color:var(--primary-color);display:inline-block}.parent-documents-dropzone.is-disabled{opacity:.55;cursor:not-allowed;transform:none}.parent-documents-dropzone.is-disabled:hover{background:rgba(52,152,219,.06);transform:none}.upload-progress{position:relative;background:#eef4fb;border-radius:6px;height:10px;margin-top:.75rem;overflow:hidden}.upload-progress[aria-hidden=true]{display:none}.upload-progress .bar{width:0%;height:100%;background:linear-gradient(90deg,var(--primary-color),#74b9ff);transition:width .2s}.upload-progress .label{position:absolute;top:-22px;right:0;font-size:.85rem;color:var(--dark-color)}.weekly-image-actions{display:flex;gap:.5rem;margin-top:.75rem;position:relative;z-index:10;flex-wrap:wrap}.weekly-image-parent img{width:100%;height:auto;border-radius:12px;position:relative;z-index:1;box-shadow:0 2px 10px rgba(0,0,0,.08);margin-bottom:1rem}@media (max-width:768px){.weekly-image-preview{min-height:140px}.weekly-image-dropzone{padding:1rem}.weekly-image-dropzone .dz-icon{font-size:1.8rem}.upload-progress .label{top:-20px;font-size:.8rem}}.menu-parent-view{background-color:rgba(255,255,255,.9);border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05);padding:2rem;position:relative;overflow:hidden}.menu-parent-view::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 90% 10%,rgba(46,204,113,.05) 20%,transparent 20%),radial-gradient(circle at 10% 90%,rgba(52,152,219,.05) 20%,transparent 20%),radial-gradient(circle at 50% 50%,rgba(243,156,18,.025) 25%,transparent 25%);background-size:30% 30%,20% 20%,40% 40%;background-position:0 0,0 0,0 0;z-index:0;pointer-events:none}.menu-parent-view h2{color:var(--primary-color);text-align:center;margin-bottom:2rem;position:relative;z-index:1}.weekly-menu-items{display:grid;grid-gap:1.5rem;position:relative;z-index:1}.menu-day-item{background-color:rgba(255,255,255,.7);border:2px solid var(--secondary-color);border-radius:10px;padding:1.2rem;transition:.3s;position:relative}.menu-day-item::before{position:absolute;font-size:1.5rem;opacity:.1;top:.5rem;right:.5rem}.menu-day-item:first-child::before{content:'🍳'}.menu-day-item:nth-child(2)::before{content:'🥗'}.menu-day-item:nth-child(3)::before{content:'🍕'}.menu-day-item:nth-child(4)::before{content:'🍜'}.menu-day-item:nth-child(5)::before{content:'🍰'}.menu-day-item h3{color:var(--primary-color);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px dashed var(--secondary-color)}.day-date{font-size:.9rem;opacity:.8;font-weight:400}.menu-content ul{list-style-type:none;padding-left:0}.menu-content li{padding:.5rem 0 .5rem 1.5rem;border-bottom:1px dotted rgba(0,0,0,.1);position:relative}.menu-content li::before{content:'🔹';position:absolute;left:0;color:var(--secondary-color)}.menu-content li:last-child{border-bottom:none}.no-menu{color:#999;font-style:italic;text-align:center;padding:1rem}.weekly-menu-empty{display:flex;justify-content:center;align-items:center;min-height:200px;background-color:rgba(255,255,255,.9);border-radius:15px;box-shadow:0 5px 15px rgba(0,0,0,.05)}.empty-state{text-align:center;padding:2rem}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--primary-color);margin-bottom:.5rem}.empty-state p{color:#777}.meal-reg-controls{margin-bottom:1rem}.meal-reg-control-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.meal-reg-field{min-width:140px}.meal-reg-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem;color:var(--dark-color)}.meal-reg-field input[type=date],.meal-reg-field select{width:100%;padding:.4rem .5rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.meal-reg-week-nav{display:flex;align-items:center;gap:.35rem}.meal-reg-week-nav .btn{padding:.35rem .5rem;min-width:2.2rem}.meal-reg-week-nav input[type=date]{min-width:140px}.meal-reg-actions{display:flex;gap:.5rem;align-items:flex-end;padding-bottom:2px}.meal-reg-setting-field{margin-left:auto}.meal-reg-group-field{--group-color:#94a3b8}.meal-reg-group-label{display:inline-flex;align-items:center;gap:8px}.meal-reg-group-swatch{width:12px;height:12px;border-radius:50%;background:var(--group-color,#94a3b8);border:1px solid #cbd5f5}.meal-reg-group-select{border-left:4px solid var(--group-color,#cbd5f5);padding-left:10px;color:var(--group-color,#0f172a);font-weight:600}.meal-reg-group-select option{color:#0f172a}.meal-menu-subtabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid #e2e8f0}.meal-menu-subtab{padding:.5rem 1.25rem;cursor:pointer;font-weight:600;font-size:.92rem;color:#64748b;border:none;background:0 0;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.meal-menu-subtab:hover{color:var(--primary-color)}.meal-menu-subtab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.meal-sheet{margin-bottom:2rem;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.06)}.meal-sheet-header{text-align:center;padding:.75rem 1rem .5rem;background:linear-gradient(135deg,#eff6ff 0,#dbeafe 100%);border-bottom:2px solid #2563eb}.meal-sheet-brand{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.meal-sheet-group-name{font-size:1.15rem;font-weight:700;color:#1e40af;margin:.15rem 0}.meal-sheet-week{font-size:.82rem;color:#374151}.meal-sheet-table{width:100%;border-collapse:collapse;font-size:.78rem;table-layout:fixed}.meal-sheet-table td,.meal-sheet-table th{border:1px solid #cbd5e1;padding:3px 4px;text-align:center;vertical-align:middle}.meal-sheet-name-col{width:20%;text-align:left;font-weight:600;background:#eff6ff;font-size:.82rem}.meal-sheet-day-header{background:#2563eb;color:#fff;font-weight:600;font-size:.78rem;padding:4px 2px}.meal-sheet-day-header small{font-weight:400;font-size:.7rem;opacity:.85}.meal-sheet-type-header{background:#dbeafe;font-weight:600;font-size:.78rem;color:#1e40af;padding:2px 1px}.meal-type-editable{cursor:pointer}.meal-type-editable:hover{background:#bfdbfe}.meal-type-rename-input{border:1px solid #2563eb;border-radius:3px;font-size:.78rem;padding:1px 2px;text-align:center;width:3em}.meal-sheet-child-name{text-align:left;padding-left:6px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-sheet-cell{min-height:28px;height:28px}.meal-sheet-row-even td{background:#fff}.meal-sheet-row-odd td{background:#f8fafc}.meal-sheet-row-extra td{background:#fff}.meal-sheet-empty{text-align:center;color:#9ca3af;font-style:italic;padding:8px}@media (max-width:768px){.meal-reg-control-row{flex-direction:column}.meal-reg-setting-field{margin-left:0}.meal-sheet-table{font-size:.68rem}.meal-sheet-child-name{font-size:.7rem}.meal-sheet-cell{min-height:22px;height:22px}.tab-nav .nav-link .tab-icon,.tab-nav .nav-link .tab-text{font-size:.9rem}}.meal-reg-cell{cursor:pointer;user-select:none;transition:background .15s,color .15s;font-weight:700;font-size:.9rem;color:#cbd5e1}.meal-reg-cell:hover{background:#e0f2fe!important}.meal-reg-cell.meal-reg-eaten{background:#bbf7d0!important;color:#166534}.meal-reg-cell.meal-reg-eaten:hover{background:#86efac!important}.meal-reg-cell.meal-reg-partial{background:#fef3c7!important;color:#92400e}.meal-reg-cell.meal-reg-partial:hover{background:#fde68a!important}.meal-reg-cell.meal-reg-uneaten{background:#fee2e2!important;color:#991b1b}.meal-reg-cell.meal-reg-uneaten:hover{background:#fecaca!important}.meal-reg-cell.meal-reg-attendance-absent{background:#e5e7eb!important;color:#4b5563}.meal-reg-cell.meal-reg-attendance-absent:hover{background:#d1d5db!important}.meal-reg-cell.meal-reg-cell-disabled{cursor:not-allowed}.meal-reg-day-excluded{background:#94a3b8!important;color:#f1f5f9!important;opacity:.75}.meal-reg-excluded-label{font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;color:#fef3c7}.meal-reg-excluded{background:repeating-linear-gradient(-45deg,#e2e8f0,#e2e8f0 4px,#f1f5f9 4px,#f1f5f9 8px)!important;cursor:default!important;pointer-events:none}.meal-reg-mode-toggle{display:flex;gap:0;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}.meal-reg-mode-btn{padding:.35rem .7rem;border:none;background:#f8fafc;font-size:.82rem;font-weight:600;color:#64748b;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.meal-reg-mode-btn:not(:last-child){border-right:1px solid #cbd5e1}.meal-reg-mode-btn:hover{background:#e2e8f0}.meal-reg-mode-btn.active{background:var(--primary-color);color:#fff}.meal-reg-save-indicator{padding:.35rem .75rem;font-size:.82rem;font-weight:600;color:#166534;background:#dcfce7;border-radius:6px;display:inline-block;margin-bottom:.5rem;transition:background .3s,color .3s}.meal-reg-save-indicator.meal-reg-save-error{color:#991b1b;background:#fee2e2}.meal-reg-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem .75rem;margin-bottom:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.82rem}.meal-reg-legend-title{font-weight:700;color:#475569}.meal-reg-legend-item{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:4px;font-weight:600;background:#f1f5f9;border:1px solid #e2e8f0}.meal-reg-legend-item.meal-reg-eaten{background:#bbf7d0;color:#166534;border-color:#86efac}.meal-reg-legend-item.meal-reg-partial{background:#fef3c7;color:#92400e;border-color:#fde68a}.meal-reg-legend-item.meal-reg-uneaten{background:#fee2e2;color:#991b1b;border-color:#fecaca}.meal-reg-legend-item.meal-reg-attendance-absent{background:#e5e7eb;color:#4b5563;border-color:#d1d5db}.meal-reg-legend-hint{color:#94a3b8;font-style:italic;font-size:.78rem}.meal-reg-bulk-actions{display:flex;justify-content:flex-end;padding:.4rem 0}.meal-reg-bulk-eaten-btn{font-size:.82rem;font-weight:600;padding:.3rem .75rem;background:#dcfce7;color:#166534;border:1px solid #86efac;border-radius:6px;cursor:pointer;transition:background .2s}.meal-reg-bulk-eaten-btn:hover{background:#bbf7d0}.parent-meal-reg{margin-top:2rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.parent-meal-reg-title{font-size:1.1rem;font-weight:700;color:#1e3a8a;margin:0 0 .75rem}.parent-meal-reg-table{font-size:.75rem}.parent-meal-reg-cell{font-weight:700;color:#94a3b8}.parent-meal-reg-cell.meal-reg-eaten{color:#166534}.parent-meal-reg-cell.meal-reg-partial{color:#92400e}.parent-meal-reg-cell.meal-reg-uneaten{color:#991b1b}.parent-meal-reg-cell.meal-reg-attendance-absent{color:#4b5563}.parent-meal-reg-empty{margin-top:1rem;padding:.75rem 1rem;background:#fef3c7;color:#92400e;border-radius:8px;border:1px solid #fcd34d;font-weight:600;font-size:.9rem}.loading{text-align:center;padding:2rem;color:var(--primary-color);font-weight:700}.loading::before{content:"🏝️";display:block;font-size:2rem;margin-bottom:1rem;animation:1s infinite alternate bounce}.tab-header{display:flex;align-items:center;gap:15px;margin-bottom:1.5rem}.tab-header h2{margin:0;font-size:1.8rem}.tab-header .header-icons{display:flex;align-items:center;gap:10px}.tab-header .header-icon{font-size:1.5rem;color:var(--secondary-color)}.menu-day-container{transition:.3s;overflow:hidden}.menu-day-container h3{cursor:pointer;transition:.2s;user-select:none;display:flex;align-items:center}.menu-day-container h3::after{content:"↓";margin-left:auto;font-size:.9rem;opacity:.7;transition:transform .3s}.menu-day-container h3:hover{color:var(--secondary-color)}.menu-day-container.expanded h3::after{transform:rotate(180deg)}.menu-day-container textarea{min-height:100px;transition:.3s;max-height:80px;resize:none}.menu-day-container.expanded textarea{max-height:300px}#weekly_menu-tab h2::after,#weekly_menu-tab h2::before{top:50%;transform:translateY(-50%)}#weekly_menu-tab .tab-header{position:relative;z-index:1}a[href="#weekly_menu"] .header-icons{display:inline-flex;align-items:center;justify-content:center;position:relative}a[href="#weekly_menu"] .tab-icon{font-size:1rem;position:relative;top:-1px}.menu-day-container textarea:focus{border-color:var(--primary-color);background-color:#fff;box-shadow:0 0 0 3px rgba(52,152,219,.22),0 8px 18px rgba(15,23,42,.12)}.header-icons{display:flex;align-items:center;justify-content:space-between}.header-icon{position:relative;z-index:2;font-size:1.2rem}.tab-nav .nav-link{display:inline-flex;align-items:center;justify-content:center;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 10px}.tab-nav .nav-link .header-icons{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap}.tab-nav .nav-link .tab-icon,.tab-nav .nav-link .tab-text{display:inline-block;vertical-align:middle;position:relative}.tab-nav .nav-link .tab-text{margin:0 4px}.footer-decoration{display:flex;justify-content:center;margin-top:.5rem;gap:1rem}.footer-icon{font-size:1.3rem;margin:0 .5rem;display:inline-block;animation:2s infinite alternate bounce;line-height:1}@keyframes bounce{0%,from{transform:translateY(0)}to{transform:translateY(-10px)}100%{transform:translateY(-5px)}}.footer-icon:first-child{animation-delay:0s}.footer-icon:nth-child(2){animation-delay:.2s}.footer-icon:nth-child(3){animation-delay:.4s}.footer-icon:nth-child(4){animation-delay:.6s}.footer-icon:nth-child(5){animation-delay:.8s}.header-icons{display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;z-index:1}a[href="#weekly_menu"] .tab-text{margin:0 8px!important;position:relative}.tab-nav .nav-link .header-icons{flex-wrap:nowrap;white-space:nowrap}.tab-nav .nav-link .tab-icon{font-size:1.1rem;margin:0 2px}.date-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;background-color:var(--light-color);padding:1rem;border-radius:10px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.date-picker-container{flex:1;margin:0 1rem;text-align:center}.date-picker-container input.date-input,.date-picker-container input.flatpickr-input,.date-picker-container input[type=date]{width:auto;min-width:140px;max-width:180px;text-align:center}.date-picker-label{display:inline-flex;align-items:baseline;justify-content:center;gap:8px}.date-dow{font-size:.85rem;font-weight:600;color:rgba(15,23,42,.55);white-space:nowrap}.date-dow::before{content:'•';display:inline-block;margin-right:6px;opacity:.55}.date-dow:empty{display:none}.btn-nav{background:linear-gradient(180deg,var(--primary-color),#1d4ed8);color:#fff;border:1px solid rgba(255,255,255,.18);padding:.65rem 1.05rem;border-radius:12px;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;line-height:1;min-height:44px;box-shadow:0 6px 16px rgba(15,23,42,.12)}.btn-nav:hover{background-color:var(--dark-color);transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.16)}.btn-nav:active{transform:translateY(0);box-shadow:0 6px 16px rgba(15,23,42,.12)}.btn-nav:focus-visible{outline:rgba(52,152,219,.35) solid 3px;outline-offset:2px}.btn-nav__label{font-size:.95rem;letter-spacing:.01em;white-space:nowrap}.nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}@media (max-width:768px){.date-navigation{flex-direction:row;gap:.5rem;padding:.6rem;margin-bottom:.9rem}.date-picker-container{flex:1;min-width:0;margin:0}.date-picker-container .flatpickr-wrapper{display:inline-block;width:auto}.date-picker-container input.date-input,.date-picker-container input[type=date]{width:clamp(8.5rem,42vw,10rem);min-width:0;max-width:100%}.btn-nav{width:3rem;min-width:3rem;height:3rem;padding:0;justify-content:center;border-radius:999px;font-size:0;line-height:1;gap:0}.btn-nav__label{display:none}.btn-nav .nav-icon{margin:0;width:20px;height:20px}}.confirm-modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.5);z-index:1000;padding:1rem}.confirm-modal-overlay.show{display:flex}.confirm-modal{width:min(520px,92vw);max-height:90vh;overflow:hidden;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);transform:translateY(-10px);opacity:0;transition:transform .2s,opacity .2s}.confirm-modal-overlay.show .confirm-modal{transform:translateY(0);opacity:1}.confirm-modal__header{display:flex;align-items:center;justify-content:space-between}.confirm-modal__body{min-height:0}.confirm-modal__close{appearance:none;-webkit-appearance:none;border:none;padding:0;margin:0;background:0 0;box-shadow:none}.tuition-legal-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:8px;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#fff;color:#475569;cursor:pointer;vertical-align:middle;transition:background-color .15s,color .15s,border-color .15s}.tuition-legal-edit-btn:focus-visible,.tuition-legal-edit-btn:hover{background:#f8fafc;color:#0f172a;border-color:rgba(14,116,144,.35)}.tuition-legal-edit-btn svg{width:15px;height:15px}.tuition-legal-editor-modal{width:min(980px,calc(100vw - 32px));max-width:980px;border-radius:18px;max-height:min(92vh,940px);display:flex;flex-direction:column}.tuition-legal-editor-modal .confirm-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;background:linear-gradient(180deg,#f8fbff 0,#f2f7ff 100%);border-bottom:1px solid #e4ecf7}.tuition-legal-editor-modal .confirm-modal__body{padding:20px 24px 0;overflow:auto}.tuition-legal-editor-modal__header-copy{min-width:0}.tuition-legal-editor-modal__header-copy h3{margin:0;font-size:22px;line-height:1.2;color:#0f172a}.tuition-legal-editor-modal__subtitle{margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.5;max-width:720px}.tuition-legal-editor-modal__close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #d7e3f1;border-radius:999px;background:rgba(255,255,255,.9);color:#334155;font-size:28px;line-height:1;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s}.tuition-legal-editor-modal__close:focus-visible,.tuition-legal-editor-modal__close:hover{background:#fff;color:#0f172a;border-color:#bfd3ea;transform:translateY(-1px)}.tuition-legal-editor-host{border:1px solid #dbe4f0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.tuition-legal-editor-host .ql-toolbar{border:none!important;background:#f3f8ff!important;padding:10px 12px!important}.tuition-legal-editor-host .ql-container{border:none!important;min-height:360px;font-size:15px;line-height:1.65}.tuition-legal-editor-host .ql-editor{padding:18px 20px}.tuition-legal-editor-host textarea{width:100%;min-height:360px;border:0;outline:0;resize:vertical;padding:16px;font:inherit;color:#0f172a}.tuition-legal-editor-modal__footer{margin-top:18px;padding:16px 24px 22px;border-top:1px solid #e8eef6;background:#fbfdff}.tuition-legal-editor-modal__actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.tuition-legal-editor-modal__actions .btn{min-height:44px;padding:0 18px;border-radius:12px;font-weight:600}@media (max-width:720px){.tuition-legal-editor-modal{width:min(100vw - 16px,980px);max-height:94vh}.tuition-legal-editor-modal .confirm-modal__header{padding:18px 18px 16px}.tuition-legal-editor-modal .confirm-modal__body{padding:16px 18px 0}.tuition-legal-editor-modal__footer{padding:14px 18px 18px}.tuition-legal-editor-modal__actions{justify-content:stretch}.tuition-legal-editor-modal__actions .btn{flex:1 1 100%}}.confirm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background-color:var(--light-color);border-bottom:1px solid #eee}.confirm-modal-header h3{margin:0;font-size:1.1rem;color:var(--dark-color)}.confirm-modal-close{background:0 0;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--dark-color)}.confirm-modal-body{padding:1rem 1.25rem;color:var(--dark-color)}.confirm-modal-textarea{width:100%;box-sizing:border-box;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.9);font-size:14px;line-height:1.35;resize:vertical;min-height:96px}.confirm-modal-textarea:focus{outline:0;border-color:rgba(37,99,235,.55);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.confirm-modal-error{margin-top:8px;font-size:13px}.confirm-modal-footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1.25rem;background:#fafafa;border-top:1px solid #eee}.confirm-modal .btn{min-width:110px}.archive-date-modal{width:min(560px,94vw)}.archive-date-modal .confirm-modal-header{background:linear-gradient(180deg,rgba(37,99,235,.08),rgba(37,99,235,.03)),var(--light-color)}.archive-date-modal .confirm-modal-body{padding-top:14px;padding-bottom:14px}.archive-date-modal__hero{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start}.archive-date-modal__hero-icon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(37,99,235,.14),rgba(37,99,235,.06));border:1px solid rgba(37,99,235,.18);color:#1d4ed8;flex-shrink:0}.archive-date-modal__hero-icon svg{width:20px;height:20px;fill:currentColor}.archive-date-modal__hero-text{min-width:0}.archive-date-modal__intro{font-size:.97rem;line-height:1.45;color:#1f2937;margin-bottom:8px}.archive-date-modal__hint{font-size:.86rem;line-height:1.4;color:#64748b;margin-bottom:12px}.archive-date-modal__field{margin-top:10px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 55%),#f8fafc}.archive-date-modal__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.archive-date-modal__label{display:block;margin:0;font-size:.9rem;font-weight:600;color:#0f172a}.archive-date-modal__today-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid #dbeafe;background:#eff6ff;color:#1e40af;font-size:.78rem;font-weight:600;white-space:nowrap}.archive-date-modal__field>input.date-input{width:100%;box-sizing:border-box}.archive-date-modal__field .archive-date-modal__input{width:100%;box-sizing:border-box;background:#fff}.archive-date-modal__actions{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.archive-date-modal__today-btn{min-width:0;padding:6px 12px;font-size:.84rem;line-height:1.2;border-radius:999px}.archive-date-modal__helper{margin-top:8px;font-size:.82rem;color:#64748b;line-height:1.35}.archive-date-modal__helper code{display:inline-block;padding:1px 6px;border-radius:6px;background:rgba(15,23,42,.06);color:#0f172a;font-size:.8rem}.archive-date-modal__helper-sep{color:#cbd5e1;margin:0 4px}.archive-date-modal__error{margin-top:8px}@media (max-width:640px){.archive-date-modal{width:min(96vw,520px)}.archive-date-modal__hero{grid-template-columns:1fr;gap:8px}.archive-date-modal__hero-icon{width:34px;height:34px;border-radius:10px}.archive-date-modal__meta{flex-wrap:wrap;align-items:flex-start}.archive-date-modal__actions{justify-content:stretch}.archive-date-modal__today-btn{width:100%}.archive-date-modal .confirm-modal-footer{flex-direction:column-reverse;align-items:stretch}.archive-date-modal .confirm-modal-footer .btn{width:100%;min-width:0}}.teacher-permissions-modal{width:min(760px,95vw);display:flex;flex-direction:column}.teacher-permissions-subtitle{margin:4px 0 0;font-size:.9rem;color:#6b7280}.teacher-permissions-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.teacher-permissions-actions__buttons{display:flex;gap:8px;flex-wrap:wrap}.teacher-permissions-count{font-size:.9rem;color:#475569}#teacher-permissions-grid{display:flex;flex-direction:column;gap:16px;margin-top:12px}.teacher-permissions-section{padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.teacher-permissions-section .teacher-permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.teacher-permissions-section__header{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:8px}.teacher-permissions-section__header h4{margin:0;font-size:1rem;color:#1f2937}.teacher-permissions-section__header p{margin:0;font-size:.85rem;color:#64748b}.permission-card{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s;cursor:pointer}.permission-card:hover{border-color:#cbd5f5;box-shadow:0 6px 14px rgba(15,23,42,.08);transform:translateY(-1px)}.permission-card input{margin-top:3px}.permission-card--active{border-color:#2f855a;box-shadow:0 8px 18px rgba(47,133,90,.18)}.permission-card--disabled{opacity:.65;cursor:not-allowed;background:#f8fafc}.permission-card--disabled:hover{border-color:#e2e8f0;box-shadow:none;transform:none}.permission-card__title{font-weight:600;color:#1f2937;margin-bottom:4px}.permission-card__desc{font-size:.85rem;color:#475569;line-height:1.35}.permission-card__hint{margin-top:6px;font-size:.78rem;color:#9a3412;font-weight:600}.teacher-permissions-note{margin-top:12px;padding:10px 12px;border-radius:10px;border:1px dashed #cbd5f5;background:#f8fafc;font-size:.85rem;color:#475569}.teacher-permissions-modal .confirm-modal-body{overflow-y:auto;min-height:0}.teacher-permissions-modal .confirm-modal-footer,.teacher-permissions-modal .confirm-modal-header{flex-shrink:0}@media (prefers-reduced-motion:reduce){.confirm-modal{transition:none}}.btn-secondary{background-color:var(--dark-color);color:#fff;border:none}.btn-secondary:hover{background-color:#2c3e50}.broadcast-preview-modal{width:min(640px,95vw);max-height:85vh}.broadcast-preview-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;margin-bottom:16px}.broadcast-preview-meta-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.broadcast-preview-meta-row:last-child{margin-bottom:0}.broadcast-preview-label{font-weight:600;color:#475569;min-width:60px;flex-shrink:0}.broadcast-preview-value{color:#1e293b;word-break:break-word;line-height:1.4}.broadcast-preview-content-wrapper{border:1px solid #e2e8f0;border-radius:8px;background:#fff;max-height:320px;overflow:hidden;position:relative}.broadcast-preview-content{padding:16px;overflow-y:auto;max-height:320px;font-size:14px;line-height:1.6;color:#334155}.broadcast-preview-content::-webkit-scrollbar{width:6px}.broadcast-preview-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.broadcast-preview-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.broadcast-preview-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:640px){.teacher-permissions-section .teacher-permissions-grid{grid-template-columns:1fr}.broadcast-preview-modal{width:min(580px,98vw);max-height:90vh}.broadcast-preview-meta{padding:10px 12px;margin-bottom:12px}.broadcast-preview-label{min-width:50px;font-size:13px}.broadcast-preview-value{font-size:13px}.broadcast-preview-content-wrapper{max-height:280px}.broadcast-preview-content{padding:12px;max-height:280px;font-size:13px}}@media (max-width:480px){.broadcast-preview-modal{width:95vw;margin:8px}.broadcast-preview-meta-row{flex-direction:column;gap:4px;margin-bottom:8px}.broadcast-preview-label{min-width:auto;font-size:12px}.broadcast-preview-value{font-size:12px}.broadcast-preview-content-wrapper{max-height:240px}.broadcast-preview-content{padding:10px;max-height:240px;font-size:12px}}.report-summary-container{padding:15px;background-color:#f9f9f9;border-radius:8px;margin-top:20px}.monthly-report-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.monthly-report-controls__label{font-weight:600;color:#475569}.monthly-report-controls__nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.monthly-report-filters{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:10px}.monthly-report-filter{user-select:none}.monthly-report-filter__toggle{width:18px;height:18px;transform:translateY(1px);accent-color:#0d6efd}.monthly-nav__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:999px;background:#0d6efd;color:#fff;border:none;font-weight:600;box-shadow:0 4px 10px rgba(13,110,253,.25);transition:transform .15s,box-shadow .15s}.monthly-nav__btn:focus-visible,.monthly-nav__btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(13,110,253,.35);outline:0}.monthly-nav__picker{display:inline-flex;align-items:center;min-width:200px;position:relative}.monthly-nav__input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer;pointer-events:none}.monthly-nav__display{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 18px;border-radius:999px;border:1px solid #d4dae3;background:#fff;font-weight:600;color:#111827;box-shadow:inset 0 1px 2px rgba(15,23,42,.08);text-transform:capitalize;cursor:pointer;transition:border-color .15s,box-shadow .15s}.monthly-nav__display:focus-visible,.monthly-nav__display:hover{border-color:#0d6efd;box-shadow:0 0 0 3px rgba(13,110,253,.15);outline:0}.monthly-quick-picker{position:absolute;background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(15,23,42,.2);border:1px solid rgba(148,163,184,.4);padding:16px;width:min(360px,calc(100vw - 24px));z-index:4000;animation:.12s ease-out pickerFadeIn}.monthly-quick-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.monthly-quick-picker__year{font-weight:700;font-size:1.1rem;color:#1e1b4b}.monthly-quick-picker__nav{border:none;background:#eef2ff;color:#4338ca;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:background .15s,color .15s}.monthly-quick-picker__nav:focus-visible,.monthly-quick-picker__nav:hover{background:#e0e7ff;color:#312e81;outline:0}.monthly-quick-picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.monthly-quick-picker__month{border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;background:#fff;font-weight:500;text-transform:capitalize;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.monthly-quick-picker__month:focus-visible,.monthly-quick-picker__month:hover{background:#f8fafc;outline:0}.monthly-quick-picker__month.is-selected{background:#0d6efd;border-color:#0d6efd;color:#fff;box-shadow:0 6px 18px rgba(13,110,253,.35)}@keyframes pickerFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.monthly-report-controls__nav{flex-direction:column;align-items:stretch}.monthly-nav__btn,.monthly-nav__display{width:100%}}.summary-card{display:flex;justify-content:space-between;background-color:#fff;border-radius:8px;padding:15px;margin:15px 0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.summary-item{text-align:center;padding:0 15px;flex:1}.summary-label{display:block;font-size:14px;color:#666;margin-bottom:5px}.summary-value{display:block;font-size:24px;font-weight:700;color:#06c}.summary-value--with-tip{cursor:pointer;position:relative;transition:color .2s}.summary-value--with-tip:focus,.summary-value--with-tip:hover{color:#0a58ca}.meal-price-hint{border:none;background:0 0;padding:0;margin-left:6px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#0a58ca;cursor:pointer;transition:background-color .15s,color .15s}.meal-price-hint:focus-visible,.meal-price-hint:hover{background:rgba(10,88,202,.12);color:#084298;outline:0}.meal-price-hint svg{width:14px;height:14px;display:block}.summary-tooltip{max-height:none;overflow:visible}.summary-tooltip .tooltip-arrow{display:none!important}.summary-tooltip .summary-tooltip__list{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.4;max-height:220px;overflow-y:auto}.summary-tooltip .summary-tooltip__list li{margin-bottom:4px}.report-table{width:100%;border-collapse:collapse;margin-top:15px;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.report-table td,.report-table th{padding:10px;text-align:left;border-bottom:1px solid #eee}.report-table th{background-color:#f0f0f0;font-weight:700}.report-table tr:nth-child(2n){background-color:#f7f7f7}.report-table tr:hover{background-color:#f0f7ff}#monthly-report-summary .monthly-meals-cell{display:flex;flex-direction:column;gap:4px}#monthly-report-summary .monthly-meals-value{font-weight:600;color:#1f3654}#monthly-report-summary .monthly-meals-note{display:block;font-size:12px;line-height:1.35;color:#5a6576;word-break:break-word}#monthly-report-summary .monthly-meals-note__label{font-weight:600;color:#364f74;margin-right:4px}#monthly-report-summary .monthly-meals-note__details{display:inline}#monthly-report-summary .report-table td.paid-cell{text-align:center;vertical-align:middle;cursor:pointer}#monthly-report-summary .report-table th:nth-child(4){text-align:center}.paid-checkbox{width:18px;height:18px;transform:translateY(1px);accent-color:var(--success-color,#2ecc71);cursor:pointer}.paid-checkbox:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.paid-checkbox:disabled{opacity:.6;cursor:not-allowed}#monthly-report-summary .report-table tr.paid-row{background-color:rgba(46,204,113,.14)}#monthly-report-summary .report-table tr.paid-row:hover{background-color:rgba(46,204,113,.18)}.settings-foldable--tuition{margin-top:14px}.settings-foldable--tuition>summary{display:flex;align-items:center;gap:12px}.settings-foldable--tuition>summary::after{margin-left:auto;float:none}.tuition-settings-foldable__title{display:inline-flex;align-items:center;gap:10px;font-size:1.02rem}.tuition-settings-foldable__icon{width:18px;height:18px;color:#0d6efd}.tuition-settings-foldable__hint{font-size:12px;font-weight:500;color:#64748b;margin-left:4px}.tuition-settings-card{margin-top:2px;border:1px solid rgba(15,23,42,.1);border-radius:12px;padding:14px;background:#fff}.tuition-settings-card--dirty{border-color:rgba(245,158,11,.55)}.tuition-settings-card--pulse{animation:.9s tuitionCardPulse}@keyframes tuitionCardPulse{0%{box-shadow:0 0 0 0 rgba(37,99,235,.35)}100%{box-shadow:0 0 0 14px rgba(37,99,235,0)}}.tuition-unsaved-banner{position:sticky;top:8px;z-index:3;margin:0 0 12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(245,158,11,.5);background:rgba(254,243,199,.82);color:#92400e;display:flex;align-items:center;justify-content:space-between;gap:12px}.tuition-unsaved-banner__text{font-size:13px;font-weight:700}.tuition-unsaved-banner__actions{display:flex;gap:8px;flex-wrap:wrap}#save-tuition-settings.tuition-save-btn--dirty{animation:1.4s ease-in-out infinite tuitionSaveBtnPulse;box-shadow:0 0 0 3px rgba(245,158,11,.24)}#save-tuition-settings.tuition-save-btn--focus{box-shadow:0 0 0 3px rgba(37,99,235,.24)}@keyframes tuitionSaveBtnPulse{0%,100%{transform:translateY(0);box-shadow:0 0 0 0 rgba(245,158,11,.42)}50%{transform:translateY(-1px);box-shadow:0 0 0 6px rgba(245,158,11,0)}}.tuition-settings-card__title{margin:0 0 8px}.tuition-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.tuition-settings-field--full{grid-column:1/-1}.tuition-settings-switch{display:inline-flex;align-items:center;gap:10px;font-weight:600;padding-top:4px}.tuition-settings-switch input[type=checkbox]{width:18px;height:18px;accent-color:#0d6efd}.tuition-settings-actions{margin-top:12px;display:flex;justify-content:flex-start}.tuition-subsection{border:1px solid rgba(15,23,42,.1);border-radius:10px;background:rgba(248,250,252,.72)}.tuition-subsection>summary{list-style:none;cursor:pointer;user-select:none;font-weight:700;color:#1f2937;padding:10px 12px;display:flex;align-items:center}.tuition-subsection>summary::-webkit-details-marker{display:none}.tuition-subsection>summary::after{content:'▼';margin-left:auto;font-size:11px;opacity:.65}.tuition-subsection[open]>summary::after{content:'▲'}.tuition-subsection__content{border-top:1px solid rgba(15,23,42,.08);padding:12px}.tuition-settings-grid--nested{gap:12px 14px}.tuition-windows-preview{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.tuition-windows-preview__empty{font-size:12px;color:#6b7280}.tuition-windows-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;color:#1e40af;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.2)}.tuition-windows-presets{display:flex;flex-wrap:wrap;gap:8px}.tuition-windows-preset{border-radius:999px}.tuition-settings-switch--safe{border:1px solid rgba(2,132,199,.24);border-radius:10px;padding:8px 10px;background:rgba(224,242,254,.35)}.tuition-reminder-decision-box{border:1px dashed rgba(14,116,144,.3);border-radius:12px;background:rgba(240,249,255,.6);padding:10px 12px}.tuition-reminder-decision-box__title{margin:0 0 8px;font-size:13px;font-weight:700;color:#0f172a}.tuition-reminder-timeline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;margin-bottom:8px}.tuition-reminder-timeline__separator{font-weight:700;color:#64748b;font-size:11px}.tuition-reminder-timeline__node{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700;border:1px solid transparent}.tuition-reminder-timeline__node--before{color:#1d4ed8;border-color:rgba(37,99,235,.24);background:rgba(37,99,235,.08)}.tuition-reminder-timeline__node--due{color:#7c2d12;border-color:rgba(234,88,12,.24);background:rgba(251,146,60,.14)}.tuition-reminder-timeline__node--after{color:#0f766e;border-color:rgba(13,148,136,.24);background:rgba(20,184,166,.12)}.tuition-reminder-example-schedule__title{font-size:12px;font-weight:600;color:#334155}.tuition-reminder-example-schedule__list{margin:6px 0 0;padding-left:18px}.tuition-reminder-example-schedule__list li{margin:0 0 2px;font-size:12px;color:#1f2937}.tuition-reminder-consequence{margin-top:8px;border-radius:8px;border:1px solid rgba(15,23,42,.12);background:rgba(248,250,252,.7);padding:8px 10px}.tuition-reminder-consequence__line{font-size:12px;color:#1f2937}.tuition-reminder-consequence__line+.tuition-reminder-consequence__line{margin-top:4px}.tuition-reminder-consequence__line--safe{color:#0369a1;font-weight:600}.tuition-template-help{border:1px dashed rgba(37,99,235,.3);border-radius:10px;background:rgba(37,99,235,.04)}.tuition-template-help>summary{list-style:none;cursor:pointer;user-select:none;font-weight:600;color:#1f2937;padding:9px 12px;display:flex;align-items:center}.tuition-template-help>summary::-webkit-details-marker{display:none}.tuition-template-help>summary::after{content:'▼';margin-left:auto;font-size:11px;opacity:.65}.tuition-template-help[open]>summary::after{content:'▲'}.tuition-template-help__content{border-top:1px dashed rgba(37,99,235,.22);padding:10px 12px 12px}.tuition-template-help__content p{margin:0 0 8px}.tuition-template-help__list{margin:0 0 8px;padding-left:18px}.tuition-template-help__list li{margin:0 0 4px}.tuition-reminder-activity__toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;align-items:end}.tuition-reminder-activity__toolbar-action{display:flex;justify-content:flex-end;align-items:flex-end}.tuition-reminder-activity__select{font-weight:600}.tuition-reminder-activity__select--channel{transition:border-color .18s,box-shadow .18s,background-color .18s,color .18s}.tuition-reminder-activity__select--all{color:#334155;border-color:rgba(71,85,105,.3);background:rgba(248,250,252,.95)}.tuition-reminder-activity__select--in_app{color:#1d4ed8;border-color:rgba(37,99,235,.28);background:rgba(219,234,254,.5)}.tuition-reminder-activity__select--push{color:#0369a1;border-color:rgba(2,132,199,.28);background:rgba(224,242,254,.55)}.tuition-reminder-activity__select--email{color:#9a3412;border-color:rgba(234,88,12,.28);background:rgba(255,237,213,.55)}.tuition-reminder-activity__meta{margin-top:2px}.tuition-reminder-activity__meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tuition-reminder-activity__chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:12px;color:#1f2937;background:rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.12)}.tuition-reminder-activity__chip--warning{color:#7c2d12;border-color:rgba(180,83,9,.25);background:rgba(251,191,36,.16)}.tuition-reminder-activity__chip--safe{color:#075985;border-color:rgba(14,116,144,.3);background:rgba(125,211,252,.22)}.tuition-reminder-activity__meta-time{margin-left:auto;font-size:12px;color:#64748b}.tuition-reminder-activity__channel-preview{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.tuition-reminder-activity__channel{display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid transparent;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap}.tuition-reminder-activity__channel--compact{padding:2px 8px;font-size:10px}.tuition-reminder-activity__channel-icon{width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center}.tuition-reminder-activity__channel-icon svg{width:13px;height:13px;stroke:currentColor}.tuition-reminder-activity__channel--all{color:#475569;border-color:rgba(71,85,105,.24);background:rgba(148,163,184,.12)}.tuition-reminder-activity__channel--in_app{color:#1d4ed8;border-color:rgba(37,99,235,.24);background:rgba(37,99,235,.1)}.tuition-reminder-activity__channel--push{color:#0369a1;border-color:rgba(2,132,199,.24);background:rgba(14,165,233,.12)}.tuition-reminder-activity__channel--email{color:#9a3412;border-color:rgba(234,88,12,.26);background:rgba(251,146,60,.14)}.tuition-reminder-activity__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tuition-reminder-activity__column{border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:10px;background:#fff}.tuition-reminder-activity__column>h4{margin:0 0 8px;font-size:14px}.tuition-reminder-activity__panel{min-height:48px}.tuition-reminder-activity__table td,.tuition-reminder-activity__table th{vertical-align:top;font-size:12px}.tuition-reminder-activity__badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.3;border:1px solid transparent}.tuition-reminder-activity__badge-icon{width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center}.tuition-reminder-activity__badge-icon svg{width:13px;height:13px;stroke:currentColor}.tuition-reminder-activity__badge--planned{color:#1d4ed8;border-color:rgba(37,99,235,.22);background:rgba(37,99,235,.08)}.tuition-reminder-activity__badge--due_today{color:#0f766e;border-color:rgba(13,148,136,.22);background:rgba(20,184,166,.12)}.tuition-reminder-activity__badge--failed,.tuition-reminder-activity__badge--overdue{color:#991b1b;border-color:rgba(220,38,38,.24);background:rgba(239,68,68,.12)}.tuition-reminder-activity__badge--sent{color:#92400e;border-color:rgba(217,119,6,.3);background:rgba(251,191,36,.2)}.tuition-reminder-activity__badge--settled{color:#166534;border-color:rgba(22,163,74,.24);background:rgba(34,197,94,.12)}.tuition-reminder-activity__row-note{display:block;margin-top:3px;font-size:11px;color:#6b7280;line-height:1.35}.tuition-reminder-activity__pager{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.tuition-reminder-activity__empty{min-height:36px;border:1px dashed rgba(15,23,42,.15);border-radius:8px;padding:10px;color:#64748b;font-size:12px;display:flex;align-items:center}.tuition-inline-link{padding:0 6px;margin-left:4px}#tuition-default-price-summary{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}#tuition-default-price-summary .tuition-summary-main{color:inherit}#tuition-default-price-summary .tuition-summary-planned{display:inline-flex;align-items:center;color:#1d4ed8}#tuition-default-price-summary .tuition-summary-undo-btn{border:1px solid rgba(29,78,216,.25);background:rgba(37,99,235,.08);color:#1d4ed8;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;line-height:1.6;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}#tuition-default-price-summary .tuition-summary-undo-btn:focus-visible,#tuition-default-price-summary .tuition-summary-undo-btn:hover{background:rgba(37,99,235,.14);border-color:rgba(29,78,216,.42);color:#1e3a8a;outline:0}#tuition-default-price-summary .tuition-summary-undo-btn[disabled]{opacity:.6;cursor:not-allowed}.tuition-report-table td:nth-child(3),.tuition-report-table td:nth-child(4),.tuition-report-table td:nth-child(5),.tuition-report-table th:nth-child(3),.tuition-report-table th:nth-child(4),.tuition-report-table th:nth-child(5){text-align:right}.tuition-items{display:flex;flex-direction:column;gap:8px}.tuition-item{border:1px solid rgba(15,23,42,.08);border-radius:10px;background:rgba(248,250,252,.9);padding:8px 10px}.tuition-item__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.tuition-item__child{font-weight:600;color:#1f2a37}.tuition-item__meta{font-size:12px;color:#56657a;line-height:1.35}.tuition-item__extra{margin-top:4px;font-size:12px;color:#3a4d66}.tuition-item__actions{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tuition-item__paid-toggle{font-size:13px}.tuition-item__paid-toggle input{accent-color:var(--success-color,#2ecc71)}.tuition-status{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.tuition-status--unpaid{background:rgba(239,68,68,.12);color:#b42318;border-color:rgba(239,68,68,.24)}.tuition-status--partial{background:rgba(245,158,11,.14);color:#b45309;border-color:rgba(245,158,11,.24)}.tuition-status--paid{background:rgba(34,197,94,.14);color:#15803d;border-color:rgba(34,197,94,.24)}.tuition-status--waived{background:rgba(99,102,241,.14);color:#3730a3;border-color:rgba(99,102,241,.24)}.tuition-editor-modal{width:min(760px,96vw);max-height:min(88vh,900px)}.tuition-editor-modal .confirm-modal-body{overflow-y:auto}.tuition-editor-header{margin-bottom:10px}.tuition-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.tuition-editor-grid__full{grid-column:1/-1}.tuition-editor-grid textarea{min-height:84px;resize:vertical}.tuition-payment-card{border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));box-shadow:0 10px 24px rgba(15,23,42,.05)}.tuition-payment-ux-card{border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));box-shadow:0 18px 32px rgba(15,23,42,.07)}.tuition-payment-ux-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.tuition-payment-ux-card__eyebrow,.tuition-payment-ux-fee__title,.tuition-payment-ux-preview__label{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.tuition-payment-ux-card__header h4{margin:4px 0 0;color:#0f172a;font-size:1.12rem}.tuition-payment-ux-card__crumb{color:#94a3b8;font-size:.9rem;white-space:nowrap}.tuition-payment-ux-card__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,0.9fr);gap:18px;align-items:start}.tuition-payment-ux-card__director,.tuition-payment-ux-online{display:grid;gap:16px}.tuition-payment-ux-onboarding[hidden],.tuition-payment-ux-online[hidden],.tuition-payment-ux-preview__note[hidden],.tuition-payment-ux-preview__row[hidden]{display:none!important}.tuition-payment-ux-onboarding{padding:18px 20px;border-radius:18px;border:1px solid rgba(59,130,246,.18);background:linear-gradient(180deg,rgba(239,246,255,.96),rgba(255,255,255,.98));color:#1e3a8a}.tuition-payment-ux-onboarding__title{color:#0f172a;font-weight:700;margin-bottom:6px}.tuition-payment-ux-onboarding p{margin:0;color:#475569;line-height:1.55}.tuition-payment-ux-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:16px;background:#f8fafc;border:1px solid rgba(148,163,184,.16)}.tuition-payment-ux-toggle__title{color:#0f172a;font-weight:700}.tuition-payment-ux-toggle__sub{color:#64748b;font-size:.88rem;margin-top:3px}.tuition-payment-ux-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.tuition-payment-ux-switch input{position:absolute;opacity:0;inset:0}.tuition-payment-ux-switch__track{width:48px;height:28px;border-radius:999px;background:#cbd5e1;position:relative;transition:background-color .2s,box-shadow .2s}.tuition-payment-ux-switch__track::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.18);transition:transform .2s}.tuition-payment-ux-switch input:checked+.tuition-payment-ux-switch__track{background:#2e5be8}.tuition-payment-ux-switch input:checked+.tuition-payment-ux-switch__track::after{transform:translateX(20px)}.parent-payment-option:focus-visible,.parent-payment-option__cta:focus-visible,.tuition-payment-ux-fee input[type=range]:focus-visible,.tuition-payment-ux-fee__amount input:focus-visible,.tuition-payment-ux-switch input:focus-visible+.tuition-payment-ux-switch__track{outline:0;box-shadow:0 0 0 4px rgba(46,91,232,.18)}.tuition-payment-ux-fee{padding:18px;border-radius:18px;border:1px solid rgba(148,163,184,.2);background:rgba(255,255,255,.92);display:grid;gap:12px}.tuition-payment-ux-fee.is-disabled{opacity:.58}.tuition-payment-ux-fee__label{color:#334155;font-weight:600}.tuition-payment-ux-fee__controls{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:14px;align-items:center}.tuition-payment-ux-fee input[type=range]{width:100%;accent-color:#2e5be8}.tuition-payment-ux-fee__amount{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:#fff}.tuition-payment-ux-fee__amount input{width:100%;padding:10px 0;border:none;background:0 0;color:#0f172a;font-weight:700}.tuition-payment-ux-fee__amount span{color:#94a3b8;font-weight:600}.tuition-payment-ux-fee__warning{min-height:1.2em;color:#b42318;font-size:.83rem;font-weight:600}.tuition-payment-ux-card__preview{padding:18px;border-radius:18px;background:linear-gradient(180deg,rgba(244,247,251,.92),rgba(255,255,255,.96));border:1px solid rgba(148,163,184,.16);display:grid;gap:14px}.tuition-payment-ux-preview__month{display:grid;gap:4px}.tuition-payment-ux-preview__month strong{color:#0f172a;font-size:1.2rem}.tuition-payment-ux-preview__month span:last-child{color:#64748b}.tuition-payment-ux-preview__badge{display:inline-flex;align-items:center;width:fit-content;padding:4px 10px;border-radius:999px;background:rgba(29,78,216,.1);color:#1d4ed8;font-size:.78rem;font-weight:700}.tuition-payment-ux-preview__summary{display:grid;gap:10px;border:none;background:0 0}.tuition-payment-ux-preview__row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 16px;color:#334155;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:#fff}.tuition-payment-ux-preview__row:first-child{border-top:1px solid rgba(148,163,184,.28)}.tuition-payment-ux-preview__row strong{color:#0f172a;font-weight:800}.tuition-payment-ux-preview__row--accent strong{color:#0f9f68}.tuition-payment-ux-preview__row--muted{color:#64748b;font-size:.92rem}.tuition-payment-ux-preview__note{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.88);border:1px dashed rgba(148,163,184,.42);color:#64748b;font-size:.92rem;line-height:1.5}.tuition-payment-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.tuition-payment-card__header h4{margin:0 0 4px;font-size:1rem;color:#0f172a}.tuition-payment-card__header p{margin:0;color:#64748b;font-size:.88rem;line-height:1.45}.tuition-payment-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.tuition-p24-status-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tuition-p24-status{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:.82rem;font-weight:700;background:rgba(226,232,240,.9);color:#334155}.tuition-p24-status--ready{background:rgba(219,234,254,.95);color:#1d4ed8}.tuition-p24-status--pending_activation{background:rgba(254,243,199,.96);color:#b45309}.tuition-p24-status--active{background:rgba(220,252,231,.96);color:#166534}.tuition-p24-status--error{background:rgba(254,226,226,.96);color:#b91c1c}.tuition-p24-form-sections{display:grid;gap:18px}.tuition-p24-form-section{padding:18px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));box-shadow:0 8px 24px rgba(15,23,42,.05)}.tuition-p24-form-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.tuition-p24-form-section__header h5{margin:0 0 4px;color:#0f172a;font-size:.98rem}.tuition-p24-form-section__header p{margin:0;color:#64748b;font-size:.85rem;line-height:1.5}.tuition-p24-form-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tuition-p24-subsection{padding:16px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.86)}.tuition-p24-subsection--accent{border-color:rgba(59,130,246,.18);background:linear-gradient(180deg,rgba(239,246,255,.72),rgba(255,255,255,.92))}.tuition-p24-subsection__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tuition-p24-subsection__header--stacked{align-items:flex-start;flex-direction:column}.tuition-p24-subsection__header h6{margin:0;color:#0f172a;font-size:.92rem}.tuition-p24-subsection__header p{margin:4px 0 0;color:#64748b;font-size:.82rem;line-height:1.45}.tuition-p24-subsection__badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:rgba(226,232,240,.9);color:#334155;font-size:.72rem;font-weight:700;white-space:nowrap}.tuition-p24-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.tuition-p24-form-grid__span-2{grid-column:span 2}.tuition-p24-form-section .form-group{position:relative;transition:background-color .18s,box-shadow .18s,border-color .18s}.tuition-p24-form-section .form-group.tuition-field-group--invalid{padding:10px 12px 12px;margin:-10px -12px calc(1.5rem - 12px);border-radius:14px;background:rgba(254,242,242,.92);box-shadow:inset 0 0 0 1px rgba(239,68,68,.18)}.tuition-p24-form-section .form-group.tuition-field-group--valid{padding:10px 12px 12px;margin:-10px -12px calc(1.5rem - 12px);border-radius:14px;background:rgba(240,253,244,.92);box-shadow:inset 0 0 0 1px rgba(34,197,94,.16)}.tuition-p24-form-section .form-group.tuition-field-group--invalid label{color:#991b1b}.tuition-p24-form-section .form-group.tuition-field-group--valid label{color:#166534}.tuition-p24-form-section input.is-invalid,.tuition-p24-form-section select.is-invalid,.tuition-p24-form-section textarea.is-invalid{border-color:#dc2626;background-color:#fff7f7;box-shadow:0 0 0 4px rgba(239,68,68,.14)}.tuition-p24-form-section input.is-invalid:focus,.tuition-p24-form-section select.is-invalid:focus,.tuition-p24-form-section textarea.is-invalid:focus{border-color:#b91c1c;box-shadow:0 0 0 4px rgba(239,68,68,.18)}.tuition-p24-form-section input.is-valid,.tuition-p24-form-section select.is-valid,.tuition-p24-form-section textarea.is-valid{border-color:#16a34a;background-color:#f6fff8;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.tuition-p24-form-section input.is-valid:focus,.tuition-p24-form-section select.is-valid:focus,.tuition-p24-form-section textarea.is-valid:focus{border-color:#15803d;box-shadow:0 0 0 4px rgba(34,197,94,.18)}.tuition-p24-inline-switch{width:100%;margin-top:6px;padding:10px 12px;border-radius:12px;background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.18)}.tuition-p24-inline-switch span{font-size:.84rem;line-height:1.45}.tuition-p24-acceptance-switch{padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.92)}#tuition-p24-correspondence-fields.is-readonly{opacity:.9}#tuition-p24-correspondence-fields.is-readonly .form-group{position:relative}.tuition-inline-link{color:#0369a1;font-size:.84rem;font-weight:600;text-decoration:none}.tuition-inline-link:hover{text-decoration:underline}.tuition-field-error{color:#991b1b;font-size:.83rem;font-weight:600;line-height:1.45}.tuition-p24-checklist{margin-top:16px;padding:16px;border-radius:14px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(241,245,249,.94))}.tuition-p24-checklist__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.tuition-p24-checklist__header h5{margin:0 0 4px;color:#0f172a;font-size:.96rem}.tuition-p24-checklist__header p{margin:0;color:#64748b;font-size:.85rem;line-height:1.45}.tuition-p24-checklist__items{display:grid;gap:10px}.tuition-p24-checklist__item{padding:12px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.92)}.tuition-p24-checklist__item--error{border-color:rgba(248,113,113,.3);background:rgba(254,242,242,.94)}.tuition-p24-checklist__item--warning{border-color:rgba(245,158,11,.28);background:rgba(255,251,235,.94)}.tuition-p24-checklist__item--success{border-color:rgba(74,222,128,.24);background:rgba(240,253,244,.94)}.tuition-p24-checklist__item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.tuition-p24-checklist__item-head strong{color:#0f172a}.tuition-p24-checklist__item p{margin:0 0 8px;color:#475569;font-size:.86rem;line-height:1.5}.tuition-p24-checklist__badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:.74rem;font-weight:700}.tuition-p24-checklist__badge--error{color:#b91c1c;background:rgba(254,202,202,.95)}.tuition-p24-checklist__badge--warning{color:#b45309;background:rgba(254,243,199,.96)}.tuition-p24-checklist__badge--success{color:#166534;background:rgba(220,252,231,.96)}.tuition-p24-checklist__notes{margin:14px 0 0;padding-left:18px;color:#475569;font-size:.84rem;line-height:1.5}.tuition-p24-checklist__notes li+li{margin-top:6px}.tuition-p24-checklist__audit{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.88)}.tuition-p24-checklist__audit strong{display:block;margin-bottom:8px;color:#0f172a}.tuition-p24-checklist__audit-row{display:grid;grid-template-columns:minmax(108px,140px) 1fr;gap:10px;align-items:start;font-size:.83rem;line-height:1.5}.tuition-p24-checklist__audit-row+.tuition-p24-checklist__audit-row{margin-top:4px}.tuition-p24-checklist__audit-label{color:#64748b;font-weight:600}.tuition-p24-checklist__audit-value{color:#1e293b;word-break:break-word}.tuition-payment-profile-autosave-status{margin-top:10px;font-size:13px;font-weight:600;color:#64748b;min-height:20px}.tuition-payment-profile-autosave-status--success{color:#166534}.tuition-payment-profile-autosave-status--info{color:#1d4ed8}.tuition-payment-profile-autosave-status--warning{color:#b45309}.tuition-transfer-template-help{margin-top:8px;border-radius:10px;background:rgba(255,255,255,.45);border:1px solid rgba(15,23,42,.08)}.tuition-transfer-template-help summary{padding:10px 12px;cursor:pointer;font-size:13px;font-weight:700;color:#334155;list-style:none}.tuition-transfer-template-help summary::-webkit-details-marker{display:none}.tuition-transfer-template-help summary::after{content:'Rozwiń';float:right;font-weight:600;color:#64748b}.tuition-transfer-template-help[open] summary::after{content:'Zwiń'}.tuition-transfer-template-help__body{padding:0 12px 10px}.tuition-transfer-template-help__tokens{display:grid;gap:6px;margin-top:8px;font-size:13px;color:#475569}.tuition-transfer-template-help__preview{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(15,23,42,.12)}.tuition-transfer-template-help__preview-label{font-size:12px;font-weight:700;color:#475569;margin-bottom:4px}.tuition-transfer-template-help__preview-value{font-size:14px;font-weight:700;color:#0f172a;word-break:break-word}.tuition-bank-account-hint{display:block;margin-top:8px;line-height:1.45}.tuition-bank-change-confirm{margin-top:10px;padding:12px 14px;border-radius:12px;border:1px solid rgba(180,83,9,.2);background:rgba(255,247,237,.92)}.tuition-bank-change-confirm__message{color:#9a3412;font-weight:700;line-height:1.45}.tuition-bank-change-confirm__actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.tuition-form-input--readonly{background:rgba(248,250,252,.92)!important;border-color:rgba(71,85,105,.22)!important;border-style:dashed!important;color:#334155;cursor:default}.tuition-form-input--readonly:focus{outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}@media (max-width:979px){.tuition-p24-form-grid,.tuition-p24-form-split{grid-template-columns:1fr}.tuition-p24-form-grid__span-2{grid-column:auto}}.tuition-readonly-url{width:100%;min-height:46px;padding:11px 14px;border-radius:12px;border:1px solid rgba(71,85,105,.22);background:rgba(248,250,252,.92);color:#334155;font-family:Consolas,SFMono-Regular,monospace;font-size:13px;line-height:1.45;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.tuition-readonly-url[readonly]{cursor:default;opacity:1;border-style:dashed}.tuition-readonly-url[readonly]:focus{outline:0;border-color:rgba(71,85,105,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}.parent-tuition-history-list{display:flex;flex-direction:column;gap:10px}.parent-tuition-month{border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:10px 12px;background:#fff}.parent-tuition-month--overdue{border-color:rgba(239,68,68,.35);background:rgba(254,242,242,.55)}.parent-tuition-month__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.parent-tuition-month__head-copy{display:flex;flex-direction:column;gap:4px}.parent-tuition-month__head h4{margin:0;font-size:1rem}.parent-tuition-month__due{font-size:.9rem;font-weight:600;color:#334155}.parent-tuition-item__actions,.parent-tuition-month__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.parent-tuition-month__meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:10px;font-size:.86rem;color:#5b6677}.parent-tuition-items{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.parent-tuition-item{border-top:1px dashed rgba(100,116,139,.3);padding-top:6px}.parent-tuition-item:first-child{border-top:none;padding-top:0}.parent-tuition-item__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.parent-tuition-item__head-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.parent-tuition-item__child{font-weight:600}.parent-tuition-item__meta,.parent-tuition-item__note{margin-top:3px;font-size:12px;line-height:1.35;color:#53657e}.parent-tuition-item--overdue{background:rgba(254,242,242,.55);border-radius:8px;padding:8px}.parent-tuition-summary-card{margin-top:0}.parent-tuition-filters{margin-bottom:8px}.parent-payment-chooser{margin-top:12px;display:grid;gap:12px}.parent-payment-chooser--compact{margin-top:8px}.parent-payment-chooser--empty{padding:12px 14px;border-radius:12px;background:rgba(248,250,252,.92);border:1px dashed rgba(148,163,184,.4);color:#64748b;font-size:.9rem}.parent-payment-chooser__options{display:grid;gap:10px}.parent-payment-option{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border-radius:18px;border:1px solid rgba(148,163,184,.28);background:#fff;color:#0f172a;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,background-color .18s,transform .18s}.parent-payment-option:hover:not(:disabled){border-color:rgba(46,91,232,.38);transform:translateY(-1px)}.parent-payment-option:disabled{opacity:.56;cursor:not-allowed}.parent-payment-option.is-selected{border-color:#2e5be8;background:linear-gradient(180deg,rgba(238,242,253,.95),rgba(245,248,255,.92));box-shadow:0 14px 26px rgba(46,91,232,.12)}.parent-payment-option__radio{width:18px;height:18px;border-radius:50%;border:2px solid rgba(148,163,184,.5);position:relative}.parent-payment-option__radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#2e5be8;transform:scale(0);transition:transform .18s}.parent-payment-option.is-selected .parent-payment-option__radio{border-color:#2e5be8}.parent-payment-option.is-selected .parent-payment-option__radio::after{transform:scale(1)}.parent-payment-option__copy{display:grid;gap:3px}.parent-payment-option__name{font-weight:800;color:#0f172a;font-size:1.03rem;line-height:1.2}.parent-payment-option__desc{color:#475569;font-size:.9rem;line-height:1.35}.parent-payment-option__price{font-weight:800;font-size:1.12rem;white-space:nowrap;color:#0f172a}.parent-payment-option__panel{padding:16px 18px 18px;border-radius:16px;border:1px solid rgba(148,163,184,.28);background:rgba(250,252,255,.95)}.parent-payment-option__panel--online{background:linear-gradient(180deg,rgba(238,242,253,.96),rgba(248,250,252,.92));border-color:rgba(46,91,232,.22)}.parent-payment-option__detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.parent-payment-option__detail{display:grid;gap:6px}.parent-payment-option__detail span{color:#64748b;font-size:.83rem}.parent-payment-option__detail strong{color:#0f172a;font-weight:700}.parent-payment-option__detail--wide{grid-column:1/-1}.parent-payment-option__detail--pill{display:inline-flex;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(22,163,74,.1);color:#15803d;font-weight:700}.parent-payment-option__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.parent-payment-option__cta{margin-top:12px;width:100%}.parent-payment-option__note{margin-top:10px;color:#475569;font-size:.9rem;text-align:center}.tuition-payment-modal{width:min(680px,96vw)}.tuition-payment-modal__alert:empty{display:none}.tuition-payment-modal__content{display:flex;flex-direction:column;gap:14px}.tuition-payment-modal__lead{color:#475569;line-height:1.5}.tuition-payment-breakdown{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;background:linear-gradient(180deg,rgba(239,246,255,.96),rgba(226,232,240,.72));border:1px solid rgba(148,163,184,.22)}.tuition-payment-breakdown--bank{background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(241,245,249,.9))}.tuition-payment-breakdown__row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#334155}.tuition-payment-breakdown__row strong{color:#0f172a}.tuition-payment-breakdown__row--total{padding-top:8px;border-top:1px solid rgba(100,116,139,.22);font-size:1rem}.tuition-payment-breakdown__hint{color:#64748b;font-size:.84rem}.tuition-payment-copy-list{display:grid;gap:12px}.tuition-payment-copy-item{display:grid;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:rgba(248,250,252,.88)}.tuition-payment-copy-item__label{color:#64748b;font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.tuition-payment-copy-item__value{color:#0f172a;font-size:.98rem;line-height:1.45;word-break:break-word}.tuition-payment-copy-item__value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}.tuition-payment-legal{display:flex;flex-wrap:wrap;gap:10px 14px}.tuition-payment-legal a{color:#0369a1;font-weight:600;text-decoration:none}.tuition-payment-legal a:hover{text-decoration:underline}.tuition-payment-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,251,235,.9);border:1px solid rgba(245,158,11,.18);color:#92400e;line-height:1.45}.tuition-payment-check input{margin-top:2px}.tuition-payment-modal__footer{flex-wrap:wrap}@media (max-width:900px){.parent-payment-option__detail-grid,.tuition-payment-ux-card__layout,.tuition-settings-grid{grid-template-columns:1fr}.tuition-settings-foldable__hint{display:none}.tuition-reminder-activity__toolbar{grid-template-columns:1fr 1fr}.tuition-editor-grid,.tuition-reminder-activity__columns{grid-template-columns:1fr}.parent-tuition-item__head,.parent-tuition-month__head,.tuition-payment-card__header,.tuition-payment-ux-card__header,.tuition-payment-ux-toggle{flex-direction:column;align-items:stretch}.tuition-p24-status-wrap{align-items:flex-start}.tuition-p24-checklist__header,.tuition-p24-checklist__item-head{flex-direction:column;align-items:flex-start}.parent-tuition-item__actions,.parent-tuition-month__actions{justify-content:flex-start}.parent-payment-option,.tuition-payment-ux-fee__controls{grid-template-columns:1fr}}@media (max-width:760px){.tuition-report-table td,.tuition-report-table th{padding:8px}.tuition-item__actions{justify-content:flex-start}.tuition-inline-link{display:inline-block;margin-top:6px;margin-left:0}}@media (max-width:640px){.summary-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.summary-item{padding:6px 4px}.summary-value{font-size:18px}.tuition-report-table thead{display:none}.tuition-report-table,.tuition-report-table tbody{display:block;width:100%}.tuition-report-table tr{display:block;border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:10px;margin-bottom:10px;background:#fff}.tuition-report-table td{display:block;width:100%;padding:0;border:none;text-align:left}.tuition-report-table td:first-child{font-weight:700;font-size:15px;margin-bottom:6px}.tuition-report-table td:nth-child(2){margin-bottom:6px}.tuition-report-table td:nth-child(3),.tuition-report-table td:nth-child(4),.tuition-report-table td:nth-child(5){display:inline;width:auto;font-size:13px}.tuition-report-table td:nth-child(3)::before{content:"Należne: ";font-weight:600}.tuition-report-table td:nth-child(4)::before{content:"Zapłacono: ";font-weight:600}.tuition-report-table td:nth-child(5)::before{content:"Pozostało: ";font-weight:700}.tuition-report-table td:nth-child(3)::after,.tuition-report-table td:nth-child(4)::after{content:" · ";margin:0 2px}#tuition-report-section .mt-3{display:flex;flex-direction:column;gap:8px}#tuition-report-section .mt-3 .btn{margin-left:0!important;width:100%}#monthly-report-summary .report-table thead{display:none}#monthly-report-summary .report-table,#monthly-report-summary .report-table tbody{display:block;width:100%}#monthly-report-summary .report-table tr{display:block;border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:10px;margin-bottom:10px;background:#fff}#monthly-report-summary .report-table td{display:block;width:100%;padding:0;border:none;text-align:left}#monthly-report-summary .report-table td:first-child{font-weight:700;font-size:15px;margin-bottom:6px}#monthly-report-summary .report-table td:nth-child(2){margin-bottom:4px}#monthly-report-summary .report-table td:nth-child(3){margin-bottom:4px;font-size:13px}#monthly-report-summary .report-table td:nth-child(3)::before{content:"Koszt: ";font-weight:600}#monthly-report-summary .report-table td:nth-child(3)::after{content:" PLN"}#monthly-report-summary .report-table td.paid-cell{display:flex;align-items:center;gap:8px;text-align:left;margin-top:6px}#monthly-report-summary .report-table td.paid-cell::before{content:"Zapłacone:";font-weight:600;font-size:13px}#reports-monthly-panel .mt-3{display:flex;flex-direction:column;gap:8px}#reports-monthly-panel .mt-3 .btn{margin-left:0!important;width:100%}.report-group-block .report-table{margin-left:0!important}.report-group-block .report-table thead{display:none}.report-group-block .report-table,.report-group-block .report-table tbody{display:block;width:100%}.report-group-block .report-table tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 0;border-bottom:1px solid rgba(15,23,42,.08)}.report-group-block .report-table tr:last-child{border-bottom:none}.report-group-block .report-table td{padding:0;border:none}.report-group-block .report-table td:first-child{font-weight:600;flex:1 1 auto;min-width:0}.report-group-block .report-table td:nth-child(2){font-size:12px;color:#56657a;flex:0 1 auto}.report-group-block .report-table td:nth-child(3){font-size:12px;font-weight:600;flex:0 0 auto}#report-list-area>.report-table thead{display:none}#report-list-area>.report-table,#report-list-area>.report-table tbody{display:block;width:100%}#report-list-area>.report-table tr{display:block;border:1px solid rgba(15,23,42,.1);border-radius:10px;padding:8px 10px;margin-bottom:8px;background:#fff}#report-list-area>.report-table td{display:inline;padding:0;border:none}#report-list-area>.report-table td:first-child{display:block;font-size:11px;color:#64748b;margin-bottom:2px}#report-list-area>.report-table td:nth-child(2),#report-list-area>.report-table td:nth-child(3){font-weight:600}#report-list-area>.report-table td:nth-child(2)::after{content:" "}#report-list-area>.report-table td:nth-child(4){display:block;font-size:12px;color:#56657a;margin-top:2px}#report-list-area>.report-table td:nth-child(4)::before{content:"Rodzic: ";font-weight:600}#report-list-area>.report-table td:nth-child(5){display:block;font-size:12px;font-weight:600;margin-top:2px}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only:active,.sr-only:focus{position:static!important;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.global-search{width:100%}.global-search-wrap{position:relative;display:flex;align-items:center;width:100%;max-width:560px}.global-search-icon{position:absolute;left:12px;color:#7a8794;line-height:1;pointer-events:none;font-size:16px;top:50%;transform:translateY(-50%)}.global-search-input{width:100%;height:38px;padding:8px 34px 8px 36px;border:1px solid #d9e1ea;border-radius:999px;background:#fff;font-size:14px;color:#2c3e50;outline:0;transition:border-color .15s,box-shadow .15s,background-color .15s;box-shadow:0 1px 2px rgba(0,0,0,.04) inset}.global-search-input::placeholder{color:#97a6b4}.global-search-input:focus{border-color:var(--primary-color,#3498db);box-shadow:0 0 0 3px rgba(52,152,219,.25);background-color:#fff}.global-search-input::-webkit-search-cancel-button,.global-search-input::-webkit-search-decoration,.global-search-input::-webkit-search-results-button,.global-search-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none}.global-search-input::-ms-clear{display:none;width:0;height:0}.global-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:0 0;color:#6b7785;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s,background-color .15s,color .15s;line-height:1;font-size:18px}.global-search-wrap[data-has-value="1"] .global-search-clear{opacity:.85;pointer-events:auto}.global-search-clear:hover{background:#eef2f6;color:#2c3e50}.global-search-clear:focus-visible{outline:2px solid var(--secondary-color,#8e44ad);outline-offset:2px}@media (max-width:768px){.global-search-wrap{max-width:100%}.global-search-input{height:42px;font-size:16px;padding:10px 38px}.global-search-icon{left:10px;font-size:18px}.global-search-clear{right:6px}}.zoomable-image{cursor:zoom-in;transition:transform .2s,box-shadow .2s;will-change:transform}@media (hover:hover) and (pointer:fine){.zoomable-image:hover{transform:scale(1.02);box-shadow:0 4px 16px rgba(0,0,0,.12)}.menu-parent-view .zoomable-image:hover{transform:none;box-shadow:none}}.image-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.85);z-index:2000;padding:2vw}.image-lightbox.show{display:flex}.image-lightbox .lightbox-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:none;font-size:22px;line-height:1;cursor:pointer}.image-lightbox .lightbox-close:hover{background:rgba(0,0,0,.75)}.image-lightbox .lightbox-content{position:relative;display:inline-block;max-width:96vw;max-height:92vh;overflow:visible}.image-lightbox .lightbox-img{max-width:96vw;max-height:92vh;user-select:none;-webkit-user-drag:none;touch-action:none;transition:transform .15s;cursor:zoom-out}.image-lightbox .lightbox-img.zoomed{cursor:move}.image-lightbox .lightbox-controls{position:absolute;left:50%;top:calc(115% + var(--lightbox-controls-extra-offset,0px));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;z-index:5}.image-lightbox .zoom-btn{width:44px;height:44px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:background .2s,transform .1s}.image-lightbox .zoom-btn:hover{background:rgba(0,0,0,.75)}.image-lightbox .zoom-btn:active{transform:scale(.97)}.image-lightbox .zoom-btn:focus{outline:#fff solid 2px;outline-offset:2px}.image-lightbox .download-btn{height:44px;padding:0 14px;border-radius:22px;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:background .2s,transform .1s}.image-lightbox .download-btn:hover{background:rgba(0,0,0,.75)}.image-lightbox .download-btn:active{transform:scale(.98)}.image-lightbox .download-btn:focus{outline:#fff solid 2px;outline-offset:2px}@media (max-width:480px){.image-lightbox .zoom-btn{width:40px;height:40px;font-size:20px}.image-lightbox .download-btn{height:40px;padding:0 12px;font-size:15px}.image-lightbox .lightbox-controls{gap:10px}}body.modal-open{overflow:hidden}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;line-height:1.2;text-align:center;white-space:nowrap}.badge-secondary{background-color:#6c757d;color:#fff}.badge-info{background-color:#17a2b8;color:#fff}.badge-success{background-color:#28a745;color:#fff}.badge-warning{background-color:#ffc107;color:#212529}.badge-danger{background-color:#dc3545;color:#fff}.text-danger{color:#dc3545}.broadcast-history-table{width:100%;border-collapse:collapse}.broadcast-history-table td,.broadcast-history-table th{padding:8px 12px;text-align:left;border-bottom:1px solid #dee2e6}.broadcast-history-table th{background-color:#f8f9fa;font-weight:600}.broadcast-history-table tbody tr:hover{background-color:#f5f5f5}.broadcast-history-footer{margin-top:16px;text-align:center}.broadcast-messages{margin-top:8px}.broadcast-messages__nav{display:inline-flex;gap:6px;padding:6px;border-radius:14px;background:#f1f5f9;border:1px solid #d6e4f2;margin-bottom:16px}.broadcast-messages__nav-btn{position:relative;background:0 0;border:1px solid transparent;color:#334155;padding:10px 16px;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background .2s,border-color .2s,box-shadow .2s}.broadcast-messages__nav-btn--active{background:#fff;border-color:#cbd5e1;color:#0f172a;box-shadow:0 10px 18px rgba(15,23,42,.12)}.broadcast-messages__nav-btn--active .icon{color:var(--primary-color,#3498db)}.broadcast-messages__nav-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(52,152,219,.25)}.broadcast-messages__content{margin-top:8px}.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.icon--sm{width:16px;height:16px}.icon--xs{width:14px;height:14px}.broadcast-form--redesign{max-width:760px;padding:20px 20px 16px;background:linear-gradient(180deg,#fff 0,#f6fbff 100%);border:1px solid #dfe9f3;border-radius:16px;box-shadow:0 18px 35px rgba(52,152,219,.12);position:relative;overflow:visible;animation:.35s broadcast-form-rise}.broadcast-form--redesign::before{content:"";position:absolute;top:-80px;right:-120px;width:220px;height:220px;background:radial-gradient(circle,rgba(52,152,219,.18) 0,rgba(52,152,219,0) 70%);pointer-events:none}.broadcast-form--redesign::after{content:"";position:absolute;bottom:-90px;left:-90px;width:200px;height:200px;background:radial-gradient(circle,rgba(46,204,113,.18) 0,rgba(46,204,113,0) 70%);pointer-events:none}.broadcast-form--redesign>*{position:relative;z-index:1}.broadcast-form--redesign .form-group{margin-bottom:18px}.broadcast-form--redesign .form-group label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#5c6b7a}.broadcast-recipients-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f2f7ff;border:1px solid #d6e4f2;border-radius:12px;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}.broadcast-recipients-label{font-weight:600;color:#495057;margin:0;min-width:30px}.broadcast-recipients-row:focus-within{border-color:rgba(52,152,219,.6);box-shadow:0 0 0 3px rgba(52,152,219,.15)}.broadcast-recipient-select{flex:1;padding:10px 12px;border:1px solid #c8d6e5;border-radius:10px;font-size:14px;font-weight:600;background:#fff;cursor:pointer}.broadcast-recipient-select:focus{outline:0;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px rgba(52,152,219,.2)}.broadcast-recipient-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#3498db,#2ecc71);color:#fff;border-radius:20px;font-size:13px;font-weight:600;cursor:default;box-shadow:0 6px 14px rgba(52,152,219,.25)}.broadcast-recipient-badge .badge-icon{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);border-radius:999px;padding:2px 6px}.broadcast-subject-row{display:flex;gap:10px;align-items:stretch;position:relative;z-index:20}.broadcast-subject-row .form-control{flex:1;min-height:44px;border-radius:10px;border-color:#d6e4f2;box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}.broadcast-subject-row .form-control:focus{outline:0;border-color:rgba(52,152,219,.7);box-shadow:0 0 0 3px rgba(52,152,219,.16)}.broadcast-template-dropdown{position:relative;z-index:30}.broadcast-template-actions{display:inline-flex;align-items:center;gap:8px}.broadcast-template-edit-btn{border:1px dashed #cbd5e1;background:#f8fafc;color:#1f2a37}.broadcast-template-edit-btn:hover{background:#eef2f7;border-color:#b8c4d4}.broadcast-template-edit-btn .icon{color:#64748b}.broadcast-template-panel{margin-top:8px}.broadcast-template-dropdown .btn{min-height:44px;padding:10px 14px;border-radius:10px;border:1px solid #d6e4f2;background:#fff;color:#1f2a37;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background .2s,border-color .2s,transform .2s}.broadcast-template-dropdown .btn:hover{background:#eef6ff;border-color:#c1d3e8;transform:translateY(-1px)}.broadcast-template-menu{display:none;position:static;margin-top:6px;background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 12px 24px rgba(15,23,42,.12);width:100%;max-width:520px;z-index:auto;overflow:hidden}.broadcast-template-menu.show{display:grid;animation:.18s broadcast-menu-in}.broadcast-template-item{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;font-size:14px;font-weight:600;transition:background .15s}.broadcast-template-item .icon{color:#64748b}.broadcast-template-item:hover{background:#eef6ff}.broadcast-editor-wrapper{position:relative;z-index:1}.broadcast-editor{border:1px solid #d6e4f2;border-radius:12px 12px 0 0;overflow:hidden;background:#fff;position:relative;z-index:1}.broadcast-editor .ql-toolbar{border:none!important;background:#f3f8ff!important}.broadcast-editor .ql-container{border:none!important;min-height:320px;font-size:15px}.broadcast-editor .ql-editor{min-height:320px}.broadcast-editor-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#f3f8ff;border:1px solid #d6e4f2;border-top:none;border-radius:0 0 12px 12px;font-size:12px;color:#6c757d}.broadcast-char-count{font-variant-numeric:tabular-nums}.pm-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.pm-admin-header h2{margin:0}.pm-admin-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}.pm-admin-sidebar{display:flex;flex-direction:column;gap:12px}.pm-admin-search-box{position:sticky;top:0;background:#fff;z-index:1}.pm-admin-inbox{border:1px solid #e5e7eb;border-radius:12px;padding:12px;max-height:560px;overflow-y:auto}.pm-inbox-item{width:100%;text-align:left;display:flex;justify-content:space-between;gap:8px;align-items:center;margin:6px 0}.pm-inbox-item__text{display:flex;flex-direction:column;gap:2px}.pm-inbox-item__name{font-weight:600}.pm-inbox-item__meta{font-size:12px;opacity:.75}.pm-inbox-item--active{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 6px 14px rgba(37,99,235,.25)}.pm-inbox-item--active .pm-inbox-item__meta{opacity:.85;color:#e0e7ff}.pm-admin-main{display:flex;flex-direction:column;gap:12px}.pm-admin-thread-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;gap:16px;flex-wrap:wrap}.pm-admin-thread-identity{display:flex;align-items:center;gap:12px;min-width:220px}.pm-admin-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#dbeafe 0,#e2e8f0 100%);color:#1e293b;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.02em}.pm-admin-thread-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pm-admin-thread-label{font-weight:600;color:#0f172a}.pm-admin-thread-meta{font-size:13px;color:#64748b}.pm-admin-thread-actions{display:flex;align-items:center}.pm-admin-thread-action{display:none;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:12px;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.pm-admin-thread-action.is-visible{display:inline-flex}.pm-admin-thread-action:hover{background:#f1f5f9;border-color:#94a3b8}.pm-chat{border:1px solid #e5e7eb;border-radius:14px;padding:12px;max-height:480px;overflow-y:auto;min-height:200px;background-color:#f8fafc;background-image:radial-gradient(circle at 15% 20%,rgba(59,130,246,.08),rgba(59,130,246,0) 48%),radial-gradient(circle at 85% 0,rgba(16,185,129,.08),rgba(16,185,129,0) 40%),linear-gradient(180deg,#fff 0,#f8fafc 100%)}.pm-chat-row{display:flex;margin:10px 0}.pm-chat-row--start{justify-content:flex-start}.pm-chat-row--end{justify-content:flex-end}.pm-chat-message{max-width:min(720px,92%);padding:10px 12px;border-radius:16px;border:1px solid #dbe3ee;box-shadow:0 1px 2px rgba(15,23,42,.06);background:#fff}.pm-chat-message--admin{border-bottom-left-radius:6px;background:#fff}.pm-chat-message--parent{border-color:#86efac;background:#e9f9f1;border-bottom-right-radius:6px}.pm-chat-row--grouped{margin-top:4px;margin-bottom:4px}.pm-chat-message--group-top{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.pm-chat-message--group-middle{border-radius:10px}.pm-chat-message--group-bottom{border-top-left-radius:10px;border-top-right-radius:10px}.pm-chat-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.pm-chat-role{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#334155}.pm-chat-time{font-size:12px;color:#475569;white-space:nowrap}.pm-chat-body{line-height:1.45;color:#0f172a}.pm-chat-status{margin-top:6px;font-size:11px;text-align:right;color:#64748b}.pm-chat-status--read{color:#64748b}.pm-chat-status--unread{color:#b91c1c}.pm-chat-role .icon{width:12px;height:12px}.pm-admin-thread-action .icon{width:14px;height:14px}.pm-chat-separator{display:flex;align-items:center;gap:10px;margin:16px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.pm-chat-separator::after,.pm-chat-separator::before{content:"";flex:1;height:1px;background:#e2e8f0}.pm-admin-chat{min-height:220px}.pm-admin-reply-box,.pm-reply-box{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-top:12px}.pm-admin-reply-box textarea,.pm-reply-box textarea{width:100%;min-width:260px}.pm-reply-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pm-attach-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.pm-attach-btn{display:inline-flex;align-items:center;gap:6px;border-radius:10px;padding:6px 12px;border:1px solid #cbd5e1;background:#f8fafc;color:#1f2937;font-weight:600;box-shadow:0 6px 12px rgba(15,23,42,.08);transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.pm-attach-btn:hover{background:#eef2f7;border-color:#b8c6d8}.pm-attach-btn:active{transform:translateY(1px);box-shadow:0 4px 10px rgba(15,23,42,.08)}.pm-attach-preview{display:none}.pm-attach-preview.is-visible{display:block}.pm-attach-preview__card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px dashed #cbd5e1;background:#fff;max-width:100%}.pm-attach-preview__image{width:72px;height:72px;border-radius:10px;border:1px solid #e2e8f0;object-fit:cover}.pm-attach-preview__meta{display:flex;flex-direction:column;gap:6px}.pm-attach-preview__name{font-size:13px;font-weight:600;color:#1f2937;word-break:break-word}.pm-attach-preview__remove{border:none;background:0 0;padding:0;color:#b91c1c;font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}.pm-attach-preview__remove:hover{color:#991b1b}@media (max-width:520px){.pm-attach-preview__card{flex-direction:column;align-items:flex-start}.pm-attach-preview__image{width:100%;height:auto;max-width:240px}}.pm-attach-status{font-size:12px;color:#64748b;margin-right:auto}.pm-attach-status[data-tone=error]{color:#b91c1c}.pm-attach-status[data-tone=success]{color:#15803d}.pm-send-btn{align-self:flex-end;min-width:120px;height:40px;border-radius:10px;padding:0 18px}.pm-attachment{display:flex;flex-direction:column;gap:6px}.pm-attachment__image-link{display:inline-flex}.pm-attachment__image{max-width:260px;width:100%;height:auto;border-radius:12px;border:1px solid #e2e8f0}.pm-attachment__download{font-size:12px;color:#2563eb;text-decoration:none}.pm-attachment__download:hover{text-decoration:underline}.pm-modal{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center}.pm-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5)}.pm-modal__content{position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(15,23,42,.15);width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;margin:16px}.pm-modal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.pm-modal__header h3{margin:0;font-size:18px;font-weight:600}.pm-modal__close{background:0 0;border:none;font-size:24px;line-height:1;cursor:pointer;color:#64748b;padding:4px;border-radius:4px;transition:background .15s,color .15s}.pm-modal__close:hover{background:#f1f5f9;color:#0f172a}.pm-modal__body{padding:16px 20px;overflow-y:auto;flex:1}.pm-parent-search{margin-bottom:16px}.pm-parent-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.pm-parent-list__empty,.pm-parent-list__loading{text-align:center;padding:24px 16px;color:#64748b}.pm-parent-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.pm-parent-item:hover{background:#f1f5f9;border-color:#cbd5e1}.pm-parent-item:focus{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.3);border-color:#3b82f6}.pm-parent-item--loading{opacity:.6;pointer-events:none}.pm-parent-item__main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pm-parent-item__name{font-weight:600;color:#0f172a}.pm-parent-item__badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:500}.pm-parent-item__badge--existing{background:#dbeafe;color:#1d4ed8}.pm-parent-item__children{font-size:13px;color:#64748b}@media (max-width:768px){.pm-admin-layout{grid-template-columns:1fr}.pm-admin-inbox{max-height:300px}.pm-chat{max-height:350px}.pm-modal__content{max-width:none;margin:8px;max-height:90vh}}.broadcast-attachment-hint{display:inline-flex;align-items:center;gap:6px;opacity:.7;cursor:help;transition:opacity .2s}.broadcast-attachment-hint:hover{opacity:1}.broadcast-options-row{margin:16px 0;padding:10px 12px;background:#f8fbff;border:1px dashed #d6e4f2;border-radius:12px}.broadcast-copy-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#495057}.broadcast-copy-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color,#3498db)}.broadcast-form__actions{display:flex;gap:12px;margin-top:20px;padding:12px;border-radius:14px;background:#f8fbff;border:1px solid #dfe9f3;align-items:stretch}.broadcast-form__actions .btn{height:48px;display:inline-flex;align-items:center;gap:8px}.broadcast-form__actions .btn.btn-outline-secondary{padding:0 18px}.btn-outline-secondary{background:#fff;color:#1f2a37;border:1px solid #d1d9e6}.btn-outline-secondary:hover{background:#f1f5f9;border-color:#b8c4d4}.btn-send-prominent{flex:1;padding:12px 24px;font-size:16px;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,#3498db,#2ecc71);box-shadow:0 12px 20px rgba(52,152,219,.2);transition:transform .2s,box-shadow .2s;height:48px}.btn-send-prominent:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(52,152,219,.28)}.broadcast-confirm-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1050}.broadcast-confirm-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.broadcast-confirm-modal__content{position:relative;background:linear-gradient(180deg,#fff 0,#f6fbff 100%);border-radius:16px;border:1px solid #dfe9f3;padding:24px;max-width:420px;width:90%;box-shadow:0 20px 50px rgba(15,23,42,.18)}.broadcast-confirm-modal__content h3{margin:0 0 16px;font-size:20px;color:#212529}.broadcast-confirm-summary{background:#f3f8ff;border-radius:8px;padding:12px 16px;margin-bottom:16px;border:1px solid #d6e4f2}.broadcast-confirm-summary p{margin:6px 0;font-size:14px}.broadcast-confirm-warning{color:#1f2a37;background:#fff7e0;border-radius:6px;padding:10px 14px;font-size:14px;margin-bottom:20px}.broadcast-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.broadcast-confirm-actions .btn{min-width:100px}.events-subtabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.reports-subtabs{display:flex;gap:8px;margin:12px 0 16px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.reports-subtab{display:inline-flex;align-items:center;gap:8px;background:0 0;border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;transition:.2s;border-radius:6px 6px 0 0}.reports-subtab-icon{width:16px;height:16px;flex:0 0 auto}.reports-subtab:hover{color:#334155;background:rgba(59,130,246,.08)}.reports-subtab--active{color:#2563eb;border-bottom-color:#2563eb;background:rgba(59,130,246,.12);font-weight:600}.reports-subtab:focus-visible{outline:#2563eb solid 2px;outline-offset:-2px}.reports-subtab-panel{animation:.2s fadeIn}.events-subtab{display:inline-flex;align-items:center;gap:8px;background:0 0;border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;transition:.2s;border-radius:6px 6px 0 0}.events-subtab-icon{width:16px;height:16px;flex:0 0 auto}.events-subtab:hover{color:#334155;background:rgba(59,130,246,.08)}.events-subtab--active{color:#2563eb;border-bottom-color:#2563eb;background:rgba(59,130,246,.12);font-weight:600}.events-subtab:focus-visible{outline:#2563eb solid 2px;outline-offset:-2px}.events-subtab-content{animation:.2s fadeIn}.events-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.events-add-btn,.events-header-actions,.events-print-btn{display:inline-flex;align-items:center;gap:8px}.events-btn-icon{width:16px;height:16px;flex:0 0 auto}.events-month-nav{display:inline-flex;align-items:center;gap:8px}.events-month-label{font-weight:600;color:#0f172a;min-width:160px;text-align:center}#events-planned-view .events-view-mode-switch{display:inline-flex;align-items:center;gap:4px;width:fit-content;margin:-4px 0 14px auto;padding:4px;border-radius:999px;border:1px solid #dbe4f0;background:linear-gradient(180deg,#f8fafc 0,#eef2f7 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}#events-planned-view .events-view-mode-btn{border:0;border-radius:999px;min-height:34px;padding:6px 12px;color:#475569;background:0 0;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:background-color .18s,color .18s,box-shadow .18s,transform .18s}#events-planned-view .events-view-mode-btn:hover{color:#1e293b;background:rgba(148,163,184,.18)}#events-planned-view .events-view-mode-btn:focus-visible{outline:#2563eb solid 2px;outline-offset:1px}#events-planned-view .events-view-mode-btn .events-subtab-icon{width:14px;height:14px}#events-planned-view .events-view-mode-btn.active,#events-planned-view .events-view-mode-btn.events-view-mode-btn--active{color:#0f172a;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.16),0 0 0 1px rgba(37,99,235,.2)}.events-form-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px 20px;margin:0 auto 18px;max-width:min(1320px,calc(100vw - 48px));box-shadow:0 8px 18px rgba(15,23,42,.08)}.events-form-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.events-form-heading{display:inline-flex;align-items:center;gap:10px;line-height:1.2}.events-heading-icon{width:18px;height:18px;flex:0 0 auto;position:relative;top:1px}.events-form-label{display:inline-flex;align-items:center;gap:8px;line-height:1.2}.events-label-icon{width:14px;height:14px;flex:0 0 auto;position:relative;top:1px}.events-form-title input{width:100%;max-width:none}.events-form-description textarea{width:100%;min-height:126px}.events-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;align-items:start}#events-form .form-group>input[type=date],#events-form .form-group>input[type=text],#events-form .form-group>input[type=time],#events-form .form-group>select,#events-form .form-group>textarea{width:100%;min-height:42px;border-radius:10px}#events-form .form-group>textarea{min-height:126px}.events-form-description,.events-form-title{grid-column:span 8}.events-form-location{grid-column:span 4}.events-form-description{grid-column:1/-1}.events-form-scope{grid-column:span 4}.events-form-groups{grid-column:span 8}.events-form-all-day,.events-form-color,.events-form-end-date,.events-form-start-date{grid-column:span 2}.events-form-end-time,.events-form-start-time{grid-column:span 3}.events-form-collection{grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.events-form-email,.events-form-push{grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.events-form-notifications{grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.events-form-notifications__title{font-size:13px;font-weight:700;color:#334155;margin-bottom:8px}.events-form-notifications__list{display:flex;flex-direction:column;gap:8px}.events-form-notifications .events-form-email,.events-form-notifications .events-form-push{border:0;background:0 0;padding:0;border-radius:0}.events-form-notifications .events-checkbox{width:100%;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:10px 12px}.events-form-all-day{display:flex;align-items:flex-end}.events-form-all-day .events-checkbox{min-height:42px;margin:0}.events-form-color input[type=color]{width:54px;min-width:54px;height:40px;border-radius:10px;padding:2px;cursor:pointer}.events-collection-fields{margin-top:8px;display:flex;flex-direction:column;gap:6px}.events-collection-amount{display:inline-flex;align-items:center;gap:8px;max-width:240px}.events-collection-amount input{flex:1 1 auto}.events-collection-suffix{font-weight:700;color:#475569;padding:0 6px;user-select:none}.events-groups-picker{border:1px solid #d5e0ea;border-radius:12px;padding:10px 12px;background:#fff;max-width:none;max-height:170px;overflow:auto}.events-groups-item{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#0f172a;margin-right:14px;margin-bottom:8px;cursor:pointer;user-select:none}.events-groups-item--all{margin-right:18px}.events-groups-list{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px}.events-groups-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.events-groups-retry{white-space:nowrap}.events-collections{margin-top:12px;display:flex;flex-direction:column;gap:12px}.events-collections__controls{display:flex;gap:12px 16px;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.events-collections__filters{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap}.events-collections__filter{font-weight:600;color:#334155}.events-subtab-badges{display:inline-flex;gap:6px;margin-left:6px}.events-subtab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;border:1px solid transparent}.events-subtab-badge--danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.events-subtab-badge--muted{background:#f1f5f9;color:#334155;border-color:#e2e8f0}.events-collections__actions{display:inline-flex;gap:8px;flex-wrap:wrap}.events-collections-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;color:#0f172a;font-weight:600}.events-collections-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.events-collections-table{width:100%;border-collapse:collapse;min-width:720px}.events-collections-table td,.events-collections-table th{padding:10px 12px;border-bottom:1px solid #e2e8f0;font-size:14px;vertical-align:middle}.events-collections-table th{background:#f8fafc;font-weight:700;color:#334155;text-align:left}.events-collections-table tr:last-child td{border-bottom:none}.events-collections-receipt{display:inline-flex;align-items:center;gap:8px;font-weight:700}.events-collections-received-at{color:#475569;font-size:13px}.events-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb}@media (max-width:1499px){.events-form-wrapper{max-width:min(1160px,calc(100vw - 42px))}.events-form-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.events-form-collection,.events-form-description,.events-form-email,.events-form-groups,.events-form-location,.events-form-notifications,.events-form-push,.events-form-scope,.events-form-title{grid-column:1/-1}.events-form-all-day,.events-form-color,.events-form-end-date,.events-form-start-date{grid-column:span 2}.events-form-end-time,.events-form-start-time{grid-column:span 4}}@media (max-width:1199px){.events-form-wrapper{max-width:min(960px,calc(100vw - 34px));padding:16px}.events-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.events-form-all-day,.events-form-collection,.events-form-description,.events-form-email,.events-form-groups,.events-form-location,.events-form-notifications,.events-form-push,.events-form-scope,.events-form-title{grid-column:1/-1}.events-form-color,.events-form-end-date,.events-form-end-time,.events-form-start-date,.events-form-start-time{grid-column:span 1}}.events-checkbox{display:inline-flex;align-items:center;gap:8px;font-weight:600;line-height:1.2}.events-list{display:flex;flex-direction:column;gap:16px}.events-day{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.events-day__label{font-weight:700;margin-bottom:8px;color:#0f172a}.events-day__items{display:flex;flex-direction:column;gap:10px}.events-item{background:#fff;border:1px solid #e5e7eb;border-left:4px solid var(--event-color,#3b82f6);border-radius:10px;padding:12px}.events-item__time{font-size:.85rem;color:#64748b;margin-bottom:4px}.events-item__title{font-weight:600;margin-bottom:4px}.events-item__title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.events-item__badges{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.events-item__badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.events-item--collection{border-left-color:#f59e0b}.events-item--new{border-color:#bfdbfe;background:#eff6ff;box-shadow:0 0 0 3px rgba(37,99,235,.06);animation:1.6s ease-in-out 3 events-new-highlight}@keyframes events-item-highlight-fade{0%{box-shadow:0 0 0 4px rgba(37,99,235,.35);background:#eff6ff}70%{box-shadow:0 0 0 4px rgba(37,99,235,.15);background:#f0f7ff}100%{box-shadow:0 0 0 0 rgba(37,99,235,0);background:0 0}}.events-item--highlight{animation:3s ease-out forwards events-item-highlight-fade;border-color:#93c5fd;z-index:1;position:relative}.events-item__badge--new{color:#1d4ed8;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.3)}.events-item__badge--collection{color:#9a3412;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.35)}.events-collection-callout{margin:6px 0 10px;padding:10px 12px;border-radius:10px;border:1px solid #fed7aa;background:#fff7ed}.events-collection-callout--pulse .events-collection-callout__amount{animation:1.2s ease-in-out 6 events-collection-amount-pulse}.events-collection-callout__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.events-collection-callout__label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#9a3412;margin-bottom:3px}.events-collection-callout__amount{font-weight:800;color:#0f172a}.events-collection-callout__status{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:rgba(15,23,42,.04);color:#0f172a;white-space:nowrap}.events-collection-callout__hint{margin-top:6px;font-size:.9rem;color:#475569}.events-collection-callout--ok{border-color:#86efac;background:#f0fdf4}.events-collection-callout--ok .events-collection-callout__label{color:#166534}.events-collection-callout--ok .events-collection-callout__status{border-color:#86efac;background:#dcfce7;color:#166534}@keyframes events-new-highlight{0%,100%{box-shadow:0 0 0 3px rgba(37,99,235,.06)}50%{box-shadow:0 0 0 6px rgba(37,99,235,.12)}}@keyframes events-collection-amount-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.events-collection-callout--pulse .events-collection-callout__amount,.events-item--highlight,.events-item--new{animation:none}}.events-item__meta{font-size:.85rem;color:#64748b;margin-bottom:6px}.events-item__desc{color:#334155;white-space:pre-line}.events-item__actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.events-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.events-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid #e2e8f0}.events-calendar-header-cell{padding:8px;text-align:center;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.events-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.events-calendar-day{min-height:120px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:8px;display:flex;flex-direction:column;gap:6px;position:relative}.events-calendar-day:nth-child(7n){border-right:none}.events-calendar-day--outside{background:#f8fafc;color:#94a3b8}.events-calendar-day--today{outline:#2563eb solid 2px;outline-offset:-2px;background:#eff6ff}.events-calendar-day--has-new{background-image:linear-gradient(180deg,rgba(37,99,235,.08) 0,rgba(37,99,235,0) 42%)}.events-calendar-day--has-collection{box-shadow:inset 0 0 0 1px rgba(245,158,11,.22)}.events-calendar-day--has-collection-pending{box-shadow:inset 0 0 0 1px rgba(245,158,11,.42)}.events-calendar-day--expanded{z-index:1}.events-calendar-date{font-size:13px;font-weight:600}.events-calendar-add{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:999px;border:1px solid #dbeafe;background:#fff;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s,box-shadow .2s}.events-calendar-day--active .events-calendar-add,.events-calendar-day:focus-within .events-calendar-add,.events-calendar-day:hover .events-calendar-add{opacity:1;pointer-events:auto}.events-calendar-add:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(37,99,235,.2)}.events-calendar-items{display:flex;flex-direction:column;gap:4px}.events-calendar-item{display:flex;align-items:center;gap:6px;font-size:12px;padding:2px 6px;border-radius:6px;border-left:3px solid var(--event-color,#3b82f6);background:#f8fafc;color:#0f172a;cursor:pointer;position:relative}.events-calendar-item__time{font-weight:600;color:#475569}.events-calendar-item__title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.events-calendar-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:999px;background:rgba(37,99,235,.12);color:#1d4ed8;font-size:10px;font-weight:800;letter-spacing:.01em;line-height:1;white-space:nowrap}.events-calendar-item--collection{border-left-color:#f59e0b;background:linear-gradient(90deg,#fff7ed 0,#f8fafc 72%)}.events-calendar-item--collection-pending{box-shadow:inset 0 0 0 1px rgba(245,158,11,.35)}.events-calendar-item--collection-paid{border-left-color:#22c55e;background:linear-gradient(90deg,#f0fdf4 0,#f8fafc 72%);box-shadow:inset 0 0 0 1px rgba(34,197,94,.25)}.events-calendar-item--collection-paid .events-calendar-item__badge--collection{background:rgba(34,197,94,.14);color:#166534;border-color:rgba(34,197,94,.45)}.events-calendar-item--new{border-left-color:#2563eb;background:linear-gradient(90deg,#dbeafe 0,#f8fafc 76%);box-shadow:inset 0 0 0 1px rgba(37,99,235,.2)}.events-calendar-item__badge--collection{background:rgba(245,158,11,.14);color:#9a3412;border:1px solid rgba(245,158,11,.45);margin-left:auto}.events-calendar-item__badge--status{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.events-calendar-item__badge--new{background:#2563eb;color:#fff;border:1px solid rgba(29,78,216,.9);letter-spacing:.05em}@keyframes events-calendar-attention-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{transform:scale(1.04);box-shadow:0 0 0 4px rgba(245,158,11,.18)}}@keyframes events-calendar-new-pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.05)}50%{box-shadow:0 0 0 4px rgba(37,99,235,.2)}}.events-calendar-item--collection-pending .events-calendar-item__badge--collection,.events-calendar-item--collection-pending .events-calendar-item__badge--status{animation:1.8s ease-in-out infinite events-calendar-attention-pulse}.events-calendar-item--new .events-calendar-item__badge--new{animation:1.5s ease-in-out infinite events-calendar-new-pulse}.events-calendar-more{font-size:12px;color:#64748b;border:0;background:0 0;padding:0;margin:1px 0 0;cursor:pointer;align-self:flex-start;text-decoration:underline;text-underline-offset:2px}.events-calendar-more:hover{color:#1d4ed8}.events-calendar-more:focus-visible{outline:#2563eb solid 2px;outline-offset:2px;border-radius:4px}.events-calendar-item[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%,4px);background:#1f2937;color:#fff;padding:6px 8px;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:6}.events-calendar-item[data-tooltip]::before{content:'';position:absolute;left:50%;bottom:100%;transform:translate(-50%,4px);border:6px solid transparent;border-top-color:#1f2937;opacity:0;transition:opacity .2s,transform .2s;z-index:6}.events-calendar-item:focus-visible::after,.events-calendar-item:focus-visible::before,.events-calendar-item:hover::after,.events-calendar-item:hover::before{opacity:1;transform:translate(-50%,0)}.events-weekly-plan{display:flex;flex-direction:column;gap:16px}.weekly-plan-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 6px 16px rgba(15,23,42,.06)}.weekly-plan-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.weekly-plan-header h3{margin:0 0 6px}.weekly-plan-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:.92rem;color:#475569}.weekly-plan-meta__item{display:inline-flex;align-items:center;gap:6px}.weekly-plan-meta__item-group{font-weight:600;color:var(--group-color,#0f172a)}.weekly-plan-meta__swatch{width:10px;height:10px;border-radius:50%;background:var(--group-color,#94a3b8);border:1px solid rgba(15,23,42,.2)}.weekly-plan-source{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#e2e8f0;color:#475569}.weekly-plan-source--override{background:#dbeafe;color:#1d4ed8}.weekly-plan-source--default{background:#f1f5f9;color:#475569}.weekly-plan-source--empty{background:#fee2e2;color:#b91c1c}.weekly-plan-mode-label{font-size:.85rem;color:#64748b}.weekly-plan-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;margin-bottom:12px}.weekly-plan-group-field{--group-color:#94a3b8}.weekly-plan-group-label{display:inline-flex;align-items:center;gap:8px}.weekly-plan-group-swatch{width:12px;height:12px;border-radius:50%;background:var(--group-color,#94a3b8);border:1px solid #cbd5f5}.weekly-plan-group-select{border-left:4px solid var(--group-color,#cbd5f5);padding-left:10px;color:var(--group-color,#0f172a);font-weight:600}.weekly-plan-group-select option{color:#0f172a}.weekly-plan-toggle{display:inline-flex;flex-wrap:wrap;border:1px solid #e2e8f0;border-radius:999px;overflow:hidden;background:#f8fafc;width:fit-content}.weekly-plan-toggle__item{position:relative;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer}.weekly-plan-toggle__item input{position:absolute;opacity:0;pointer-events:none}.weekly-plan-toggle__item span{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;min-height:32px}.weekly-plan-toggle__item input:checked+span{background:#2563eb;color:#fff}.weekly-plan-hint{font-size:.8rem;color:#64748b;margin-top:6px}.weekly-plan-note{font-size:.85rem;color:#475569;background:#f8fafc;border:1px dashed #cbd5f5;border-radius:10px;padding:8px 10px;margin-bottom:12px}.weekly-plan-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.weekly-plan-days--time{grid-template-columns:1fr}.weekly-plan-day{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.weekly-plan-day__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.weekly-plan-day__name{font-weight:700;color:#0f172a}.weekly-plan-day__date{font-size:.8rem;color:#64748b}.weekly-plan-day__body{display:flex;flex-direction:column;gap:8px}.weekly-plan-textarea{width:100%;min-height:120px;resize:vertical}.weekly-plan-text{white-space:pre-line;color:#334155}.weekly-plan-empty{font-size:.85rem;color:#94a3b8}.weekly-plan-time-head{display:grid;grid-template-columns:110px 110px 1fr 70px;gap:8px;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.weekly-plan-time-rows{display:flex;flex-direction:column;gap:8px}.weekly-plan-time-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.weekly-plan-time-row .time-input,.weekly-plan-time-row input[type=time]{width:110px}.weekly-plan-time-row .time-input__wrap{width:110px;flex:0 0 auto}.weekly-plan-time-row input[type=text]{flex:1 1 220px;min-width:160px}.weekly-plan-time-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.weekly-plan-time-item{display:flex;gap:10px;align-items:baseline}.weekly-plan-time-range{font-weight:600;color:#0f172a;min-width:72px}.weekly-plan-time-text{color:#334155}.weekly-plan-footer{margin-top:12px;display:flex;justify-content:flex-end}.events-print-root{display:none}@media print{@page{size:A4;margin:12mm}body.print-events-active{background:#fff}body.print-events-active #app-container>:not(#events-tab),body.print-events-active .tab,body.print-events-active .tab-content:not(#events-tab),body.print-events-active .tabs,body.print-events-active footer,body.print-events-active header{display:none!important}body.print-events-active #events-tab{display:block!important}body.print-events-active #events-tab>:not(.events-print-root){display:none!important}body.print-events-active .events-print-root{display:block!important;color:#0f172a;font-size:12px;line-height:1.4}body.print-events-active .events-print__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #e5e7eb;padding-bottom:8px;margin-bottom:12px}body.print-events-active .events-print__brand{display:flex;align-items:center;gap:10px}body.print-events-active .events-print__logo{width:40px;height:40px;object-fit:contain}body.print-events-active .events-print__brand-name{font-weight:600;font-size:13px;color:#1f2937}body.print-events-active .events-print__title{font-size:16px;font-weight:700}body.print-events-active .events-print__subtitle{font-size:12px;color:#475569}body.print-events-active .events-print__stamp{font-size:11px;color:#64748b;white-space:nowrap}body.print-events-active .events-print-empty{font-size:12px;color:#64748b}body.print-events-active .events-print-day{margin-bottom:12px;page-break-inside:avoid}body.print-events-active .events-print-day__label{font-weight:600;font-size:13px;margin-bottom:6px}body.print-events-active .events-print-item{border-left:3px solid var(--event-color,#3b82f6);padding-left:8px;margin-bottom:8px}body.print-events-active .events-print-item__time{font-weight:600;font-size:12px;color:#0f172a}body.print-events-active .events-print-item__title{font-weight:600;margin-top:2px}body.print-events-active .events-print-item__meta{color:#475569;font-size:11px;margin-top:2px}body.print-events-active .events-print-item__desc{font-size:11px;margin-top:4px;color:#1f2937;white-space:pre-wrap}body.print-events-active .events-print-calendar__header{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #e5e7eb;border-bottom:none;background:#f8fafc}body.print-events-active .events-print-calendar__header-cell{padding:6px 4px;font-weight:600;font-size:11px;text-align:center;border-right:1px solid #e5e7eb}body.print-events-active .events-print-calendar__header-cell:last-child{border-right:none}body.print-events-active .events-print-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #e5e7eb}body.print-events-active .events-print-calendar__day{min-height:90px;padding:6px 5px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;page-break-inside:avoid}body.print-events-active .events-print-calendar__day--outside{color:#94a3b8}body.print-events-active .events-print-calendar__day--today{background:#eff6ff}body.print-events-active .events-print-calendar__date{font-weight:600;font-size:11px;margin-bottom:4px}body.print-events-active .events-print-calendar__items{display:grid;gap:4px}body.print-events-active .events-print-calendar__item{border-left:2px solid var(--event-color,#3b82f6);padding-left:4px;font-size:10px;line-height:1.2;word-break:break-word}body.print-events-active .events-print-calendar__time{font-weight:600;margin-right:4px}body.print-events-active .events-print-calendar__badge{display:inline-block;margin-right:4px;font-weight:800;font-size:9px;color:#1d4ed8;background:rgba(37,99,235,.12);border-radius:999px;padding:1px 4px;vertical-align:baseline}body.print-events-active .events-print-calendar__more{font-size:10px;color:#64748b;margin-top:3px}body.print-events-active .events-print-collection__summary{margin:10px 0 12px;font-size:11px;color:#334155}body.print-events-active .events-print-collection__table-wrap{margin-top:8px}body.print-events-active .events-print-collection-table{width:100%;border-collapse:collapse;table-layout:fixed}body.print-events-active .events-print-collection-table td,body.print-events-active .events-print-collection-table th{border:1px solid #e5e7eb;padding:4px 6px;vertical-align:top;word-break:break-word}body.print-events-active .events-print-collection-table th{background:#f8fafc;font-weight:700;font-size:10px;color:#0f172a}body.print-events-active .events-print-collection-table td{font-size:10px;color:#0f172a}body.print-events-active .events-print-collection-table tr{page-break-inside:avoid}}.broadcast-template-editor{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1100}.broadcast-template-editor__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5)}.broadcast-template-editor__content{position:relative;background:#fff;border-radius:16px;border:1px solid #dfe9f3;width:min(760px,92vw);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(15,23,42,.18);z-index:1}.broadcast-template-editor__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.broadcast-template-editor__header h3{margin:0;font-size:18px}.broadcast-template-editor__close{background:0 0;border:none;font-size:24px;line-height:1;cursor:pointer;color:#64748b;padding:4px;border-radius:6px;transition:background .15s,color .15s}.broadcast-template-editor__close:hover{background:#f1f5f9;color:#0f172a}.broadcast-template-editor__body{padding:16px 20px;overflow:auto}.broadcast-template-editor__hint{margin:0 0 12px;color:#64748b;font-size:13px}.broadcast-template-editor__list{display:flex;flex-direction:column;gap:12px}.broadcast-template-editor__item{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.broadcast-template-editor__title{font-weight:600;color:#0f172a}.broadcast-template-editor__item label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.broadcast-template-editor__item .form-control{border-radius:10px;border-color:#d6e4f2;font-size:14px}.broadcast-template-editor__quill{border:1px solid #d6e4f2;border-radius:10px;overflow:hidden;background:#fff}.broadcast-template-editor__quill .ql-toolbar{border:none!important;background:#f3f8ff!important}.broadcast-template-editor__quill .ql-container{border:none!important;min-height:160px;font-size:14px}.broadcast-template-editor__footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px 20px;border-top:1px solid #e2e8f0}.broadcast-parent-selector{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1200}.broadcast-parent-selector__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5)}.broadcast-parent-selector__content{position:relative;background:#fff;border-radius:16px;border:1px solid #dfe9f3;width:min(640px,92vw);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(15,23,42,.18);z-index:1}.broadcast-parent-selector__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.broadcast-parent-selector__header h3{margin:0;font-size:18px}.broadcast-parent-selector__close{background:0 0;border:none;font-size:24px;line-height:1;cursor:pointer;color:#64748b;padding:4px;border-radius:6px;transition:background .15s,color .15s}.broadcast-parent-selector__close:hover{background:#f1f5f9;color:#0f172a}.broadcast-parent-selector__body{padding:16px 20px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:12px}.broadcast-parent-selector__search .form-control{border-radius:10px;border-color:#d6e4f2;font-size:14px;padding:10px 14px}.broadcast-parent-selector__list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.broadcast-parent-selector__item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;transition:background .15s,border-color .15s}.broadcast-parent-selector__item:hover{background:#f1f5f9;border-color:#cbd5e1}.broadcast-parent-selector__checkbox{margin:2px 0 0;flex-shrink:0}.broadcast-parent-selector__details{flex:1;min-width:0}.broadcast-parent-selector__name{font-weight:600;color:#0f172a;font-size:15px;line-height:1.4}.broadcast-parent-selector__meta{color:#64748b;font-size:13px;margin-top:2px}.broadcast-parent-selector__children{color:#475569;font-size:12px;margin-top:4px}.broadcast-parent-selector__empty{text-align:center;color:#64748b;font-size:14px;padding:24px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.broadcast-parent-selector__footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px 20px;border-top:1px solid #e2e8f0}.broadcast-selected-parents__chip__remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;font-size:0;line-height:1;cursor:pointer;transition:.25s;flex-shrink:0;border:none;position:relative;overflow:hidden;box-shadow:0 2px 6px rgba(239,68,68,.26);opacity:.7}.broadcast-selected-parents__chip__remove::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#ef4444,#d81b60);border-radius:50%;opacity:1;transition:opacity .25s}.broadcast-selected-parents__chip__remove svg{position:relative;z-index:1;width:10px;height:10px;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}.broadcast-selected-parents__chip:hover .broadcast-selected-parents__chip__remove,.broadcast-selected-parents__chip__remove:hover{opacity:1;transform:scale(1.08);box-shadow:0 4px 12px rgba(239,68,68,.35)}.broadcast-selected-parents__chip:hover .broadcast-selected-parents__chip__remove::before,.broadcast-selected-parents__chip__remove:hover::before{opacity:.2}.broadcast-selected-parents__chip:hover .broadcast-selected-parents__chip__remove svg,.broadcast-selected-parents__chip__remove:hover svg{transform:rotate(-90deg)}@media (max-width:576px){.broadcast-messages__nav{width:100%}.broadcast-messages__nav-btn{flex:1;justify-content:center}.broadcast-recipients-row{flex-wrap:wrap;gap:8px}.broadcast-recipients-label{min-width:auto}.broadcast-recipient-select{order:3;width:100%}.broadcast-recipient-badge{margin-left:auto}.broadcast-subject-row{flex-direction:column;gap:8px}.broadcast-template-dropdown,.broadcast-template-dropdown .btn{width:100%}.broadcast-template-menu{right:auto;left:0;width:100%}.broadcast-editor-footer{flex-direction:column;gap:4px;text-align:center}.broadcast-form__actions{flex-direction:column}.btn-send-prominent{order:-1}.broadcast-confirm-modal__content{padding:16px;margin:16px}.broadcast-confirm-actions{flex-direction:column-reverse}.broadcast-confirm-actions .btn{width:100%}.broadcast-parent-selector__footer,.broadcast-template-editor__footer{flex-direction:column-reverse}.broadcast-parent-selector__footer .btn{width:100%}.broadcast-parent-selector__content{width:min(96vw,100%);margin:8px;max-height:95vh}.broadcast-parent-selector__list{max-height:300px}}@keyframes broadcast-form-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes broadcast-menu-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.broadcast-form--redesign,.broadcast-template-menu.show,.events-calendar-item--collection-pending .events-calendar-item__badge--collection,.events-calendar-item--collection-pending .events-calendar-item__badge--status,.events-calendar-item--new .events-calendar-item__badge--new{animation:none}.broadcast-template-dropdown .btn,.btn-send-prominent{transition:none}}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-switch .toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.3)}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-switch-label{font-size:14px;font-weight:500}.ui-modules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}@media (max-width:900px){.ui-modules-grid{grid-template-columns:1fr}}.ui-module-card{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.ui-module-card__text{min-width:0}.ui-module-card__title{font-size:15px;font-weight:800;margin-bottom:2px;display:flex;align-items:center;gap:8px}.ui-module-card__icon{display:inline-flex;align-items:center;justify-content:center;color:var(--primary-color,#3498db)}.ui-module-card__icon .icon{width:18px;height:18px}.ui-module-card__desc{font-size:13px;line-height:1.35}.ui-module-card__control{display:flex;align-items:center;gap:10px;flex-shrink:0}.ui-module-card__state{font-size:12px;font-weight:700;color:#64748b;white-space:nowrap}.ui-module-card__switch.toggle-switch{width:46px;height:24px}.survey-creation-container{max-width:800px;margin:0 auto}.survey-modal{width:min(760px,94vw);border-radius:14px;display:flex;flex-direction:column}.survey-modal .confirm-modal-header{padding:14px 18px}.survey-modal .confirm-modal-header h3{font-size:1.15rem;font-weight:800}.survey-modal .confirm-modal-body{padding:14px 18px;overflow:auto;flex:1}.survey-modal .confirm-modal-footer{padding:12px 18px}.survey-modal-alert:empty{display:none}.survey-modal-intro{margin:10px 0 12px;color:#334155;line-height:1.55}.survey-question-blocks{display:flex;flex-direction:column;gap:12px}.survey-question-block{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;box-shadow:0 1px 6px rgba(15,23,42,.06)}.survey-question-block--invalid{border-color:rgba(231,76,60,.7);box-shadow:0 0 0 3px rgba(231,76,60,.12),0 1px 6px rgba(15,23,42,.08)}.survey-question-title{display:flex;gap:8px;align-items:flex-start;font-weight:800;color:#0f172a;line-height:1.35}.survey-question-number{flex:0 0 auto;color:#64748b;font-weight:800}.survey-question-inputs{margin-top:10px;display:flex;flex-direction:column;gap:6px}.survey-answer-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:rgba(248,250,252,.7);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.survey-answer-option:hover{background:rgba(52,152,219,.08);border-color:rgba(52,152,219,.22)}.survey-answer-option:focus-within{border-color:rgba(52,152,219,.5);box-shadow:0 0 0 3px rgba(52,152,219,.15)}.survey-answer-option input{margin-top:2px;flex:0 0 auto}.survey-answer-option__text{flex:1;color:#0f172a}.survey-question-hint{margin-top:8px;color:#64748b;font-size:.9rem}.survey-question-error{margin-top:10px;color:var(--error-color);font-weight:700;font-size:.9rem}.survey-required{color:var(--error-color);font-weight:900;margin-left:2px}.survey-results-summary{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;border:1px solid rgba(52,152,219,.22);background:rgba(52,152,219,.08);color:#0f172a;font-weight:600}.survey-results-blocks{display:flex;flex-direction:column;gap:12px}.survey-results-block{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff;box-shadow:0 1px 6px rgba(15,23,42,.06)}.survey-results-block__title{font-weight:800;color:#0f172a}.survey-results-block__body{margin-top:10px;display:flex;flex-direction:column;gap:6px}.survey-results-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:rgba(248,250,252,.7);border:1px solid rgba(15,23,42,.08)}.survey-results-row__label{color:#0f172a}.survey-results-row__count{color:#0f172a;font-variant-numeric:tabular-nums}.survey-results-text{padding:10px 12px;border-radius:10px;border:1px solid rgba(15,23,42,.08);background:rgba(248,250,252,.7)}.survey-results-text__value{color:#0f172a;white-space:pre-wrap}.survey-results-text__meta{margin-top:6px;color:#64748b;font-size:.85rem}@media (max-width:520px){.survey-modal .confirm-modal-footer{flex-direction:column-reverse;align-items:stretch}.survey-modal .confirm-modal-footer .btn{width:100%}}.survey-parent-summary{margin:8px 0 14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.7);box-shadow:0 2px 10px rgba(15,23,42,.05)}.survey-parent-summary__title{font-weight:700;color:#0f172a}.survey-parent-summary__hint{margin-top:4px;color:#475569}.survey-parent-sections{display:flex;flex-direction:column;gap:18px}.survey-parent-section__title{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1.05rem;color:#0f172a}.survey-parent-section__count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 8px;border-radius:999px;background:rgba(52,152,219,.14);color:#0f172a;font-size:.85rem;font-weight:700}.survey-parent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:start}.survey-parent-card{margin-bottom:0;padding:16px}.survey-parent-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.survey-parent-card__title{font-weight:800;color:#0f172a;line-height:1.3}.survey-parent-card__desc{margin-top:6px;color:#334155}.survey-parent-card__meta{margin-top:10px;color:#64748b;font-size:.9rem}.survey-parent-card__actions{margin-top:12px;display:flex;justify-content:flex-end}.survey-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:800;white-space:nowrap;border:1px solid rgba(15,23,42,.12)}.survey-status-badge--warning{background:rgba(243,156,18,.18);color:#92400e;border-color:rgba(243,156,18,.3)}.survey-status-badge--success{background:rgba(46,204,113,.16);color:#166534;border-color:rgba(46,204,113,.3)}.survey-status-badge--muted{background:rgba(100,116,139,.14);color:#334155;border-color:rgba(100,116,139,.25)}.section-title{font-size:1.5rem;color:var(--primary-color);margin-bottom:1rem;border-bottom:2px solid var(--light-color);padding-bottom:.5rem}.section-subtitle{font-size:1.25rem;color:var(--dark-color);margin-bottom:1rem}.survey-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.05);padding:24px;border:1px solid #eef2f5;margin-bottom:20px}.survey-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:768px){.survey-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"title title" "desc desc" "meta ."}.survey-title-group{grid-area:title}.survey-desc-group{grid-area:desc}.survey-meta-group{grid-area:meta}}.survey-label{font-weight:600;color:var(--dark-color);margin-bottom:.5rem;display:block}.survey-input{width:100%;padding:10px 14px;border:1px solid #dce4e8;border-radius:8px;font-size:1rem;transition:.2s;background-color:#fcfcfc}.survey-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(52,152,219,.15);background-color:#fff;outline:0}.survey-input--lg{font-size:1.1rem;padding:12px 16px}.survey-input--sm{padding:6px 10px;font-size:.9rem}.survey-inline-controls{display:flex;align-items:center;gap:16px}.survey-checkbox-label{display:inline-flex;align-items:center;gap:8px;font-weight:500;cursor:pointer;user-select:none}.survey-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.survey-groups-wrapper{background:#f8fafc;border-radius:8px;padding:12px;border:1px solid #eef2f5;margin-top:8px}.survey-groups-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:10px}.group-item{font-size:.9rem;color:#555;margin:0!important}.survey-question-card{background:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 2px 4px rgba(0,0,0,.02);margin-bottom:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}.survey-question-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.06)}.survey-question-header{background:#f8fafc;padding:10px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.question-number{font-weight:700;color:var(--primary-color);text-transform:uppercase;font-size:.8em;letter-spacing:.5px}.survey-question-body{padding:20px}.survey-question-settings{display:flex;gap:20px;margin-top:12px;flex-wrap:wrap}.type-select-group{flex:2;min-width:200px}.required-check-group{flex:1;display:flex;align-items:center;padding-top:24px}.survey-question-options{margin-top:20px;padding-top:20px;border-top:1px dashed #e2e8f0}.options-label{font-size:.9rem;font-weight:600;color:#888;margin-bottom:10px;display:block}.survey-option-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;animation:.2s ease-out fadeIn}.survey-option-row .survey-option-text{width:100%}.option-marker{width:12px;height:12px;border:2px solid #cbd5e1;border-radius:50%}.survey-actions-footer{margin-top:30px;text-align:right}.btn-icon-text{display:inline-flex;align-items:center;gap:8px}.btn-icon-text .icon{font-size:1.2em;line-height:.8}.animated-entry{animation:.3s ease-out slideDown}.removing{transform:scale(.95);opacity:0;transition:.25s ease-out}.survey-divider{border:0;height:1px;background:#e2e8f0;margin:40px 0}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-icon-danger{color:#ef4444;background:#fef2f2;border:1px solid #fee2e2;border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.btn-icon-danger:hover{background:#ef4444;color:#fff;border-color:#ef4444}.group-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background-color:var(--group-color,#cbd5e1);margin-right:4px;border:1px solid rgba(0,0,0,.1)}.survey-remove-option:hover{background-color:#fee2e2;color:#dc2626;border-color:#fecaca}.offline-banner{position:sticky;top:0;z-index:1000;background:#fef3c7;color:#7c2d12;padding:8px 16px;font-weight:600;border-bottom:1px solid #fcd34d;text-align:center}.pwa-actions{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:12px}.pwa-actions .btn{padding:4px 10px;font-size:12px}@media (max-width:768px){.pwa-actions{margin-left:0;margin-top:8px}}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui),(display-mode:window-controls-overlay){#install-pwa-btn{display:none!important}}.journal-header{margin-bottom:12px}.journal-subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.journal-subnav__item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600;color:#0f172a;transition:.2s}.journal-subnav__item.active{background:#0f172a;color:#fff;border-color:#0f172a}.journal-section{display:none}.journal-section.active{display:block}.journal-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.journal-audit-actions,.journal-export-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.child-group-select--picker,.journal-group-select{border-left:4px solid var(--group-color,#cbd5e1);padding-left:10px;color:var(--group-color,#0f172a);font-weight:600}.child-group-select--picker option,.journal-group-select option{color:#0f172a}.journal-topic-item{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;margin-bottom:12px;background:#fff}.journal-topic-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#64748b;margin-bottom:6px}.journal-meta-group{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#1f2937}.journal-meta-group .journal-dot{width:8px;height:8px;border-radius:50%;background:var(--group-color,#94a3b8);display:inline-block}.journal-topic-title{margin:0 0 6px;font-size:16px}.journal-topic-description{margin:0 0 10px;color:#334155}.journal-topic-actions{display:flex;flex-wrap:wrap;gap:8px}.journal-hours-status{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:#64748b}.journal-hours-status.success{color:#15803d}.journal-hours-status.error{color:#b91c1c}.journal-hours-status.warning{color:#d97706}.journal-export-controls{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.journal-log-item{border:1px dashed #e2e8f0;border-radius:8px;padding:10px 12px;margin-bottom:10px;background:#f8fafc}.journal-log-meta{display:flex;gap:12px;font-size:12px;color:#64748b;margin-bottom:4px}.journal-log-title{font-weight:600;margin-bottom:4px}.journal-log-topic{color:#1f2937}.journal-log-date{font-size:12px;color:#64748b}.journal-log-changes{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:12px;color:#475569}.journal-log-change{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.journal-log-change__label{font-weight:600;color:#0f172a}.journal-log-change__value{padding:2px 6px;border-radius:6px;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;white-space:pre-wrap}.journal-log-change__from{background:#fee2e2;border-color:#fecaca;color:#991b1b}.journal-log-change__to{background:#dcfce7;border-color:#bbf7d0;color:#166534}.journal-log-change__arrow{color:#64748b;font-weight:600}.journal-log-empty{margin-top:6px;font-size:12px;color:#94a3b8}.psych-ped .psych-ped-list-item{cursor:pointer}.psych-ped .psych-ped-list-item:focus,.psych-ped .psych-ped-list-item:focus-visible{outline:#0b5fff solid 2px;outline-offset:2px}.psych-ped .psych-ped-detail:focus{outline:#0b5fff solid 2px;outline-offset:4px}.staff-schedule-header{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.staff-schedule-week{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}.staff-week-picker{margin:0;display:flex;align-items:center;gap:8px}.staff-week-picker .date-picker-label{margin:0;white-space:nowrap;font-weight:600;font-size:.85rem}.staff-schedule-subtabs{display:flex;gap:8px;margin:12px 0 8px;flex-wrap:wrap}.staff-schedule-subtab{border:1px solid rgba(0,0,0,.12);background:#fff;padding:8px 12px;border-radius:10px;cursor:pointer}.staff-schedule-subtab:hover{background:#f0f4ff;border-color:rgba(0,0,0,.18)}.staff-schedule-subtab.active{background:#e8f0fe;border-color:#1a73e8;color:#1a73e8;font-weight:600;box-shadow:0 1px 3px rgba(26,115,232,.15)}.staff-schedule-actions{display:flex;justify-content:flex-end;margin:8px 0 12px}.staff-schedule-days{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}.staff-day{background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px}.staff-day__header{font-weight:600;margin-bottom:8px}.shift-item{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.06);background:#fff;margin-bottom:8px}.shift-time{font-weight:600}.shift-note{color:#475569;font-size:13px;margin-left:auto}.shift-badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#0f172a;white-space:nowrap}.shift-badge--absence{background:#fee2e2;color:#7f1d1d}.staff-team-toolbar{display:flex;align-items:flex-end;justify-content:flex-start;gap:12px;margin:8px 0 14px}.staff-card{border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.7);padding:12px;margin-bottom:14px}.staff-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.staff-card__name{font-weight:700}.staff-card__days{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px;margin-top:10px}.staff-card-day{border:1px solid rgba(0,0,0,.06);border-radius:12px;background:#fff;padding:10px}.staff-card-day__header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600;margin-bottom:8px}.staff-card-day__title{min-width:0}.staff-day-add-btn{appearance:none;border:1px solid rgba(15,23,42,.14);background:rgba(255,255,255,.75);color:#0f172a;width:30px;height:30px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s,background-color .12s,border-color .12s;position:relative;flex:0 0 auto}.staff-day-add-btn:hover{background:rgba(255,255,255,.95);border-color:rgba(15,23,42,.22);transform:translateY(-1px)}.staff-day-add-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(243,156,18,.35)}.staff-day-add-icon{width:18px;height:18px}.staff-day-add-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 6px);background:#1f2937;color:#fff;padding:6px 8px;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:5}.staff-day-add-btn[data-tooltip]::before{content:'';position:absolute;right:12px;bottom:100%;border:6px solid transparent;border-top-color:#1f2937;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.staff-day-add-btn:focus-visible::after,.staff-day-add-btn:focus-visible::before,.staff-day-add-btn:hover::after,.staff-day-add-btn:hover::before{opacity:1;transform:translateY(0)}.shift-row{display:flex;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed rgba(0,0,0,.08)}.shift-row:last-child{border-bottom:none}.shift-row__actions{margin-left:auto;display:flex;gap:6px}.shift-row__note{color:#475569;font-size:13px;margin-left:4px}.staff-requests-block{margin-top:16px}.staff-request-item{border:1px solid rgba(0,0,0,.08);border-radius:14px;background:rgba(255,255,255,.7);padding:12px;margin-bottom:12px}.staff-request-item__header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.staff-request-item__title{font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.staff-request-item__note{margin-top:8px;white-space:pre-wrap}.staff-request-item__admin-note{margin-top:10px;white-space:pre-wrap;padding:10px 12px;border-radius:12px;background:rgba(254,226,226,.55);border:1px solid rgba(127,29,29,.18);color:#7f1d1d}.req-badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#0f172a}.req-badge--approved{background:#dcfce7;color:#14532d}.req-badge--rejected{background:#fee2e2;color:#7f1d1d}.req-actions{display:flex;gap:8px;align-items:center}.staff-team-toolbar--calendar{display:grid;grid-template-columns:minmax(220px,320px) 1fr;align-items:end;justify-content:initial;flex-wrap:initial}.staff-team-toolbar__right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin-left:0}.staff-view-toggle{display:inline-flex;gap:6px;padding:4px;border-radius:12px;background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.08)}.staff-view-toggle .btn{min-width:unset;padding:6px 10px;border-radius:10px}.staff-view-toggle .btn.active{background:#111827;border-color:#111827;color:#fff}.staff-add-hint{font-size:12px;max-width:420px;text-align:right}@media (max-width:720px){.staff-team-toolbar--calendar{grid-template-columns:1fr;row-gap:10px}.staff-team-toolbar--calendar .form-group{min-width:0!important;width:100%}.staff-team-toolbar__right{width:100%;justify-content:space-between;align-items:center}.staff-add-hint{flex:1 1 100%;max-width:none;text-align:left}}.staff-cal-wrap{margin-top:10px}.staff-cal-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.staff-cal-legend-item{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--staff-color-soft,rgba(0,0,0,.04));border:1px solid rgba(0,0,0,.08)}.staff-cal-legend-dot{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;background:var(--staff-color,#3b82f6);color:#fff}.staff-cal-legend-name{font-size:12px;color:#0f172a;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-cal-scroll{overflow:auto;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:rgba(255,255,255,.65)}.staff-cal{display:flex;min-width:980px}.staff-cal-time{width:64px;flex:0 0 64px;border-right:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.85)}.staff-cal-time__spacer{height:44px}.staff-cal-time__all-day{height:42px;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.85)}.staff-cal-time__grid{position:relative}.staff-cal-time-label{position:absolute;left:8px;transform:translateY(-8px);font-size:11px;color:#64748b;white-space:nowrap}.staff-cal-days{display:flex;flex:1}.staff-cal-day{min-width:180px;flex:1;border-right:1px solid rgba(0,0,0,.08)}.staff-cal-day:last-child{border-right:none}.staff-cal-day--drop-target .staff-cal-day__header{background:rgba(11,95,255,.1)}.staff-cal-day--drop-target .staff-cal-day__body{box-shadow:inset 0 0 0 2px rgba(11,95,255,.55)}.staff-cal-day__header{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:rgba(255,255,255,.85);border-bottom:1px solid rgba(0,0,0,.08)}.staff-cal-day__label{font-weight:800;font-size:12px;color:#0f172a}.staff-cal-add{width:28px;height:28px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font-weight:800}.staff-cal-day__all-day{height:42px;display:flex;gap:6px;align-items:center;padding:6px 8px;flex-wrap:wrap;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.78);overflow:hidden}.staff-cal-all-day-empty{font-size:12px;color:#94a3b8}.staff-cal-pill{appearance:none;border:1px solid var(--event-border,rgba(0,0,0,.1));background:var(--event-bg,#3b82f6);color:var(--event-fg,#fff);border-radius:999px;padding:4px 8px 4px 6px;display:inline-flex;align-items:center;gap:6px;font-size:11px;cursor:default}button.staff-cal-pill{cursor:pointer}.staff-cal-pill__dot{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35)}.staff-cal-pill__label{font-weight:700;white-space:nowrap}.staff-cal-day__body{position:relative;background-image:repeating-linear-gradient(to bottom,rgba(15,23,42,.08) 0,rgba(15,23,42,.08) 1px,transparent 1px,transparent var(--staff-cal-hour-height,56px));background-color:rgba(255,255,255,.9)}.staff-cal-day__events{position:absolute;inset:0;z-index:2;pointer-events:none}.staff-cal-empty{position:absolute;top:12px;left:10px;font-size:12px;color:#94a3b8;pointer-events:none}.staff-cal-event{appearance:none;position:absolute;border:1px solid var(--event-border,rgba(0,0,0,.15));background:var(--event-bg,#3b82f6);color:var(--event-fg,#fff);border-radius:16px;padding:8px 10px;text-align:left;box-shadow:0 10px 20px rgba(15,23,42,.16);overflow:hidden;display:flex;flex-direction:column;gap:6px;cursor:default;pointer-events:auto}button.staff-cal-event{cursor:grab}.staff-cal-event--dragging,.staff-cal-event--dragging *{cursor:grabbing!important;user-select:none}.staff-cal-event--dragging{opacity:.94;filter:saturate(1.05);box-shadow:0 14px 28px rgba(15,23,42,.24);touch-action:none}.staff-cal-event--resizing,.staff-cal-event--resizing *{cursor:ns-resize!important;user-select:none}.staff-cal-drag-handle{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.18);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,transform .12s;pointer-events:auto;cursor:grab;touch-action:none;color:rgba(255,255,255,.95)}.staff-cal-event:hover .staff-cal-drag-handle{opacity:1;transform:translateY(-50%) scale(1.02)}.staff-cal-event--dragging .staff-cal-drag-handle,.staff-cal-event--resizing .staff-cal-drag-handle{opacity:.6}.staff-cal-drag-icon{width:14px;height:14px}.staff-cal-resize-handle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s,transform .12s;pointer-events:auto;cursor:ns-resize;touch-action:none;color:rgba(255,255,255,.95)}.staff-cal-event:hover .staff-cal-resize-handle{opacity:1;transform:translateY(-50%) scale(1.02)}.staff-cal-event--saving .staff-cal-resize-handle{opacity:.4}.staff-cal-resize-icon{width:14px;height:14px}.staff-cal-event--saving,.staff-cal-event--saving *{cursor:progress!important}.staff-cal-event:focus,button.staff-cal-event:focus-visible{outline:rgba(11,95,255,.9) solid 2px;outline-offset:2px}.staff-cal-event__initials{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.3px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35)}.staff-cal-event__header{display:flex;align-items:center;gap:8px;min-height:30px;min-width:0}.staff-cal-event__time{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.staff-cal-time-icon{width:14px;height:14px;flex:0 0 auto;opacity:.92}.staff-cal-event--compact{padding:6px 8px;gap:4px;border-radius:14px}.staff-cal-event--compact .staff-cal-event__header{min-height:24px;gap:6px}.staff-cal-event--compact .staff-cal-event__initials{width:24px;height:24px;font-size:12px}.staff-cal-event--compact .staff-cal-event__time{font-size:11px}.staff-cal-event__note{font-size:12px;line-height:1.25;font-weight:650;opacity:.92;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.staff-cal-event--lines-1 .staff-cal-event__note{-webkit-line-clamp:1;line-clamp:1}.staff-cal-event--lines-2 .staff-cal-event__note{-webkit-line-clamp:2;line-clamp:2}.staff-cal-event--lines-3 .staff-cal-event__note{-webkit-line-clamp:3;line-clamp:3}.staff-cal-event--lines-4 .staff-cal-event__note{-webkit-line-clamp:4;line-clamp:4}.staff-cal-flash{position:relative}.staff-cal-flash::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:.75s ease-out staff-cal-flash-ring}@keyframes staff-cal-flash-ring{0%,100%{box-shadow:inset 0 0 0 0 rgba(255,255,255,0)}30%{box-shadow:inset 0 0 0 4px rgba(255,255,255,.65)}}.staff-cal-slot{appearance:none;position:absolute;inset:0;border:none;padding:0;background:0 0;z-index:1;cursor:crosshair}.staff-cal-slot::after{content:"";position:absolute;left:0;right:0;top:var(--hover-top,0);height:1px;background:rgba(17,24,39,.18);opacity:0;pointer-events:none}.staff-cal-slot-plus{position:absolute;left:50%;top:var(--hover-top,0);transform:translate(-50%,-50%);width:26px;height:26px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.92);color:#111827;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;box-shadow:0 10px 18px rgba(15,23,42,.12)}.staff-cal-plus-icon{width:18px;height:18px}.staff-cal-slot:hover .staff-cal-slot-plus,.staff-cal-slot:hover::after{opacity:1}.staff-modal{width:min(640px,95vw)}.staff-modal .confirm-modal-body{max-height:calc(90vh - 140px);overflow:auto}.staff-modal-subtitle{margin:4px 0 0;font-size:.9rem}.staff-form-grid{display:flex;flex-direction:column;gap:12px}.staff-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staff-inline-dates{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.staff-inline-sep{color:#64748b;font-weight:600;text-align:center}.staff-help{margin-top:6px;font-size:12px;color:#64748b}.staff-repeat-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding-top:6px;border-top:1px solid rgba(0,0,0,.06)}.staff-checkbox{display:inline-flex;gap:8px;align-items:center;font-weight:600}.staff-repeat-weeks{min-width:140px}@media (max-width:560px){.staff-form-row,.staff-inline-dates{grid-template-columns:1fr}.staff-inline-sep{display:none}}@media (min-width:900px){.staff-card__days,.staff-schedule-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1400px){.container{max-width:1600px;padding:24px 32px}.parent-announcement-admin{max-width:1600px}.tab-nav .nav-link{padding:10px 16px;font-size:.95rem}.tab-nav .nav-link .tab-text{margin:0 5px}.tab-nav .nav-link .tab-icon{font-size:1.15rem}table td,table th{padding:10px 14px}}@media (min-width:1800px){.container,.parent-announcement-admin{max-width:1760px}}@media (min-width:1200px) and (max-width:1400px){.container{max-width:calc(100vw - 40px);padding:16px 20px}.tab-nav .nav-link{padding:7px 8px;font-size:.88rem}.tab-nav .nav-link .tab-text{margin:0 3px}.tab-nav .nav-link .tab-icon{font-size:1rem}}@media (min-width:1200px) and (max-width:1400px) and (max-height:800px){.container{padding:12px 18px}header{padding-top:8px;padding-bottom:8px}.card{padding:12px}table td,table th{padding:6px 8px}}.btn-with-icon{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.btn-with-icon .btn-icon{width:16px;height:16px;flex:0 0 auto;display:inline-block;vertical-align:middle}.email-reminder-modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;animation:.2s emailReminderFadeIn}@keyframes emailReminderFadeIn{from{opacity:0}to{opacity:1}}.email-reminder-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.18);width:100%;max-width:520px;padding:24px;max-height:80vh;overflow-y:auto}.email-reminder-progress__header h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1e293b}.email-reminder-progress__bar-wrap{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.email-reminder-progress__bar{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:4px;transition:width .3s;width:0%}.email-reminder-progress__status{font-size:13px;color:#64748b;margin-bottom:12px}.email-reminder-progress__log{max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px;background:#f8fafc}.email-reminder-progress__row{padding:3px 0;display:flex;align-items:baseline;gap:6px;border-bottom:1px solid #f1f5f9}.email-reminder-progress__row:last-child{border-bottom:none}.email-reminder-progress__icon{font-weight:700;flex:0 0 auto}.email-reminder-progress__row--ok .email-reminder-progress__icon{color:#22c55e}.email-reminder-progress__row--error .email-reminder-progress__icon{color:#ef4444}