:root{
  --navy:#0f192b;--navy-2:#15233b;--blue:#3f7ff1;--blue-dark:#2868db;--purple:#7356f7;--green:#20b968;--orange:#ff7a19;--red:#ef4444;--ink:#101828;--muted:#667085;--line:#dce5f0;--surface:#fff;--bg:#f4f7fb;--shadow:0 8px 24px rgba(15,23,42,.06);--radius:16px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.block{display:block}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:292px;background:var(--navy);color:#fff;display:flex;flex-direction:column;z-index:100;transition:.25s ease}.brand{height:82px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;padding:0 24px;gap:14px}.brand strong,.login-logo strong,.mobile-login-logo strong{font-size:24px;letter-spacing:.4px}.brand-mark{position:relative;width:28px;height:28px;display:inline-block}.brand-mark span{position:absolute;width:18px;height:7px;border-radius:2px;transform:rotate(30deg) skewX(-25deg);left:4px}.brand-mark span:nth-child(1){background:#0fa3e7;top:3px}.brand-mark span:nth-child(2){background:#ff7a19;top:10px}.brand-mark span:nth-child(3){background:#3478ef;top:17px}.sidebar-close{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:20px}.user-panel{display:flex;align-items:center;gap:13px;padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.user-panel>div:last-child{min-width:0}.user-panel strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-panel span{display:inline-block;margin-top:5px;background:#923de7;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700}.avatar{width:46px;height:46px;border-radius:50%;background:#176fec;color:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:18px}.avatar.large{width:60px;height:60px;font-size:22px}.avatar.xl{width:84px;height:84px;font-size:30px}.avatar.small{width:38px;height:38px;font-size:14px}.nav-menu{padding:12px 10px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:15px;padding:14px 16px;border-radius:11px;text-decoration:none;font-weight:700;color:#f4f7ff;transition:.15s}.nav-item i{width:20px;text-align:center;font-size:18px}.nav-item:hover{background:rgba(61,127,241,.14)}.nav-item.active{background:var(--blue)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:12px 10px}.sidebar-footer a{display:flex;gap:13px;align-items:center;padding:13px 15px;text-decoration:none;font-weight:700}.main-content{margin-left:292px;min-height:100vh;padding:0 34px 42px}.page-header{height:128px;display:flex;align-items:center;gap:20px}.page-header h1{font-size:36px;line-height:1;margin:0 0 9px;font-weight:800;letter-spacing:-1px}.page-header p{font-size:16px;margin:0;color:var(--muted)}.page-icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,#3f7ff1,#7650f8);color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 12px 26px rgba(99,91,246,.22)}.mobile-menu{display:none;border:0;background:#fff;width:42px;height:42px;border-radius:10px}.page-body{max-width:1640px;margin:auto}.alert{border-radius:12px;padding:14px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;font-weight:600}.alert button{border:0;background:none;font-size:22px}.alert-success{background:#eafbf1;color:#067647;border:1px solid #b7efd0}.alert-danger{background:#fff0f0;color:#b42318;border:1px solid #ffd1d1}.alert-warning{background:#fff7e6;color:#a15c00;border:1px solid #ffe2a8}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin-bottom:22px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.panel-header h2{font-size:21px;margin:0 0 6px}.panel-header p{margin:0;color:var(--muted)}.metric-grid{display:grid;gap:18px;margin-bottom:22px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;display:flex;justify-content:space-between;gap:15px;box-shadow:var(--shadow)}.metric-card span{display:block;color:var(--muted);font-weight:600}.metric-card strong{display:block;font-size:32px;margin:10px 0 5px}.metric-card strong.small-value{font-size:22px}.metric-card small{color:var(--muted)}.metric-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:23px;flex:0 0 auto}.metric-icon.blue{background:#eaf1ff;color:var(--blue)}.metric-icon.green{background:#e6f8ee;color:var(--green)}.metric-icon.purple{background:#efeaff;color:var(--purple)}.metric-icon.orange{background:#fff0e5;color:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.85fr);gap:22px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;flex-wrap:wrap}.toolbar-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:11px 15px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark)}.btn-light{background:#fff;border-color:var(--line);color:var(--ink)}.btn-dark{background:var(--navy);color:#fff}.btn-whatsapp{background:#16a864;color:#fff}.btn-icon{width:42px;height:42px;padding:0;background:#fff;border-color:var(--line)}.btn-icon.danger{color:var(--red)}.btn-sm{padding:8px 11px;font-size:12px}.btn-block{width:100%}.search-form{max-width:390px;width:100%}.filter-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.filter-form label{display:grid;gap:6px;color:var(--muted);font-weight:600}.input-icon{position:relative}.input-icon i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7b8ba3}.input-icon input{padding-left:41px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-stack{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group{display:grid;gap:7px;margin:0}.form-group>span{font-size:13px;font-weight:700;color:#344054}.form-group small{font-size:11px;color:var(--muted);line-height:1.45}.form-group input,.form-group select,.form-group textarea,.filter-form input,.filter-form select,.search-form input{width:100%;border:1px solid #d4deea;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.filter-form input:focus,.filter-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(63,127,241,.12)}.form-group textarea{resize:vertical;line-height:1.5}.span-2{grid-column:span 2}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid #edf1f6;padding-top:18px}.check-line{display:flex;align-items:center;gap:10px;font-weight:600}.check-line input{width:18px;height:18px}.section-title{border-top:1px solid var(--line);padding-top:16px}.section-title h3{margin:0}.input-suffix{display:flex}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix span{display:grid;place-items:center;padding:0 13px;border:1px solid #d4deea;border-left:0;border-radius:0 10px 10px 0;background:#f7f9fc;color:var(--muted)}.copy-field{display:flex;gap:8px}.copy-field input{flex:1}.sticky-save{position:sticky;bottom:15px;display:flex;justify-content:flex-end;z-index:10}.settings-layout{display:grid;gap:0}.badge{display:inline-flex;align-items:center;border:0;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;line-height:1.1}.badge-success{background:#e4f8ed;color:#08783e}.badge-primary{background:#e8f0ff;color:#275cc7}.badge-warning{background:#fff3d7;color:#9a5b00}.badge-orange{background:#fff0e5;color:#bd5000}.badge-danger{background:#ffe8e8;color:#c42a2a}.badge-secondary{background:#edf1f6;color:#5f6b7d}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.table-wrap th{text-align:left;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:12px;border-bottom:1px solid var(--line)}.table-wrap td{padding:14px 12px;border-bottom:1px solid #edf1f6;vertical-align:middle}.table-wrap tr:last-child td{border-bottom:0}.table-person{display:flex;align-items:center;gap:11px}.table-person strong,.table-person small{display:block}.table-person small{color:var(--muted);margin-top:3px}.inline-form{display:inline}.inline-form button{cursor:pointer}.card-grid{display:grid;gap:18px}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-card{border:1px solid var(--line);border-radius:15px;padding:20px;background:#fff}.profile-card.inactive{opacity:.68}.profile-top{display:flex;justify-content:space-between}.profile-card h3{margin:16px 0 5px}.profile-card>p{margin:0;color:var(--muted)}.profile-meta{display:grid;gap:9px;margin:18px 0}.profile-meta span{display:flex;gap:9px;align-items:center;color:#59677b}.profile-meta i{width:18px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;background:#f7f9fc;border-radius:11px;margin-bottom:16px}.mini-stats div{padding:13px;text-align:center}.mini-stats div+div{border-left:1px solid var(--line)}.mini-stats strong,.mini-stats span{display:block}.mini-stats span{color:var(--muted);font-size:11px}.card-actions{display:flex;gap:8px}.card-actions .btn-light{flex:1}.tabs{display:flex;gap:4px;background:#eaf0f7;padding:5px;border-radius:12px;width:max-content;max-width:100%;overflow:auto;margin-bottom:20px}.tab{border:0;background:transparent;border-radius:9px;padding:11px 15px;font-weight:700;color:#657289;cursor:pointer;white-space:nowrap}.tab.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(15,23,42,.08)}.tab-panel{display:none}.tab-panel.active{display:block}.split-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.75fr);gap:22px}.split-layout.wide-left{grid-template-columns:minmax(0,2.2fr) minmax(310px,.75fr)}.side-form h2{margin-top:0}.simple-list{display:grid;gap:10px}.simple-list>div{border:1px solid var(--line);border-radius:11px;padding:14px 15px;display:flex;align-items:center;justify-content:space-between}.simple-list strong,.simple-list small{display:block}.simple-list small{color:var(--muted);margin-top:4px}.appointment-list{display:grid}.appointment-row{display:flex;align-items:center;gap:15px;padding:13px 5px;border-bottom:1px solid #edf1f6;text-decoration:none}.appointment-row:last-child{border-bottom:0}.date-box{width:52px;height:52px;border-radius:11px;background:#eef4ff;display:grid;place-content:center;text-align:center;color:var(--blue)}.date-box strong{font-size:19px}.date-box span{font-size:10px}.appointment-main{flex:1}.appointment-main strong,.appointment-main span{display:block}.appointment-main span{color:var(--muted);margin-top:5px}.appointment-time{text-align:right}.appointment-time strong,.appointment-time span{display:block}.appointment-time span{margin-top:5px}.alert-list{display:grid}.alert-list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #edf1f6;text-decoration:none}.alert-list a:last-child{border-bottom:0}.alert-list strong,.alert-list small{display:block}.alert-list small{color:var(--muted);margin-top:4px}.alert-symbol,.quick-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.alert-symbol.blue,.quick-icon.blue{background:#eaf1ff;color:var(--blue)}.alert-symbol.orange,.quick-icon.orange{background:#fff0e5;color:var(--orange)}.alert-symbol.purple,.quick-icon.purple{background:#efeaff;color:var(--purple)}.alert-symbol.red{background:#ffe8e8;color:var(--red)}.quick-icon.green{background:#e6f8ee;color:var(--green)}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-grid a{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:12px;padding:15px;text-decoration:none}.quick-grid strong,.quick-grid small{display:block}.quick-grid small{color:var(--muted);margin-top:4px}.empty-state{text-align:center;padding:42px 18px;color:var(--muted)}.empty-state i{font-size:34px;color:#9caac0}.empty-state h3{color:var(--ink);margin:14px 0 6px}.empty-state p{margin:0}.availability-layout{grid-template-columns:minmax(0,1.75fr) minmax(320px,.75fr)}.availability-list{display:grid;gap:11px}.availability-list article{display:grid;grid-template-columns:minmax(200px,1fr) minmax(160px,.7fr) minmax(190px,.8fr) auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:12px;padding:15px}.availability-day{display:flex;align-items:center;gap:12px}.availability-day i{width:40px;height:40px;border-radius:10px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center}.availability-day strong,.availability-day span,.availability-hours strong,.availability-hours span,.availability-validity span{display:block}.availability-day span,.availability-hours span,.availability-validity{color:var(--muted);font-size:12px;margin-top:4px}.block-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.block-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.block-form .form-group:nth-of-type(3){grid-column:span 2}.block-list{display:grid;gap:9px}.block-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px}.block-list strong,.block-list small{display:block}.block-list small{color:var(--muted);margin-top:3px}.student-hero{display:flex;align-items:center;gap:18px}.student-hero h2{font-size:27px;margin:8px 0 5px}.student-hero p{margin:0;color:var(--muted)}.student-stats{margin-left:auto;display:flex;gap:10px}.student-stats div{background:#f4f7fb;border-radius:12px;padding:13px 20px;text-align:center}.student-stats strong,.student-stats span{display:block}.student-stats strong{font-size:22px}.student-stats span{color:var(--muted);font-size:11px}.student-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr)}.timeline-list{display:grid}.timeline-list a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:13px 0;border-bottom:1px solid #edf1f6}.timeline-list a:last-child{border-bottom:0}.timeline-dot{width:10px;height:10px;background:var(--blue);border-radius:50%}.timeline-list a>div{flex:1}.timeline-list strong,.timeline-list small{display:block}.timeline-list small{color:var(--muted);margin-top:4px}.document-list{display:grid}.document-list>div{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.document-list>div:last-child{border-bottom:0}.document-list>div>div:nth-child(2){flex:1}.document-list strong,.document-list small{display:block}.document-list small{color:var(--muted);margin-top:4px}.document-icon,.backup-icon{width:42px;height:42px;border-radius:10px;background:#eef3ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.contact-card{display:grid;gap:7px}.contact-card>span,.contact-card small{color:var(--muted)}.contact-card a{color:#13884f;text-decoration:none;font-weight:700}.notice{border:1px solid #d7e2f2;background:#f5f8fd;border-radius:11px;padding:13px;color:#42526a;line-height:1.5}.notice.inline{margin:0}.notice.success{background:#ecfdf3;border-color:#b7efd0;color:#067647}.appointment-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:22px}.summary-head{display:flex;justify-content:space-between;gap:20px}.summary-head h2{font-size:28px;margin:10px 0 6px}.summary-head p{margin:0;color:var(--muted)}.summary-date{text-align:right}.summary-date strong,.summary-date span{display:block}.summary-date strong{font-size:20px}.summary-date span{color:var(--muted);margin-top:5px}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.info-grid>div{background:#f7f9fc;border-radius:11px;padding:13px}.info-grid span,.info-grid strong,.info-grid small{display:block}.info-grid span{font-size:11px;color:var(--muted);margin-bottom:6px}.info-grid small{color:var(--muted);margin-top:4px}.record-readonly h3{font-size:15px;margin:18px 0 7px}.record-readonly p{line-height:1.65;color:#42526a}.message-log{display:grid;gap:10px}.message-log>div{padding:11px;border-radius:10px;background:#f4f7fb}.message-log .outgoing{border-left:3px solid var(--blue)}.message-log .incoming{border-left:3px solid var(--green)}.message-log p{margin:5px 0;line-height:1.4}.message-log small{color:var(--muted)}.slot-picker{display:flex;flex-wrap:wrap;gap:8px;min-height:45px;border:1px dashed #c9d4e3;border-radius:10px;padding:10px}.slot-button{border:1px solid #cdd9e9;border-radius:9px;padding:8px 10px;background:#fff;cursor:pointer;font-weight:700}.slot-button.active{background:var(--blue);border-color:var(--blue);color:#fff}.calendar-panel{padding:0;overflow:hidden}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px}.calendar-main{padding:25px}.calendar-side{border-left:1px solid var(--line);padding:25px;background:#fbfcfe}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-head h2{margin:0 0 5px;font-size:22px;text-transform:capitalize}.calendar-head p{margin:0;color:var(--muted)}.calendar-nav{display:flex}.calendar-nav a{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;background:#fff}.calendar-nav a:first-child{border-radius:10px 0 0 10px}.calendar-nav a:last-child{border-radius:0 10px 10px 0}.calendar-nav a.today{width:auto;padding:0 14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday{padding:12px;text-align:center;font-weight:800;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f4f7fb}.calendar-day{min-height:128px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;background:#fff;overflow:hidden}.calendar-day:hover{background:#f8fbff}.calendar-day.outside{background:#fafbfc;color:#a3afc0}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--blue)}.calendar-day.today .day-number{background:var(--blue);color:#fff}.day-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700}.day-events{display:grid;gap:4px;margin-top:5px}.day-events span{display:block;background:color-mix(in srgb,var(--event-color) 14%,white);border-left:3px solid var(--event-color);border-radius:5px;padding:4px 5px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-events small{color:var(--muted);font-size:10px}.side-date{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.side-date strong{font-size:18px}.side-date span{color:var(--muted)}.side-events{display:grid;gap:10px}.side-events a{display:grid;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px;text-decoration:none}.side-events strong,.side-events span,.side-events small{display:block}.side-events span,.side-events small{color:var(--muted);margin-top:4px}.side-events .badge{width:max-content}.report-filters .filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.filter-actions{display:flex;gap:8px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bar-list{display:grid;gap:17px}.bar-list>div>div:first-child{display:flex;justify-content:space-between}.bar-list span{display:flex;align-items:center;gap:8px}.bar-list i{width:10px;height:10px;border-radius:50%}.bar{height:8px;background:#edf1f6;border-radius:999px;margin-top:8px;overflow:hidden}.bar span{height:100%;border-radius:999px}.backup-list{display:grid}.backup-list>div{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f6}.backup-list>div:last-child{border-bottom:0}.backup-list>div>div:nth-child(2){flex:1}.backup-list strong,.backup-list small{display:block}.backup-list small{color:var(--muted);margin-top:4px}code{background:#f1f4f8;padding:2px 5px;border-radius:5px}.login-body{background:#fff}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(460px,.85fr)}.login-brand-panel{background:linear-gradient(145deg,#0c1628,#142541);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand-panel:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-180px;bottom:-130px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}.login-logo,.mobile-login-logo{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.login-copy{max-width:690px;position:relative;z-index:1}.eyebrow{color:#83aafc;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.login-copy h1{font-size:48px;line-height:1.08;letter-spacing:-1.5px;margin:18px 0}.login-copy p{font-size:17px;line-height:1.7;color:#c2ccda;max-width:610px}.login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:1}.login-feature-grid div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:14px;display:flex;gap:9px;align-items:center;color:#d9e2ef}.login-form-panel{display:grid;place-items:center;padding:40px;background:#f8fafc}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 20px 50px rgba(15,23,42,.1)}.login-card h2{font-size:28px;margin:0 0 7px}.login-card>p{color:var(--muted);margin:0 0 26px}.login-card .form-group{margin-bottom:17px}.mobile-login-logo{display:none;margin-bottom:28px}
@media(max-width:1280px){.metric-grid.four{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.card-grid.three{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr}.calendar-side{border-left:0;border-top:1px solid var(--line)}.report-filters .filter-grid{grid-template-columns:repeat(2,1fr)}.filter-actions{grid-column:span 2}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);box-shadow:15px 0 35px rgba(0,0,0,.2)}.sidebar.open{transform:translateX(0)}.sidebar-close,.mobile-menu{display:grid;place-items:center}.main-content{margin-left:0;padding:0 18px 30px}.page-header{height:105px}.page-header h1{font-size:29px}.page-icon{width:50px;height:50px}.dashboard-grid,.availability-layout,.student-layout,.appointment-detail-grid,.split-layout,.split-layout.wide-left,.report-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.mobile-login-logo{display:flex}.block-grid{grid-template-columns:1fr}}
@media(max-width:700px){.main-content{padding-inline:12px}.page-header{gap:12px}.page-header p{font-size:13px}.page-header h1{font-size:25px}.page-icon{display:none}.metric-grid.four,.metric-grid.three,.card-grid.three,.quick-grid{grid-template-columns:1fr}.panel{padding:18px;border-radius:13px}.form-grid,.form-row,.block-form,.report-filters .filter-grid{grid-template-columns:1fr}.span-2,.block-form .form-group:nth-of-type(3),.filter-actions{grid-column:span 1}.toolbar{align-items:stretch}.toolbar>.btn,.toolbar>form{width:100%}.filter-form{width:100%;align-items:stretch;display:grid}.toolbar-actions{width:100%}.student-hero{align-items:flex-start;flex-wrap:wrap}.student-stats{width:100%;margin:0}.student-stats div{flex:1}.summary-head{display:grid}.summary-date{text-align:left}.info-grid{grid-template-columns:1fr}.calendar-main,.calendar-side{padding:15px}.calendar-day{min-height:90px;padding:5px}.day-events span{font-size:0;height:8px;padding:0;border-left:0;background:var(--event-color)}.day-events span strong{display:none}.weekday{font-size:11px;padding:8px 2px}.calendar-head{align-items:flex-start}.calendar-head h2{font-size:18px}.availability-list article{grid-template-columns:1fr}.availability-validity{display:flex;gap:5px}.copy-field{display:grid}.login-form-panel{padding:18px}.login-card{padding:25px}.filter-actions{display:grid}.filter-actions .btn{width:100%}}
.type-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.type-card{border:1px solid var(--line);border-top:4px solid var(--type-color);border-radius:13px;padding:18px}.type-card.inactive{opacity:.65}.type-top{display:flex;justify-content:space-between}.type-dot{width:18px;height:18px;border-radius:50%;background:var(--type-color)}.type-card h3{margin:15px 0 6px}.type-card p{color:var(--muted);min-height:38px}.type-meta{display:flex;gap:16px;color:var(--muted);font-size:12px;margin:14px 0}.type-meta span{display:flex;align-items:center;gap:6px}@media(max-width:700px){.type-card-grid{grid-template-columns:1fr}}
/* Ajuste do alinhamento interno dos campos do login */
.login-card .input-icon {
    position: relative;
}

.login-card .input-icon i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    text-align: center;
    color: #8291a8;
    z-index: 2;
    pointer-events: none;
}

.login-card .input-icon input {
    padding-left: 48px !important;
}

/* Logo da escola no menu lateral */
.sidebar-school-logo {
    width: 46px;
    height: 46px;
    object-fit: contain;
    background: #ffffff;
    border-radius: 50%;
    padding: 3px;
    flex-shrink: 0;
}

.brand strong {
    font-size: 24px;
    letter-spacing: 0.5px;
}