:root{--primary: #4f46e5;--primary-dark: #4338ca;--success: #16a34a;--danger: #dc2626;--warning: #d97706;--bg: #f8fafc;--surface: #ffffff;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--radius: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--sidebar-width: 240px}@media (min-width: 769px){:root{--sidebar-width: 296px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Tajawal,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;text-align:start}html[dir=rtl] body,body[dir=rtl]{direction:rtl;overflow-x:hidden;overflow-x:clip}html[dir=ltr] body,body[dir=ltr]{direction:ltr;overflow-x:hidden;overflow-x:clip}input,select,textarea{direction:inherit;text-align:start}html[dir=ltr] input,html[dir=ltr] select,html[dir=ltr] textarea{direction:ltr;text-align:left}html[dir=rtl] input,html[dir=rtl] select,html[dir=rtl] textarea{direction:rtl;text-align:right}a{color:var(--primary);text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--surface);border-inline-start:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;z-index:120;overflow:hidden}.sidebar--dock-end{left:auto;right:0;border-inline-start:none;border-inline-end:1px solid var(--border)}.sidebar--dock-start{left:0;right:auto;border-inline-start:1px solid var(--border);border-inline-end:none}.app-layout:has(.sidebar--dock-end) .main-content{margin-left:0!important;margin-right:var(--sidebar-width)!important}.app-layout:has(.sidebar--dock-start) .main-content{margin-left:var(--sidebar-width)!important;margin-right:0!important}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin-bottom:.55rem;margin-top:.35rem;flex-shrink:0}.sidebar-header .sidebar-logo{margin-bottom:0}.sidebar-close{display:none;flex-shrink:0;width:40px;height:40px;border:none;border-radius:10px;background:#0f172a0f;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text)}.sidebar-footer{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem;flex-shrink:0}.sidebar-account{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.sidebar-account__avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;font-weight:800;letter-spacing:.02em;color:#1e3a5f;background:linear-gradient(135deg,#e0f2fe,#f1f5f9);border:1px solid #cbd5e1}.sidebar-account__meta{min-width:0;flex:1}.sidebar-account__label{display:block;font-size:.7rem;font-weight:600;color:#64748b;line-height:1.3;margin-bottom:.12rem}.sidebar-account__name{display:block;font-size:.9rem;font-weight:700;color:#0f172a;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sidebar-footer__logout{min-height:2.5rem}.sidebar-footer .btn{width:100%;justify-content:center;text-align:center}.sidebar-footer .btn-outline{min-height:2.5rem;padding:.55rem .75rem;border:1.5px solid #cbd5e1;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);color:#0f172a;font-weight:600;box-shadow:0 1px 3px #0f172a0d;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.sidebar-footer .btn-outline:hover{border-color:#94a3b8;background:linear-gradient(180deg,#f8fafc,#f1f5f9);box-shadow:0 2px 6px #0f172a12}.sidebar-lang{display:contents}.sidebar-lang__btn{border:1.5px solid #cbd5e1;background:linear-gradient(180deg,#f8fafc,#fff);border-radius:12px;padding:.55rem .75rem;font:inherit;font-size:.9rem;font-weight:600;color:#0f172a;cursor:pointer;width:100%;min-height:2.5rem;text-align:center;box-shadow:0 1px 3px #0f172a0d;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.sidebar-lang__btn:hover{background:linear-gradient(180deg,#f1f5f9,#fff);border-color:#94a3b8;box-shadow:0 2px 6px #0f172a12}.sidebar-footer__lang{display:flex;width:100%;margin-bottom:.15rem}.sidebar-lang-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-height:2.5rem;padding:.5rem .85rem;border:1.5px solid #cbd5e1;border-radius:12px;background:#ffffffeb;box-shadow:0 1px 3px #0f172a0d;font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.04em;line-height:1;color:#64748b;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.sidebar-lang-toggle:hover{border-color:#1e3a5f59;background:#fff;box-shadow:0 2px 6px #0f172a12}.sidebar-lang-toggle__code{color:#94a3b8;transition:color .15s ease}.sidebar-lang-toggle__code.is-active{color:#1e3a5f}.sidebar-lang-toggle__sep{color:#94a3b8b3;font-weight:600}.sidebar-user{font-size:.9rem;font-weight:600;color:var(--text-muted);padding:0 .5rem}html[dir=ltr] .staff-att-table th,html[dir=ltr] .staff-att-table td,html[dir=ltr] table th,html[dir=ltr] table td,html[dir=ltr] .app-layout,html[dir=ltr] .main-content,html[dir=ltr] .sidebar,html[dir=ltr] .sidebar-nav a,html[dir=ltr] .page-header,html[dir=ltr] .card,html[dir=ltr] .form-group label{text-align:left}.mobile-topbar,.sidebar-overlay,.sidebar-toggle{display:none}.brand-mark{display:inline-flex;align-items:center;gap:.5rem}.brand-mark__icon{flex-shrink:0;object-fit:contain;border-radius:.4rem;display:block}.sidebar-toggle__icon{width:22px;height:22px;color:var(--text)}.sidebar-logo{display:flex;flex-direction:column;gap:.15rem;line-height:1.3;margin-bottom:2rem;padding:0 .5rem}.sidebar-logo .brand-mark{font-size:1.25rem;font-weight:700;color:var(--primary)}.sidebar-logo small{font-size:.72rem;font-weight:500;color:var(--text-muted);padding-right:.15rem}.mobile-topbar__brand .brand-mark{font-size:.95rem;font-weight:700;color:var(--primary);justify-content:center}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-left:.15rem;margin-left:-.15rem}.sidebar-nav a{display:flex;align-items:center;gap:.65rem;padding:.72rem .95rem;border-radius:var(--radius);color:var(--text);font-size:.9375rem;font-weight:600;line-height:1.2;letter-spacing:.01em;transition:background .15s,color .15s,border-color .15s}.sidebar-nav__icon{display:block;flex:0 0 auto;width:1.0625rem;height:1.0625rem;margin:0;color:#64748b;transition:color .15s ease;position:relative}html:lang(ar) .sidebar-nav__icon,.app-layout--lang-ar .sidebar-nav__icon{top:-2px}html:lang(en) .sidebar-nav__icon,.app-layout--lang-en .sidebar-nav__icon{top:-1.5px}.sidebar-nav__label{display:block;min-width:0;flex:1 1 auto;margin:0;padding:0;line-height:1.0625rem;font-size:inherit;font-weight:inherit}@media (min-width: 769px){.sidebar-nav__label{white-space:nowrap}}.sidebar-nav a:hover .sidebar-nav__icon,.sidebar-nav a.active .sidebar-nav__icon{color:currentColor}.sidebar-nav a:hover,.sidebar-nav a.active{background:#eef2ff;color:var(--primary)}.main-content{flex:1;margin-left:var(--sidebar-width);margin-right:0;padding:2rem;max-width:1200px;min-width:0}.main-content__frame{position:relative}.main-content__center-brand{position:relative;overflow:hidden;text-align:center;margin-bottom:1.25rem;padding:.85rem 1rem 1.15rem;border-bottom:1px solid rgba(99,102,241,.12);border-radius:0 0 18px 18px}.main-content__center-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,#e0e7fff2,#ede9feeb 28%,#dbeafef0 55%,#e9d5ffe0 78%,#e0e7fff2);background-size:220% 220%;animation:center-brand-wave 14s ease-in-out infinite;z-index:0}.main-content__center-brand:after{content:"";position:absolute;top:-20%;right:-10%;bottom:-20%;left:-10%;background:radial-gradient(ellipse 55% 80% at 15% 50%,rgba(129,140,248,.14),transparent 68%),radial-gradient(ellipse 50% 75% at 85% 45%,rgba(167,139,250,.12),transparent 65%);animation:center-brand-shimmer 10s ease-in-out infinite alternate;z-index:0;pointer-events:none}.main-content__center-brand>*{position:relative;z-index:1}.app-layout--parent .main-content__center-brand:before{background:linear-gradient(115deg,#ccfbf1eb,#e0e7ffe6 30%,#ede9feeb 62%,#d1fae5e0);background-size:220% 220%}.app-layout--parent .main-content__center-brand:after{background:radial-gradient(ellipse 55% 80% at 20% 50%,rgba(45,212,191,.1),transparent 68%),radial-gradient(ellipse 50% 75% at 80% 45%,rgba(129,140,248,.1),transparent 65%)}@keyframes center-brand-wave{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes center-brand-shimmer{0%{opacity:.75;transform:translate(-1.5%) scale(1)}to{opacity:1;transform:translate(1.5%) scale(1.02)}}@media (prefers-reduced-motion: reduce){.main-content__center-brand:before,.main-content__center-brand:after,.mobile-topbar:before{animation:none}}@media (min-width: 768px){.app-layout--nursery .main-content,.app-layout--parent .main-content{padding-top:0;max-width:none;width:100%}.app-layout--nursery .main-content__center-brand,.app-layout--parent .main-content__center-brand{margin-inline:-2rem;margin-top:0;margin-bottom:.75rem;width:calc(100% + 4rem);padding:.55rem 2rem .6rem;border-radius:0 0 16px 16px}.app-layout--nursery .main-content__center-brand{margin-bottom:.55rem;padding:.4rem 2rem .45rem}.center-brand__platform{font-size:1rem;margin-bottom:.2rem}.app-layout--nursery .center-brand__platform{font-size:.72rem;margin-bottom:.05rem;letter-spacing:.04em}.center-brand__nursery{font-size:2.2rem}.app-layout--nursery .center-brand__nursery{font-size:1.35rem;font-weight:750;line-height:1.2}}@media (max-width: 767px){.main-content__center-brand{display:none}}.center-brand__platform{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.06em;margin-bottom:.35rem}.center-brand__nursery{margin:0;font-size:2.15rem;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:#4338ca}.center-brand__nursery--parent{color:#0f766e}.center-brand__nursery--compact{font-size:1.08rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand__title{display:block;font-size:1.02rem;font-weight:700;line-height:1.45;color:var(--text)}.sidebar-logo--stacked{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;flex:1;min-width:0;margin-bottom:0;padding:.35rem .15rem .45rem;line-height:1.25}.sidebar-brand__platform{font-size:1.35rem;font-weight:800;letter-spacing:.02em;color:var(--primary, #4f46e5);line-height:1.2}.sidebar-brand__nursery{font-size:.72rem;font-weight:500;color:var(--text-muted, #64748b);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sidebar-brand__accent{display:block;width:2.75rem;height:3px;margin-top:.4rem;border-radius:999px;background:linear-gradient(90deg,#1e3a5f,#4f46e5 55%,#94a3b8)}.sidebar-session{margin:0 .85rem .65rem;padding:.55rem .7rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.sidebar-session__name{display:block;font-size:.88rem;font-weight:700;color:#0f172a;line-height:1.3}.sidebar-session__role{display:block;margin-top:.15rem;font-size:.75rem;font-weight:600;color:#64748b}.center-brand__session{margin:.35rem 0 0;font-size:.88rem;font-weight:600;color:#64748b;line-height:1.35}.sidebar--parent .sidebar-brand__platform{color:#0f766e}.sidebar--parent .sidebar-brand__accent{background:linear-gradient(90deg,#0f766e,#14b8a6 55%,#99f6e4)}.sidebar--nursery .sidebar-brand__platform{color:#4338ca}.sidebar--platform .sidebar-brand__platform{color:#1e3a5f}.brand-text{font-size:1.25rem;font-weight:700;color:var(--primary)}.invoice-payment-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.invoice-payment-option{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.invoice-payment-option input{position:absolute;opacity:0;pointer-events:none}.invoice-payment-option--active{border-color:var(--primary);background:#4f46e50f}.invoice-payment-option__body{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;line-height:1.45}.invoice-payment-option__label{font-weight:700;font-size:.9rem}.invoice-payment-option__desc{font-size:.78rem;font-weight:400;color:var(--text-muted);line-height:1.4}.invoice-update-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.75rem 0}.invoice-update-row__header,.invoice-update-row__field,.invoice-update-row__actions{width:100%}.invoice-update-row__header{display:none}.invoice-update-row__field{display:contents}.invoice-update-row__field--partial{display:flex;flex-direction:column;gap:.35rem;width:100%}.invoice-update-row__label{display:none}.invoice-update-row__hint{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.45}.invoice-update-row__actions{display:flex;flex-wrap:wrap;gap:.5rem}.invoice-update-row select,.invoice-update-row input{min-width:140px;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border)}.main-content__bell--floating{position:absolute;top:50%;left:.85rem;right:auto;transform:translateY(-50%);z-index:2;direction:ltr}.center-brand__bell{position:absolute;top:0;bottom:0;left:0;right:auto;width:3.25rem;z-index:5;pointer-events:none}.center-brand__bell .main-content__bell--floating{pointer-events:auto;top:50%;left:.85rem;right:auto;transform:translateY(-50%)}html[dir=ltr] .main-content__bell--floating{left:auto;right:.85rem}html[dir=ltr] .center-brand__bell{left:auto;right:0}html[dir=ltr] .center-brand__bell .main-content__bell--floating{left:auto;right:.85rem}.main-content__frame:has(.notification-bell) .page-header:first-child:not(.page-header--row){padding-inline-end:3.25rem}html[dir=ltr] .main-content__frame:has(.notification-bell) .page-header:first-child:not(.page-header--row){padding-inline-end:3.25rem}.page-header--row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.page-header__actions{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;direction:ltr}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.6rem;font-weight:700}.page-header p{color:var(--text-muted);margin-top:.25rem}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.25rem;box-shadow:var(--shadow)}.card+.card{margin-top:1rem}.inquiry-layout>.card+.card{margin-top:0}.share-link-card{margin-bottom:1.5rem;border-color:#6366f140;background:linear-gradient(135deg,#6366f10a,#7ec8e314)}.share-link-card__head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1rem}.share-link-card__icon{font-size:1.75rem;line-height:1;flex-shrink:0}.share-link-card__title{margin:0 0 .25rem;font-size:1.05rem}.share-link-card__desc{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.55}.share-link-url{padding:.75rem 1rem;border-radius:12px;background:#fff;border:1px solid var(--border);margin-bottom:.85rem;overflow-x:auto}.share-link-url__text{font-size:.84rem;color:var(--primary);font-weight:600;word-break:break-all}.share-link-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.share-link-actions__btn{justify-content:center;width:100%}.share-link-whatsapp{text-decoration:none;border-color:#25d36673;color:#128c7e}.share-link-whatsapp:hover{background:#25d36614;border-color:#25d366}.share-link-row{display:flex;gap:.5rem;flex-wrap:wrap}.share-link-row input{flex:1;min-width:200px;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;background:#fff;color:var(--text)}.share-link-row .btn{white-space:nowrap}@media (max-width: 640px){.share-link-actions{grid-template-columns:1fr}.share-link-row{flex-direction:column}.share-link-row .btn{width:100%;justify-content:center}}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--radius);border:none;font-size:.95rem;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-download{background:linear-gradient(135deg,#5eb8dc,#4f46e5);color:#fff;font-size:.92rem;font-weight:600;padding:.48rem 1rem;box-shadow:0 2px 8px #4f46e540}.btn-download:hover:not(:disabled){opacity:.92;box-shadow:0 4px 12px #4f46e552}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:500;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem 1rem;text-align:right;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-muted);font-size:.85rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:500}.badge-present{background:#bbf7d0;color:#14532d}.badge-absent{background:#fecaca;color:#991b1b}.badge-unmarked{background:#f1f5f9;color:#64748b}.badge-pending{background:#fef3c7;color:#92400e}.badge-partial{background:#ffedd5;color:#c2410c}.badge-paid{background:#dcfce7;color:#166534}.badge-overdue{background:#fee2e2;color:#991b1b}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.alert-error{background:#fee2e2;color:#991b1b}.alert-success{background:#dcfce7;color:#166534}.alert-info{background:#eef2ff;color:#3730a3}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-align:center}.stat-card .value{font-size:2rem;font-weight:700;color:var(--primary)}.stat-card .label{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.photo-item{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--surface)}.photo-item img{width:100%;height:160px;object-fit:cover;display:block}.photo-item .caption{padding:.5rem .75rem;font-size:.85rem}.login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#f8fafc);position:relative;padding:1rem;box-sizing:border-box}.login-card__lang{display:flex;justify-content:flex-end;direction:ltr;margin:-.25rem 0 .85rem}.login-card__lang .auth-lang-switch{padding:.15rem .3rem;border-radius:999px;background:#f8fafcf2;border:1px solid rgba(148,163,184,.35)}.auth-lang-switch{display:inline-flex;align-items:center;gap:.15rem;direction:ltr;font-family:system-ui,-apple-system,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.04em;-webkit-user-select:none;user-select:none}.auth-lang-switch--page{position:absolute;top:max(.75rem,env(safe-area-inset-top,0px));inset-inline-end:max(.85rem,env(safe-area-inset-right,0px));z-index:5;padding:.2rem .35rem;border-radius:999px;background:#ffffffe0;border:1px solid rgba(148,163,184,.35);box-shadow:0 4px 14px #0f172a0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-lang-switch__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#94a3b8;font:inherit;font-weight:700;padding:.35rem .45rem;border-radius:999px;cursor:pointer;line-height:1;min-width:2rem;min-height:2rem}.auth-lang-switch__btn.is-active{color:#4f46e5;background:#4f46e51a}.auth-lang-switch__sep{color:#cbd5e1;font-weight:500;pointer-events:none}@media (max-width: 480px){.auth-lang-switch--page{top:max(.65rem,env(safe-area-inset-top,0px));inset-inline-end:max(.65rem,env(safe-area-inset-right,0px))}.login-page--parent{justify-content:flex-start;padding-top:calc(3rem + env(safe-area-inset-top,0px))}}.auth-brand{display:flex;width:100%;max-width:100%;justify-content:center;align-items:center;gap:.4rem;margin:0 auto 1.25rem;direction:ltr;line-height:0;text-decoration:none;text-align:center}.auth-brand__title{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;font-size:1.45rem;font-weight:800;letter-spacing:.06em;line-height:1;height:30px;transform:translateY(3px);background:linear-gradient(90deg,#f59e0b,#ef4444 20%,#a855f7,#3b82f6 70%,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand .lp-logo__icon{width:30px;height:30px;display:block;flex-shrink:0;align-self:center;margin:0;object-fit:contain}.pwa-boot{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#f8fafc)}.pwa-boot--static{min-height:100vh;min-height:100dvh}.pwa-boot__text{margin:0;font-size:1rem;color:#475569;font-weight:600}.pwa-recover{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center;background:linear-gradient(135deg,#eef2ff,#f8fafc)}.login-card{background:var(--surface);padding:2.5rem;border-radius:16px;box-shadow:0 4px 24px #00000014;width:100%;max-width:400px}.login-card .install-prompt,.login-card .admin-login__install{width:100%}.login-logo{justify-content:center;margin-bottom:1rem}.login-card__title{text-align:center;font-size:1.4rem;margin-bottom:1.5rem;color:var(--primary)}.login-card__submit{width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.parent-login-gate__hint{color:var(--text-muted);font-size:.9rem;line-height:1.55;margin:0}.parent-login-gate__input{width:100%;min-height:5.5rem;resize:vertical;font-size:.95rem;line-height:1.45;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;box-sizing:border-box}.parent-login-gate__input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.parent-login-gate__example{color:var(--text-muted);display:block;margin-top:.35rem;font-size:.82rem}.parent-login-gate__submit{width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.login-password-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.login-password-row label{margin-bottom:0}.login-forgot-link{border:none;background:none;padding:0;font-size:.8rem;color:var(--primary);cursor:pointer;font-family:inherit;font-weight:600;white-space:nowrap}.login-forgot-link:hover{text-decoration:underline}.login-input-ltr{direction:ltr;text-align:left}.password-field{position:relative;width:100%}.password-field input{width:100%;padding-left:.8rem;padding-right:2.75rem}.password-field__toggle{position:absolute;top:50%;left:auto;right:.55rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-muted, #64748b);cursor:pointer;z-index:1}html[dir=rtl] .password-field input{padding-left:2.75rem;padding-right:.8rem}html[dir=rtl] .password-field__toggle{left:.55rem;right:auto}.password-field__toggle:hover{color:var(--text, #1e293b);background:#0f172a0d}.login-forgot-link--below{display:inline-block;margin-top:.45rem}.nursery-logo-preview{display:flex;align-items:center;justify-content:center;min-height:120px;padding:1rem;border-radius:16px;background:#ffffffb3;border:1px dashed var(--border)}.nursery-logo-preview__img{max-width:160px;max-height:100px;object-fit:contain}.nursery-logo-preview__placeholder{color:var(--text-muted);font-size:.9rem}.login-forgot-panel{margin-bottom:1rem;padding:.85rem 1rem;border-radius:12px;background:#eef2ff;border:1px solid #c7d2fe;font-size:.85rem;line-height:1.7}.login-forgot-panel a{display:block;color:var(--primary);font-weight:600}.login-card h1{text-align:center;color:var(--primary);margin-bottom:.5rem}.login-card p.subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem}html[data-os=ios] .login-page{font-size:15px}html[data-os=ios] .login-card{padding:1.85rem 1.6rem}html[data-os=ios] .login-card__title,html[data-os=ios] .login-card h1{font-size:1.18rem;margin-bottom:1.05rem}html[data-os=ios] .login-card .form-group label{font-size:.84rem}html[data-os=ios] .login-page .login-card>p{font-size:.86rem}html[data-os=ios] .login-card__submit,html[data-os=ios] .login-page .btn-primary{font-size:.94rem;padding:.6rem 1.05rem;min-height:2.55rem}html[data-os=ios] .auth-brand__title{font-size:1.28rem}html[data-os=ios] .install-prompt__title{font-size:.9rem}html[data-os=ios] .install-prompt__text{font-size:.84rem}html[data-os=ios] .login-card__lang{margin-bottom:.6rem}.actions-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.actions-row--triple{flex-wrap:nowrap;gap:.35rem;width:100%}.actions-row--triple .btn{flex:1 1 0;min-width:0;justify-content:center;padding:.45rem .35rem;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}html[data-os=ios]{font-size:15.5px}html[data-os=ios] .btn{padding:.58rem 1.05rem;font-size:.94rem}html[data-os=ios] .btn-sm{padding:.42rem .7rem;font-size:.86rem}html[data-os=ios] .actions-row--triple .btn,html[data-os=ios] .staff-att-actions--card .btn,html[data-os=ios] .admin-activity-card__action{font-size:.88rem;padding:.5rem .65rem;min-height:2.4rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.checkbox-row input{width:18px;height:18px;accent-color:var(--primary)}.parent-child-checklist{display:grid;grid-template-columns:max-content 22px;column-gap:.65rem;row-gap:.25rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);direction:rtl}.form-group .parent-child-checklist__item{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;margin:0;padding:.55rem .65rem;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.parent-child-checklist__item:hover{background:#4f46e50a}.parent-child-checklist__check{width:20px;height:20px;margin:0;padding:0;justify-self:center;align-self:center;accent-color:var(--primary);cursor:pointer}.parent-child-checklist__name{font-size:.95rem;line-height:1.35;text-align:right;min-height:20px}@media (max-width: 768px){.app-layout{display:block;width:100%;max-width:100%;overflow-x:clip;position:relative}.mobile-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;column-gap:.4rem;direction:ltr;position:fixed;top:0;left:0;right:0;width:100%;max-width:100%;box-sizing:border-box;z-index:110;height:52px;padding:0 .65rem;background:transparent;border-bottom:1px solid rgba(99,102,241,.12);backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden}.app-layout--nursery .mobile-topbar,.app-layout--parent .mobile-topbar{height:52px}.mobile-topbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,#e0e7fffa,#ede9fef2,#dbeafef5 70%,#e9d5ffeb);background-size:220% 220%;animation:center-brand-wave 14s ease-in-out infinite;z-index:0}.app-layout--parent .mobile-topbar:before{background:linear-gradient(115deg,#ccfbf1f2,#e0e7ffed 40%,#ede9fef2);background-size:220% 220%}.mobile-topbar>*{position:relative;z-index:1}.mobile-topbar__start{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding-top:0;justify-self:stretch}.mobile-topbar__start .notification-bell{width:44px;min-width:44px;height:44px;padding:0;border-radius:10px}.mobile-topbar__start .notification-bell__svg{width:20px;height:20px}.mobile-topbar__brand{display:flex;flex-direction:column;gap:0;line-height:1.15;min-width:0;max-width:100%;width:100%;direction:inherit;text-align:center;justify-self:stretch;overflow:hidden}.app-layout--nursery .mobile-topbar__brand{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0}.mobile-topbar__brand strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-topbar__brand .center-brand__nursery--compact{font-size:1rem}.mobile-topbar__brand .center-brand__platform{font-size:.7rem;margin-bottom:0}.app-layout--nursery .mobile-topbar__brand .center-brand__nursery--compact{font-size:1.12rem;font-weight:750;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout--nursery .mobile-topbar__start,.app-layout--parent .mobile-topbar__start{width:44px;height:44px}.app-layout--nursery .mobile-topbar__start .notification-bell,.app-layout--parent .mobile-topbar__start .notification-bell{width:44px;min-width:44px;height:44px}.app-layout--nursery .mobile-topbar__start .notification-bell__svg,.app-layout--parent .mobile-topbar__start .notification-bell__svg{width:26px;height:26px}.app-layout--nursery .sidebar-toggle,.app-layout--parent .sidebar-toggle{width:44px;height:44px}.app-layout--nursery .sidebar-toggle__icon,.app-layout--parent .sidebar-toggle__icon{width:26px;height:26px}.mobile-topbar__brand small{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;justify-self:center;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);cursor:pointer;color:var(--text);transition:background .15s,border-color .15s,color .15s}.sidebar-toggle:hover{background:#eef2ff;border-color:#4f46e540;color:var(--primary)}.sidebar-toggle__icon{width:20px;height:20px}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:115;border:none;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.sidebar{width:min(280px,88vw);max-width:88vw;top:0;bottom:0;transition:transform .35s cubic-bezier(.22,1,.36,1);pointer-events:none;visibility:hidden}.sidebar--dock-end{left:auto!important;right:0!important;transform:translate3d(105%,0,0);box-shadow:-16px 0 48px #0f172a1f}.sidebar--dock-start{left:0!important;right:auto!important;transform:translate3d(-105%,0,0);box-shadow:16px 0 48px #0f172a1f}.sidebar--dock-end.sidebar--open,.sidebar--dock-start.sidebar--open{transform:translateZ(0);pointer-events:auto;visibility:visible}.sidebar-close{display:flex;align-items:center;justify-content:center}.app-layout:has(.sidebar--dock-end) .main-content,.app-layout:has(.sidebar--dock-start) .main-content{margin-inline-start:0!important;margin-inline-end:0!important}.main-content{display:block;margin:0!important;margin-inline-start:0!important;margin-inline-end:0!important;padding:calc(52px + .85rem) 1rem 1rem;max-width:100%!important;width:100%!important;min-width:0;box-sizing:border-box;overflow-x:clip}.app-layout,.main-content__frame,.main-content__pages{overflow-x:clip;max-width:100%;min-width:0;width:100%;box-sizing:border-box}html,body,#root{overflow-x:clip;max-width:100%;width:100%}.page-header,.page-header h1,.page-header p{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.page-header--row{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;max-width:100%}.page-header--row>div:first-child{text-align:center;min-width:0}.page-header__actions{width:100%;justify-content:stretch;direction:inherit}.page-header__actions .btn{flex:1;justify-content:center}.page-header h1{font-size:1.35rem}.app-layout{flex-direction:column}.form-row,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.login-role-badge{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-bottom:.85rem;padding:.4rem .85rem;border-radius:999px;font-size:.82rem;font-weight:700}.login-role-badge--nursery{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.login-role-badge--parent{color:#0f766e;background:#ecfdf5;border:1px solid #99f6e4}.login-card--parent .login-card__header{text-align:center;margin-bottom:1.5rem}.login-card--parent .login-card__logo,.login-card--parent .auth-brand{display:flex;justify-content:center;margin-bottom:1rem}.login-card--parent .login-card__title--parent{font-size:1.35rem;margin-bottom:.35rem;color:var(--text)}.login-card--parent .login-card__subtitle{text-align:center;color:var(--text-muted);margin-bottom:0}.login-card--parent .login-card__form{text-align:start}html[dir=ltr] .login-card--parent .login-card__form,html[dir=ltr] .login-page,html[dir=ltr] .login-card,html[dir=ltr] .install-prompt,html[dir=ltr] .install-app-card,html[dir=ltr] .login-forgot-panel{text-align:left;direction:ltr}html[dir=rtl] .login-card--parent .login-card__form{text-align:right}html[dir=ltr] .login-forgot-link--below,html[dir=ltr] .form-group label{text-align:left}.login-card--parent .login-card__submit{width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.login-card--parent .login-card__footer{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--text-muted)}.sidebar--nursery{border-left-color:#c7d2fe}.sidebar--parent{border-left-color:#99f6e4}.sidebar--platform{border-left-color:#c9a22759}@media screen and (max-width: 768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea{font-size:16px!important}}@media (max-width: 767px){.feed-date-bar__controls{flex-wrap:wrap}}.pagination-wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.pagination-info{font-size:.85rem;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.pagination-btn{min-width:36px;height:36px;padding:0 .65rem;font-size:.85rem;border-radius:8px}.pagination-sep{color:var(--text-muted);padding:0 .2rem;font-size:.85rem}@media (max-width: 480px){.pagination-wrap{flex-direction:column;align-items:flex-start}}.ops-log__tabs{display:flex;gap:.55rem;margin-bottom:1rem;width:100%}.ops-log__tab{flex:1;border:1px solid var(--border, #d8dde6);background:transparent;padding:.7rem 1rem;border-radius:10px;cursor:pointer;font:inherit;font-size:1rem;font-weight:600;color:inherit;min-height:2.75rem}.ops-log__tab.is-active{background:var(--primary, #2f6fed);border-color:var(--primary, #2f6fed);color:#fff}@media (max-width: 768px){.ops-log__tabs{gap:.65rem;margin-bottom:1.15rem}.ops-log__tab{padding:.95rem .85rem;font-size:1.12rem;min-height:3.25rem;border-radius:12px}}html[data-os=ios] .ops-log__tab{font-size:1.08rem;min-height:3.1rem;padding:.9rem .85rem}.ops-log__list,.shortages-page__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.ops-log__item{padding:.75rem 0;border-bottom:1px solid var(--border, #e5e7eb)}.ops-log__item:last-child{border-bottom:none}.ops-log__body,.shortages-page__body{margin:0 0 .35rem;white-space:pre-wrap;line-height:1.5}.ops-log__meta,.shortages-page__meta{font-size:.85rem}.shortages-page__card{display:flex;flex-direction:column;gap:.65rem}.shortages-page__list{display:flex;flex-direction:column;gap:.85rem}.infinite-scroll-sentinel{min-height:1.5rem;padding:.75rem 0 .25rem;text-align:center}.infinite-scroll-sentinel .loading-text{margin:0;color:var(--text-muted, #64748b);font-size:.88rem}.action-byline{margin:.35rem 0 0;font-size:.78rem;line-height:1.4;color:#64748b;font-weight:500}.date-field-wrap{width:100%;max-width:100%;min-width:0}.date-field-wrap__label{display:block;margin-bottom:.35rem;font-size:.9rem;font-weight:500;color:var(--text)}.date-field-shell{position:relative;display:block;width:100%;max-width:100%;min-width:0}.date-field-shell__display{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:0;height:2.75rem;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-family:inherit;background:var(--surface, #fff);color:var(--text);direction:rtl;text-align:right;line-height:1.25;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}button.date-field-shell__display{-moz-appearance:none;appearance:none;-webkit-appearance:none}.date-field-shell__display:hover{border-color:#4f46e559}.date-field-shell:focus-visible,.date-field-shell__display:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.date-field-shell__display--empty{color:var(--text-muted)}.date-field-shell__icon{flex-shrink:0;font-size:1rem;opacity:.75;pointer-events:none}.date-field--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:none;background:transparent;color:transparent;caret-color:transparent;cursor:pointer;z-index:2;font-size:16px;opacity:.011;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (min-width: 768px){.date-field-shell__display{position:relative;z-index:1}.date-field--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;overflow:hidden}.app-layout--parent .parent-filter-card>.date-field-wrap,.app-layout--parent .parent-filter-card .parent-announcements-filters__date,.app-layout--parent .parent-filter-card .parent-daily-reports-filters__date{width:25%;max-width:25%;min-width:11rem}.app-layout--parent .parent-activities-filters__row{grid-template-columns:minmax(11rem,25%) minmax(12rem,16rem);justify-content:start;width:fit-content;max-width:100%}.app-layout--parent .parent-activities-filters__row .date-field-wrap{width:100%;max-width:100%}}@media (max-width: 767px){.date-field-shell__display{pointer-events:none;font-size:16px;height:2.875rem;padding:.55rem .65rem}.app-layout--nursery .date-field-wrap,.app-layout--nursery .date-field-shell,.app-layout--parent .date-field-wrap,.app-layout--parent .date-field-shell{width:100%;max-width:100%;min-width:0}.parent-filter-card{padding-inline:1rem}.parent-activities-filters__row .date-field-wrap{min-width:0}}.parent-filter-card{min-width:0}.parent-filter-card .week-day-strip+.date-field-wrap,.parent-filter-card .week-day-strip+.parent-daily-reports-filters__date,.parent-filter-card .week-day-strip+.parent-announcements-filters__date{margin-top:.85rem}.parent-filter-card .date-field-wrap{margin-bottom:0}@media (max-width: 360px){.parent-activities-filters__row{grid-template-columns:1fr;gap:.75rem}}
