.app{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;width:100%;min-height:100vh;padding:3rem 1.5rem;line-height:1.5;background-image:url(/assets/background-ETuy51bA.png);background-size:100% 100%;background-position:center;background-attachment:fixed}.app>*{max-width:960px;margin-left:auto;margin-right:auto}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.app-content h1{margin-bottom:12px}}@media (max-width: 480px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.15rem}body{font-size:14px}}.hero{text-align:center;margin-bottom:3rem}.hero h1{font-size:clamp(3rem,5vw,4rem);margin-bottom:.5rem}.hero p{color:#4b5563}.page-subtitle{margin:0;color:#64748b;font-size:.95rem}.status{background:linear-gradient(135deg,#ecfdf5,#f0f9ff);border:1px solid #d1fae5;border-radius:16px;padding:2rem;box-shadow:0 8px 24px #0f172a14}.status h2{margin-top:0}dl{display:grid;gap:.75rem}dl div{display:flex;justify-content:space-between;gap:1.5rem}dt{font-weight:600;color:#0f172a}dd{margin:0;color:#1f2937}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.top-actions button{margin-left:.5rem;background:#0b5cff;color:#fff;border:none;padding:.5rem .75rem;border-radius:8px;cursor:pointer}.top-actions button:nth-child(2){background:#06b6d4}.login-card{width:100%;max-width:520px;margin:0 auto 1.5rem;padding:1.5rem;border-radius:12px;background:#fff;border:1px solid #e6eef8;box-shadow:0 6px 20px #0206170f}@media (max-width: 480px){.login-card{padding:1rem;border-radius:8px}}.login-card--wide{max-width:1000px}.login-card h3{margin-top:0}.login-card form{display:grid;gap:1rem}.card{border:1px solid #e6eef8;box-shadow:0 6px 20px #0206170f}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-header__main{display:flex;align-items:center;gap:.75rem}.page-header__actions{display:flex;gap:.5rem}.eyebrow{margin:0;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:#0b5cff;font-weight:700}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.card-title{margin:0 0 4px}.card-meta{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#f0f4ff;color:#0b5cff;font-weight:600;font-size:.9rem}.pill-muted{background:#f8fafc;color:#475569}.section-divider{border-top:1px solid #e2e8f0;padding-top:4px;margin-top:4px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.form-grid--6{display:grid;grid-template-columns:repeat(6,1fr)}@media (max-width: 768px){.form-grid,.form-grid--6{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.form-grid,.form-grid--6{grid-template-columns:1fr}}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700}.status-badge-students{display:inline-block;font-size:14px;padding:4px 10px;border-radius:12px;font-weight:700;margin-bottom:3px}.status-active,.status-badge.status-active,.status-badge-students.status-active{background-color:#dcfce7!important;color:#166534!important}.status-inactive,.status-badge.status-inactive,.status-badge-students.status-inactive{background-color:#fee2e2!important;color:#991b1b!important}.section-title{font-weight:700;color:#0f172a;padding:8px 0;font-size:1rem}.form-grid label{min-width:0}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-6{grid-column:span 6}@media (max-width: 768px){.col-span-2,.col-span-3,.col-span-4,.col-span-6{grid-column:span 2}}@media (max-width: 480px){.col-span-2,.col-span-3,.col-span-4,.col-span-6{grid-column:span 1}}.login-card label{display:flex;flex-direction:column;font-size:.95rem}.login-card input{margin-top:.35rem;padding:.5rem;border:1px solid #d1d5db;border-radius:8px}.login-card .select-input{margin-top:.35rem}.login-card textarea{margin-top:.35rem;padding:.5rem;border:1px solid #d1d5db;border-radius:8px;min-height:100px;resize:vertical}.checkbox-field{display:flex;align-items:center;gap:.5rem;font-size:.95rem;padding-top:.35rem}.checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:#0b5cff}.checkbox-field span{flex:1}.switch{position:relative;display:inline-block;width:44px;height:22px}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:22px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:#0b5cff}input:checked+.slider:before{transform:translate(22px)}.login-card .actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.login-card .actions .ghost{background:transparent;border:1px solid #e5e7eb;padding:.45rem .75rem;border-radius:8px;cursor:pointer}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background-image:url(/assets/background-ETuy51bA.png);background-size:100% 100%;background-position:center;background-attachment:fixed}.login-page-inner{width:100%;max-width:520px;position:relative}.login-page .back{position:absolute;left:-.25rem;top:-2.25rem;background:transparent;border:none;color:#0b5cff;cursor:pointer;font-weight:600}.login-page-inner.split{display:flex;gap:1.5rem;align-items:stretch;justify-content:center;width:100%}@media (max-width: 768px){.login-page-inner.split{flex-direction:column;align-items:center;gap:1.5rem}}.login-page-inner .logo{flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:520px}@media (max-width: 768px){.login-page-inner .logo{flex:0 0 auto;align-items:center;justify-content:center}}.login-logo{width:100%;max-width:270px;height:auto;object-fit:contain;box-sizing:border-box;border-radius:12px;background:#fff;border:1px solid #e6eef8;box-shadow:0 6px 20px #0206170f;display:block}@media (max-width: 768px){.login-logo{width:100%;max-width:400px;min-height:unset;aspect-ratio:1}}.logo-box{width:180px;height:180px;border-radius:12px;background:linear-gradient(135deg,#fff,#f1f5f9);display:flex;align-items:center;justify-content:center;font-weight:700;color:#0f172a;box-shadow:0 10px 30px #0206170f}.login-wrapper{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.login-wrapper button.back{margin-bottom:1rem;align-self:flex-start}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.users-desc{color:#475569;margin:0}.btn-primary{background:#0b5cff;color:#fff;border:none;padding:.5rem .75rem;border-radius:8px;cursor:pointer}.btn-success{background:#10b981;color:#fff;border:none;padding:.5rem .75rem;border-radius:8px;cursor:pointer}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.5rem .75rem;border-radius:8px;cursor:pointer}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.user-card{background:#fffc;border:1px solid #e6eef8;padding:1rem;border-radius:12px;box-shadow:0 6px 18px #0206170a}.user-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.user-rule{background:#eef2ff;color:#3730a3;padding:.15rem .5rem;border-radius:8px;font-size:.85rem}.user-email{color:#475569;margin:0;font-size:.95rem}.table-wrapper{overflow:auto;background:#fff;border-radius:12px;border:1px solid #e6eef8;box-shadow:0 6px 18px #0206170a}.table{width:100%;border-collapse:collapse}@media (min-width: 768px){.table{min-width:640px}}.table thead{background:linear-gradient(90deg,#f8fafc,#fff)}.table thead th{text-align:left;padding:12px 16px;font-weight:700;color:#0f172a;font-size:.95rem;border-bottom:1px solid #eef2f7}.table tbody td{padding:12px 16px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.anamneses-page{font-size:14px}.anamneses-page .login-card--wide{max-width:1080px;padding:20px}.anamneses-page .card-header{margin-bottom:16px}.anamneses-page .form-grid{gap:12px}.anamneses-page .form-grid label{font-size:14px;gap:6px}.anamneses-page .form-grid input,.anamneses-page .form-grid select,.anamneses-page .form-grid textarea{width:100%;font-size:14px;padding:10px 12px;border-radius:10px;border:1px solid #dce4f0;box-shadow:inset 0 1px #fff9}.anamneses-page .form-grid textarea{min-height:90px;resize:vertical}.anamneses-page .checkbox-field{padding-top:0;gap:6px;font-size:14px;align-items:center}.anamneses-page .checkbox-field input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#0b5cff}.anamneses-page .section-title{padding:4px 0;margin-top:8px;font-size:15px}.anamneses-page h1{font-size:20px;margin-bottom:4px}.anamneses-page h2,.anamneses-page .card-title{font-size:16px}.anamneses-page .page-subtitle,.anamneses-page .card-meta,.anamneses-page .pill{font-size:12.5px}.anamneses-page label,.anamneses-page input,.anamneses-page select,.anamneses-page textarea,.anamneses-page .table,.anamneses-page .btn-primary,.anamneses-page .btn-secondary,.anamneses-page .btn-submit{font-size:14px}.table-row{transition:background .12s ease,transform .12s ease}.table-row:hover{background:linear-gradient(90deg,#0b5cff0a,#06b6d405);transform:translate(3px);cursor:pointer}.table .actions{display:flex;gap:8px}.table .actions button{background:#eef2ff;border:none;padding:6px 10px;border-radius:8px;cursor:pointer}.filters-bar{display:flex;gap:8px;margin-bottom:24px;align-items:center;background:linear-gradient(180deg,#fff9,#fafafa99);padding:10px;border-radius:12px;border:1px solid #eef2f8;box-shadow:0 6px 18px #0206170a}@media (max-width: 768px){.filters-bar{flex-wrap:wrap;gap:12px}}@media (max-width: 480px){.filters-bar{flex-direction:column;align-items:stretch;padding:8px;gap:8px}}.filter-input{padding:10px 12px;border-radius:10px;border:1px solid #e6eef8;box-shadow:0 6px 16px #0206170a;min-width:220px;outline:none;transition:box-shadow .12s ease,transform .12s ease;flex:1}@media (max-width: 480px){.filter-input{min-width:0;width:100%}}.filter-input:focus{box-shadow:0 8px 26px #0b5cff17;transform:translateY(-1px)}.filter-select{padding:8px 10px;border-radius:10px;border:1px solid #e6eef8}.select-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid #e6eef8;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath fill='%230b5cff' d='M5.5 7.5l4.5 4.5 4.5-4.5'/%3E%3C/svg%3E") no-repeat right 12px center/12px auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 6px 16px #0206170a}.select-input:focus{box-shadow:0 8px 26px #0b5cff17;outline:none}.btn-outline{background:transparent;border:1px solid rgba(11,92,255,.12);color:#0b5cff;padding:8px 12px;border-radius:10px;cursor:pointer;transition:background .12s ease,transform .12s ease}.btn-outline:hover{background:#0b5cff0f;transform:translateY(-2px)}.btn-secondary{background:linear-gradient(90deg,#f1f5ff,#eef2ff);border:1px solid #e6eef8;color:#0b3bd6;padding:6px 10px;border-radius:8px;cursor:pointer}.btn-primary{background:linear-gradient(90deg,#0b5cff,#06b6d4);box-shadow:0 8px 20px #0b5cff1f;transition:transform .12s ease,box-shadow .12s ease}@media (max-width: 480px){.btn-primary,.btn-secondary,.btn-success,.btn-submit{padding:8px 12px;font-size:14px}}.btn-primary:hover{transform:translateY(-2px)}.switch{position:relative;display:inline-block;width:40px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.4s;border-radius:20px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#10b981}input:checked+.slider:before{transform:translate(20px)}.form-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.btn-submit{background:linear-gradient(90deg,#0b5cff,#06b6d4);color:#fff;border:none;padding:10px 16px;font-weight:700;border-radius:12px;box-shadow:0 12px 30px #0b5cff1f;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.btn-submit:hover{transform:translateY(-3px);box-shadow:0 18px 40px #0b5cff29}.btn-submit[disabled]{opacity:.6;transform:none;box-shadow:none;cursor:default}.form-message{margin-top:.75rem;color:#065f46;background:#ecfdf5;padding:8px 12px;border-radius:8px;border:1px solid #d1fae5}.form-message.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}@media (max-width: 720px){.table{min-width:480px}.form-grid,.form-grid--6{grid-template-columns:1fr}}.login-card.login-card--wide{max-width:960px}.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.multi-select-group{margin-top:8px;background:#f8fafc;padding:12px;border-radius:12px;border:1px solid #e2e8f0}.multi-select-group .field-label{font-weight:700;margin-bottom:8px;color:#1e293b;font-size:13px;text-transform:uppercase;letter-spacing:.025em}.checkboxes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.postural-container{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 900px){.postural-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.postural-container{grid-template-columns:1fr}}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;padding:12px 0}.pagination button{background:#fff;border:1px solid #e6eef8;padding:6px 10px;border-radius:8px;cursor:pointer}.pagination button[disabled]{opacity:.45;cursor:default}.pagination .page-info{color:#475569}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}@media (max-width: 600px){.calendar-grid{gap:4px}}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}@media (max-width: 600px){.calendar-header{flex-direction:column;text-align:center}.calendar-header div{order:-1}.calendar-header button{width:100%}}.calendar-grid--header{margin-bottom:8px}.calendar-weekday{text-align:center;font-weight:600;color:#334155;font-size:.9rem}@media (max-width: 480px){.calendar-weekday{font-size:.7rem}}.calendar-cell{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px 0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#0f172a;cursor:pointer;position:relative;transition:transform .12s ease,box-shadow .12s ease,border .12s ease}@media (max-width: 480px){.calendar-cell{padding:10px 0;font-size:.85rem}}.calendar-cell:hover{transform:translateY(-2px);box-shadow:0 12px 24px #02061714}.calendar-cell--muted{color:#94a3b8;background:#f8fafc}.calendar-cell--selected{border-color:#0b5cff;box-shadow:0 14px 30px #0b5cff29}.calendar-cell--busy:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#0b5cff;bottom:10px;left:50%;transform:translate(-50%)}.agenda-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px}.agenda-time{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border .12s ease}.agenda-time strong{display:block;margin-bottom:4px}.agenda-time span{color:#475569;font-size:.9rem}.agenda-time:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a14}.agenda-time--selected{border-color:#0b5cff;box-shadow:0 12px 30px #0b5cff2e}.agenda-time__action{font-weight:600;color:#0b5cff}.agenda-slot-panel{margin-top:20px;padding-top:12px;border-top:1px dashed #e2e8f0}.agenda-slot-form{display:grid;grid-template-columns:1fr;gap:16px;margin-top:12px}.agenda-slot-students{max-height:260px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#f8fafc}.agenda-slot-students ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.agenda-slot-students li{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:6px 10px}.agenda-slot-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}.move-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:start}@media (max-width: 960px){.move-grid{grid-template-columns:1fr}}.move-calendar{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}.move-calendar .calendar-grid{gap:6px}.calendar-day{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:8px;font-weight:600;color:#0f172a;cursor:pointer;transition:all .12s ease}.calendar-day:hover:not(.disabled){border-color:#0b5cff;box-shadow:0 10px 20px #0b5cff1f}.calendar-day.other-month{background:#f8fafc;color:#94a3b8}.calendar-day.disabled{background:#f8fafc;color:#cbd5e1;cursor:not-allowed}.calendar-day.selected{border-color:#0b5cff;background:#e0eaff;box-shadow:0 0 0 2px #0b5cff29}@media (max-width: 840px){.agenda-slot-actions{flex-direction:column;align-items:stretch}.agenda-time{padding:12px}}.student-registration-page{padding:32px 16px 48px;background:linear-gradient(180deg,#f8fafc,#fff 45%);min-height:calc(100vh - 64px)}.student-layout{max-width:1080px;margin:0 auto}.student-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 24px 60px #0f172a1a;padding:36px}.student-card__header h1{margin:0;font-size:clamp(1.5rem,3vw,2.1rem);color:#0f172a}.presence-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width: 960px){.presence-grid{grid-template-columns:1fr}}.presence-slot{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;margin-bottom:12px;box-shadow:0 10px 30px #0f172a0f}.presence-slot__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.presence-students{display:grid;gap:10px}.presence-card{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.presence-card--done{background:#ecfdf3;border-color:#bbf7d0}.presence-photo-thumb{width:88px;height:64px;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;background:#f1f5f9;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;color:#94a3b8}.presence-photo-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;z-index:1}.presence-side{display:grid;gap:12px}.presence-card-box{padding:12px}.presence-extras{display:flex;flex-direction:column;gap:10px}.presence-extra-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.student-card__header p{margin:8px 0 0;color:#64748b;max-width:520px;font-size:.98rem}.student-form{display:flex;flex-direction:column;gap:28px;margin-top:28px}.student-section{border:1px solid #e2e8f0;border-radius:20px;padding:24px;background:linear-gradient(180deg,#f8fafce6,#fff 60%);box-shadow:inset 0 1px #ffffffb3}.student-section__header h2{margin:0;font-size:1.25rem;color:#0f172a}.student-section__header p{margin:6px 0 18px;color:#64748b;font-size:.95rem}.student-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.student-grid--compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.student-field{display:flex;flex-direction:column;font-size:.95rem;color:#0f172a}.student-field input,.student-field select{margin-top:6px;padding:10px 12px;border:1px solid #d1d5db;border-radius:12px;background:#fff;font-size:.95rem;transition:border .16s ease,box-shadow .16s ease}.student-field input:focus,.student-field select:focus{border-color:#0b5cff;box-shadow:0 0 0 3px #0b5cff1f;outline:none}.student-field--wide{grid-column:span 1}@media (min-width: 960px){.student-field--wide{grid-column:span 2}}.student-availability{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.student-availability__panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:20px;box-shadow:0 16px 40px #0f172a14;display:flex;flex-direction:column;gap:12px}.student-availability__panel h3{margin:0;font-size:1.05rem;color:#0f172a}.student-availability__panel p{margin:0;color:#64748b;font-size:.9rem}.student-checklist,.student-hour-grid{display:flex;flex-wrap:wrap;gap:10px}.student-hour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.student-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:.92rem;transition:transform .12s ease,box-shadow .12s ease,border .12s ease}.student-chip input{width:18px;height:18px;margin:0;accent-color:#0b5cff}.student-chip span{color:#334155;font-weight:500}.student-chip:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0f172a14}.student-chip--active{background:#eef2ff;border-color:#c7d2fe;box-shadow:0 10px 30px #3b82f62e}.student-chip--active span{color:#1e3a8a}.student-form__actions{display:flex;justify-content:flex-end}@media (max-width: 720px){.student-registration-page{padding:24px 12px 36px}.student-card{padding:28px 20px;border-radius:20px}.student-section{padding:20px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fff;width:95vw;max-width:1000px;height:auto;max-height:90vh;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .2s ease-out}@keyframes modal-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:1.25rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}@media (max-width: 480px){.modal-header{padding:1rem}.modal-header h3{font-size:1.1rem}}.modal-header h3{margin:0;color:#0f172a}.modal-body{padding:1.5rem;flex:1;overflow-y:auto}@media (max-width: 480px){.modal-body{padding:1rem;gap:16px!important}}.modal-footer{padding:1rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:12px}@media (max-width: 640px){.modal-footer{flex-direction:column-reverse;align-items:stretch}.modal-footer>div{display:flex;flex-direction:column;gap:8px}.modal-footer button{width:100%}}.search-dropdown{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.search-dropdown div:hover{background-color:#f3f4f6!important}.modal-content--large{max-width:1100px!important}.calendar-cell--highlighted{border:4px solid #ef4444!important;background-color:#fef2f2!important;z-index:1}.agenda-time--highlighted{border:4px solid #ef4444!important;box-shadow:0 0 10px #ef444466}.occupancy-neon-bar{position:absolute;bottom:0;left:0;height:4px;width:100%;box-shadow:0 0 8px currentColor;border-radius:0 0 4px 4px;transition:background-color .3s ease,color .3s ease}.calendar-cell,.agenda-time{position:relative!important;overflow:hidden}.calendar-cell--busy:after{display:none!important}.app-menu{width:240px;background:linear-gradient(180deg,#0f172a,#071024);color:#fff;height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;padding:20px;box-shadow:4px 0 20px #02061799;z-index:1000;transition:transform .3s ease}.app-menu .brand{font-weight:700;font-size:18px;display:flex;justify-content:center;margin:-20px -20px 24px;background:#fff;padding:10px}.menu-logo{width:100%;height:auto;max-height:120px;object-fit:contain}@media (max-width: 480px){.app-menu .brand{font-size:16px;margin-bottom:20px}.menu-list li{padding:10px;font-size:14px}}.menu-list{list-style:none;padding:0;margin:0;flex:1}.menu-list li{padding:12px 10px;border-radius:8px;cursor:pointer;margin-bottom:6px;transition:all .15s ease}.menu-list li:hover{background:#ffffff0a;transform:translate(6px)}.menu-footer{padding-top:12px}.logout{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.06);padding:8px 12px;border-radius:6px;cursor:pointer;width:100%}.app-root{display:flex;min-height:100vh;background-image:url(/assets/background-ETuy51bA.png);background-size:100% 100%;background-position:center;background-attachment:fixed}.app-content{margin-left:240px;padding:32px;flex:1;min-width:0}.app-hero h1{margin:0 0 8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 6px 20px #0206170f}.menu-toggle{display:none;position:fixed;top:15px;left:15px;z-index:1100;background:#0f172a;color:#fff;border:none;width:40px;height:40px;border-radius:8px;font-size:20px;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a}.menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 1024px){.app-menu{transform:translate(-100%)}.app-menu--open{transform:translate(0)}.menu-toggle{display:flex}.menu-overlay{display:block}.app-content{margin-left:0;padding:70px 20px 20px}}@media (max-width: 480px){.app-content{padding:60px 12px 12px}}@media (max-width: 640px){.cards{grid-template-columns:1fr}.app-content{padding:70px 15px 15px}}.notification-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.notification-container{background:#ffffffd9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;max-width:800px;border-radius:12px;padding:40px;box-shadow:0 10px 25px #0000001a}.notification-title{text-align:center;color:#333;font-size:28px;margin-bottom:40px;letter-spacing:1.5px;font-weight:600}.notification-item{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.05)}.notification-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.notification-info{display:flex;flex-direction:column;gap:4px}.notification-label{font-size:18px;color:#444;font-weight:500}.notification-description{font-size:14px;color:#888}.notification-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:15px}.field-group{display:flex;flex-direction:column;gap:8px}.field-group label{font-size:14px;color:#555;font-weight:500}.field-group input,.field-group textarea{padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:16px;background:#fff;transition:border-color .2s;font-family:inherit}.field-group input:focus,.field-group textarea:focus{outline:none;border-color:#0ea5e9}.animate-in{animation:slideDown .3s ease-out}.variable-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.btn-variable{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:6px 12px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s;font-weight:500}.btn-variable:hover{background:#e2e8f0;border-color:#cbd5e1;color:#1e293b}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-fields:has(.field-group:only-child){grid-template-columns:1fr 1fr}.notification-footer{margin-top:40px;display:flex;justify-content:center}.save-button{background-color:#0ea5e9;color:#fff;border:none;padding:15px 40px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:0 4px 12px #0ea5e94d}.save-button:hover{background-color:#0284c7;transform:translateY(-1px)}.save-button:active{transform:translateY(1px)}.save-button:disabled{background-color:#94a3b8;cursor:not-allowed;box-shadow:none}.whatsapp-config-button{background-color:#25d366;color:#fff;border:none;padding:15px 30px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .2s;box-shadow:0 4px 12px #25d3664d}.whatsapp-config-button:hover{background-color:#128c7e}.whatsapp-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px}.whatsapp-container{background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;max-width:600px;border-radius:12px;padding:40px;box-shadow:0 10px 25px #0000001a;text-align:center}.whatsapp-back-nav{margin-bottom:20px;text-align:left}.back-button{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:0;transition:color .2s}.back-button:hover{color:#333}.whatsapp-title{color:#333;font-size:24px;margin-bottom:30px;font-weight:600}.whatsapp-card{padding:20px;border:1px solid #eee;border-radius:8px;background:#fff}.status-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-weight:600;font-size:14px;margin-bottom:20px}.status-badge[data-status=open]{background:#dcfce7;color:#166534}.status-badge:not([data-status=open]){background:#fef2f2;color:#991b1b}.instance-info{margin-bottom:20px;line-height:1.6;color:#555}.qr-container{display:flex;flex-direction:column;align-items:center;gap:15px;margin:20px 0}.qrcode-img{width:250px;height:250px;border:1px solid #ddd;padding:10px;border-radius:8px}.actions{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.primary-button{background:#25d366;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.secondary-button{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:8px 16px;border-radius:8px;cursor:pointer}.danger-button{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500}.primary-button:hover,.danger-button:hover{opacity:.9}.student-portal{max-width:1200px;width:100%}.portal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:4px}.portal-header h1{font-size:24px;color:#1e293b;margin:0}.next-class-highlight{background:#f0fdf4;border:1px solid #bbf7d0;padding:2px;border-radius:12px;display:flex;flex-direction:column;gap:4px}.next-class-highlight span{font-size:13px;color:#166534;font-weight:500}.next-class-highlight strong{font-size:16px;color:#14532d}.agenda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px;margin-top:4px}.agenda-card{background:#fff;border-radius:12px;padding:4px;display:flex;align-items:center;gap:4px;box-shadow:0 4px 6px -1px #0000001a;position:relative;border:1px solid #f1f5f9}.agenda-card.next{border:2px solid #3b82f6;background:#eff6ff}.agenda-card.today{border-left:4px solid #10b981}.card-date{display:flex;flex-direction:column;align-items:center;min-width:50px;padding-right:15px;border-right:1px solid #f1f5f9}.card-date .day{font-size:20px;font-weight:700;color:#1e293b;line-height:1}.card-date .weekday{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:600;margin-top:2px}.card-info{display:flex;flex-direction:column;gap:4px}.card-info .time{font-size:15px;font-weight:600;color:#334155}.presence-btn{border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.presence-btn.present{background:#dcfce7;color:#15803d}.presence-tag.absent{background:#fee2e2;color:#b91c1c;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;display:inline-block}.next-label{position:absolute;top:-10px;right:15px;background:#3b82f6;color:#fff;font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:.5px}.next-invoice-section{margin-bottom:40px}.invoice-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px -1px #0000001a}.status-presence{background:linear-gradient(135deg,#ecfdf5,#f0f9ff);border:1px solid #d1fae5;border-radius:16px;padding:8px;box-shadow:0 8px 24px #0f172a14}.invoice-card.next{background:#fff;border-left:4px solid #3b82f6;color:#1e293b}.invoice-card.overdue{border-left:4px solid #ef4444;background:#fef2f2}.status-unpaid{color:#ef4444;font-weight:700}.status-pending{color:#3b82f6;font-weight:700}.invoice-card.next h3{color:#1e293b}.invoice-card.overdue h3{color:#7f1d1d}.invoice-card h3{margin:0 0 20px;font-size:18px}.invoice-details{display:flex;gap:40px;flex-wrap:wrap}.detail{display:flex;flex-direction:column;gap:4px}.detail span{font-size:13px;opacity:.8}.detail strong{font-size:20px}.detail strong.price{color:#4ade80}.status-badge-payment{padding:2px 4px;border-radius:6px;font-size:11px;font-weight:700;display:inline-block;text-transform:uppercase;line-height:1;vertical-align:middle}.status-badge-payment.paid{background:#dcfce7;color:#15803d}.status-badge-payment.unpaid{background:#fee2e2;color:#b91c1c}.status-badge-payment.pending{background:#f1f5f9;color:#64748b}.payment-history h3{margin-bottom:20px;color:#1e293b}.payment-history .table th,.payment-history .table td{padding:4px 6px;text-align:center;font-size:14px;vertical-align:middle!important}.payment-history .table th{background:#f8fafc;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:8px 6px}.capitalize{text-transform:capitalize}.swal-presence-img{border-radius:8px;max-width:100%}@media print{.app-menu,.menu-toggle,.no-print{display:none!important}.app-root{display:block!important}.app-content{margin:0!important;padding:0!important}}html,body{margin:0;padding:0;background-color:#f8fafc;color:#0f172a;min-height:100%}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}
