.header{display:flex;align-items:center;justify-content:space-between;padding:.4rem 15px .4rem 10px;position:sticky;top:0;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e5e7eb;z-index:10;gap:1.5rem;flex-wrap:nowrap}.logo-nav{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap;white-space:nowrap}.logo-divider{width:1.5px;height:28px;background:#e5e7eb;display:block}.logo{font-weight:700;font-size:1.2rem;display:inline-flex;align-items:center;gap:.5rem;color:#0f172a;text-decoration:none;padding:5px 0}.logo-text{font-family:Lexend,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500}.logo-mark{display:block}nav{display:flex;gap:1rem;align-items:center;flex-wrap:nowrap;white-space:nowrap}nav a{color:#0f172a;font-weight:500;padding:5px 0}.actions{display:flex;gap:.75rem;align-items:center;flex-wrap:nowrap;white-space:nowrap}.actions a{font-weight:600;display:inline-flex;align-items:center;line-height:1}.actions button{display:inline-flex;align-items:center;line-height:1}.outline{background:#f0f2f5;border:1px solid #F0F2F5;padding:10px .9rem;border-radius:12px;color:#0f172a;margin-top:-25px}.primary_reg{background:#2194f2;color:#fff;padding:10px .9rem;border-radius:12px;border:1px solid #2194F2;box-shadow:0 10px 20px #4f46e533;margin-top:-25px}.ghost{background:transparent;border:none;color:#475569;padding:5px .75rem;border-radius:8px;margin-top:-25px}.login-link{margin-right:5px}button.outline{background:transparent;border:1px solid #0f172a;padding:5px .8rem;border-radius:8px;color:#0f172a}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.api-error-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#b3261e;color:#fff;padding:10px 16px;border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:9999;font-weight:600}.app-layout{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;padding:2rem 0 3rem}.footer{padding:1.5rem 0;text-align:center;color:#475569;border-top:1px solid #e5e7eb}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;align-items:center;padding:2rem 0 3rem}.hero-text h1{margin:.5rem 0;font-size:clamp(2.2rem,4vw,3rem)}.hero .pill{display:inline-block;background:#e0f2fe;color:#0369a1;padding:.3rem .8rem;border-radius:999px;font-weight:700}.subtitle{color:#475569;max-width:540px}.cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.2rem}.btn{padding:.9rem 1.1rem;border-radius:12px;font-weight:700;border:none;display:inline-flex;align-items:center;justify-content:center}.btn.btn-primar{background:#2194f2;border:1px solid #2194F2;color:#fff}.btn.secondar{background:#f0f2f5;border:1px solid #F0F2F5;color:#0f172a}.hero-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.5rem;box-shadow:0 20px 40px #0f172a0f}.hero-card h3{margin-top:0}.hero-card ul{color:#475569;padding-left:1.2rem}.section-header h2{margin:0}.card h3{margin:.5rem 0}.card p{margin:0;color:#475569}.section{padding:2rem 0}.section-header p{color:#475569}.card-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.benefit-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.2rem;box-shadow:0 10px 25px #0f172a0d}.benefit-card h3{margin:.5rem 0}.benefit-card p{margin:0;color:#475569}.icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef2ff;font-size:1.2rem}.section{padding:2rem 0 3rem}.stats-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.2rem;text-align:center;box-shadow:0 10px 25px #0f172a0d}.value{font-size:2rem;font-weight:800}.label{color:#475569}.auth-page{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(420px,90vw);background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:2rem;box-shadow:0 20px 40px #0f172a14}.auth-card h1{margin:0 0 1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;color:#0f172a;font-weight:600}.auth-form input{padding:.85rem .9rem;border-radius:10px;border:1px solid #e5e7eb;font-size:1rem}.auth-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecdd3;border-radius:10px;padding:.75rem .9rem}.btn.full{width:100%;margin-top:.5rem;justify-content:center}.auth-footer{margin-top:1rem;color:#475569;text-align:center}.auth-footer a{color:#2194f2;font-weight:700}.register-page{display:grid;place-items:center;padding:2rem 0 3rem}.register-card{width:min(720px,95vw);background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:2rem;box-shadow:0 20px 40px #0f172a14}.progress{margin-bottom:1rem}.progress-label{font-weight:700;margin-bottom:.4rem}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:999px}.progress-fill{width:100%;height:8px;border-radius:999px;background:#0f172a}.register-header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:1rem}.role-toggle{display:flex;gap:.5rem}.role-toggle button{border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:.6rem 1rem;font-weight:700;color:#0f172a}.role-toggle button.active{background:#eef2ff;border-color:#6366f1;color:#4f46e5}.register-form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.register-form label{display:flex;flex-direction:column;gap:.35rem;color:#0f172a;font-weight:600}.register-form input{padding:.85rem .9rem;border-radius:10px;border:1px solid #e5e7eb;font-size:1rem}.verify-section{display:flex;flex-direction:column;gap:.5rem;max-width:320px}.actions{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.btn.secondary_back{background:#f0f2f5;border:1px solid #F0F2F5;color:#0f172a;padding:.8rem 1rem;border-radius:10px}.btn.btn-primary{padding:.8rem 1rem;border-radius:10px}.auth-error{margin-top:1rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecdd3;border-radius:10px;padding:.75rem .9rem}.auth-success{margin-top:1rem;background:#ecfdf3;color:#047857;border:1px solid #bbf7d0;border-radius:10px;padding:.75rem .9rem}@media(max-width:640px){.actions{flex-direction:column;align-items:stretch}}.dashboard{padding:1rem 0 3rem}.info-grid{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.2rem;box-shadow:0 10px 25px #0f172a0d}.card h3{margin-top:0}.info-row{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid #f1f5f9}.info-row span{color:#475569}.info-row strong{color:#0f172a}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.btn.secondary{background:#fff;border:1px solid #e5e7eb;color:#0f172a;padding:.8rem 1rem;border-radius:10px;text-align:center}.search-page{display:flex;flex-direction:column;gap:1.5rem}.pill{display:inline-block;background:#e0f2fe;color:#0369a1;padding:.25rem .75rem;border-radius:999px;font-weight:600}.subtitle{color:#475569;max-width:520px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;box-shadow:0 10px 30px #0f172a0d}.search-header h1{margin:.3rem 0;font-size:clamp(1.8rem,3vw,2.4rem)}.search-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1.5rem}.filters-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;box-shadow:0 8px 20px #0f172a0d;display:flex;flex-direction:column;gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-row{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;border:1px solid #e5e7eb;background:#f8fafc;font-weight:600;cursor:pointer}.chip input{pointer-events:none}.chip-active{border-color:#6366f1;background:#eef2ff;color:#4338ca}.filters-card input,.filters-card select{padding:.65rem .75rem;border-radius:10px;border:1px solid #e5e7eb;font-size:1rem;background:#f8fafc}.filters-card button.btn-primary.full{width:100%;padding:.75rem;border:none;border-radius:10px;font-weight:700;margin-top:.35rem}.error{background:#fef2f2;color:#b91c1c;padding:.75rem;border-radius:10px;border:1px solid #fecdd3}.results{display:flex;flex-direction:column;gap:.75rem}.tutor-card{display:flex;flex-direction:column;gap:.5rem}.tutor-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.tutor-header h3{margin:0}.tutor-main{display:flex;align-items:center;gap:.75rem}.tutor-avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1rem;box-shadow:0 12px 28px #4f46e52e;overflow:hidden}.tutor-avatar img{width:100%;height:100%;object-fit:cover;display:block}.muted{color:#475569}.price{font-weight:700;color:#0f172a}.tutor-actions{display:flex;gap:.5rem;flex-wrap:wrap}.secondary-btn,.results button{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:10px;font-weight:700;border:1px solid #e5e7eb;background:#fff;text-decoration:none}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:10px;font-weight:700;text-decoration:none}.tutor-actions .secondary-btn,.tutor-actions .btn-primary{min-width:160px;justify-content:center}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff}@media(max-width:900px){.search-grid{grid-template-columns:1fr}.tutor-header{align-items:flex-start}}.profile-shell{background:linear-gradient(180deg,#f6f9ff,#eef3ff);padding:1.5rem 0 3rem}.profile-page{display:grid;grid-template-columns:92px 1fr;gap:1.5rem;align-items:flex-start}.profile-sidebar{background:#e6f1ff;border:1px solid #d6e6ff;border-radius:22px;padding:1.1rem .75rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:0 10px 28px #4d8bff24;position:sticky;top:1.5rem}.sidebar-icon{width:54px;height:54px;border-radius:16px;background:#fff;border:1px solid #d6e6ff;display:grid;place-items:center;color:#316bff;font-size:1.25rem;box-shadow:0 10px 18px #316bff2e}.sidebar-icon.active{background:#4d8bff;color:#fff;border-color:#4d8bff}.sidebar-avatar{border-radius:50%;font-weight:700;font-size:1rem}.profile-main{display:flex;flex-direction:column;gap:1.1rem}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.profile-header h1{margin:0;color:#0f172a}.eyebrow{margin:0 0 .25rem;font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;color:#5b73a4}.muted{color:#5b6b82;margin:.25rem 0}.profile-main .card,.profile-card{background:#fff;border:1px solid #e3eaff;border-radius:22px;padding:1.35rem;box-shadow:0 16px 36px #4d8bff17}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.profile-summary{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.profile-summary-text{display:flex;flex-direction:column;gap:.35rem}.profile-summary-text strong{font-size:1.1rem}.avatar-placeholder{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#4d8bff,#75a6ff);color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:600;box-shadow:0 12px 30px #4d8bff40}.profile-avatar-block{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.avatar-img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid #e4edff}.profile-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;align-self:stretch;justify-content:flex-end}.btn{border:none;background:#e7efff;color:#274b8c;padding:.75rem 1.1rem;border-radius:14px;font-weight:600;transition:transform .1s ease,box-shadow .1s ease,background .2s ease}.btn.btn-primary{background:var(--primary-color);color:#fff;box-shadow:0 14px 26px #2194f259}.btn.small{padding:.45rem .9rem;font-weight:600}.btn:disabled{opacity:.7;cursor:not-allowed}.profile-card label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#1f2a44}.profile-card input,.profile-card textarea,.profile-card select{width:100%;padding:.9rem 1rem;border-radius:18px;border:1px solid #dbeafe;background:#f7fbff;font-size:.95rem;color:#0f172a}.profile-card textarea{min-height:120px;resize:vertical}.profile-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.profile-form .btn{width:100%;margin-top:.35rem}.profile-field-full{grid-column:1 / -1;display:flex;flex-direction:column;gap:.4rem}.homework-form{display:flex;flex-direction:column;gap:1.25rem;background:#fff;border:1px solid #e3eaff;border-radius:20px;padding:1.5rem 1.75rem;box-shadow:0 18px 40px #4d8bff1f}.homework-form .card-header{padding-bottom:.5rem;border-bottom:1px solid #eef2ff;padding-bottom:0;border-bottom:none;margin-bottom:-.5rem}.homework-form h3{margin:0 0 .25rem;color:#0f172a}.homework-form .muted{color:#5c6f95;margin:.2rem 0 0}.homework-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem}.homework-grid .full-span{grid-column:1 / -1}.homework-form label{display:flex;flex-direction:column;gap:.4rem;font-weight:700;color:#112341;font-size:.95rem}.homework-form input,.homework-form textarea,.homework-form select{width:100%;padding:.85rem .95rem;border-radius:12px;border:1px solid #d6e6ff;background:#fff;font-size:.95rem;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease,background .2s ease;box-shadow:0 8px 16px #4d8bff0f}.homework-form input::placeholder,.homework-form textarea::placeholder{color:#7a88a6}.homework-form input:focus,.homework-form textarea:focus,.homework-form select:focus{outline:none;border-color:#4d8bff;box-shadow:0 0 0 3px #4d8bff2e,0 8px 18px #4d8bff24}.homework-form textarea{min-height:120px;resize:vertical}.homework-form small{color:#5b6b82;font-weight:500}.deadline-field{display:flex;flex-direction:column;gap:.4rem}.deadline-field .deadline-row{display:flex;gap:.75rem;align-items:center;display:grid;grid-template-columns:1fr auto}.deadline-field input[disabled]{background:#f0f4ff;color:#7d8aa6;box-shadow:none}.checkbox-inline{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:#1f2a44}.checkbox-inline input{width:18px;height:18px;accent-color:#4d8bff}.attachments-block{border:1px solid #e1eaff;border-radius:18px;padding:1.1rem 1.25rem;background:#f6f9ff;display:flex;flex-direction:column;gap:.85rem;box-shadow:inset 0 1px #fff9}.attachments-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.attachments-header strong{color:#0f172a;font-size:1.02rem}.dropzone{border:2px dashed #c6d6ff;border-radius:14px;padding:1.2rem;text-align:center;color:#2f4b89;background:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .1s ease}.dropzone:hover,.dropzone:focus-within{background:#f1f6ff;border-color:#4d8bff;box-shadow:0 12px 26px #4d8bff24;transform:translateY(-1px)}.attachment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.attachment-row{background:#fff;border:1px solid #e3eaff;border-radius:14px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:0 8px 18px #4d8bff14}.attachment-info{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.attachment-actions{display:flex;gap:.5rem;flex-wrap:wrap}.field-error{color:#b91c1c;font-size:.85rem}.has-error input,.has-error textarea{border-color:#f59e0b;background:#fff7ed}.homework-form .btn{border:1px solid #d6e6ff;background:#f3f7ff;color:#1c3b7a;padding:.75rem 1.1rem;border-radius:14px;font-weight:700;transition:transform .1s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;box-shadow:0 8px 18px #4d8bff14}.homework-form .btn:hover{background:#e9f1ff;border-color:#cbdcff;transform:translateY(-1px)}.homework-form .btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.homework-form .btn.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 14px 26px #2194f24d}.homework-form .btn.small{padding:.55rem .9rem;font-weight:700}.homework-form .btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.homework-form .form-actions.spaced{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;align-items:flex-end;padding-top:.05rem}.homework-form .form-actions.spaced .btn{width:140px;text-align:center}.form-actions.spaced{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.homework-modal .form-actions.spaced .btn.btn-primary{width:140px;text-align:center;margin-top:1rem}.homework-modal .reply-form textarea{width:100%;min-height:130px}.rich-text-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.rich-text-toolbar{display:flex;gap:.35rem}.rich-textarea{min-height:180px;white-space:pre-wrap}.profile-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.profile-view-field{padding:.75rem .9rem;border:1px solid #e4edff;background:#f8fbff;border-radius:16px;display:flex;flex-direction:column;gap:.35rem}.profile-view-field.full-span{grid-column:1 / -1}.profile-field-label{margin:0;color:#5b6b82;font-weight:700;font-size:.9rem}.profile-field-value{margin:0;color:#0f172a;line-height:1.4;white-space:pre-wrap}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;grid-column:1 / -1}.calendar-card .calendar-toggle{display:flex;gap:.4rem}.pill{background:#f1f5ff;border:1px solid #d6e6ff;color:#3458a8;border-radius:999px;padding:.45rem .9rem;font-weight:600}.pill.active{background:#4d8bff;color:#fff;border-color:#4d8bff}.calendar-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem}.calendar-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-radius:16px;background:#f8fbff;border:1px solid #e4edff}.calendar-title{font-weight:700;color:#102043}.calendar-time{color:#4c5e7c;margin:.35rem 0}.status-pill{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:#e7f0ff;color:#1d3c7a;font-weight:700;font-size:.85rem}.calendar-actions{display:flex;gap:.4rem;flex-wrap:wrap}.profile-grid.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.homework-list{display:grid;gap:.75rem}.homework-card{border:1px solid #e4edff;background:#f8fbff;border-radius:16px;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.85rem}.homework-card .profile-actions{margin-top:auto;margin-bottom:.7rem}.homework-button{cursor:pointer;text-align:left}.homework-button:focus{outline:2px solid #4d8bff}.homework-meta{display:flex;flex-direction:column;gap:.35rem;color:#465570}.tag{display:inline-block;padding:.3rem .75rem;border-radius:12px;background:#e6f3ff;color:#1d3c7a;font-weight:700;font-size:.85rem}.tag.success{background:#dcfce7;color:#166534}.tag.danger{background:#ffe8e8;color:#b91c1c}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.chip{padding:.45rem .75rem;background:#f1f5ff;border:1px solid #d6e6ff;border-radius:12px;color:#2b4b92;font-weight:600}.chip-link{text-decoration:none;display:inline-block}.chip-link:hover{background:#e7efff;border-color:#cfdfff}.chip-static{cursor:default;pointer-events:none}.chip-title{display:block}.chip-subtitle{display:block;font-size:.85rem;color:#5b6b82;margin-top:.15rem}.chip-input{display:flex;flex-direction:column;gap:.4rem}.editable-chip-list{border:1px solid #dbeafe;background:#f7fbff;border-radius:14px;padding:.5rem;display:flex;flex-wrap:wrap;gap:.5rem}.chip.editable-chip{display:inline-flex;align-items:center;gap:.35rem}.chip-remove{background:transparent;border:none;color:#1b2f63;font-weight:700;cursor:pointer}.chip-input-field{border:none;background:transparent;min-width:160px;padding:.4rem .5rem;flex:1}.chip-input-field:focus{outline:none}.chip-suggestions{display:flex;gap:.5rem;flex-wrap:wrap}.chip-active{background:#4d8bff;color:#fff;border-color:#4d8bff}.error-text{margin:0;color:#b42318;font-weight:700;font-size:.9rem}.banner{padding:.85rem 1rem;border-radius:14px;font-weight:600}.banner.error,.error{background:#fff5f5;border:1px solid #fecdd3;color:#b42318;border-radius:14px}.banner.success,.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:14px}.section-title{margin:0 0 .35rem;color:#0f172a}.modal-overlay{position:fixed;inset:0;background:#090f2859;display:grid;place-items:center;padding:1.5rem;z-index:1000}.modal-card{background:#fff;border-radius:28px;border:1px solid #dbeafe;box-shadow:0 24px 60px #225bc440;width:min(1100px,96vw);max-height:90vh;overflow:auto}.schedule-modal{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.schedule-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.schedule-modal-actions{display:flex;align-items:center;gap:.5rem}.schedule-modal-content{display:flex;flex-direction:column;gap:1rem}.lesson-modal-card{padding:1.4rem 1.6rem}.homework-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.homework-modal .modal-header .modal-actions{display:flex;gap:.5rem;align-items:flex-start}.homework-modal .modal-header .modal-actions .btn.btn-primary{margin-top:.4rem}.lesson-modal-card .modal-header{position:relative;padding-left:4rem;padding-bottom:1rem}.lesson-modal-card .modal-header .icon-btn{position:absolute;left:.1rem;margin-top:.4rem;top:1rem}.lesson-modal{display:flex;flex-direction:column;gap:1.1rem}.lesson-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(135deg,#f4f7ff,#e8f0ff);border:1px solid #dbeafe;box-shadow:0 12px 30px #4d8bff1f}.lesson-time{margin:0;color:#0f172a;font-weight:800;font-size:1.15rem}.lesson-date{margin:.1rem 0;color:#2b3f70;font-weight:600}.lesson-weekday{margin:0;color:#5b6b82;font-weight:500}.subject-chip{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem .95rem;border-radius:16px;background:#fff;border:1px solid #d6e6ff;box-shadow:0 12px 28px #4d8bff24;min-width:230px}.subject-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#4d8bff,#75a6ff);display:grid;place-items:center;color:#fff;font-size:1.15rem}.subject-name{margin:.1rem 0 0;color:#0f172a;font-weight:700}.lesson-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}.meta-card{border:1px solid #e4edff;background:#f9fbff;border-radius:16px;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 10px 24px #316bff14}.meta-label{margin:0;color:#5b73a4;font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;font-weight:700}.meta-value{margin:0;color:#0f172a;font-weight:700;line-height:1.35}.meta-subtext{margin:0;color:#4c5e7c}.lesson-description{margin:.2rem 0 0;color:#0f172a;line-height:1.55}.meta-card.full-span{grid-column:1 / -1}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid #d6e6ff;background:#4d8bff;color:#fff;font-weight:800;font-size:1.1rem;display:grid;place-items:center;box-shadow:0 14px 28px #4d8bff47}.icon-btn.ghost{background:#f3f6ff;color:#1b2f63;box-shadow:none}.btn.ghost{background:#f3f6ff;color:#1b2f63;border:1px solid #d6e6ff;box-shadow:none}.modal-form-card{border:1px solid #e3eaff;background:#fff;border-radius:20px;padding:1.35rem 1.5rem;box-shadow:0 18px 38px #4d8bff1f}.modal-form-card form{display:flex;flex-direction:column;gap:1rem}.modal-form-card h3{margin:0 0 .3rem;color:#0f172a}.modal-form-card label{display:flex;flex-direction:column;gap:.4rem;font-weight:700;color:#112341;font-size:.95rem}.modal-form-card input,.modal-form-card textarea,.modal-form-card select{width:100%;padding:.85rem .95rem;border-radius:12px;border:1px solid #d6e6ff;background:#fff;font-size:.95rem;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease,background .2s ease;box-shadow:0 8px 16px #4d8bff0f}.modal-form-card input::placeholder,.modal-form-card textarea::placeholder{color:#7a88a6}.modal-form-card input:focus,.modal-form-card textarea:focus,.modal-form-card select:focus{outline:none;border-color:#4d8bff;box-shadow:0 0 0 3px #4d8bff2e,0 8px 18px #4d8bff24}.modal-form-card textarea{min-height:110px;resize:vertical}.modal-form-card small{color:#5b6b82;font-weight:500}.modal-form-card .checkbox{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;color:#1f2a44}.modal-form-card .checkbox input{width:18px;height:18px;accent-color:#4d8bff}.modal-form-card .days-of-week{display:flex;flex-direction:column;gap:.4rem}.modal-form-card .pill-list{display:flex;flex-wrap:wrap;gap:.4rem}.modal-form-card .pill{background:#f5f8ff;border:1px solid #d6e6ff;color:#1d3c7a;border-radius:12px;padding:.45rem .9rem;font-weight:700;transition:transform .1s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.modal-form-card .pill:hover{background:#eaf1ff;border-color:#cbdcff;transform:translateY(-1px)}.modal-form-card .pill.active{background:#4d8bff;color:#fff;border-color:#4d8bff;box-shadow:0 12px 24px #4d8bff38}.modal-form-card .btn{border:1px solid #d6e6ff;background:#f3f7ff;color:#1c3b7a;padding:.75rem 1.1rem;border-radius:14px;font-weight:700;transition:transform .1s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;box-shadow:0 8px 18px #4d8bff14;width:100%;text-align:center}.modal-form-card .btn:hover{background:#e9f1ff;border-color:#cbdcff;transform:translateY(-1px)}.modal-form-card .btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.modal-form-card .btn.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 14px 26px #2194f24d}.modal-form-card .btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.quick-create-card{background:#f9fbff}.quick-create-hint{margin:.25rem 0;color:#5b6b82}.homework-modal{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.homework-modal-body{display:flex;flex-direction:column;gap:1rem}.replies-block{border:1px solid #e4edff;background:#f8fbff;border-radius:18px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.replies-header{display:flex;justify-content:space-between;align-items:center}.replies-list{display:flex;flex-direction:column;gap:.75rem}.reply-card{border:1px solid #e3eaff;background:#fff;border-radius:14px;padding:.75rem;display:flex;flex-direction:column;gap:.4rem}.reply-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.reply-text{margin:0;color:#1f2a44}.attachment-list.compact .attachment-row{padding:.6rem}@media(max-width:820px){.deadline-field .deadline-row{flex-direction:column;align-items:flex-start}.homework-form .form-actions.spaced{justify-content:stretch}.homework-form .btn{width:100%}.homework-form .attachments-header{align-items:flex-start}.homework-form .dropzone{width:100%}}@media(max-width:960px){.profile-page{grid-template-columns:1fr}.profile-sidebar{position:static;flex-direction:row;justify-content:space-between}.profile-summary{flex-direction:column;align-items:flex-start}.calendar-item{flex-direction:column}.modal-card{width:100%}.schedule-modal-header,.lesson-summary{align-items:flex-start;flex-direction:column}.subject-chip{width:100%;justify-content:flex-start}}@media(max-width:640px){.profile-actions{width:100%}.profile-form{grid-template-columns:1fr}}.tutor-page{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 0 2rem}.tutor-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tutor-summary{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a0d}.tutor-summary h1{margin:.15rem 0 .2rem}.tutor-avatar{width:88px;height:88px;border-radius:999px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.5rem;box-shadow:0 12px 28px #4f46e547}.tutor-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.tutor-summary-text{display:flex;flex-direction:column;gap:.35rem}.tutor-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:#475569;font-weight:600}.tutor-price{font-weight:800;color:#0f172a}.tutor-subjects{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.tutor-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.tutor-price-badge{padding:.55rem .9rem;background:#eef2ff;border:1px solid #e0e7ff;border-radius:12px;font-weight:700;color:#3730a3}.tutor-about{display:flex;flex-direction:column;gap:.5rem;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a0d}.tutor-about h3{margin:0}.tutor-banner.error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:12px;background:#fef2f2;border:1px solid #fecdd3;color:#b91c1c}.tutor-empty{text-align:center;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a0d}.tutor-actions-row{display:flex;justify-content:center;margin-top:.75rem}.tutor-skeleton{display:flex;align-items:center;gap:1rem}.skeleton-avatar{width:88px;height:88px;border-radius:50%;background:#e5e7eb}.skeleton-lines{display:flex;flex-direction:column;gap:.4rem;flex:1}.skeleton-line{height:12px;border-radius:999px;background:#e5e7eb}.skeleton-line.wide{width:70%}.skeleton-line.short{width:40%}@media(max-width:900px){.tutor-summary{grid-template-columns:1fr;text-align:left}.tutor-actions{align-items:flex-start}.tutor-breadcrumb{flex-wrap:wrap}}.chat-shell{background:linear-gradient(180deg,#f6f9ff,#eef3ff);padding:1.5rem 0 3rem}.chat-page{display:grid;grid-template-columns:92px 1fr;gap:1.5rem;align-items:flex-start}.chat-main{display:flex;flex-direction:column;gap:1rem}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.chat-header h1{margin:0}.chat-card{background:#fff;border:1px solid #e3eaff;border-radius:22px;padding:1.2rem;box-shadow:0 16px 36px #4d8bff17}.chat-list-grid{display:grid;gap:.75rem}.chat-row{display:flex;align-items:center;gap:.85rem;padding:.85rem .9rem;border:1px solid #e4edff;border-radius:16px;background:#f8fbff;transition:transform .1s ease,box-shadow .1s ease}.chat-row:hover{transform:translateY(-2px);box-shadow:0 10px 20px #4d8bff1f}.chat-row .avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#4d8bff,#75a6ff);color:#fff;display:grid;place-items:center;font-weight:700}.chat-row .meta{flex:1;display:flex;flex-direction:column;gap:.25rem}.chat-row .name-line{display:flex;align-items:center;gap:.5rem}.chat-row .name{font-weight:700;color:#0f172a}.chat-row .badge{padding:.2rem .6rem;border-radius:999px;background:#4d8bff;color:#fff;font-size:.75rem;font-weight:700}.chat-row .preview{color:#465570}.chat-row .time{color:#5b6b82;font-size:.9rem}.chat-row.unread .name,.chat-row.unread .preview{font-weight:700;color:#0f172a}.chat-search{padding:.65rem .9rem;border-radius:14px;border:1px solid #dbeafe;background:#f7fbff;min-width:220px}.chat-start{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end}.chat-start label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:#1f2a44}.chat-start input{width:100%;padding:.9rem 1rem;border-radius:18px;border:1px solid #dbeafe;background:#f7fbff}.thread-card{display:flex;flex-direction:column;gap:.75rem;height:100%}.thread-header{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:16px;background:#f8fbff;border:1px solid #e4edff}.thread-header .avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#4d8bff,#75a6ff);color:#fff;display:grid;place-items:center;font-weight:700}.thread-header .title{display:flex;flex-direction:column;gap:.25rem}.thread-header .title strong{font-size:1rem}.thread-header .muted{margin:0}.messages-pane{flex:1;min-height:320px;max-height:60vh;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.65rem;background:#f8fbff;border:1px solid #e4edff;border-radius:16px}.bubble{max-width:75%;padding:.75rem .9rem;border-radius:16px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 18px #0f172a0d}.bubble .meta{display:flex;justify-content:space-between;gap:.5rem;color:#52607a;font-size:.85rem;margin-top:.35rem}.bubble.outgoing{margin-left:auto;background:#4d8bff;color:#fff;border-color:#4d8bff;box-shadow:0 10px 20px #4d8bff40}.bubble.outgoing .meta{color:#e6efff}.bubble .status{font-size:.82rem}.chat-image{max-width:280px;border-radius:12px;object-fit:cover;display:block}.attachment-card{background:#f6f8fb;border-radius:12px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid #e5eaf2}.input-with-preview{display:flex;flex-direction:column;gap:.4rem}.preview-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f1f5ff;border:1px solid #d6e6ff;border-radius:12px}.input-actions{display:flex;gap:.5rem;align-items:center}.attach-btn{cursor:pointer}.thread-input{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center}.thread-input input{width:100%;padding:.9rem 1rem;border-radius:18px;border:1px solid #dbeafe;background:#f7fbff}.empty-state{color:#5b6b82;text-align:center;padding:1rem 0}@media(max-width:960px){.chat-page,.chat-start{grid-template-columns:1fr}.messages-pane{max-height:none}}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#0f172a;background-color:#f8fafc;--primary-color: #2194f2}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2ff)}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}.btn-primary{background:var(--primary-color);color:#fff}
