@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700;900&family=Share+Tech+Mono&display=swap";.mobile-bottom-nav .messaging-nav-item,.parent-bottom-nav .messaging-nav-item{position:relative;isolation:isolate;overflow:visible;background:transparent!important}.r360-resume-loader{position:fixed;right:16px;bottom:16px;z-index:9999;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#ffffffeb;box-shadow:0 10px 28px #0f172a24}.r360-resume-loader span{width:18px;height:18px;border:2px solid rgba(59,130,246,.2);border-top-color:#2563eb;border-radius:999px;animation:splash-spin .8s linear infinite}@keyframes splash-spin{to{transform:rotate(360deg)}}.r360-push-toast{position:fixed;left:50%;top:max(14px,env(safe-area-inset-top));z-index:10050;width:min(calc(100vw - 28px),420px);transform:translate(-50%);border:1px solid rgba(30,66,159,.14);border-radius:18px;background:#fffffff5;box-shadow:0 18px 40px #0f172a29;padding:12px 14px;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;text-align:left;color:#0f2447;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:r360ToastIn .22s ease-out both}.r360-push-toast-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#1470e01f,#10b98124);color:#0d6fd6;font-size:1.15rem}.r360-push-toast-copy{min-width:0;display:grid;gap:2px}.r360-push-toast-copy strong{font-size:.9rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r360-push-toast-copy small{color:#64748b;font-size:.76rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes r360ToastIn{0%{opacity:0;transform:translate(-50%,-12px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.psychology-alert-settings{padding:18px;display:grid;gap:16px;border-color:#d9e8f7;background:linear-gradient(145deg,#fff,#f8fbff)}.psychology-alert-heading,.psychology-alert-heading>div,.psychology-alert-heading span,.psychology-history-title{display:flex;align-items:center}.psychology-alert-heading{justify-content:space-between;gap:12px}.psychology-alert-heading>div{min-width:0;gap:10px;color:#1262bd}.psychology-alert-heading>div>svg{width:23px;height:23px;flex:0 0 auto}.psychology-alert-heading span{min-width:0;align-items:flex-start;flex-direction:column}.psychology-alert-heading strong{color:#123d70;font-size:1rem}.psychology-alert-heading small{color:#718096;font-size:.7rem;line-height:1.35}.psychology-alert-heading h3{margin:0;color:#123d70;font-size:1rem}.psychology-alert-heading p{margin:3px 0 0;color:#718096;font-size:.7rem;line-height:1.35}.psychology-switch{position:relative;flex:0 0 auto}.psychology-switch input{position:absolute;opacity:0;pointer-events:none}.psychology-switch span{width:48px;height:27px;padding:3px;display:block;border-radius:20px;background:#d8e1eb;transition:.2s;cursor:pointer}.psychology-switch span:after{content:"";width:21px;height:21px;display:block;border-radius:50%;background:#fff;box-shadow:0 2px 6px #1432502e;transition:.2s}.psychology-switch input:checked+span{background:#10b981}.psychology-switch input:checked+span:after{transform:translate(21px)}.psychology-alert-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.psychology-alert-form>label{display:grid;gap:5px;color:#52657c;font-size:.68rem;font-weight:800}.psychology-alert-form input[type=text],.psychology-alert-form input[type=tel]{min-width:0;height:42px;padding:0 11px;border:1px solid #dce6f1;border-radius:11px;background:#fff;color:#183b64}.psychology-alert-form fieldset{grid-column:1 / -1;padding:10px;border:1px solid #e1e9f3;border-radius:12px}.psychology-alert-form legend{padding:0 5px;color:#52657c;font-size:.68rem;font-weight:850}.psychology-section-selector{display:flex;flex-wrap:wrap;gap:7px}.psychology-section-selector label{position:relative}.psychology-section-selector input{position:absolute;opacity:0}.psychology-section-selector span{display:block;padding:7px 10px;border:1px solid #dce6f1;border-radius:9px;background:#fff;color:#5c6f87;font-size:.66rem;font-weight:800;cursor:pointer}.psychology-section-selector input:checked+span{border-color:#82bee9;background:#edf7ff;color:#075cac}.psychology-alert-rules{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#6c7c91;font-size:.64rem}.psychology-alert-rules b{padding:4px 7px;border-radius:7px;background:#fff2e2;color:#a86608}.psychology-alert-form>button{justify-self:start;min-height:40px;display:inline-flex;align-items:center;gap:6px}.psychology-alert-form>button svg{width:15px;height:15px}.psychology-alert-history{display:grid;gap:7px;padding-top:12px;border-top:1px solid #e6edf5}.psychology-history-title{justify-content:space-between;color:#234b78;font-size:.76rem}.psychology-history-title small{color:#8391a3}.psychology-alert-history article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #e6edf5;border-radius:11px;background:#fff}.psychology-alert-history article div{min-width:0;display:flex;flex-direction:column}.psychology-alert-history article strong{color:#173e69;font-size:.72rem}.psychology-alert-history article small{color:#66778d;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.psychology-alert-history article em{color:#95a1b1;font-size:.55rem;font-style:normal}.psychology-status{padding:4px 7px;border-radius:7px;font-size:.56rem;font-weight:900;text-transform:uppercase}.psychology-status.sent{color:#08785a;background:#e6f8f1}.psychology-status.pending{color:#9b650c;background:#fff6df}.psychology-status.failed{color:#bd3346;background:#fff0f2}.psychology-alert-status{padding:4px 7px;border-radius:7px;font-size:.56rem;font-weight:900;text-transform:uppercase}.psychology-alert-status.status-sent{color:#08785a;background:#e6f8f1}.psychology-alert-status.status-pending{color:#9b650c;background:#fff6df}.psychology-alert-status.status-failed{color:#bd3346;background:#fff0f2}.psychology-alert-empty{color:#8391a3;font-size:.72rem;text-align:center;padding:14px}.btn-psychology-manual-whatsapp{min-height:31px;padding:0 8px;border:1px solid #a7e8d3;border-radius:8px;background:#edfbf6;color:#08775b;display:inline-flex;align-items:center;gap:4px;font-size:.58rem;font-weight:850;cursor:pointer}.btn-psychology-manual-whatsapp svg{width:13px;height:13px}@media (max-width: 600px) and (orientation: portrait){.psychology-alert-settings{padding:13px!important;gap:12px;border-radius:15px!important}.psychology-alert-form{grid-template-columns:1fr;gap:9px}.psychology-alert-form fieldset,.psychology-alert-rules{grid-column:1}.psychology-alert-history article{grid-template-columns:auto minmax(0,1fr)}.psychology-alert-history article .btn-psychology-manual-whatsapp{grid-column:2;justify-self:start}}@media (max-width: 768px){.grades-general-header{gap:10px!important;padding-bottom:10px!important;margin-bottom:10px!important}.grades-general-header>div:first-child{width:100%}.grades-general-title{font-size:1.08rem!important;line-height:1.15!important}.grades-general-actions{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px!important}.grades-general-actions>label{min-width:0;margin-right:0!important;font-size:.62rem!important}.grades-general-actions #grades-save-status-container{padding:6px 8px!important;font-size:.62rem!important;white-space:nowrap}.grades-download-icon{width:34px!important;height:34px!important}.grades-publish-compact{height:34px!important;padding:7px 10px!important}.parent-mobile-header,.coord-sub-header,.teacher-mobile-topbar{position:sticky!important;min-height:78px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center!important;padding:8px 14px!important}.parent-mobile-header .universal-header-logo,.coord-sub-header .coord-mobile-header-logo,.teacher-mobile-topbar .teacher-home-brand{grid-column:2;width:min(56vw,230px)!important;height:50px!important;margin:0 auto!important;display:grid!important;place-items:center}.parent-mobile-header .universal-header-logo img,.coord-sub-header .coord-mobile-header-logo img,.teacher-mobile-topbar .teacher-home-brand img{width:100%!important;height:auto!important;max-height:44px!important;object-fit:contain!important;image-rendering:auto!important}.coord-sub-header>div[style*="flex:1"],.teacher-mobile-topbar>div[style*="flex:1"],.coord-sub-header .coord-center-badge{display:none!important}.parent-mobile-header>button:first-child,.coord-sub-header>button:first-child,.teacher-mobile-topbar>button:first-child{grid-column:1;justify-self:start}.parent-mobile-header>button:last-child,.coord-sub-header .coord-header-right,.teacher-mobile-topbar .coord-header-right{grid-column:3;justify-self:end}.coord-sub-header .coord-header-right,.teacher-mobile-topbar .coord-header-right{min-width:0;gap:0!important}.coord-sub-header .coord-top-profile{display:none!important}}.teacher-home-panel{border:1px solid #dce8f5;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.teacher-home-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #e8eef5}.teacher-home-panel-title div,.teacher-home-student-row span,.teacher-home-action-row div{min-width:0;display:flex;flex-direction:column}.teacher-home-panel-title span{color:#0d4fa3;font-weight:900}.teacher-home-panel-title small{color:#718096;font-size:.72rem;margin-top:2px}.teacher-home-panel-title button{width:34px;height:34px;border:0;border-radius:10px;background:#f1f6fc;color:#52657c;display:grid;place-items:center}.teacher-home-panel-title svg{width:16px;height:16px}.teacher-home-search{margin:12px 14px;height:42px;border:1px solid #dce6f1;border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#f9fbfe}.teacher-home-search svg{width:17px;height:17px;color:#55708f}.teacher-home-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:#172b4d}.teacher-home-list{max-height:430px;overflow-y:auto;padding:0 12px 12px}.teacher-home-student-row,.teacher-home-action-row{width:100%;min-width:0;display:grid;align-items:center;gap:10px;border:0;border-bottom:1px solid #edf1f6;background:#fff;color:#172b4d;padding:11px 4px;text-align:left;cursor:pointer}.teacher-home-student-row{grid-template-columns:28px minmax(0,1fr) 46px 52px 15px}.teacher-home-action-row{grid-template-columns:34px minmax(0,1fr) auto 15px}.teacher-home-student-row>b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#eef5fd;color:#1765bd;font-size:.7rem}.teacher-home-student-row strong,.teacher-home-action-row strong{overflow:hidden;color:#16345c;font-size:.78rem;font-style:normal;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.teacher-home-student-row small,.teacher-home-action-row small{overflow:hidden;color:#77869a;font-size:.61rem;margin-top:2px;text-overflow:ellipsis;white-space:nowrap}.teacher-home-student-row em{display:flex;flex-direction:column;align-items:center;font-style:normal}.teacher-home-student-row em i{color:#8796aa;font-size:.52rem;font-style:normal}.teacher-home-student-row em strong{font-size:.72rem}.teacher-home-student-row>svg,.teacher-home-action-row>svg{width:14px;height:14px;color:#8da0b6}.teacher-home-action-row>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px}.teacher-home-action-row>span.red{color:#d73c50;background:#fff0f2}.teacher-home-action-row>span.amber{color:#b87508;background:#fff7e8}.teacher-home-action-row>span svg{width:16px;height:16px}.teacher-home-action-row>b{color:#1765bd;font-size:.62rem;white-space:nowrap}.teacher-home-empty{min-height:100px;padding:20px;display:grid;place-items:center;align-content:center;gap:8px;color:#77869a;font-size:.75rem;text-align:center}@media (max-width: 600px) and (orientation: portrait){.coord-sub-header,.teacher-mobile-topbar{min-height:78px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;align-items:center!important;padding:8px 14px!important}.coord-sub-header>div[style*="flex:1"],.teacher-mobile-topbar>div[style*="flex:1"],.coord-sub-header .coord-center-badge{display:none!important}.coord-mobile-header-logo,.teacher-mobile-topbar .teacher-home-brand{width:min(54vw,220px);height:62px;margin:0 auto;display:grid!important;place-items:center}.coord-mobile-header-logo img,.teacher-mobile-topbar .teacher-home-brand img{width:100%;max-height:60px}.coord-sub-header .coord-header-right,.teacher-mobile-topbar .coord-header-right{min-width:0;justify-content:flex-end;gap:0!important}.coord-sub-header .coord-top-profile{display:none!important}.coord-sub-header .coord-notif-bell{width:40px;height:40px;box-shadow:none}.teacher-home-topbar{min-height:78px;display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;padding:8px 14px!important}.teacher-home-topbar>div[style*="flex:1"]{display:none}.teacher-home-topbar .coord-header-right{justify-content:flex-end;gap:0!important}.teacher-home-brand{min-width:0;display:flex;align-items:center;justify-content:center;width:min(54vw,220px);height:62px;margin:0 auto}.teacher-home-brand img{width:100%;max-height:60px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(13,71,161,.08))}.teacher-home-menu{margin:0!important}.teacher-home-dashboard{gap:11px!important;padding:0 14px 16px}.teacher-home-dashboard>div:first-child{margin-top:4px}.teacher-home-dashboard>div:first-child h1{font-size:1.45rem!important;line-height:1.12}.teacher-home-dashboard>div:first-child p{font-size:.75rem!important;line-height:1.35}.teacher-home-metric-row{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:0!important;margin-bottom:0!important}.teacher-home-metric-row .coord-metric-tile{min-height:98px;padding:10px!important;border-radius:14px!important;gap:2px!important}.teacher-home-metric-row .coord-metric-tile.active{border-color:#87bce9;background:#f4f9ff;box-shadow:0 5px 14px #1e68ae1f}.teacher-home-metric-row .coord-metric-val{font-size:1.15rem!important;line-height:1}.teacher-home-metric-row .coord-metric-lbl{font-size:.65rem!important}.teacher-home-metric-row .coord-metric-sub{font-size:.54rem!important;line-height:1.25}.teacher-home-panel{border-radius:15px}.teacher-home-list{max-height:48vh}.teacher-home-secondary-grid{grid-template-columns:1fr!important;gap:10px!important}.teacher-home-attention-card{display:none!important}.teacher-home-secondary-grid>.card{padding:14px!important}}@media (max-width: 600px) and (orientation: portrait){.teacher-mobile-section-reference-layout{gap:8px!important}.teacher-mobile-section-top{grid-template-columns:42px minmax(0,1fr) 92px 28px!important;gap:8px!important;align-items:start!important;padding:4px 1px 0!important}.teacher-mobile-reference-copy{gap:2px!important}.teacher-mobile-section-full-title{margin:0;color:#0759b8;font-size:.78rem;font-weight:950;line-height:1.22;white-space:normal;overflow-wrap:anywhere}.teacher-mobile-section-subject{color:#243b61;font-size:.62rem;font-weight:850;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.teacher-mobile-section-clock{min-height:48px;padding:5px 4px;border:1px solid #e4ebf5;border-radius:11px;background:#f6f9fd;color:#607089;display:grid;grid-template-columns:14px minmax(0,1fr);align-content:center;gap:1px 3px}.teacher-mobile-section-clock svg{width:13px;height:13px;grid-row:1 / 3;align-self:center}.teacher-mobile-section-clock strong{font-size:.51rem;font-weight:900;line-height:1.15}.teacher-mobile-section-clock small{font-size:.42rem;font-weight:750;line-height:1.15;white-space:nowrap}.teacher-mobile-section-clock.active{border-color:#b7ead7;background:#e9faf4;color:#08775d}.teacher-mobile-section-clock.upcoming{border-color:#f4dfac;background:#fff8e8;color:#9a6412}.teacher-mobile-section-menu{width:28px;height:42px;padding:0;border:0;border-radius:9px;background:#f2f6fb;color:#315a8d;display:grid;place-items:center}.teacher-mobile-section-menu svg{width:17px;height:17px}.teacher-mobile-section-secondary{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.teacher-mobile-section-secondary>span{min-width:0;overflow:hidden;color:#76859a;display:flex;align-items:center;gap:4px;font-size:.48rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-section-secondary svg{width:11px;height:11px;flex:0 0 auto}.teacher-mobile-open-section{flex:0 0 auto;min-height:25px;padding:0 8px;border:1px solid #d8e7f8;border-radius:9px;background:#edf5ff;color:#1262bd;display:inline-flex;align-items:center;gap:3px}.teacher-mobile-open-section b{font-size:.48rem;font-weight:900}#modal-edit-schedule .modal-content{width:calc(100% - 24px)!important;max-height:calc(100dvh - 28px);padding:20px 14px!important;overflow-y:auto}.teacher-schedule-day-list{display:grid;gap:7px}.teacher-schedule-day-row{display:grid;grid-template-columns:minmax(78px,1fr) 78px 10px 78px;align-items:center;gap:5px;padding:7px;border:1px solid #e5ecf5;border-radius:10px;background:#f8fbff}.teacher-schedule-day-row label{display:flex;align-items:center;gap:5px;color:#263c5e;font-size:.62rem}.teacher-schedule-day-row input[type=time]{width:78px;min-width:0;padding:5px 3px;border:1px solid #dce6f1;border-radius:7px;background:#fff;font-size:.58rem}.teacher-schedule-day-row>span{color:#8491a3;font-size:.55rem;text-align:center}}@media (max-width: 370px) and (orientation: portrait){.teacher-mobile-section-top{grid-template-columns:36px minmax(0,1fr) 82px 25px!important;gap:5px!important}.teacher-schedule-day-row{grid-template-columns:minmax(64px,1fr) 69px 8px 69px;padding:6px 4px;gap:3px}.teacher-schedule-day-row input[type=time]{width:69px;font-size:.52rem}}@keyframes r360-voice-loading{to{transform:rotate(360deg)}}.mobile-bottom-nav button.messaging-nav-item:before,.parent-bottom-nav button.messaging-nav-item:before,.parent-bottom-nav button.messaging-nav-item.active:before{content:""!important;position:absolute;z-index:-1;top:-1px!important;left:50%!important;width:58px!important;height:17px!important;border:0!important;border-top:1.5px solid rgba(22,139,234,.24)!important;border-radius:50% 50% 0 0!important;background:transparent!important;transform:translate(-50%)!important;pointer-events:none}.messaging-icon-ring{position:relative;width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #124f961a;transition:transform .2s ease,box-shadow .2s ease}.messaging-icon-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(145deg,#168bea,#17b6b0 56%,#45c783);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.messaging-icon-ring i,.messaging-icon-ring svg,.parent-bottom-nav .messaging-icon-ring svg{width:19px!important;height:19px!important;color:#1254a0!important;stroke-width:2.25}.messaging-nav-item:active .messaging-icon-ring{transform:scale(.92)}.mobile-bottom-nav .messaging-nav-item.active .messaging-icon-ring,.parent-bottom-nav .messaging-nav-item.active .messaging-icon-ring{box-shadow:0 2px 9px #17b6b033}.mobile-bottom-nav .messaging-nav-item.active span,.parent-bottom-nav .messaging-nav-item.active span{color:#087c87!important}:root{--font-sans: "Inter", sans-serif;--font-display: "Space Grotesk", sans-serif;--font-mono: "Share Tech Mono", monospace;--bg-deep: 210 40% 98%;--bg-card: 0 0% 100%;--bg-card-hover: 210 40% 99%;--bg-hud: 255 255 255 / 75%;--primary-color: #0D47A1;--secondary-color: #2196F3;--action-color: #00C896;--neon-cyan: 207 90% 54%;--neon-blue: 217 85% 34%;--neon-emerald: 165 100% 39%;--neon-rose: 343 90% 55%;--neon-warning: 35 92% 50%;--text-core: 215 28% 17%;--text-dim: 220 9% 46%;--text-muted: 220 14% 65%;--border-light: rgba(229, 231, 235, 1);--border-glow: rgba(13, 71, 161, .08);--border-neon: rgba(13, 71, 161, .15);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-cyber: .3s cubic-bezier(.25, .8, .25, 1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .03);--shadow-md: 0 10px 30px -5px rgba(13, 71, 161, .05), 0 1px 3px rgba(0, 0, 0, .01);--shadow-lg: 0 20px 40px -10px rgba(13, 71, 161, .08), 0 1px 5px rgba(0, 0, 0, .02)}html{font-size:17px}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,.brand-slogan,.logo-text,.auth-title{font-family:var(--font-display)}body{background-color:hsl(var(--bg-deep));color:hsl(var(--text-core));min-height:100vh;overflow-x:hidden;line-height:1.5;background-image:radial-gradient(circle at 10% 20%,rgba(33,150,243,.04) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,200,150,.04) 0%,transparent 40%),radial-gradient(rgba(13,71,161,.015) 1.5px,transparent 1.5px),radial-gradient(rgba(0,200,150,.01) 1px,transparent 1px);background-size:100% 100%,100% 100%,30px 30px,60px 60px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--bg-deep))}::-webkit-scrollbar-thumb{background:#0d47a126;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0d47a14d}#app{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:1360px;margin:0 auto;padding:1.5rem}header.app-header{position:sticky;top:0;z-index:100;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-light);box-shadow:0 4px 20px -5px #0d47a10d}.header-inner{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;max-width:1360px;margin:0 auto}.logo-container{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo-img{width:38px;height:38px;filter:drop-shadow(0 4px 8px rgba(13,71,161,.15))}.logo-text{font-size:1.35rem;font-weight:900;letter-spacing:-.5px;background:linear-gradient(90deg,var(--primary-color) 30%,var(--action-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-badge{font-family:var(--font-mono);font-size:.65rem;padding:2px 6px;background:#00c8961a;border:1px solid rgba(0,200,150,.3);color:var(--action-color);border-radius:4px;font-weight:700;letter-spacing:.5px}.user-status{display:flex;align-items:center;gap:1.25rem}.card{background:hsl(var(--bg-card));border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.75rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:var(--transition-cyber)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--action-color));opacity:.8}.card:hover{border-color:#0d47a11f;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-title{font-size:1.2rem;font-weight:800;letter-spacing:-.2px;color:hsl(var(--text-core));margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.dashboard-grid{grid-template-columns:repeat(12,1fr)}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-9{grid-column:span 9}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:.75rem 1.5rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;text-transform:uppercase;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--action-color) 100%);color:#fff;font-weight:800;box-shadow:0 4px 14px #0d47a140;border:none}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-color) 20%,var(--action-color) 100%);box-shadow:0 6px 20px #00c89666,0 0 10px #0d47a133;transform:translateY(-2px)}.btn:active{transform:translateY(1px) scale(.98);box-shadow:0 2px 6px #0000001a,inset 0 1px 3px #00000026}.btn-primary:active{box-shadow:0 2px 8px #00c89633,inset 0 2px 4px #0d47a14d}.btn-secondary{background:#fff;color:hsl(var(--text-core));border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:hsl(var(--bg-deep));border-color:var(--secondary-color);color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #2196f326}.btn-danger{background:#fff;color:#ef4444;border:1px solid rgba(239,68,68,.3);box-shadow:var(--shadow-sm)}.btn-danger:hover{background:#ef44440d;border-color:#ef4444;color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 12px #ef444426}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.75rem;font-weight:700;color:hsl(var(--text-dim));text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;text-align:left}.form-control{width:100%;padding:.8rem 1.1rem;font-size:.9rem;background-color:#fff;border:1px solid var(--border-light);color:hsl(var(--text-core));border-radius:var(--radius-sm);transition:all .2s ease;box-shadow:inset 0 1px 2px #00000005}.form-control:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #2196f326,inset 0 1px 2px #00000005}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232196F3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:1rem;padding-right:2.5rem}.table-container{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;margin-top:1rem;box-shadow:var(--shadow-sm)}.app-table{width:100%;border-collapse:collapse;text-align:left}.app-table th{background-color:#f1f5f9;color:var(--primary-color);font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.85rem 1.25rem;border-bottom:1px solid var(--border-light);text-transform:uppercase}.app-table td{padding:.85rem 1.25rem;border-bottom:1px solid var(--border-light);color:hsl(var(--text-core));font-size:.85rem}.app-table tr:last-child td{border-bottom:none}.app-table tr:hover td{background-color:#2196f308}.badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.65rem;font-weight:700;padding:4px 8px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase}.badge-primary{background:#0d47a114;color:var(--primary-color);border:1px solid rgba(13,71,161,.2)}.badge-success{background:#00c89614;color:var(--action-color);border:1px solid rgba(0,200,150,.2)}.badge-warning{background:#f59e0b14;color:#d97706;border:1px solid rgba(245,158,11,.2)}.badge-danger{background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.special-status-chip{justify-content:center;white-space:nowrap}.special-process-active-row td{background-image:linear-gradient(90deg,rgba(245,158,11,.08),transparent)}.special-process-action-cell{text-align:center;padding:6px!important}.special-process-toggle{width:30px;height:30px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0d47a1;cursor:pointer;font-weight:900;line-height:1}.special-process-toggle[aria-expanded=true]{background:#0d47a1;border-color:#0d47a1;color:#fff}tr.special-process-detail-row{display:none}tr.special-process-detail-row.is-open{display:table-row}tr.special-process-detail-row>td{padding:0!important;background:#f8fafc}.special-process-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:14px;text-align:left}.special-process-panel.is-empty{display:flex;align-items:center;gap:10px;color:#64748b;font-size:.8rem}.special-process-block{border:1px solid #dbe5f1;border-radius:8px;background:#fff;padding:12px;box-shadow:0 6px 18px #0f172a0a}.special-process-block-coordinator{border-color:#0d47a12e}.special-process-block-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#0f172a;font-size:.78rem;font-weight:900;text-transform:uppercase}.special-process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.special-process-grid label{display:flex;flex-direction:column;gap:5px;min-width:0}.special-process-grid span{color:#64748b;font-size:.62rem;font-weight:900;text-transform:uppercase}.special-process-grid strong{min-height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;color:#0d47a1;font-family:var(--font-mono)}.special-process-grid input{min-height:34px;width:100%;border:1px solid #cbd5e1;border-radius:7px;text-align:center;font-weight:900;color:#0f172a}.special-process-grid input:focus{outline:none;border-color:#0d47a1;box-shadow:0 0 0 3px #0d47a11f}.special-process-grid input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.special-process-reason{grid-column:1 / -1}.coord-grades-table-wrap{max-height:calc(100vh - 270px);overflow:auto}.coord-grades-table thead th{position:sticky;top:0;z-index:6;background:#f1f5f9;box-shadow:0 1px #dbe5f1}@media (max-width: 768px){.special-process-panel{grid-template-columns:1fr;padding:10px}.special-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coord-grades-table-wrap{max-height:calc(100vh - 230px)}}.terminal{background-color:#1e293b;border:1px solid #334155;border-radius:var(--radius-sm);padding:1rem;font-family:var(--font-mono);font-size:.8rem;max-height:250px;overflow-y:auto;box-shadow:inset 0 2px 8px #0000004d}.terminal-line{margin-bottom:6px;line-height:1.4;letter-spacing:.2px}.terminal-line.error{color:#f43f5e}.terminal-line.info{color:#38bdf8}.terminal-line.system{color:#94a3b8}.auth-page{max-width:none;background:transparent;width:100%;min-height:100vh;margin:0;padding:0}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;width:100%}.auth-split-wrapper{display:grid;grid-template-columns:1fr;width:100%;max-width:none;background:#fff;border-radius:0;box-shadow:none;overflow:hidden;border:none;min-height:100vh;min-height:100dvh}@media (min-width: 768px){.auth-split-wrapper{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.auth-left-panel{background:#fff!important;padding:clamp(1.5rem,4vh,3rem) clamp(1.25rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative;border-bottom:1px solid var(--border-light)}@media (min-width: 768px){.auth-left-panel{border-bottom:none;border-right:1px solid var(--border-light);padding:clamp(1.75rem,5vh,3.5rem)}}.auth-left-panel:after{display:none!important}.brand-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:520px;margin:auto}.brand-logo{width:100%;max-width:360px;height:auto;margin-bottom:2rem;filter:drop-shadow(0 8px 24px rgba(13,71,161,.08))}.auth-login-logo{width:100%;max-width:min(520px,92%);height:auto;margin-bottom:2.35rem;filter:drop-shadow(0 14px 34px rgba(13,71,161,.14))}.brand-slogan{font-size:clamp(1.05rem,2.1vw,1.42rem);font-weight:800;color:var(--primary-color);line-height:1.3;margin-bottom:.75rem}.brand-slogan span.text-gradient{background:linear-gradient(90deg,var(--secondary-color),var(--action-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:900}.brand-desc{font-size:clamp(.78rem,1.2vw,.92rem);color:var(--text-dim);max-width:330px;margin-bottom:clamp(1rem,2.5vh,1.75rem);line-height:1.5}.security-badge{display:inline-flex;align-items:center;gap:.5rem;background:#00c89614;border:1px solid rgba(0,200,150,.2);color:#059669;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:50px}.brand-footer{display:flex;align-items:center;gap:1rem;width:100%;margin-top:clamp(1rem,2.5vh,2rem)}.footer-line{flex:1;height:1px;background:var(--border-light)}.footer-text{font-size:.75rem;color:var(--text-muted);font-weight:600;letter-spacing:.5px}.auth-right-panel{padding:clamp(1rem,3vh,2.25rem) clamp(1rem,3vw,2.5rem);display:flex;align-items:center;justify-content:center;background:#fff}@media (min-width: 768px){.auth-right-panel{padding:clamp(1.25rem,3.6vh,2.75rem)}}.auth-form-card{width:min(92%,570px);max-width:none}.auth-form-card .form-group{margin-bottom:clamp(1rem,2.2vh,1.35rem)}.auth-form-card .form-label{font-size:.82rem;margin-bottom:.5rem}.auth-header{margin-bottom:clamp(1.05rem,2.8vh,1.55rem);text-align:center}.auth-title{font-size:clamp(2.35rem,3.6vw,3rem)!important;font-weight:900;color:var(--primary-color);letter-spacing:0;line-height:1.05;margin:0 0 .35rem}.auth-subtitle{font-size:clamp(1rem,1.35vw,1.18rem)!important;color:var(--text-dim);margin:0!important}.auth-providers{display:flex;flex-direction:column;gap:.6rem;margin-bottom:clamp(.85rem,2vh,1.25rem)}.btn-social{background:#fff;color:#374151;border:1px solid var(--border-light);border-radius:var(--radius-sm);min-height:52px;padding:.9rem 1.35rem;font-size:1rem;font-weight:600;width:100%;text-transform:none;letter-spacing:0;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;cursor:pointer;transition:all .2s ease}.btn-social:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.btn-social:active{transform:translateY(1px) scale(.98);box-shadow:inset 0 1px 3px #0000001a}.social-icon{width:18px;height:18px;flex-shrink:0}.auth-divider{display:flex;align-items:center;margin:clamp(.95rem,2.1vh,1.25rem) 0}.divider-line{flex:1;height:1px;background:var(--border-light)}.divider-text{font-size:.82rem;color:var(--text-muted);padding:0 12px;text-transform:uppercase;letter-spacing:1px;font-weight:600}.icon-input .input-wrapper{position:relative;display:flex;align-items:center}.icon-input .input-icon{position:absolute;left:16px;color:var(--text-dim);font-size:1.12rem;pointer-events:none}.icon-input .form-control{min-height:56px;padding-left:3rem;font-size:1.04rem}.icon-input .password-toggle-icon{position:absolute;right:8px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-dim);font-size:1rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:0;line-height:1}.icon-input .password-toggle-icon:hover,.icon-input .password-toggle-icon:focus-visible{background:#0d47a112;color:var(--primary-color);outline:none}.icon-input .form-control[name=password]{padding-right:3rem}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;margin-bottom:1rem;font-size:.96rem}.remember-me{display:flex;align-items:center;gap:.4rem;color:var(--text-dim);cursor:pointer;font-weight:500}.remember-me input[type=checkbox]{cursor:pointer;accent-color:var(--secondary-color);width:15px;height:15px}.forgot-password-link{color:var(--secondary-color);text-decoration:none;font-weight:600}.forgot-password-link:hover{text-decoration:underline}.btn-submit{width:100%;min-height:56px;padding:1rem 1.1rem;font-size:1.06rem;font-weight:800;border-radius:var(--radius-sm);margin-top:1rem}.btn-submit .btn-icon{width:18px;height:18px}.auth-toggle-container{text-align:center;margin-top:clamp(.9rem,2vh,1.35rem);font-size:.96rem;color:var(--text-dim)}.toggle-text{font-weight:500}.toggle-link{color:var(--secondary-color);text-decoration:none;font-weight:700;margin-left:.25rem}.toggle-link:hover{text-decoration:underline}.auth-card{width:100%;max-width:480px;border:1px solid var(--border-light);box-shadow:var(--shadow-lg);background:#fff}.role-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.role-option{border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.85rem .65rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#fff}.role-option:hover{background-color:#f9fafb;border-color:#0d47a140;transform:translateY(-2px)}.role-option.active{border-color:var(--primary-color);background:#0d47a10a;color:var(--primary-color);box-shadow:0 4px 12px #0d47a114}.role-option-title{font-weight:800;font-size:.85rem;margin-bottom:4px}.parent-mobile-shell{--parent-blue: #1269e8;--parent-navy: #10234a;--parent-soft: #f5f8fd;min-height:100vh;background:var(--parent-soft);color:var(--parent-navy);padding-bottom:82px}.parent-mobile-header{position:sticky;top:0;z-index:80;height:64px;padding:0 16px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:#fffffff5;border-bottom:1px solid #e8eef7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.parent-icon-button{width:40px;height:40px;border:0;border-radius:12px;background:#f3f7fd;color:var(--parent-navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.parent-icon-button svg{width:21px;height:21px}.universal-header-logo{min-width:0;pointer-events:none;background:transparent!important;box-shadow:none!important}.universal-header-logo img{display:block;width:100%;height:auto;max-height:45px;object-fit:contain;background:transparent!important;box-shadow:none!important;filter:none!important}.parent-mobile-logo{width:min(48vw,190px);height:48px;margin:0 auto;display:grid;place-items:center}.coord-mobile-header-logo,.teacher-home-brand{display:none}.parent-bell-button{position:relative}.parent-bell-button span,.parent-bottom-nav button b{position:absolute;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:#ef4444;color:#fff;font-size:.62rem;display:grid;place-items:center;border:2px solid #fff}.parent-bell-button span{top:2px;right:1px}.parent-mobile-content{width:min(100%,760px);margin:0 auto;padding:18px 14px 30px}.parent-welcome{display:flex;justify-content:space-between;align-items:end;margin:4px 2px 18px}.parent-welcome span{color:#72809c;font-size:.75rem;font-weight:700}.parent-welcome h1{font-size:1.6rem;letter-spacing:-.8px;line-height:1.15}.parent-welcome small{color:var(--parent-blue);font-size:.72rem;font-weight:800;background:#eaf2ff;padding:5px 9px;border-radius:20px;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.parent-metric-card{border:1px solid #e5ecf6;background:#fff;border-radius:16px;min-height:132px;padding:13px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;box-shadow:0 7px 20px #1c37640b}.parent-metric-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;margin-bottom:8px}.parent-metric-icon svg{width:17px;height:17px}.parent-metric-card strong{font-size:1.65rem;line-height:1;margin-bottom:5px}.parent-metric-card b{font-size:.8rem}.parent-metric-card small{font-size:.68rem;color:#7a879e;margin-top:2px}.parent-metric-card.green strong{color:#0caf72}.parent-metric-card.green .parent-metric-icon{color:#0caf72;background:#e4f9f0}.parent-metric-card.blue strong{color:#1672ed}.parent-metric-card.blue .parent-metric-icon{color:#1672ed;background:#e9f2ff}.parent-metric-card.orange strong{color:#f08a14}.parent-metric-card.orange .parent-metric-icon{color:#f08a14;background:#fff3df}.parent-metric-card.purple strong{color:#8b4ce7}.parent-metric-card.purple .parent-metric-icon{color:#8b4ce7;background:#f2eaff}.parent-home-card{margin-top:14px;padding:16px;background:#fff;border:1px solid #e5ecf6;border-radius:18px;box-shadow:0 7px 22px #1c37640a}.parent-today-card{border-top:3px solid var(--parent-blue);box-shadow:0 10px 28px #1269e817}.parent-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.parent-section-heading>div{display:flex;align-items:center;gap:8px}.parent-section-heading svg{width:18px;height:18px;color:var(--parent-blue)}.parent-section-heading h2{font-size:.94rem;font-weight:900}.parent-section-heading span{color:#8a96aa;font-size:.65rem;text-transform:capitalize}.parent-section-heading button{border:0;background:transparent;color:var(--parent-blue);font-size:.68rem;font-weight:800;cursor:pointer}.parent-timeline{display:flex;flex-direction:column;gap:5px}.parent-timeline>div,.parent-timeline>button{width:100%;border:0;background:transparent;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:8px;padding:8px 0;text-align:left;color:inherit}.parent-timeline>div{grid-template-columns:34px 1fr}.timeline-dot{width:30px;height:30px;display:grid;place-items:center;border-radius:10px}.timeline-dot svg{width:16px;height:16px}.timeline-dot.green{background:#e5f9f0;color:#0caf72}.timeline-dot.blue{background:#e9f2ff;color:#1672ed}.timeline-dot.orange{background:#fff3df;color:#f08a14}.timeline-dot.purple{background:#f2eaff;color:#8b4ce7}.parent-timeline p,.parent-activity-list p,.parent-event-list p,.parent-detail-list p{display:flex;flex-direction:column;min-width:0}.parent-timeline b,.parent-activity-list b,.parent-event-list b,.parent-detail-list b{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-timeline small,.parent-activity-list small,.parent-event-list small,.parent-detail-list small{color:#7e8ba1;font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-timeline>button>svg{color:#9aa6ba;width:16px;height:16px}.parent-report-preview{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center}.parent-average-ring{width:94px;height:94px;border:9px solid #dceaff;border-top-color:var(--parent-blue);border-right-color:var(--parent-blue);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.parent-average-ring strong{color:var(--parent-blue);font-size:1.4rem;line-height:1}.parent-average-ring span{color:#7e8ba1;font-size:.58rem;margin-top:4px}.parent-report-subjects{display:flex;flex-direction:column;gap:7px;min-width:0}.parent-report-subjects div{display:flex;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid #eef2f7;font-size:.72rem}.parent-report-subjects button{border:0;border-bottom:1px solid #eef2f7;background:transparent;display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 0;color:inherit;text-align:left;cursor:pointer}.parent-report-subjects button small{grid-column:1 / -1;color:#8b97aa;font-size:.56rem}.parent-report-subjects span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.parent-report-subjects b{color:var(--parent-blue)}.parent-report-subjects p{color:#7e8ba1;font-size:.7rem}.parent-soft-empty{display:flex;align-items:center;gap:12px;background:#f7f9fd;border-radius:13px;padding:14px}.parent-soft-empty svg{width:22px;color:#8190a9;flex-shrink:0}.parent-soft-empty div{display:flex;flex-direction:column}.parent-soft-empty b{font-size:.76rem}.parent-soft-empty span{color:#8390a5;font-size:.66rem}.parent-activity-list,.parent-event-list,.parent-detail-list{display:flex;flex-direction:column}.parent-activity-list>div,.parent-event-list>button,.parent-detail-list>div,.parent-message-item{width:100%;padding:10px 0;border:0;border-bottom:1px solid #edf1f6;background:transparent;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;text-align:left;color:inherit}.parent-activity-list>div:last-child,.parent-event-list>button:last-child,.parent-detail-list>div:last-child{border-bottom:0}.activity-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px}.activity-icon svg{width:15px;height:15px}.activity-icon.attendance{color:#0caf72;background:#e5f9f0}.activity-icon.task{color:#1672ed;background:#e9f2ff}.activity-icon.message{color:#8b4ce7;background:#f2eaff}.parent-activity-list time,.parent-message-item time{color:#98a3b5;font-size:.58rem;white-space:nowrap}.parent-event-list>button{grid-template-columns:45px 1fr 16px;cursor:pointer}.parent-event-list>button>span,.calendar-date{color:var(--parent-blue);background:#eaf2ff;border-radius:8px;padding:6px 5px;text-align:center;font-size:.58rem;font-weight:900}.parent-event-list svg{width:15px;color:#98a3b5}.parent-list-empty{color:#8591a5;font-size:.75rem;text-align:center;padding:24px 8px!important;display:block!important}.parent-bottom-nav{position:fixed;z-index:70;bottom:0;left:0;right:0;height:72px;display:grid;grid-template-columns:repeat(5,1fr);background:#fffffffa;border-top:1px solid #e3eaf4;box-shadow:0 -8px 25px #16305a0f}.parent-bottom-nav button{position:relative;border:0;background:transparent;color:#8a96aa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.57rem;font-weight:700;cursor:pointer}.parent-bottom-nav svg{width:19px;height:19px}.parent-bottom-nav button.active{color:var(--parent-blue)}.parent-bottom-nav button.active:before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 5px 5px;background:var(--parent-blue)}.parent-bottom-nav button b{top:9px;left:calc(50% + 5px)}.parent-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:98;background:#0f1f3c73;opacity:0;pointer-events:none;transition:.2s ease}.parent-drawer-overlay.open{opacity:1;pointer-events:auto}.parent-drawer{position:fixed;z-index:99;inset:0 auto 0 0;width:min(86vw,340px);background:#fff;padding:18px;transform:translate(-105%);transition:.25s ease;display:flex;flex-direction:column;box-shadow:20px 0 50px #10234a29}.parent-drawer.open{transform:translate(0)}.parent-drawer-top{display:flex;justify-content:space-between;align-items:center}.parent-brand-mini{font-weight:900;color:var(--parent-navy)}.parent-brand-mini b{color:#00ad83;font-size:.7rem;text-transform:uppercase}.parent-student-profile{margin-top:22px;padding:15px;background:linear-gradient(145deg,#edf5ff,#f8fbff);border:1px solid #dce9fb;border-radius:18px;display:grid;grid-template-columns:54px 1fr;align-items:center;gap:12px}.parent-student-profile.empty{background:#f7f9fc}.parent-avatar{width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#1672ed,#00b98b);color:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:900;box-shadow:0 8px 18px #1269e833}.parent-avatar svg{width:22px}.parent-avatar.large{width:76px;height:76px;border-radius:24px;font-size:2rem}.parent-student-profile div:last-child{display:flex;flex-direction:column;min-width:0}.parent-student-profile strong{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-student-profile span{color:#65748e;font-size:.66rem}.parent-student-profile small{color:var(--parent-blue);font-size:.61rem;font-weight:800;margin-top:3px}.parent-child-switcher{display:flex;flex-direction:column;gap:6px;margin:14px 2px 4px;color:#6c7890;font-size:.66rem;font-weight:800}.parent-child-switcher select{width:100%;border:1px solid #dce5f2;border-radius:10px;background:#fff;padding:10px;color:var(--parent-navy);font-size:.75rem}.parent-drawer-nav{margin-top:20px;display:flex;flex-direction:column;gap:4px}.parent-drawer-label{margin:8px 8px 3px;color:#9aa6ba;font-size:.57rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.parent-drawer-label.secondary{margin-top:16px}.parent-drawer-nav button{border:0;background:transparent;display:grid;grid-template-columns:24px 1fr 18px;align-items:center;gap:10px;padding:12px 8px;border-radius:10px;color:#35445e;text-align:left;font-size:.75rem;cursor:pointer}.parent-drawer-nav button:hover{background:#f3f7fd;color:var(--parent-blue)}.parent-drawer-nav button.active{background:#eaf2ff;color:var(--parent-blue);font-weight:900}.parent-drawer-nav svg{width:18px;height:18px}.parent-logout{margin-top:auto;border:0;background:#fff1f2;color:#dc3545;padding:12px;border-radius:12px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.parent-logout svg{width:17px}.parent-empty-state{min-height:calc(100vh - 180px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.parent-empty-icon{width:70px;height:70px;border-radius:22px;background:#e9f2ff;color:var(--parent-blue);display:grid;place-items:center;margin-bottom:16px}.parent-empty-icon svg{width:30px}.parent-empty-state h2{font-size:1.25rem}.parent-empty-state p{color:#758198;font-size:.78rem;line-height:1.6;margin:8px 0 18px}.parent-primary-action,.parent-secondary-action{border:0;border-radius:12px;padding:12px 16px;font-size:.75rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.parent-primary-action{color:#fff;background:linear-gradient(135deg,#1269e8,#00b98b);box-shadow:0 8px 18px #1269e82e}.parent-secondary-action{color:var(--parent-blue);background:#eaf2ff}.parent-primary-action svg,.parent-secondary-action svg{width:16px}.parent-detail-page{padding-top:4px}.parent-detail-title{display:flex;gap:10px;align-items:center;margin-bottom:16px}.parent-detail-title button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:#eaf2ff;color:var(--parent-blue);transform:rotate(180deg);cursor:pointer}.parent-detail-title svg{width:18px}.parent-detail-title h1{font-size:1.25rem}.parent-detail-title p{color:#7d899d;font-size:.68rem}.parent-detail-list{background:#fff;border:1px solid #e5ecf6;border-radius:16px;padding:5px 14px}.parent-detail-list>div{grid-template-columns:auto 1fr auto}.parent-detail-list>div>strong{color:var(--parent-blue);font-size:.95rem}.status-pill{border-radius:8px;padding:5px 7px;font-size:.57rem;font-weight:900;text-transform:capitalize}.status-pill.present,.status-pill.completed{background:#e5f9f0;color:#07965e}.status-pill.late,.status-pill.pending{background:#fff3df;color:#d97608}.status-pill.absent{background:#fff0f1;color:#dc3545}.status-pill.excused{background:#eaf2ff;color:var(--parent-blue)}.status-pill.green-grade{background:#e5f9f0;color:#07965e;border:1px solid #a7f3d0}.status-pill.yellow-grade{background:#fff3df;color:#d97608;border:1px solid #fde68a}.status-pill.red-grade{background:#fff0f1;color:#dc3545;border:1px solid #fecaca}.parent-detail-hero{padding:22px;margin-bottom:12px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#1269e8,#00a985);display:flex;justify-content:space-between;align-items:center}.parent-detail-hero span{font-size:.75rem;font-weight:800}.parent-detail-hero strong{font-size:2rem}.parent-bulletin-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:16px}.parent-bulletin-summary>div{min-height:108px;padding:18px;background:#fff;border:1px solid #e5ecf6;border-radius:16px;display:flex;flex-direction:column;justify-content:center}.parent-bulletin-summary span,.parent-bulletin-summary small{color:#7d899d;font-size:.65rem}.parent-bulletin-summary strong{color:var(--parent-navy);font-size:1.35rem;margin:5px 0 2px}.parent-bulletin-summary>div:last-child strong{color:var(--parent-blue);font-size:1.8rem}.parent-bulletin-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e2eaf5;border-radius:18px;box-shadow:0 8px 24px #1c37640a}.parent-bulletin-table{width:100%;min-width:700px;border-collapse:collapse}.parent-bulletin-table th{padding:13px 16px;background:#f4f8fe;color:#65748e;font-size:.65rem;text-align:center;text-transform:uppercase;letter-spacing:.04em}.parent-bulletin-table th:first-child{text-align:left}.parent-bulletin-table td{padding:14px 16px;border-top:1px solid #eaf0f7;text-align:center;font-size:.75rem}.parent-bulletin-table td:first-child{min-width:220px;text-align:left}.parent-bulletin-table td:first-child b,.parent-bulletin-table td:first-child small{display:block}.parent-bulletin-table td:first-child small{color:#8b97aa;font-size:.6rem;margin-top:3px}.parent-grade-value{color:#07965e;font-weight:900}.parent-grade-value.low,.parent-final-grade.low{color:#e06014}.parent-final-grade{color:var(--parent-blue);font-size:.95rem}.parent-competency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:16px}.parent-competency-grid article{padding:16px;background:#fff;border:1px solid #e5ecf6;border-radius:15px}.parent-competency-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.parent-competency-grid h3{font-size:.78rem}.parent-competency-grid article>div strong{color:var(--parent-blue)}.parent-competency-grid p{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px}.parent-competency-grid span{padding:7px 4px;border-radius:8px;background:#f4f8fe;color:#7d899d;text-align:center;font-size:.58rem}.parent-competency-grid span b{display:block;color:var(--parent-navy);margin-top:2px}.parent-message-item{grid-template-columns:10px 1fr auto;cursor:pointer}.status-dot{width:7px;height:7px;background:#cbd5e1;border-radius:50%}.status-dot.unread{background:#1672ed;box-shadow:0 0 0 4px #e9f2ff}.parent-notification-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;background:#eaf2ff;border-radius:12px;color:var(--parent-blue);font-size:.68rem;font-weight:800}.parent-notification-actions button{border:0;background:transparent;color:var(--parent-blue);font-size:.68rem;font-weight:900;cursor:pointer}.parent-notification-actions button:disabled{opacity:.55;cursor:wait}.parent-profile-detail,.parent-settings-card{background:#fff;border:1px solid #e5ecf6;border-radius:18px;padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center}.parent-profile-detail h2{margin-top:12px;font-size:1.1rem}.parent-profile-detail>p,.parent-settings-card p{color:#7d899d;font-size:.72rem}.parent-profile-detail dl{width:100%;margin-top:18px;display:flex;flex-direction:column;text-align:left}.parent-profile-detail dl div{padding:11px 0;border-bottom:1px solid #edf1f6}.parent-profile-detail dt{color:#8490a4;font-size:.62rem}.parent-profile-detail dd{font-size:.76rem;font-weight:800}.parent-settings-card>svg{width:42px;height:42px;color:var(--parent-blue);margin-bottom:14px}.parent-settings-card h2{font-size:1.05rem}.parent-settings-card p{margin:8px 0 18px;line-height:1.6}.modal-content.parent-link-modal{max-width:430px}.parent-link-modal>p{color:#748098;font-size:.75rem;margin-bottom:15px}.parent-link-modal form{display:flex;flex-direction:column;gap:12px}.parent-link-modal label{display:flex;flex-direction:column;gap:5px;color:#657188;font-size:.68rem;font-weight:800}.parent-link-modal input,.parent-link-modal select{border:1px solid #dce5f2;border-radius:10px;padding:11px;background:#fff;color:var(--parent-navy)}@media (min-width: 720px){.parent-mobile-content{padding:28px 22px 40px}.parent-metric-grid{grid-template-columns:repeat(4,1fr)}.parent-metric-card{min-height:145px}.parent-mobile-header{padding-inline:max(18px,calc((100vw - 760px)/2))}.parent-bottom-nav{left:50%;right:auto;width:760px;transform:translate(-50%);border-left:1px solid #e3eaf4;border-right:1px solid #e3eaf4;border-radius:18px 18px 0 0}}@media (min-width: 1100px){.parent-mobile-shell{padding:0 0 0 280px;min-height:100vh}.parent-mobile-header,.parent-drawer-overlay{display:none}.parent-drawer{width:280px;transform:none;box-shadow:8px 0 28px #10234a12;border-right:1px solid #e5ecf6;padding:22px 18px}.parent-drawer-top #close-parent-drawer{display:none}.parent-brand-mini{font-size:1rem}.parent-student-profile{margin-top:24px}.parent-drawer-nav{overflow-y:auto;margin-bottom:14px}.parent-mobile-content{width:100%;max-width:1560px;min-height:100vh;margin:0 auto;padding:32px 34px 38px}.parent-mobile-content>.parent-welcome,.parent-mobile-content>.parent-metric-grid{grid-column:1 / -1}.parent-mobile-content:has(>.parent-welcome){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.parent-welcome{margin:0 2px 4px}.parent-welcome h1{font-size:2rem}.parent-metric-grid{gap:16px}.parent-metric-card{min-height:138px;padding:17px}.parent-home-card{margin-top:0;min-height:245px;padding:20px}.parent-home-today,.parent-home-recent{min-height:270px;max-height:315px;overflow:hidden}.parent-home-bulletin,.parent-home-events{grid-column:1 / -1}.parent-home-bulletin{min-height:205px}.parent-home-bulletin .parent-report-preview{grid-template-columns:112px 1fr}.parent-home-bulletin .parent-report-subjects{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.parent-home-bulletin .parent-report-subjects button{min-height:74px;padding:12px;border:1px solid #e5ecf6;border-radius:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#fbfdff}.parent-home-bulletin .parent-report-subjects button b{margin-top:7px;font-size:1rem}.parent-detail-page{max-width:1450px;margin:0 auto}.parent-bottom-nav{display:none}}@media (max-width: 700px){.parent-bulletin-summary{grid-template-columns:1fr}}.event-manager{display:flex;flex-direction:column;gap:1.35rem}.event-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.event-manager-heading span{color:var(--secondary-color);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.event-manager-heading h1{color:var(--primary-color);font-size:1.75rem;margin-top:3px}.event-manager-heading p{color:var(--text-dim);font-size:.88rem;margin-top:4px}.event-manager-heading-icon{width:56px;height:56px;border-radius:18px;background:#2196f31a;color:var(--secondary-color);display:grid;place-items:center}.event-manager-heading-icon svg{width:26px;height:26px}.event-manager-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:1.35rem;align-items:start}.event-manager-form{display:flex;flex-direction:column;gap:.85rem}.event-manager-card-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.3rem}.event-manager-card-title>div{display:flex;align-items:center;gap:.55rem;color:var(--primary-color)}.event-manager-card-title h2{font-size:1rem}.event-manager-card-title svg{width:18px;height:18px}.event-manager-card-title>span{color:var(--text-dim);font-size:.68rem}.event-manager-form label{display:flex;flex-direction:column;gap:.35rem;color:var(--text-core);font-size:.72rem;font-weight:800}.event-manager-form input,.event-manager-form select,.event-manager-form textarea{width:100%;border:1px solid var(--border-light);border-radius:9px;padding:.7rem;background:#fff;color:var(--text-core);font:inherit}.event-manager-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.event-manager-status{min-height:1rem;color:var(--text-dim);font-size:.7rem}.event-manager-status.success{color:#059669}.event-manager-status.error{color:#dc2626}.event-manager-list{display:flex;flex-direction:column}.event-manager-item{display:grid;grid-template-columns:105px 1fr;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--border-light)}.event-manager-item:last-child{border-bottom:0}.event-manager-item time{display:flex;flex-direction:column;color:var(--secondary-color);font-size:.7rem}.event-manager-item time span{color:var(--text-dim);font-size:.65rem;margin-top:2px}.event-manager-item h3{color:var(--text-core);font-size:.88rem}.event-manager-item p{color:var(--text-dim);font-size:.7rem;margin-top:3px;line-height:1.45}.event-manager-empty{color:var(--text-dim);text-align:center;padding:3rem 1rem;font-size:.8rem}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-toolbar h2{color:var(--primary-color);font-size:1.15rem;text-transform:capitalize}.institutional-calendar{padding:1rem;overflow-x:auto}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px}.calendar-weekdays b{padding:.65rem;text-align:center;color:#64748b;font-size:.68rem;text-transform:uppercase}.calendar-day{min-height:112px;border:1px solid #e2e8f0;padding:.55rem;background:#fff;display:flex;flex-direction:column;gap:.3rem}.calendar-day.is-empty{background:#f8fafc}.calendar-day.is-non-working{background:#fff7ed}.calendar-day>b{color:#0f172a;font-size:.75rem}.calendar-day>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;background:#e0f2fe;color:#075985;padding:.25rem .35rem;font-size:.62rem;font-weight:800}.calendar-day>span.non-working{background:#fee2e2;color:#b91c1c}.calendar-day>small{color:#64748b;font-size:.6rem}.event-options{display:flex;flex-wrap:wrap;gap:.55rem;border:1px solid #e2e8f0;border-radius:10px;padding:.7rem}.event-options legend{color:#334155;font-size:.68rem;font-weight:900;padding:0 .25rem}.event-options label{flex-direction:row;align-items:center;font-weight:700}.event-options input,.event-non-working-toggle input{width:auto}.event-non-working-toggle{flex-direction:row!important;align-items:center;border-radius:10px;background:#fff7ed;color:#9a3412!important;padding:.7rem}.event-manager-item.is-non-working{background:#fff7ed;padding-left:.75rem;padding-right:.75rem;border-radius:10px}.event-manager-item h3 em{border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.58rem;font-style:normal;padding:.2rem .4rem;margin-left:.3rem;text-transform:uppercase}@media (max-width: 850px){.event-manager-grid{grid-template-columns:1fr}.event-manager-heading-icon{display:none}}@media (max-width: 640px){.event-manager{gap:.65rem}.event-manager-heading{gap:.5rem}.event-manager-heading span{font-size:.62rem;letter-spacing:.04em}.event-manager-heading h1{font-size:1.35rem;line-height:1.08;margin-top:2px}.event-manager-heading p{display:none}.calendar-toolbar{gap:.55rem}.calendar-toolbar .btn{flex:1 1 0;min-height:40px;padding:.48rem .35rem;font-size:.68rem;border-radius:9px}.calendar-toolbar h2{flex:0 0 76px;font-size:1rem;line-height:1.12;text-align:center}.institutional-calendar{padding:.45rem;overflow:hidden;border-radius:12px}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-weekdays b{padding:.35rem .1rem;font-size:.52rem}.calendar-day{min-height:46px;height:46px;padding:.22rem .18rem;gap:.12rem;overflow:hidden}.calendar-day>b{font-size:.62rem;line-height:1}.calendar-day>span{max-width:100%;padding:.12rem .18rem;font-size:.46rem;line-height:1.05;border-radius:4px}.calendar-day>span:nth-of-type(n+2),.calendar-day>small{display:none}}.r360-messaging{--chat-blue: #1769e8;--chat-green: #0fb98a;height:calc(100vh - 116px);min-height:650px;display:grid;grid-template-columns:minmax(310px,360px) 1fr;position:relative;overflow:hidden;background:#fff;border:1px solid #e3eaf4;border-radius:20px;box-shadow:0 18px 50px #18325e14;color:#10234a}.r360-chat-list-panel,.r360-student-info{background:#fbfdff}.r360-chat-list-panel{display:flex;flex-direction:column;min-width:0;border-right:1px solid #e7edf5}.r360-chat-list-heading{padding:22px 20px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.r360-chat-list-heading span{color:#8190a8;font-size:.62rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.r360-chat-list-heading h1{margin-top:3px;font-size:1.35rem}.r360-chat-list-heading button,.r360-record-button{border:0;border-radius:10px;padding:10px 12px;background:var(--chat-blue);color:#fff;font-size:.68rem;font-weight:900;cursor:pointer}.r360-chat-heading-actions{display:flex;gap:5px}.r360-chat-list-heading button.secondary{color:var(--chat-blue);background:#eaf2ff}.r360-chat-search{margin:0 18px;padding:10px 12px;border:1px solid #e2eaf5;border-radius:12px;background:#fff;display:flex;align-items:center;gap:8px}.r360-chat-search span{color:#8090a9;font-size:1.1rem}.r360-chat-search input{width:100%;border:0;outline:0;color:#10234a;font:inherit;font-size:.73rem}.r360-chat-filters{padding:12px 18px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.r360-chat-filters button{flex:0 0 auto;border:1px solid #e0e8f3;border-radius:999px;padding:6px 9px;background:#fff;color:#687791;font-size:.6rem;font-weight:800;cursor:pointer}.r360-chat-filters button.active{border-color:#cfe0fb;background:#eaf2ff;color:var(--chat-blue)}.r360-chat-coordinator-filters{padding:0 18px 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.r360-chat-coordinator-filters select{min-width:0;border:1px solid #e0e8f3;border-radius:8px;padding:6px;background:#fff;color:#687791;font-size:.56rem}.r360-chat-conversations{flex:1;overflow-y:auto;padding:2px 9px 14px}.r360-conversation{width:100%;border:0;border-radius:14px;padding:12px 10px;background:transparent;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;color:inherit;text-align:left;cursor:pointer}.r360-conversation:hover,.r360-conversation.active{background:#eaf2ff}.r360-chat-avatar{position:relative;width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:.77rem;font-weight:900}.r360-chat-avatar.blue{background:linear-gradient(145deg,#1473ef,#58a1ff)}.r360-chat-avatar.green{background:linear-gradient(145deg,#00a980,#38d3ad)}.r360-chat-avatar.purple{background:linear-gradient(145deg,#7b48db,#aa7cf5)}.r360-chat-avatar.orange{background:linear-gradient(145deg,#ed8615,#ffb85c)}.r360-chat-avatar i{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#aab4c4}.r360-chat-avatar i.online{background:#12b981}.r360-conversation-copy{min-width:0;display:flex;flex-direction:column}.r360-conversation-copy b{font-size:.74rem}.r360-conversation-copy small,.r360-conversation-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r360-conversation-copy small{color:#687791;font-size:.58rem;margin:2px 0 4px}.r360-conversation-copy em{color:#8b97aa;font-size:.63rem;font-style:normal}.r360-conversation-meta{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.r360-conversation-meta time{color:#98a4b6;font-size:.55rem}.r360-conversation-meta b{min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--chat-green);color:#fff;display:grid;place-items:center;font-size:.56rem}.r360-chat-panel{min-width:0;display:grid;grid-template-rows:auto 1fr auto;background:linear-gradient(#f7fafdf0,#f7fafdf0),url(/assets/papel%20tapiz-Dm0bFenF.png) center/cover}.r360-chat-header{min-height:76px;padding:14px 18px;background:#fffffff5;border-bottom:1px solid #e5ecf5;display:flex;align-items:center;gap:11px}.r360-chat-person{flex:1;min-width:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:flex-start;color:inherit;cursor:pointer}.r360-chat-person b{font-size:.82rem}.r360-chat-person span,.r360-chat-person small{color:#718099;font-size:.6rem}.r360-chat-person small{color:#0a9a70;margin-top:2px}.r360-chat-info-button,.r360-chat-back,.r360-info-close{width:36px;height:36px;border:0;border-radius:11px;background:#edf4fd;color:var(--chat-blue);font-weight:900;cursor:pointer}.r360-chat-back{display:none;font-size:1.35rem}.r360-chat-messages{overflow-y:auto;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.r360-chat-day{align-self:center;padding:5px 10px;border-radius:999px;background:#ffffffe6;color:#7c899e;font-size:.58rem;font-weight:800}.r360-message{max-width:min(76%,560px);padding:10px 12px 7px;border-radius:14px 14px 14px 4px;background:#fff;box-shadow:0 4px 14px #1c37640f}.r360-message.sent{align-self:flex-end;border-radius:14px 14px 4px;background:#dff7ee}.r360-message p{font-size:.73rem;line-height:1.45}.r360-message footer{margin-top:4px;color:#8491a5;font-size:.52rem;text-align:right}.r360-file-message{min-width:210px;border:1px solid #dce7f2;border-radius:11px;padding:10px;background:#ffffffbf;display:flex;flex-direction:column;color:inherit;text-align:left;cursor:not-allowed}.r360-file-message.available{border-color:#a8dfce;background:#effaf6;cursor:pointer}.r360-file-message b{font-size:.68rem}.r360-file-message span{color:#78879c;font-size:.57rem;margin-top:3px}.r360-file-message small{color:#9aa5b5;font-size:.52rem;margin-top:2px}.r360-image-message{width:min(260px,68vw);padding:4px;border:1px solid #dce7f2;border-radius:14px;background:#fffc;color:#52627a;display:grid;gap:5px;overflow:hidden;cursor:pointer;text-align:left}.r360-image-message img{width:100%;max-height:220px;border-radius:10px;object-fit:cover;display:block}.r360-image-message span{min-height:92px;display:grid;place-items:center;padding:12px;border-radius:10px;background:#eef4fc;font-size:.7rem}.r360-image-message small{padding:2px 5px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r360-media-viewer{position:fixed;z-index:2500;top:0;right:0;bottom:0;left:0;padding:56px 16px 24px;background:#08142ae0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center}.r360-media-viewer[hidden]{display:none}.r360-media-viewer>button{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:#ffffff26;color:#fff;font-size:1.5rem;cursor:pointer}.r360-media-viewer>div{max-width:min(920px,100%);max-height:100%;display:grid;gap:10px;justify-items:center;color:#fff}.r360-media-viewer img{display:block;max-width:100%;max-height:calc(100dvh - 110px);border-radius:16px;object-fit:contain}.r360-media-viewer{background:#020617eb}.r360-media-viewer>button{top:18px;left:18px;right:auto;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.r360-media-viewer>div{width:min(960px,100%)}.r360-media-figure{width:min(960px,100%);max-height:100%;margin:0;display:grid;gap:10px;justify-items:center}.r360-media-figure figcaption{width:min(100%,680px);display:flex;align-items:center;justify-content:center;gap:12px}.r360-media-viewer small{max-width:100%;color:#ffffffc7;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r360-media-figure button{min-height:34px;padding:8px 14px;border:0;border-radius:999px;background:#fff;color:#0b5fb8;font-size:.7rem;font-weight:900;cursor:pointer}.r360-image-message{border:0;background:transparent;box-shadow:none}.r360-message .r360-image-message{width:min(310px,72vw)}.r360-image-message img{max-height:280px;border-radius:12px;box-shadow:0 8px 20px #0f172a1f}.r360-image-message small{display:none}.r360-voice-note>button{width:46px;height:46px;border:0;border-radius:50%;background:#0fb98a;color:#fff;font-size:.95rem;font-weight:900;cursor:pointer}.r360-message.received .r360-voice-note>button{background:#1769e8}.r360-voice-note>button:disabled{background:#aab5c4;cursor:not-allowed}.r360-voice-note.playing>button{box-shadow:0 0 0 6px #0fb98a24}.r360-message.received .r360-voice-note.playing>button{box-shadow:0 0 0 6px #1769e824}.r360-voice-track{position:relative;min-width:0;display:grid;grid-template-rows:38px 12px 18px;gap:5px;align-items:center}.r360-voice-track input{width:100%;height:12px;margin:0;accent-color:#0a9a70;cursor:pointer}.r360-message.received .r360-voice-track input{accent-color:#1769e8}.r360-voice-track span{display:block;min-height:18px;color:#52627a;font-size:.72rem;font-weight:700;line-height:18px;white-space:nowrap}.r360-voice-note audio{display:none;grid-column:2;width:100%;height:34px;margin-top:4px}.r360-voice-note.native-fallback audio{display:block}.r360-voice-note.unavailable{opacity:.72}.r360-chat-composer{position:relative;padding:12px 14px;background:#fffffffa;border-top:1px solid #e4ebf4;display:grid;grid-template-columns:38px 38px 1fr 38px 44px;gap:7px;align-items:center}.r360-chat-composer input{min-width:0;border:1px solid #e1e9f3;border-radius:12px;padding:11px 13px;outline:0;font:inherit;font-size:.72rem}.r360-chat-composer button{height:38px;border:0;border-radius:11px;background:#eef4fc;color:#53637c;font-weight:900;cursor:pointer}.r360-chat-composer button.send{background:var(--chat-green);color:#fff}.r360-chat-composer button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.r360-chat-composer button[data-compose-action=voice]{touch-action:none;user-select:none;-webkit-user-select:none}.r360-chat-composer button[data-compose-action=voice].recording{background:#e9f2ff;color:#1672ed}.r360-chat-composer button span{display:none}.r360-chat-composer button.recording{background:#fff0f1;color:#dc3545;animation:r360-recording-pulse 1s infinite alternate}.r360-messaging.voice-recording-active .r360-chat-composer>button[data-compose-action=file],.r360-messaging.voice-recording-active .r360-chat-composer>button[data-compose-action=image],.r360-messaging.voice-recording-active .r360-chat-composer>input[name=message],.r360-messaging.voice-recording-active .r360-chat-composer>button.send{opacity:0;pointer-events:none}.r360-messaging.voice-recording-active .r360-recording-visual{left:12px;right:60px;bottom:8px;width:auto;min-height:44px;padding:6px 12px;border:1px solid #d8eadf;border-radius:999px;background:#fffffffa;box-shadow:0 10px 28px #0f2d5024;pointer-events:none;display:grid!important;grid-template-columns:auto auto minmax(80px,1fr) auto;align-items:center;gap:9px}.r360-messaging.voice-recording-active .r360-recording-mic{width:12px;height:12px;background:#ef4444;color:transparent;box-shadow:0 0 0 5px #ef44441f}.r360-messaging.voice-recording-active .r360-recording-visual>b{color:#12344d;min-width:36px;font-size:.72rem;text-shadow:none}.r360-messaging.voice-recording-active .r360-recording-visual>small{color:#607089;font-size:.68rem;text-align:left;text-shadow:none;white-space:nowrap}.r360-messaging.voice-recording-active .r360-plasma-field{grid-column:3;grid-row:1;width:100%;height:32px;justify-content:center;filter:none}.r360-messaging.voice-recording-active .r360-plasma-field i{background:linear-gradient(180deg,#0fb98a,#34b6e5,#1769e8)}.r360-messaging.voice-recording-active .r360-recording-visual.cancel-ready{border-color:#fecaca;background:#fff8f8;transform:translate(-18px)}.r360-messaging.voice-recording-active .r360-recording-visual.cancel-ready>small{color:#b91c1c}.r360-global-message-badge{min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;display:inline-grid;place-items:center;font-size:.55rem}@keyframes r360-recording-pulse{to{transform:scale(1.08)}}.r360-outside-hours{padding:8px 14px;background:#fff7df;border-top:1px solid #f3df9b;color:#9a6810;font-size:.62rem;text-align:center}.r360-student-info{position:absolute;z-index:80;right:0;top:0;bottom:0;width:300px;background:#fbfdff;border-left:1px solid #e7edf5;text-align:center;overflow-y:auto;transform:translate(105%);transition:transform .22s ease;box-shadow:-14px 0 35px #1c37641f}.r360-student-info>.r360-chat-avatar{width:76px;height:76px;border-radius:24px;margin:0 auto 12px;font-size:1.1rem}.r360-student-info h2{font-size:1rem}.r360-student-info>p,.r360-student-info>small{color:#75839a;font-size:.65rem}.r360-info-close{display:block;position:absolute;top:12px;right:12px}.r360-student-quick-grid{margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.r360-student-quick-grid div{padding:12px 6px;border:1px solid #e3eaf4;border-radius:12px;background:#fff;display:flex;flex-direction:column}.r360-student-quick-grid span{color:#7e8ca2;font-size:.57rem}.r360-student-quick-grid b{color:var(--chat-blue);font-size:1rem;margin-top:3px}.r360-record-button{width:100%;background:linear-gradient(135deg,var(--chat-blue),var(--chat-green))}.r360-shared-files{margin-top:22px;text-align:left}.r360-shared-files h3{font-size:.75rem;margin-bottom:8px}.r360-shared-files div{padding:10px 0;border-bottom:1px solid #e6edf5;display:flex;flex-direction:column}.r360-shared-files b{font-size:.65rem}.r360-shared-files span,.r360-shared-files p{color:#8b97aa;font-size:.55rem;margin-top:2px;line-height:1.4}.r360-messaging-mobile-nav{display:none}.r360-chat-empty{margin:auto;padding:28px 16px;color:#8491a5;font-size:.72rem;text-align:center}.r360-new-chat-modal{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:20px;background:#0f1f3c73}.r360-messaging.new-chat-open [data-new-chat-modal],.r360-messaging.schedule-open [data-schedule-modal]{display:flex}.r360-new-chat-modal>section{width:min(100%,520px);max-height:min(80vh,720px);overflow-y:auto;padding:18px;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f1f3c3d}.r360-new-chat-modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.r360-new-chat-modal header span{color:#8491a5;font-size:.6rem;text-transform:uppercase;font-weight:900}.r360-new-chat-modal header h2{font-size:1.2rem}.r360-new-chat-modal header button{width:34px;height:34px;border:0;border-radius:10px;background:#edf4fd;color:var(--chat-blue);cursor:pointer}.r360-authorized-contact{width:100%;border:0;border-bottom:1px solid #e8eef6;background:transparent;padding:12px 4px;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;color:inherit;text-align:left;cursor:pointer}.r360-authorized-contact:disabled{opacity:.58;cursor:wait}.r360-authorized-contact span:nth-child(2){min-width:0;display:flex;flex-direction:column}.r360-authorized-contact b{font-size:.73rem}.r360-authorized-contact small,.r360-authorized-contact em{color:#8491a5;font-size:.58rem;font-style:normal}.r360-new-chat-status{display:none;margin:0 0 8px;padding:9px 11px;border-radius:10px;font-size:.68rem;font-weight:700}.r360-new-chat-status.loading,.r360-new-chat-status.error{display:block}.r360-new-chat-status.loading{background:#edf5ff;color:#1769c2}.r360-new-chat-status.error{background:#fff0f0;color:#c93636}.r360-schedule-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.r360-schedule-form fieldset{grid-column:1/-1;padding:12px;border:1px solid #e3eaf4;border-radius:12px}.r360-schedule-form legend{color:#687791;font-size:.65rem;font-weight:900}.r360-schedule-form fieldset label{display:inline-flex;align-items:center;gap:4px;margin:6px 8px 0 0;font-size:.65rem}.r360-schedule-form>label{display:flex;flex-direction:column;gap:5px;color:#687791;font-size:.65rem;font-weight:800}.r360-schedule-form input[type=time]{padding:9px;border:1px solid #e3eaf4;border-radius:9px}.r360-schedule-form button{grid-column:1/-1}.r360-teacher-hours{margin:16px 0;padding:11px;border-radius:10px;background:#eef8f5;display:flex;flex-direction:column}.r360-teacher-hours b{font-size:.65rem}.r360-teacher-hours span{color:#688176;font-size:.58rem;margin-top:3px}@media (max-width: 760px){.r360-messaging{position:relative;height:calc(100dvh - 64px);min-height:540px;display:block;border:0;border-radius:0;box-shadow:none;overflow:hidden}.r360-chat-list-panel,.r360-chat-panel,.r360-student-info{position:absolute;top:0;right:0;bottom:58px;left:0;width:100%;transition:transform .22s ease}.r360-chat-list-panel{transform:translate(0)}.r360-chat-panel,.r360-student-info{transform:translate(105%)}.r360-messaging.chat-open .r360-chat-list-panel{transform:translate(-35%);pointer-events:none}.r360-messaging.chat-open .r360-chat-panel{transform:translate(0)}.r360-messaging.info-open .r360-chat-panel{transform:translate(-35%)}.r360-messaging.info-open .r360-student-info{z-index:9;transform:translate(0)}.r360-chat-list-heading{padding-top:16px}.r360-chat-list-heading h1{font-size:1.5rem}.r360-chat-back,.r360-info-close{display:block}.r360-chat-header{min-height:66px;padding:10px 12px}.r360-chat-person span{display:none}.r360-chat-messages{padding:16px 12px}.r360-message{max-width:84%}.r360-chat-composer{grid-template-columns:34px 34px 1fr 34px 40px;padding:9px 8px;gap:4px}.r360-chat-composer button{height:34px}.r360-student-info{padding-top:42px;background:#fbfdff}.r360-messaging-mobile-nav{position:absolute;z-index:12;inset:auto 0 0;height:58px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e4ebf4;background:#fff}.r360-messaging-mobile-nav button{border:0;background:transparent;color:#8491a5;font-size:.55rem;font-weight:800}.r360-messaging-mobile-nav button.active{color:var(--chat-blue)}.r360-new-chat-modal{padding:0;align-items:flex-end}.r360-new-chat-modal>section{width:100%;max-height:92vh;border-radius:20px 20px 0 0}.parent-detail-page:has(.r360-messaging) .parent-detail-title{display:none}.parent-mobile-content:has(.r360-messaging){padding:0}}.parent-mobile-shell,.coord-layout,.r360-messaging{color:#10234a;font-size:16px}.parent-drawer-nav button,.parent-desktop-nav-item,.coord-menu-btn{min-height:48px;font-size:.94rem;color:#334155}.parent-drawer-label,.parent-child-switcher,.parent-student-profile span,.parent-student-profile small{font-size:.75rem;color:#52627a}.parent-metric-card b,.parent-section-heading h2,.parent-timeline b,.parent-activity-list b,.parent-event-list b,.parent-detail-list b{font-size:.88rem}.parent-metric-card small,.parent-timeline small,.parent-activity-list small,.parent-event-list small,.parent-detail-list small,.parent-detail-title p,.parent-list-empty{color:#52627a;font-size:.78rem;line-height:1.45}.parent-bottom-nav button{min-height:58px;font-size:.68rem;color:#52627a}@media (max-width: 600px) and (orientation: portrait){.parent-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:0 3px env(safe-area-inset-bottom,0)!important}.parent-bottom-nav button{width:100%;min-width:0!important;padding:5px 1px 4px!important;gap:3px!important;overflow:visible}.parent-bottom-nav button span{display:block;width:100%;min-width:0;overflow:hidden;color:inherit;font-size:clamp(.48rem,2.25vw,.58rem)!important;font-weight:800;line-height:1.1;text-align:center;text-overflow:clip;white-space:nowrap}.parent-bottom-nav .messaging-nav-item{grid-column:3}.parent-bottom-nav .messaging-icon-ring{width:36px;height:36px;flex-basis:36px}}.coord-user-name{font-size:.92rem}.coord-user-role,.coord-user-status{font-size:.75rem;color:#52627a}.coord-layout .form-control,.coord-layout input,.coord-layout select,.coord-layout textarea{min-height:42px;font-size:.9rem!important;color:#1e293b}.coord-layout table{font-size:.85rem;color:#1e293b}.coord-layout th,.coord-layout td{line-height:1.4}.coord-layout .badge{font-size:.75rem}.r360-chat-list-heading span,.r360-new-chat-modal header span{color:#52627a;font-size:.72rem}.r360-chat-list-heading button,.r360-record-button{min-height:42px;font-size:.78rem}.r360-chat-search input,.r360-chat-filters button,.r360-chat-coordinator-filters select{font-size:.78rem}.r360-chat-filters button{min-height:36px;padding:8px 11px;color:#475569}.r360-conversation{min-height:76px}.r360-conversation-copy b,.r360-chat-person b,.r360-authorized-contact b{font-size:.88rem}.r360-conversation-copy small,.r360-conversation-copy em,.r360-chat-person span,.r360-chat-person small,.r360-authorized-contact small,.r360-authorized-contact em{color:#52627a;font-size:.72rem;line-height:1.35}.r360-conversation-meta time,.r360-message footer,.r360-chat-day{color:#52627a;font-size:.68rem}.r360-message p{font-size:.88rem;line-height:1.55}.r360-chat-composer input{min-height:44px;font-size:.88rem;color:#10234a}.r360-chat-composer button{min-width:40px;min-height:40px}.r360-chat-empty,.r360-outside-hours,.r360-student-info>p,.r360-student-info>small,.r360-student-quick-grid span,.r360-file-message span{color:#52627a;font-size:.75rem;line-height:1.45}.r360-new-chat-modal header button,.r360-chat-info-button,.r360-chat-back,.r360-info-close{min-width:42px;min-height:42px}@media (max-width: 760px){.parent-mobile-shell .r360-messaging-mobile-nav{display:none}}.coord-layout :where(p,small,label,td,th,input,select,textarea,option,.badge),.parent-mobile-shell :where(p,small,label,td,th,input,select,textarea,option),.r360-messaging :where(p,small,label,input,select,textarea,option){font-size:.82rem!important;line-height:1.5}.coord-layout :where(button,a),.parent-mobile-shell :where(button,a),.r360-messaging :where(button,a){font-size:.86rem!important;line-height:1.35}.coord-layout :where(h1,h2,h3,h4),.parent-mobile-shell :where(h1,h2,h3,h4),.r360-messaging :where(h1,h2,h3,h4){line-height:1.25}.coord-layout h1,.parent-mobile-shell h1{font-size:clamp(1.55rem,2vw,2.1rem)}.coord-layout h2,.parent-mobile-shell h2{font-size:clamp(1.15rem,1.5vw,1.55rem)}.coord-layout h3,.parent-mobile-shell h3{font-size:1rem}.coord-menu-btn,.parent-drawer-nav button,.parent-desktop-nav-item{font-size:.94rem!important;line-height:1.35}.coord-user-name,.parent-student-profile strong{font-size:.92rem!important}.coord-user-role,.coord-user-status,.parent-drawer-label,.parent-child-switcher,.parent-student-profile span,.parent-student-profile small{font-size:.78rem!important}.parent-metric-card b,.parent-section-heading h2,.parent-timeline b,.parent-activity-list b,.parent-event-list b,.parent-detail-list b{font-size:.9rem!important}.parent-metric-card small,.parent-timeline small,.parent-activity-list small,.parent-event-list small,.parent-detail-list small,.parent-message-item time{font-size:.8rem!important;color:#475569}.parent-bulletin-table th,.parent-bulletin-table td{font-size:.86rem!important}.r360-chat-list-heading span,.r360-new-chat-modal header span,.r360-chat-day,.r360-conversation-meta time,.r360-message footer{font-size:.75rem!important;color:#475569}.r360-conversation-copy b,.r360-chat-person b,.r360-authorized-contact b,.r360-student-info h2{font-size:.94rem!important}.r360-conversation-copy small,.r360-conversation-copy em,.r360-chat-person span,.r360-chat-person small,.r360-authorized-contact small,.r360-authorized-contact em,.r360-file-message span,.r360-shared-files span,.r360-shared-files p{font-size:.78rem!important;color:#475569}.r360-message p,.r360-chat-composer input{font-size:.94rem!important}.r360-chat-filters button,.r360-chat-coordinator-filters select,.r360-chat-list-heading button,.r360-record-button{font-size:.8rem!important}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}@media (min-width: 1251px){.r360-messaging{grid-template-columns:minmax(350px,390px) minmax(430px,1fr) minmax(280px,320px)}}.coord-main-panel:has(.r360-messaging){min-height:100dvh}.coord-main-panel:has(.r360-messaging) #dashboard-main-content-mount,.parent-detail-page:has(.r360-messaging),.parent-mobile-content:has(.r360-messaging){min-height:0}.coord-main-panel:has(.r360-messaging) #dashboard-main-content-mount{display:flex;flex-direction:column}.coord-main-panel:has(.r360-messaging) #dashboard-main-content-mount>.r360-messaging,.parent-detail-page:has(.r360-messaging)>.r360-messaging{flex:1 1 auto}.r360-messaging{grid-template-columns:minmax(300px,370px) minmax(0,1fr)!important;width:100%;height:min(820px,calc(100dvh - 128px));min-height:min(650px,calc(100dvh - 128px));max-height:calc(100dvh - 104px);border-radius:0!important;box-shadow:none!important}.r360-chat-panel{min-height:0}.r360-chat-list-panel,.r360-chat-panel{height:100%}.r360-chat-conversations,.r360-chat-messages{min-height:0}.r360-student-info{width:min(380px,92vw)!important;padding:58px 18px 18px;opacity:0;pointer-events:none;transform:translate(105%)!important}.r360-messaging.info-open .r360-student-info{opacity:1;pointer-events:auto;transform:translate(0)!important}.r360-messaging.info-open .r360-chat-panel{transform:none!important}.r360-chat-person{padding:0}.teacher-sync-indicator{position:relative;width:100%;min-height:42px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid transparent;border-radius:11px;font-family:inherit;font-size:.7rem;font-weight:800;text-align:left;cursor:pointer}.teacher-sync-indicator svg{width:17px;height:17px;flex:0 0 auto}.teacher-sync-indicator b{min-width:20px;height:20px;margin-left:auto;display:grid;place-items:center;border-radius:999px;background:currentColor;color:#fff;font-size:.62rem}.teacher-sync-indicator.synced{color:#087b59;background:#e8f8f1;border-color:#c7ecde}.teacher-sync-indicator.pending{color:#a65d0b;background:#fff4e5;border-color:#f8d8ae}.teacher-sync-indicator.offline{color:#b42332;background:#fff0f2;border-color:#f5cbd1}.teacher-sync-indicator.pending svg{animation:teacher-sync-spin 1.5s linear infinite}@keyframes teacher-sync-spin{to{transform:rotate(360deg)}}.teacher-mobile-section-compact{display:none}@media (max-width: 600px) and (orientation: portrait){html,body,#app,.coord-layout,.coord-main-panel,#dashboard-main-content-mount{max-width:100vw!important;overflow-x:hidden!important}.coord-main-panel{padding:0 0 78px!important}.coord-sub-header{min-height:58px;margin:0 0 10px!important;padding:10px 14px!important}#dashboard-main-content-mount>.animate-fade-in{gap:12px!important;padding:0 12px 10px}#dashboard-main-content-mount .flex-header h1{font-size:1.25rem!important;line-height:1.2}#dashboard-main-content-mount .flex-header p{font-size:.75rem!important;line-height:1.35}.sections-header-controls{margin:0 0 2px!important}.search-filter-wrapper{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:7px!important;max-width:none!important}.search-input-container input,.tanda-filter-select{height:42px;min-width:0;padding-top:8px!important;padding-bottom:8px!important;font-size:.72rem!important;border-radius:11px!important}.horizontal-section-card{margin:0!important;padding:12px!important;border-radius:17px!important;overflow:hidden!important;box-shadow:0 5px 18px #20446e0f!important}.horizontal-section-card>.card-header-row,.horizontal-section-card>.card-modules-row,.horizontal-section-card>.card-stats-row{display:none!important}.teacher-mobile-section-compact{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:center;width:100%}.teacher-mobile-section-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px}.teacher-mobile-section-icon svg{width:20px;height:20px}.teacher-mobile-section-icon.done{color:#078a62;background:#e7f8f1}.teacher-mobile-section-icon.pending{color:#b76a0c;background:#fff2df}.teacher-mobile-section-copy{min-width:0}.teacher-mobile-section-copy>div{display:flex;align-items:center;gap:6px;min-width:0}.teacher-mobile-section-copy h3{overflow:hidden;margin:0;color:#174d88;font-size:.82rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-section-copy>div span{flex:0 0 auto;padding:3px 6px;border-radius:999px;font-size:.5rem;font-weight:900;text-transform:uppercase}.teacher-mobile-section-copy span.done{color:#087b59;background:#e7f8f1}.teacher-mobile-section-copy span.pending{color:#a65d0b;background:#fff2df}.teacher-mobile-section-copy p{overflow:hidden;margin:3px 0;color:#425875;font-size:.68rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-section-copy small{display:flex;align-items:center;gap:4px;color:#7b899d;font-size:.57rem;font-weight:700}.teacher-mobile-section-copy small svg{width:11px;height:11px}.teacher-mobile-section-actions{display:grid;gap:5px}.teacher-mobile-section-actions button{width:38px;height:31px;display:grid;place-items:center;border:0;border-radius:10px;color:#fff;background:#1688d8}.teacher-mobile-section-actions .btn-open-mobile-section{color:#376183;background:#edf4fa}.teacher-mobile-section-actions svg{width:16px;height:16px}.teacher-mobile-section-detail{display:grid;gap:12px;padding:0 12px 12px;color:#173652}.teacher-mobile-back-sections{width:max-content;display:flex;align-items:center;gap:4px;border:0;background:transparent;color:#3f668c;font-size:.7rem;font-weight:800}.teacher-mobile-back-sections svg{width:15px;height:15px}.teacher-mobile-section-hero{display:flex;align-items:start;justify-content:space-between;gap:8px;padding:15px;border:1px solid #e2eaf3;border-radius:18px;background:linear-gradient(135deg,#f4f9ff,#f3fbf8)}.teacher-mobile-section-hero span:first-child,.teacher-mobile-module-heading span{color:#76869a;font-size:.58rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.teacher-mobile-section-hero h1{margin:3px 0;color:#174d88;font-size:1.15rem}.teacher-mobile-section-hero p{display:flex;align-items:center;gap:4px;margin:0;color:#68798f;font-size:.66rem;font-weight:700}.teacher-mobile-section-hero p svg{width:12px;height:12px}.teacher-mobile-status{padding:5px 8px;border-radius:999px;font-size:.55rem!important;font-weight:900!important;white-space:nowrap}.teacher-mobile-status.done{color:#087b59;background:#e1f7ee}.teacher-mobile-status.pending{color:#a65d0b;background:#fff0db}.teacher-mobile-roll-call{width:100%;min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:0;border-radius:17px;color:#fff;background:linear-gradient(135deg,#1688d8,#11aa92);box-shadow:0 8px 18px #1688d833}.teacher-mobile-roll-call>span{display:grid;grid-template-columns:32px 1fr;column-gap:8px;text-align:left}.teacher-mobile-roll-call>span svg{grid-row:span 2;align-self:center}.teacher-mobile-roll-call b{font-size:.8rem}.teacher-mobile-roll-call small{opacity:.83;font-size:.58rem}.teacher-mobile-attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.teacher-mobile-attendance-summary article{display:grid;gap:2px;padding:10px 7px;border-radius:13px;text-align:center}.teacher-mobile-attendance-summary span{font-size:1rem;font-weight:900}.teacher-mobile-attendance-summary small{font-size:.55rem;font-weight:800}.teacher-mobile-attendance-summary .present{color:#078a62;background:#e8f8f2}.teacher-mobile-attendance-summary .absent{color:#cf3d4d;background:#fff0f2}.teacher-mobile-attendance-summary .excused{color:#2469ca;background:#edf4ff}.teacher-mobile-module-heading{display:flex;justify-content:space-between;align-items:end;margin-top:2px}.teacher-mobile-module-heading small{color:#8794a6;font-size:.55rem}.teacher-mobile-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-mobile-module-grid button{min-width:0;min-height:78px;display:grid;grid-template-columns:30px 1fr;gap:2px 7px;align-content:center;padding:11px;border:1px solid #e3eaf3;border-radius:15px;background:#fff;color:#1d568d;text-align:left;box-shadow:0 4px 14px #20446e0d}.teacher-mobile-module-grid button svg{grid-row:span 2;align-self:center;width:22px;height:22px}.teacher-mobile-module-grid button b{color:#23496e;font-size:.7rem}.teacher-mobile-module-grid button small{overflow:hidden;color:#8290a2;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-module-grid button:last-child{grid-column:span 2}.teacher-mobile-notification-badge{position:absolute;top:7px;right:22%;min-width:15px;height:15px;display:grid;place-items:center;border-radius:999px;background:#e44355;color:#fff;font-size:.5rem}.mobile-bottom-nav .nav-item{position:relative}.teacher-mobile-settings-page{display:grid;gap:14px;padding:0 12px}.teacher-mobile-settings-page h1{margin:0;color:#174d88;font-size:1.25rem}.teacher-mobile-settings-page p{margin:3px 0 0;color:#748398;font-size:.7rem}.teacher-mobile-settings-page section{display:grid;gap:8px}.teacher-mobile-settings-page article{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:13px;border:1px solid #e3eaf3;border-radius:15px;background:#fff}.teacher-mobile-settings-page article svg{width:21px;color:#1688d8}.teacher-mobile-settings-page article div{display:grid;gap:2px}.teacher-mobile-settings-page article b{color:#264c70;font-size:.72rem}.teacher-mobile-settings-page article small{color:#8290a2;font-size:.57rem}}@media (max-width: 760px){html{font-size:16px}.coord-layout :where(p,small,label,td,th,input,select,textarea,option),.parent-mobile-shell :where(p,small,label,td,th,input,select,textarea,option),.r360-messaging :where(p,small,label,input,select,textarea,option){font-size:.84rem!important}}.role-option-desc{font-size:.65rem;color:var(--text-dim);line-height:1.25}.floating-settings-btn{position:fixed;bottom:24px;right:24px;z-index:99;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--action-color) 100%);color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 4px 15px #0d47a14d;transition:var(--transition-cyber);font-size:1.1rem}.floating-settings-btn:hover{transform:scale(1.1) rotate(60deg);box-shadow:0 6px 20px #00c89680}.floating-settings-btn:active{transform:scale(.95)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a59;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:var(--transition-fast);padding:1.5rem}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{background:#fff;border:1px solid var(--border-light);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:2.25rem;transform:scale(.95);transition:var(--transition-cyber)}.modal-overlay.active .modal-content{transform:scale(1)}.close-modal{background:transparent;border:none;color:var(--text-dim);font-size:1.4rem;cursor:pointer;transition:var(--transition-fast)}.close-modal:hover{transform:scale(1.1);color:#ef4444}.tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--border-light);margin-bottom:1.5rem}.tab-btn{padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-dim);font-size:.85rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;transition:var(--transition-fast)}.tab-btn:hover{color:var(--secondary-color)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin-bottom:1.5rem}.metric-card{background:#fff;border-radius:var(--radius-sm);padding:1.5rem 1.25rem;border:1px solid var(--border-light);text-align:center;position:relative;box-shadow:var(--shadow-sm)}.metric-card:before{content:"";position:absolute;bottom:0;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--secondary-color),var(--action-color))}.metric-value{font-family:var(--font-mono);font-size:2rem;font-weight:800;color:var(--primary-color)!important;margin-bottom:4px}.metric-label{font-size:.7rem;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:1px}.student-record-container{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 992px){.student-record-container{grid-template-columns:280px 1fr}}.student-info-sidebar{background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:1.75rem}.student-avatar{width:72px;height:72px;border-radius:50%;background:#0d47a10d;border:1px solid var(--primary-color);box-shadow:0 4px 12px #0d47a126;color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:850;margin:0 auto 1.25rem}.info-item{margin-bottom:1.25rem}.info-label{font-size:.7rem;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.15rem}.info-value{font-size:.85rem;font-weight:700;color:hsl(var(--text-core))}.pwa-banner{background:linear-gradient(90deg,#0d47a10a,#00c8960a);border:1px solid var(--border-light);padding:1rem 1.75rem;border-radius:var(--radius-md);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;box-shadow:var(--shadow-sm)}.pwa-banner-icon{width:52px;height:52px;flex:0 0 52px;border-radius:14px;object-fit:contain;background:#fff;box-shadow:0 8px 18px #0f172a1f}.pwa-banner-text{flex:1 1 260px}.pwa-banner-text h3{font-size:.95rem;font-weight:800;color:var(--primary-color)}.pwa-banner-text p{font-size:.8rem;color:var(--text-dim)}.flex-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.animate-fade-in{animation:fadeIn .25s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:28px;height:28px;border:2px solid rgba(13,71,161,.1);border-radius:50%;border-top-color:var(--secondary-color);animation:spin .8s linear infinite;margin:3rem auto}@keyframes spin{to{transform:rotate(360deg)}}.coord-layout{display:flex;min-height:100vh;width:100%;background-color:#f8fafc}.coord-sidebar{width:280px;background-color:#fff;border-right:1px solid var(--border-light);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1rem;flex-shrink:0}@media (max-width: 991px){.coord-layout{flex-direction:column}.coord-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-light);padding:1rem}}.coord-logo-sec{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-light)}.coord-logo-sec img{width:min(100%,205px);height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(13,71,161,.12))}.coord-menu{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;margin-bottom:1.5rem;padding-right:4px}.coord-menu::-webkit-scrollbar{width:4px}.coord-menu::-webkit-scrollbar-thumb{background:#0d47a11a;border-radius:2px}.coord-menu-btn{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-radius:10px;background:transparent;border:none;color:var(--text-dim);font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;transition:all .2s ease;width:100%}.coord-menu-btn svg,.coord-menu-btn [data-lucide],.coord-menu-btn i{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.coord-menu-btn:hover{background-color:#f1f5f9;color:var(--primary-color)}.coord-menu-btn.active{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--action-color) 100%);color:#fff;box-shadow:0 4px 12px #2196f333}.coord-user-card{display:flex;align-items:center;gap:.75rem;padding:.85rem;background:#f8fafc;border:1px solid var(--border-light);border-radius:12px;margin-top:auto;position:relative}.coord-user-avatar{width:40px;height:40px;border-radius:50%;background:#0d47a10d;border:1.5px solid var(--primary-color);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--primary-color);font-size:.95rem;overflow:hidden}.coord-user-avatar img{width:100%;height:100%;object-fit:cover}.coord-user-info{display:flex;flex-direction:column;line-height:1.25}.coord-user-name{font-size:.85rem;font-weight:800;color:var(--text-core)}.coord-user-role{font-size:.75rem;color:var(--text-dim)}.coord-user-status{display:flex;align-items:center;gap:.3rem;font-size:.65rem;color:#059669;font-weight:700;margin-top:2px}.coord-user-status-dot{width:6px;height:6px;border-radius:50%;background-color:#10b981}.coord-main-panel{flex:1;display:flex;flex-direction:column;padding:1.75rem 2.25rem 4rem;overflow-y:auto;max-height:100vh}.coord-sub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.coord-center-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border-light);padding:.5rem 1rem;border-radius:50px;font-weight:700;font-size:.85rem;color:var(--primary-color);cursor:pointer;box-shadow:var(--shadow-sm)}.coord-center-badge:hover{background:#f8fafc}.coord-header-right{display:flex;align-items:center;gap:1.25rem}.coord-notif-bell{width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;box-shadow:var(--shadow-sm);color:var(--text-dim);transition:all .2s ease}.coord-notif-bell:hover{background:#f8fafc;color:var(--primary-color)}.coord-notif-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background-color:#ef4444;color:#fff;font-size:.65rem;font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff}.final-acta-module{display:flex;flex-direction:column;gap:1rem;text-align:left}.final-acta-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.final-acta-page-head h2{margin:0;color:var(--primary-color);font-weight:900}.final-acta-page-head p{margin:.25rem 0 0;color:var(--text-dim);font-size:.86rem}.final-acta-head-actions,.final-acta-card-actions,.final-acta-quick-row{display:flex;flex-wrap:wrap;gap:.5rem}.final-acta-filters{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:.65rem;padding:1rem;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-sm)}.final-acta-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}.final-acta-card{background:#fff;border:1px solid rgba(13,71,161,.1);border-left:4px solid var(--primary-color);border-radius:8px;padding:1rem;display:grid;gap:.8rem;box-shadow:var(--shadow-sm)}.final-acta-card-main{display:flex;justify-content:space-between;gap:.75rem}.final-acta-card h3{margin:.15rem 0 0;color:#1e293b;font-weight:900}.final-acta-kicker{color:var(--text-dim);font-size:.72rem;font-weight:800;text-transform:uppercase}.final-acta-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:0}.final-acta-card dt{color:var(--text-dim);font-size:.68rem;font-weight:800;text-transform:uppercase}.final-acta-card dd{margin:.1rem 0 0;color:#1e293b;font-weight:800}.final-acta-card p{margin:0;color:var(--text-dim);font-size:.78rem}.final-acta-observations{background:#fff;border:1px solid #dbe4ef;border-radius:8px;padding:1rem;box-shadow:var(--shadow-sm)}.final-acta-observations>div{display:flex;justify-content:space-between;gap:1rem;align-items:center}.final-acta-observations h3{margin:0;color:#1e293b;font-size:.95rem;font-weight:900}.final-acta-observations ul{margin:.8rem 0 0;padding-left:1.1rem;columns:2;color:#475569;font-size:.78rem}.final-acta-observations li.error{color:#b91c1c}.final-acta-observations li.warning{color:#a16207}.final-acta-sheet{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:1rem;box-shadow:var(--shadow-sm)}.final-acta-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:2px solid #1e293b;padding-bottom:.75rem;margin-bottom:.8rem}.final-acta-title h2{margin:0;font-size:1.15rem;text-transform:uppercase;letter-spacing:0;color:#111827}.final-acta-title p{margin:.2rem 0 0;color:#64748b;font-size:.8rem}.final-acta-title img{width:130px;height:auto}.final-acta-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.45rem;margin-bottom:.9rem}.final-acta-meta-grid span{border:1px solid #d5dde8;border-radius:6px;padding:.45rem;color:#1e293b;font-size:.76rem;min-height:48px}.final-acta-meta-grid>span:not(.final-acta-meta-field){display:none}.final-acta-meta-input{width:100%;min-width:0;border:0;outline:0;padding:0;background:transparent;color:#1e293b;font:inherit;font-weight:800}.final-acta-meta-input:focus{box-shadow:inset 0 -2px #0d47a173}.final-acta-meta-grid b{display:block;color:#64748b;font-size:.62rem;text-transform:uppercase;margin-bottom:.15rem}.final-acta-scroll{overflow:auto;max-height:min(72vh,760px);border:1px solid #cbd5e1;border-radius:6px}.final-acta-table{min-width:2070px;width:100%;border-collapse:separate;border-spacing:0;font-size:.67rem;table-layout:fixed}.final-acta-table th,.final-acta-table td{border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;padding:.32rem;text-align:center;vertical-align:middle}.final-acta-table th{background:#f1f5f9;color:#1e293b;font-weight:900}.final-acta-table thead th{position:sticky;top:0;z-index:5}.final-acta-table thead tr:nth-child(2) th{top:34px;z-index:4}.acta-number-col{width:42px}.acta-name-col{width:220px;text-align:left!important;position:sticky;left:0;z-index:2;background:#fff}th.acta-name-col{background:#f1f5f9;z-index:7}.final-acta-table td.acta-subject-0{background:#eaf2ff}.final-acta-table td.acta-subject-1{background:#ecfdf5}.final-acta-table td.acta-subject-2{background:#fff7ed}.final-acta-table td.acta-subject-3{background:#fdf2f8}.final-acta-table td.acta-subject-4{background:#f0fdfa}.final-acta-table td.acta-subject-5{background:#f5f3ff}.final-acta-table th.acta-subject-0{background:#dbeafe}.final-acta-table th.acta-subject-1{background:#dff8ed}.final-acta-table th.acta-subject-2{background:#ffedd5}.final-acta-table th.acta-subject-3{background:#fce7f3}.final-acta-table th.acta-subject-4{background:#ccfbf1}.final-acta-table th.acta-subject-5{background:#ede9fe}.acta-name-col small{display:block;color:#64748b;font-weight:700;margin-top:.1rem}.acta-subject-head{width:168px}.acta-subcol-head{width:42px;min-width:42px;height:112px;padding:.18rem!important;font-size:.62rem;line-height:1;white-space:nowrap;word-break:normal}.acta-subcol-head span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);text-orientation:mixed;white-space:nowrap}.acta-situation-col{width:190px}.final-acta-score.is-locked{background:#f1f5f9;color:#94a3b8}.final-acta-score.is-failed{background:#fee2e2;color:#991b1b;font-weight:900}.final-acta-situation-label{display:block;color:inherit;width:fit-content;max-width:100%;margin:0 auto;border-radius:999px;padding:.18rem .45rem;font-size:.7rem;line-height:1.2;font-weight:900}.acta-situation-col.is-approved,.final-acta-situation-label.is-approved{background:#e8f8f2;color:#08775b}.acta-situation-col.is-pending,.final-acta-situation-label.is-pending{background:#fff4df;color:#a45d09}.acta-situation-col.is-rejected,.final-acta-situation-label.is-rejected{background:#fff0f1;color:#b42335}.acta-situation-col small{display:block;color:#64748b;font-size:.58rem;margin-top:.2rem}.acta-situation-col.is-approved small,.acta-situation-col.is-pending small,.acta-situation-col.is-rejected small{color:inherit;opacity:.78}.acta-situation-col.is-manual{background:#fffbeb}.final-acta-signatures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:2.2rem;text-align:center;color:#1e293b;font-size:.72rem}.final-acta-signatures span{border-top:1px solid #111827;padding-top:.55rem;font-weight:800}.final-acta-mobile-only{display:none}@media (max-width: 760px){.final-acta-page-head{flex-direction:column}.final-acta-filters{grid-template-columns:1fr}.final-acta-desktop-only{display:none}.final-acta-mobile-only{display:grid;gap:1rem}.final-acta-mobile-list{display:grid;gap:.5rem}.final-acta-mobile-student{display:flex;justify-content:space-between;gap:.75rem;text-align:left;border:1px solid #dbe4ef;background:#fff;border-radius:8px;padding:.75rem;color:#1e293b}.final-acta-mobile-student.active{border-color:var(--primary-color);background:#eff6ff}.final-acta-mobile-student span,.final-acta-mobile-student strong{font-size:.78rem}.final-acta-mobile-detail{background:#fff;border:1px solid #dbe4ef;border-radius:8px;padding:1rem;display:grid;gap:.8rem}.final-acta-mobile-detail h3{margin:0;color:var(--primary-color);font-size:1rem}.final-acta-mobile-detail p{margin:0;color:var(--text-dim);font-size:.76rem}.final-acta-mobile-subject{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;border-top:1px solid #edf2f7;padding:.65rem 0;font-size:.74rem}.final-acta-mobile-subject strong{grid-column:1 / -1;color:#1e293b}}@media print{body:has(.final-acta-sheet){background:#fff!important}}.coord-top-profile{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border-light);padding:.35rem .75rem;border-radius:50px;cursor:pointer;box-shadow:var(--shadow-sm)}.coord-top-profile img{width:26px;height:26px;border-radius:50%;object-fit:cover}.coord-top-profile-name{font-size:.8rem;font-weight:700;color:var(--text-core)}.coord-metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:2rem}.coord-metric-tile{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.coord-metric-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#2196f333}.coord-metric-top{display:flex;justify-content:space-between;align-items:center}.coord-metric-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.coord-metric-icon.blue{background-color:#2196f3}.coord-metric-icon.green{background-color:#00c896}.coord-metric-icon.indigo{background-color:#0d47a1}.coord-metric-icon.orange{background-color:#f59e0b}.coord-metric-icon.red{background-color:#ef4444}.coord-metric-trend{font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;gap:2px}.coord-metric-trend.up{color:#10b981}.coord-metric-trend.down{color:#ef4444}.coord-metric-val{font-family:var(--font-display);font-size:1.6rem;font-weight:900;color:var(--text-core)}.coord-metric-lbl{font-size:.75rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.coord-metric-sub{font-size:.7rem;color:var(--text-muted)}.coord-dashboard-cols{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.coord-dashboard-cols{grid-template-columns:1.15fr .85fr}}.coord-attention-item{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;border-bottom:1px solid var(--border-light);transition:background .15s}.coord-attention-item:last-child{border-bottom:none}.coord-attention-item:hover{background:#f8fafc}.coord-attention-left{display:flex;align-items:center;gap:.75rem}.coord-attention-icon{width:32px;height:32px;border-radius:50%;background:#0d47a10d;color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:.9rem}.coord-attention-icon.red{background:#ef44440d;color:#ef4444}.coord-attention-icon.orange{background:#f59e0b0d;color:#d97706}.coord-attention-text{display:flex;flex-direction:column}.coord-attention-title{font-size:.85rem;font-weight:700;color:var(--text-core)}.coord-attention-desc{font-size:.75rem;color:var(--text-dim)}.coord-attention-badge{min-width:22px;height:22px;border-radius:50%;background:#f1f5f9;color:var(--text-core);font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px}.coord-attention-badge.red{background:#ef44441a;color:#ef4444}.coord-attention-badge.orange{background:#f59e0b1a;color:#d97706}.coord-teacher-cell{display:flex;align-items:center;gap:.75rem}.coord-teacher-avatar{width:28px;height:28px;border-radius:50%;background:#2196f314;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.75rem;color:var(--secondary-color);overflow:hidden}.coord-teacher-avatar img{width:100%;height:100%;object-fit:cover}.coord-meeting-item{display:flex;gap:1rem;padding:1rem .5rem;border-bottom:1px solid var(--border-light)}.coord-meeting-item:last-child{border-bottom:none}.coord-meeting-date-box{width:54px;height:54px;background:#f1f5f9;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);line-height:1.1;flex-shrink:0}.coord-meeting-day-lbl{font-size:.65rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.coord-meeting-day-num{font-size:1.25rem;font-weight:900;color:var(--primary-color)}.coord-meeting-content{flex:1;display:flex;flex-direction:column;justify-content:center}.coord-meeting-time{font-size:.75rem;font-weight:700;color:var(--text-dim)}.coord-meeting-title{font-size:.85rem;font-weight:700;color:var(--text-core);margin-top:2px}.coord-meeting-tag{align-self:center;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px}.coord-meeting-tag.virtual{background:#2196f314;color:var(--secondary-color)}.coord-meeting-tag.presencial{background:#00c89614;color:var(--action-color)}.coord-alert-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem .5rem;border-bottom:1px solid var(--border-light)}.coord-alert-item:last-child{border-bottom:none}.coord-alert-left{display:flex;align-items:center;gap:.6rem}.coord-alert-dot{width:8px;height:8px;border-radius:50%}.coord-alert-dot.red{background-color:#ef4444}.coord-alert-dot.orange{background-color:#f59e0b}.coord-alert-text{font-size:.8rem;color:var(--text-core);font-weight:500}.coord-alert-time{font-size:.75rem;color:var(--text-dim);white-space:nowrap}.coord-setup-card{padding:2rem;border-radius:16px}.coord-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center;padding:2rem}.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1rem}.section-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000005;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.section-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px -8px #0d47a11f;border-color:#2196f34d}.section-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.section-card-title{font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;color:var(--primary-color);line-height:1.2}.section-card-status-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.25rem .6rem;border-radius:9999px;display:inline-flex;align-items:center;gap:4px}.section-card-status-badge.activa{background:#10b9811a;color:#10b981}.section-card-status-badge.inactiva{background:#9ca3af1a;color:#6b7280}.section-card-status-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.section-card-body{flex:1;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.section-card-info-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-dim)}.section-card-info-item span.icon{font-size:1rem}.section-card-info-item strong{color:var(--text-core)}.section-card-footer{border-top:1px solid var(--border-light);padding-top:1rem;display:flex;gap:.5rem}#tab-attendance-patterns{display:none}.attendance-sections-grid,.attendance-teacher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem}.attendance-pro-card,.attendance-teacher-card{background:#fff;border:1px solid #dbe5f1;border-radius:18px;box-shadow:0 8px 24px #0f172a0f;padding:1.25rem}.attendance-pro-card{cursor:pointer;border-top:4px solid #ef4444;transition:transform .2s ease,box-shadow .2s ease}.attendance-pro-card.is-complete{border-top-color:#10b981}.attendance-pro-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0f172a1c}.attendance-pro-head,.attendance-teacher-head,.attendance-pro-progress>div:first-child,.attendance-pro-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.attendance-pro-head h3,.attendance-teacher-head h3{margin:0;color:var(--primary-color);font-size:1.1rem}.attendance-pro-kicker{color:#64748b;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.attendance-status-pill{border-radius:999px;padding:.35rem .65rem;font-size:.68rem;font-weight:800;white-space:nowrap}.attendance-status-pill.complete{background:#dcfce7;color:#047857}.attendance-status-pill.pending{background:#fee2e2;color:#b91c1c}.attendance-pro-meta{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0}.attendance-pro-meta span{background:#f8fafc;border-radius:10px;color:#64748b;font-size:.68rem;padding:.65rem}.attendance-pro-meta strong{color:#0f172a;display:block;font-size:.76rem;margin-bottom:.2rem}.attendance-pro-stats,.attendance-teacher-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.attendance-pro-stats div,.attendance-teacher-metrics div{border:1px solid #e2e8f0;border-radius:10px;padding:.65rem}.attendance-pro-stats span,.attendance-teacher-metrics span{display:block;color:#64748b;font-size:.62rem;font-weight:700}.attendance-pro-stats strong,.attendance-teacher-metrics strong{color:#0f172a;display:block;font-size:1rem;margin-top:.2rem}.attendance-pro-stats small{color:#94a3b8;font-size:.68rem}.attendance-pro-stats .danger,.attendance-teacher-detail .danger{color:#dc2626}.attendance-teacher-detail .success{color:#047857}.attendance-pro-progress{margin-top:1rem}.attendance-pro-progress span,.attendance-pro-progress strong,.attendance-pro-progress small{font-size:.7rem}.attendance-pro-progress small{color:#64748b}.attendance-progress-track{height:7px;margin:.45rem 0;border-radius:999px;background:#e2e8f0;overflow:hidden}.attendance-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#10b981)}.attendance-pro-footer{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:.85rem;font-size:.7rem}.attendance-pro-footer>strong{color:var(--secondary-color);text-transform:uppercase}.irregularity-indicator{background:#ecfdf5;color:#047857;border-radius:999px;padding:.35rem .6rem;font-weight:800}.irregularity-indicator.has-risk{background:#fff7ed;color:#c2410c}.attendance-teacher-head{justify-content:flex-start}.attendance-teacher-head>div:nth-child(2){flex:1}.attendance-teacher-head p{color:#64748b;font-size:.7rem;margin:.15rem 0 0}.attendance-teacher-metrics{grid-template-columns:repeat(3,1fr);margin:1rem 0}.attendance-teacher-detail{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid #e2e8f0;padding-top:.85rem}.attendance-teacher-detail span{color:#64748b;font-size:.72rem;line-height:1.4}.attendance-teacher-detail strong{color:#0f172a}.regiface-connect-card{display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(300px,.9fr);align-items:center;gap:1.25rem;padding:1.5rem}.regiface-connect-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#0284c7,#0f766e);color:#fff;font-weight:900}.regiface-connect-card h2,.regiface-attendance-toolbar h2{color:var(--primary-color);margin:.2rem 0}.regiface-connect-card p,.regiface-attendance-toolbar p{color:#64748b;font-size:.75rem}.regiface-connect-card form{display:grid;gap:.55rem}.regiface-connect-card input{border:1px solid #dbe5f1;border-radius:9px;padding:.7rem;font:inherit}.regiface-error{color:#b91c1c!important;background:#fee2e2;border-radius:8px;padding:.6rem;font-size:.72rem;grid-column:1 / -1}.regiface-attendance-view{display:flex;flex-direction:column;gap:1rem}.regiface-attendance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.regiface-attendance-toolbar>div:last-child{display:flex;align-items:center;gap:.5rem;color:#047857;font-size:.68rem;font-weight:800}.regiface-filter-row{display:grid;grid-template-columns:1fr auto;gap:.75rem}.regiface-filter-row input{border:1px solid #dbe5f1;border-radius:10px;background:#fff;padding:.7rem .9rem;font:inherit;color:#0f172a}.regiface-live-dot,.regiface-records-head i{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #d1fae5}.regiface-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.regiface-summary-grid article{position:relative;border:1px solid #dbe5f1;border-radius:15px;background:#fff;padding:1rem;box-shadow:0 6px 18px #0f172a0d}.regiface-summary-grid article.primary{border-color:#2563eb}.regiface-summary-grid article>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;font-weight:900}.regiface-summary-grid .green{background:#d1fae5;color:#059669}.regiface-summary-grid .red{background:#fee2e2;color:#ef4444}.regiface-summary-grid .gray{background:#f1f5f9;color:#64748b}.regiface-summary-grid .blue{background:#dbeafe;color:#2563eb}.regiface-summary-grid strong{display:block;color:#082f6b;font-size:1.35rem;margin-top:.75rem}.regiface-summary-grid p{color:#64748b;font-size:.67rem;margin-top:.15rem}.regiface-summary-grid small{position:absolute;right:1rem;top:1rem;font-size:.62rem;font-weight:900}.regiface-records-card{padding:0;overflow:hidden}.regiface-records-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid #e2e8f0}.regiface-records-head h3{color:#0f172a;font-size:.9rem}.regiface-records-head p{color:#64748b;font-size:.65rem;margin-top:.2rem}.regiface-records-head>span{display:flex;align-items:center;gap:.45rem;border-radius:999px;background:#ecfdf5;color:#047857;padding:.4rem .6rem;font-size:.6rem;font-weight:800}.regiface-table td{background:#f8fafc;border-bottom:8px solid #fff}.regiface-table td:first-child{border-radius:12px 0 0 12px}.regiface-table td:last-child{border-radius:0 12px 12px 0}.regiface-table td>small{display:block;color:#94a3b8;font-size:.58rem;margin-top:.2rem}.regiface-user-cell{display:flex;align-items:center;gap:.65rem}.regiface-user-cell img,.regiface-user-cell>span{width:38px;height:38px;border-radius:50%;object-fit:cover}.regiface-user-cell>span{display:grid;place-items:center;background:#dbeafe;color:#0369a1;font-size:.65rem;font-weight:900}.regiface-user-cell strong{display:block;font-size:.72rem;color:#0f172a}.regiface-user-cell small{color:#64748b;font-size:.58rem}.regiface-status{border-radius:999px;padding:.35rem .55rem;font-size:.56rem;font-weight:900;text-transform:uppercase}.regiface-status.puntual{background:#dcfce7;color:#047857}.regiface-status.tardanza{background:#fef3c7;color:#b45309}.regiface-status.ausente{background:#e2e8f0;color:#475569}.regiface-monthly{display:flex;align-items:center;gap:.5rem}.regiface-monthly>span{width:75px;height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.regiface-monthly i{display:block;height:100%;background:#0891b2}.regiface-monthly strong{font-size:.62rem}@media (max-width: 760px){.attendance-sections-grid,.attendance-teacher-grid{grid-template-columns:1fr}.attendance-pro-stats{grid-template-columns:repeat(2,1fr)}.attendance-pro-meta,.regiface-connect-card{grid-template-columns:1fr}.regiface-summary-grid{grid-template-columns:repeat(2,1fr)}.regiface-attendance-toolbar{align-items:flex-start;flex-direction:column}}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;background:#fff;border:2px dashed var(--border-light);border-radius:16px}.empty-state-icon{font-size:3.5rem;margin-bottom:1rem;animation:float 4s ease-in-out infinite}.empty-state-title{font-family:Space Grotesk,sans-serif;font-size:1.4rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.empty-state-subtitle{font-size:.95rem;color:var(--text-dim);max-width:400px;margin-bottom:1.5rem;line-height:1.5}.drop-zone{border:2px dashed var(--border-light);border-radius:12px;padding:2rem 1.5rem;text-align:center;background:var(--bg-light);cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.drop-zone:hover,.drop-zone.dragover{border-color:var(--secondary-color);background:#2196f30a}.drop-zone-icon{font-size:2.2rem}.drop-zone-text{font-size:.85rem;color:var(--text-core);font-weight:600}.drop-zone-subtext{font-size:.75rem;color:var(--text-dim)}.modal-grid-3{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (min-width: 992px){.modal-grid-3{grid-template-columns:1fr 1.2fr}}.subjects-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:160px;overflow-y:auto;padding:4px;border:1px solid var(--border-light);border-radius:8px}.subject-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.8rem;cursor:pointer;padding:6px 10px;background:var(--bg-light);border-radius:6px;transition:background .15s}.subject-checkbox-label:hover{background:#2196f314}.subject-checkbox-label input{cursor:pointer}.table-preview-container{border:1px solid var(--border-light);border-radius:8px;overflow:hidden;max-height:240px;overflow-y:auto;margin-top:1rem}.table-preview-container table{width:100%;border-collapse:collapse}.table-preview-container th{background:var(--bg-light);font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--primary-color);padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:10}.table-preview-container td{padding:8px 12px;font-size:.8rem;border-bottom:1px solid var(--border-light)}.editable-cell{outline:none;padding:4px;border-radius:4px;transition:background .15s}.editable-cell:focus{background:#2196f314;box-shadow:0 0 0 1px var(--secondary-color)}.btn-remove-row{background:transparent;border:none;color:#ef4444;cursor:pointer;font-size:.95rem;padding:0;min-height:0;box-shadow:none}.btn-remove-row:hover{color:#b91c1c}.btn-tinder-swipe{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,filter .2s ease!important}.btn-tinder-swipe:hover{transform:scale(1.12);filter:brightness(.98)}.btn-tinder-swipe:active{transform:scale(.92)}.btn-tinder-swipe.absent:hover{box-shadow:0 8px 20px #ef444440!important}.btn-tinder-swipe.excused:hover{box-shadow:0 6px 15px #2563eb33!important}.btn-tinder-swipe.present:hover{box-shadow:0 8px 20px #10b98140!important}#btn-tinder-toggle-camera{transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s ease,box-shadow .2s ease!important}#btn-tinder-toggle-camera:hover{transform:scale(1.12)!important;background:var(--secondary-color)!important}#btn-tinder-toggle-camera:active{transform:scale(.92)!important}#btn-tinder-capture-photo{transition:transform .2s ease,box-shadow .2s ease!important}#btn-tinder-capture-photo:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}#btn-tinder-capture-photo:active{transform:translateY(0)}.global-dialog-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0d47a166;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:99999;opacity:0;pointer-events:none;transition:opacity .2s ease}.global-dialog-overlay.show{opacity:1;pointer-events:auto}.global-dialog-card{background:hsl(var(--bg-card));border:1px solid var(--border-neon);border-radius:var(--radius-md);padding:2.25rem 2rem;width:90%;max-width:480px;box-shadow:var(--shadow-lg),0 0 40px #0d47a11a;position:relative;transform:scale(.9);transition:transform .2s cubic-bezier(.34,1.56,.64,1);text-align:center}.global-dialog-overlay.show .global-dialog-card{transform:scale(1)}.global-dialog-close-btn{position:absolute;top:1rem;right:1.25rem;background:transparent;border:none;font-size:1.75rem;font-weight:500;color:hsl(var(--text-dim));cursor:pointer;line-height:1;transition:var(--transition-fast);padding:4px}.global-dialog-close-btn:hover{color:#f43f5e}.global-dialog-icon-container{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin:0 auto 1.25rem;background:#0d47a114;color:var(--primary-color)}.global-dialog-icon-container.danger{background:#f43f5e1a;color:#f43f5e}.global-dialog-icon-container.warning{background:#f59e0b1a;color:#f59e0b}.global-dialog-icon-container.success{background:#10b9811a;color:#10b981}.global-dialog-title{font-size:1.35rem;font-weight:800;margin-bottom:.75rem;color:hsl(var(--text-core));letter-spacing:-.3px}.global-dialog-message{font-size:.95rem;color:hsl(var(--text-dim));margin-bottom:2rem;line-height:1.6}.global-dialog-actions{display:flex;gap:1rem;justify-content:center}.global-dialog-actions .btn{padding:.75rem 1.5rem;font-weight:600;font-size:.9rem;min-width:120px}.parent-subject-attendance{display:grid;gap:18px;width:min(1180px,100%);margin:0 auto;color:#14213d}.parent-attendance-student-card,.parent-attendance-day-panel,.parent-attendance-matrix{background:#fff;border:1px solid #e4eaf3;border-radius:22px;box-shadow:0 12px 34px #1f3f6812}.parent-attendance-student-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px;background:linear-gradient(135deg,#f7fbff,#fff 55%,#f1fbf8)}.parent-attendance-student-main{display:flex;align-items:center;gap:15px;min-width:0}.parent-attendance-student-main img,.parent-attendance-avatar{width:68px;height:68px;flex:0 0 68px;border-radius:20px;object-fit:cover;display:grid;place-items:center;background:linear-gradient(145deg,#1a73e8,#12b99a);color:#fff;font-size:1.55rem;font-weight:900;box-shadow:0 8px 20px #1a73e833}.parent-attendance-student-main span,.parent-week-control>span,.parent-attendance-day-heading span,.parent-subject-card-top>div>span{display:block;color:#73829a;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.parent-attendance-student-main h2{margin:4px 0;color:#123b70;font-size:1.25rem;line-height:1.2}.parent-attendance-student-main p{margin:0;color:#68768c;font-size:.82rem;font-weight:600}.parent-week-control{display:grid;gap:5px;min-width:280px}.parent-week-control strong{color:#173f72;font-size:.86rem}.parent-week-control>div{display:grid;grid-template-columns:36px 1fr 36px;gap:6px}.parent-week-control button,.parent-week-control input{min-height:38px;border:1px solid #dce5f1;border-radius:11px;background:#fff;color:#174d88;font-weight:800}.parent-week-control button{cursor:pointer;font-size:1.35rem}.parent-week-control input{padding:0 10px;font-family:inherit}.parent-attendance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.parent-attendance-summary article{display:flex;align-items:center;gap:11px;min-height:82px;padding:14px;border:1px solid #e5ebf4;border-radius:17px;background:#fff;box-shadow:0 8px 22px #1f3f680d}.parent-attendance-summary article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:1.05rem;font-weight:900}.parent-attendance-summary strong,.parent-attendance-summary small{display:block}.parent-attendance-summary strong{color:#163b69;font-size:1.28rem}.parent-attendance-summary small{color:#708096;font-size:.72rem;font-weight:700}.parent-attendance-summary .present>span,.parent-attendance-legend .present,.parent-attendance-status.present,.parent-matrix-status.present{color:#078a62;background:#e7f8f1}.parent-attendance-summary .absent>span,.parent-attendance-legend .absent,.parent-attendance-status.absent,.parent-matrix-status.absent{color:#d93b4b;background:#ffedf0}.parent-attendance-summary .late>span,.parent-attendance-legend .late,.parent-attendance-status.late,.parent-matrix-status.late{color:#a96900;background:#fff5d9}.parent-attendance-summary .excused>span,.parent-attendance-legend .excused,.parent-attendance-status.excused,.parent-matrix-status.excused{color:#2469ca;background:#eaf2ff}.parent-attendance-legend .no-class,.parent-attendance-status.no-class,.parent-matrix-status.no-class{color:#758195;background:#edf1f5}.parent-attendance-legend .pending,.parent-attendance-status.pending,.parent-matrix-status.pending{color:#a45e12;background:#fff2e5}.parent-attendance-legend{display:flex;flex-wrap:wrap;gap:8px}.parent-attendance-legend>span{display:inline-flex;align-items:center;gap:6px;color:#607089;font-size:.7rem;font-weight:700}.parent-attendance-legend i{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;font-style:normal;font-weight:900}.parent-attendance-day-panel,.parent-attendance-matrix{padding:18px}.parent-attendance-day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:6px;border-radius:16px;background:#f2f6fb}.parent-attendance-day-tabs button{display:grid;gap:2px;padding:9px 4px;border:0;border-radius:12px;background:transparent;color:#75839a;cursor:pointer;font-family:inherit}.parent-attendance-day-tabs button b{font-size:.69rem;text-transform:uppercase}.parent-attendance-day-tabs button span{font-size:.92rem;font-weight:900}.parent-attendance-day-tabs button.active{color:#fff;background:linear-gradient(135deg,#1976df,#10ad96);box-shadow:0 6px 16px #1976df38}.parent-attendance-day-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:20px 2px 13px}.parent-attendance-day-heading h3{margin:3px 0 0;color:#163f72;font-size:1.04rem}.parent-attendance-day-heading>small{color:#6f7d91;font-size:.7rem;font-weight:700;white-space:nowrap}.parent-subject-card-list{display:grid;gap:10px}.parent-subject-attendance-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #e4eaf3;border-left:4px solid #edae55;border-radius:16px;background:#fff}.parent-subject-attendance-card.present{border-left-color:#17a979}.parent-subject-attendance-card.absent{border-left-color:#e34e5c}.parent-subject-attendance-card.late{border-left-color:#e3a214}.parent-subject-attendance-card.excused{border-left-color:#3a7edb}.parent-subject-order{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#f1f6fc;color:#1f609f;font-weight:900}.parent-subject-card-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.parent-subject-card-top h4{margin:3px 0 0;color:#183c68;font-size:.92rem}.parent-attendance-status{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:.66rem;font-weight:800;white-space:nowrap}.parent-attendance-status i{font-style:normal;font-weight:900}.parent-subject-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f6}.parent-subject-meta span{display:inline-flex;align-items:center;gap:5px;color:#6d7c91;font-size:.68rem;font-weight:650}.parent-subject-meta svg{width:13px;height:13px}.parent-subject-observation{margin:9px 0 0;padding:8px 10px;border-radius:9px;background:#f7f9fc;color:#64738a;font-size:.7rem}.parent-attendance-matrix-scroll{overflow-x:auto}.parent-attendance-matrix table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.parent-attendance-matrix th,.parent-attendance-matrix td{padding:10px;border-bottom:1px solid #e8edf4;text-align:center}.parent-attendance-matrix th{color:#64738a;font-size:.68rem;text-transform:uppercase}.parent-attendance-matrix th:first-child,.parent-attendance-matrix td:first-child{text-align:left}.parent-attendance-matrix th small{display:block;margin-top:2px}.parent-attendance-matrix td:first-child{color:#24466e;font-size:.74rem}.parent-matrix-status{width:60px;min-height:44px;margin:auto;display:grid;place-items:center;border-radius:11px;font-weight:900}.parent-matrix-status small{display:block;font-size:.52rem}@media (max-width: 760px){.parent-subject-attendance{gap:13px}.parent-attendance-student-card{display:grid;padding:16px;border-radius:18px}.parent-week-control{min-width:0}.parent-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.parent-attendance-summary article{min-height:70px;padding:10px}.parent-attendance-day-panel{padding:12px;border-radius:18px}.parent-subject-attendance-card{grid-template-columns:35px minmax(0,1fr);gap:9px;padding:11px}.parent-subject-order{width:34px;height:34px}.parent-subject-card-top{gap:7px}.parent-attendance-status{padding:5px 7px}.parent-attendance-matrix{display:none}}.parent-calendar-container{display:flex;flex-direction:column;gap:1.25rem;background:#f8fafc;border-radius:20px;padding:1.25rem;border:1px solid #e2e8f0}.parent-cal-header{display:flex;justify-content:space-between;align-items:center}.parent-cal-header h3{font-size:1.15rem;color:var(--parent-navy, #1e293b);font-weight:800;margin:0}.parent-cal-nav{display:flex;gap:.5rem;align-items:center}.parent-cal-nav button{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:6px 12px;font-size:.75rem;font-weight:700;color:var(--parent-blue, #1269e8);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #00000005}.parent-cal-nav button:hover{background:#eaf2ff;border-color:#bad3f8}#parent-cal-prev,#parent-cal-next{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem}.parent-cal-grid-wrapper{background:#fff;border-radius:16px;border:1px solid #edf2f7;padding:.75rem;box-shadow:0 4px 12px #00000003}.parent-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:.5rem}.parent-cal-weekdays span{font-size:.65rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.05em;padding:4px 0}.parent-cal-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.parent-cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:1px solid #f1f5f9;border-radius:12px;background:#fff;padding:6px 4px 4px;cursor:pointer;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.parent-cal-day b.day-num{font-size:.85rem;color:#334155;font-weight:700}.parent-cal-day.empty{background:transparent;border:0;pointer-events:none}.parent-cal-day.weekend{background:#f8fafc}.parent-cal-day.weekend b.day-num{color:#94a3b8}.parent-cal-day.non-working{background:#fff5f5;border-color:#fee2e2}.parent-cal-day.non-working b.day-num{color:#ef4444}.parent-cal-day.working{background:#fff}.parent-cal-day.today{border:2px solid var(--parent-blue, #1269e8)}.parent-cal-day.today b.day-num{color:var(--parent-blue, #1269e8);font-weight:900}.parent-cal-day.selected{background:var(--parent-blue, #1269e8)!important;border-color:var(--parent-blue, #1269e8)!important;box-shadow:0 4px 12px #1269e84d;transform:scale(1.05)}.parent-cal-day.selected b.day-num{color:#fff!important}.parent-cal-day.selected .lectivo-status.working,.parent-cal-day.selected .lectivo-status.non-working{background:#fff}.parent-cal-day.selected .event-indicator-dot{background:#ffeb3b}.day-indicators{display:flex;gap:3px;align-items:center;justify-content:center;min-height:6px;width:100%}.lectivo-status{width:5px;height:5px;border-radius:50%}.lectivo-status.working{background:#10b981}.lectivo-status.non-working{background:#ef4444}.event-indicator-dot{width:5px;height:5px;border-radius:50%;background:var(--parent-blue, #1269e8)}.parent-cal-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:center;background:#fff;border-radius:12px;padding:8px 12px;border:1px solid #edf2f7}.parent-cal-legend span{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:700;color:#64748b}.legend-indicator{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-indicator.working{background:#10b981}.legend-indicator.non-working{background:#ef4444}.legend-indicator.event{background:var(--parent-blue, #1269e8)}.parent-cal-details{background:#fff;border-radius:18px;border:1px solid #edf2f7;padding:1.25rem;box-shadow:0 4px 16px #00000004}.details-date-header{border-bottom:1px solid #f1f5f9;padding-bottom:.75rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:6px}.details-date-header h4{font-size:.95rem;color:#1e293b;font-weight:800;margin:0;text-transform:capitalize}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:.65rem;font-weight:800;padding:6px 10px;border-radius:8px;width:fit-content}.status-badge svg{width:14px;height:14px}.status-badge.green-badge{background:#e6fcf5;color:#0ca678}.status-badge.gray-badge{background:#f1f3f5;color:#495057}.status-badge.red-badge{background:#fff5f5;color:#f03e3e}@media (max-width: 640px){.parent-calendar-container{gap:.65rem;border-radius:14px;padding:.65rem}.parent-cal-header h3{font-size:1rem;line-height:1.1}.parent-cal-nav{gap:.35rem}.parent-cal-nav button{padding:4px 8px;font-size:.64rem;border-radius:8px}#parent-cal-prev,#parent-cal-next{width:28px;height:28px;font-size:1rem}.parent-cal-grid-wrapper{border-radius:12px;padding:.45rem}.parent-cal-weekdays{margin-bottom:.25rem}.parent-cal-weekdays span{font-size:.52rem;letter-spacing:.02em;padding:2px 0}.parent-cal-days-grid{gap:3px}.parent-cal-day{min-height:34px;aspect-ratio:auto;border-radius:8px;padding:3px 2px 2px}.parent-cal-day b.day-num{font-size:.68rem;line-height:1}.parent-cal-day.selected{transform:none;box-shadow:0 2px 8px #1269e83d}.day-indicators{min-height:4px;gap:2px}.lectivo-status,.event-indicator-dot{width:4px;height:4px}.parent-cal-legend{gap:.35rem .55rem;padding:5px 7px;border-radius:10px}.parent-cal-legend span{gap:4px;font-size:.54rem}.legend-indicator{width:6px;height:6px}.parent-cal-details{border-radius:14px;padding:.8rem}}.details-content-sections{display:flex;flex-direction:column;gap:1.25rem}.details-group{display:flex;flex-direction:column;gap:8px}.details-group h5{font-size:.72rem;text-transform:uppercase;color:#94a3b8;letter-spacing:.04em;font-weight:800;margin:0 0 2px}.empty-detail-text{font-size:.75rem;color:#94a3b8;margin:4px 0;font-style:italic}.detail-event-item{background:#f8fafc;border-left:3px solid var(--parent-blue, #1269e8);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.detail-event-item strong{font-size:.82rem;color:#1e293b}.detail-event-item small{font-size:.68rem;color:#64748b;display:flex;align-items:center;gap:4px}.detail-event-item small svg{width:12px;height:12px}.detail-event-item p{font-size:.72rem;color:#475569;margin:4px 0 0;line-height:1.4}.detail-task-item{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border-radius:10px;padding:10px 12px;cursor:pointer;transition:background .15s ease;border:1px solid #edf2f7}.detail-task-item:hover{background:#edf2f7}.detail-task-item strong{font-size:.82rem;color:#1e293b;display:block}.detail-task-item small{font-size:.68rem;color:#64748b}.detail-attendance-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;font-size:.78rem}.detail-attendance-item.present{background:#e6fcf5;color:#0c976d}.detail-attendance-item.absent{background:#fff5f5;color:#e03131}.detail-attendance-item.late{background:#fff9db;color:#f08c00}.detail-attendance-item.excused{background:#e8f7ff;color:#1971c2}.detail-attendance-item span b{font-size:.9rem;margin-right:4px}.attendance-status-label{font-size:.7rem;text-transform:uppercase;font-weight:900}.parent-toast-alert{position:fixed;top:20px;left:50%;transform:translate(-50%,-100px);background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 12px 30px #00000026;display:flex;align-items:center;gap:12px;width:90%;max-width:400px;z-index:9999;border-left:5px solid var(--parent-blue, #1269e8);opacity:0;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease;cursor:pointer}.parent-toast-alert.visible{transform:translate(-50%);opacity:1}.toast-icon{width:36px;height:36px;border-radius:10px;background:#eaf2ff;color:var(--parent-blue, #1269e8);display:grid;place-items:center;flex-shrink:0}.toast-icon svg{width:18px;height:18px}.toast-content{flex-grow:1;display:flex;flex-direction:column;gap:2px;min-width:0}.toast-content strong{font-size:.8rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-content span{font-size:.7rem;color:#64748b;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toast-close{border:0;background:transparent;color:#94a3b8;font-size:1.2rem;line-height:1;padding:4px;cursor:pointer;flex-shrink:0}.parent-task-modal{max-width:500px;width:90%!important;border-radius:24px!important;padding:1.5rem!important;background:#fff;box-shadow:0 20px 40px #0003!important}.modal-task-body{display:flex;flex-direction:column;gap:1.2rem;margin-top:1rem}.modal-task-body h3{font-size:1.2rem;color:#0f172a;margin:0;font-weight:800;line-height:1.3}.modal-task-subject{display:inline-block;background:#eaf2ff;color:var(--parent-blue, #1269e8);font-size:.68rem;font-weight:800;padding:4px 10px;border-radius:8px;width:fit-content;text-transform:uppercase}.modal-task-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:#f8fafc;border-radius:16px;padding:12px;border:1px solid #f1f5f9}.modal-task-meta>div{display:flex;flex-direction:column;gap:3px}.modal-task-meta>div:nth-child(3){grid-column:span 2;border-top:1px dashed #e2e8f0;padding-top:8px;margin-top:4px}.modal-task-meta span{font-size:.62rem;color:#94a3b8;text-transform:uppercase;font-weight:800}.modal-task-meta strong{font-size:.78rem;color:#334155;font-weight:700}.modal-task-instructions{display:flex;flex-direction:column;gap:6px}.modal-task-instructions h4{font-size:.75rem;text-transform:uppercase;color:#94a3b8;font-weight:800;margin:0;letter-spacing:.04em}.modal-task-instructions p{font-size:.8rem;color:#475569;line-height:1.5;margin:0;background:#fdfdfd;border:1px solid #edf2f7;border-radius:12px;padding:10px}.modal-grade-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;border-radius:16px;text-align:center;margin-top:4px}.modal-grade-box.green-grade{background:#e6fcf5;border:1px solid #c3fae8;color:#0c976d}.modal-grade-box.yellow-grade{background:#fff9db;border:1px solid #fff3bf;color:#f08c00}.modal-grade-box.red-grade{background:#fff5f5;border:1px solid #ffe3e3;color:#e03131}.modal-grade-box.pending{background:#f1f3f5;border:1px solid #e9ecef;color:#495057}.modal-grade-box strong{font-size:1.5rem;font-weight:900;line-height:1}.modal-grade-box strong small{font-size:.8rem;font-weight:700}.modal-grade-box span{font-size:.65rem;margin-top:4px;opacity:.8;font-weight:700;text-transform:uppercase}.modal-grade-desc{font-size:.78rem;text-align:center;margin:0;color:#475569}.parent-activities-list-container{display:flex;flex-direction:column;gap:10px}.parent-activity-list-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5ecf6;border-radius:16px;padding:14px 16px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.parent-activity-list-item:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 12px #00000004}.item-main-info{display:flex;flex-direction:column;gap:4px;min-width:0}.item-main-info strong{font-size:.85rem;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-main-info small{font-size:.7rem;color:#64748b}@media (max-width: 768px){.coord-sidebar,.teacher-sidebar{display:none!important}.coord-main-panel,.teacher-main-panel{padding-left:0!important;padding-right:0!important;padding-bottom:80px!important}.coord-sub-header,.teacher-sub-header{padding:.75rem 1rem!important;display:flex!important;justify-content:space-between!important;align-items:center!important;background:#ffffffe6!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-light);position:sticky!important;top:0!important;z-index:99!important}.mobile-bottom-nav{display:flex!important}.sections-grid{grid-template-columns:1fr!important;gap:.75rem!important;padding:0 1rem!important}.coord-metric-row{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important;padding:0 1rem!important}.coord-dashboard-cols{grid-template-columns:1fr!important;padding:0 1rem!important}.section-card{display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:1rem!important;gap:.75rem!important;border-radius:12px!important;height:auto!important}.section-card-body{display:none!important}.section-card-footer{display:flex!important;flex-direction:row!important;gap:.5rem!important;border-top:none!important;padding-top:0!important;width:100%!important}.section-card-footer button{flex:1!important;padding:6px 8px!important;font-size:.7rem!important;min-height:0!important}.section-card-footer.desktop-only{display:none!important}.section-card-footer.mobile-only{display:flex!important}.coord-metric-tile{padding:.75rem!important;border-radius:10px!important;gap:.25rem!important}.coord-metric-val{font-size:1.25rem!important}.coord-metric-lbl{font-size:.7rem!important}.coord-metric-sub{font-size:.6rem!important}.coord-metric-icon{width:24px!important;height:24px!important;font-size:.8rem!important}#coord-mobile-hamburger,#teacher-mobile-hamburger{display:flex!important;align-items:center;justify-content:center;margin-right:.5rem}div[style*="grid-template-columns: 350px 1fr"],div[style*="grid-template-columns: 300px 1fr"],div[style*="grid-template-columns: 450px 1fr"]{grid-template-columns:1fr!important;gap:1.25rem!important}.tinder-attendance-fullscreen-wrapper{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:hsl(var(--bg-deep))!important;z-index:1060!important;display:flex!important;flex-direction:column!important;padding:1rem!important;overflow-y:auto!important;margin:0!important;max-width:100%!important}.tinder-attendance-fullscreen-wrapper .card{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;display:flex!important;flex-direction:column!important;flex:1!important}.tinder-attendance-fullscreen-wrapper .tinder-card-mount{flex:1!important;border-radius:20px!important;padding:1.5rem 1rem!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;box-shadow:var(--shadow-md)!important;background:#fff!important}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-light);justify-content:space-around;align-items:center;z-index:1000;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px #0000000a}.mobile-bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--text-dim);font-size:.65rem;font-weight:700;cursor:pointer;flex:1;height:100%;transition:color .2s ease}.mobile-bottom-nav .nav-item.active{color:var(--primary-color)}.mobile-bottom-nav .nav-item i{width:20px;height:20px;transition:transform .2s ease}.mobile-bottom-nav .nav-item:active i{transform:scale(.9)}.mobile-bottom-nav .nav-item-center{position:relative;top:0;width:auto;height:100%;border-radius:50%;background:transparent;color:var(--primary-color)!important;flex-direction:column;gap:3px;display:flex;align-items:center;justify-content:center;box-shadow:none;border:0;flex:1!important;flex-shrink:0;z-index:1001}.mobile-bottom-nav .nav-item-center i{color:#fff!important;width:21px;height:21px;box-sizing:content-box;padding:8px;border-radius:50%;background:linear-gradient(145deg,#1672ed,#0e5fc8);box-shadow:0 3px 9px #1669d233}.mobile-bottom-nav .nav-item-center span{display:block!important}@media (max-width: 768px){.coord-top-profile-name,.coord-user-card{display:none!important}}.mobile-drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2000;justify-content:flex-end;animation:fadeIn .2s ease}.mobile-drawer-content{width:280px;height:100%;background:#fff;border-left:1px solid var(--border-light);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:-10px 0 30px #00000014;transform:translate(100%);animation:slideIn .25s cubic-bezier(.4,0,.2,1) forwards}.mobile-drawer-nav .drawer-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:none;background:transparent;color:hsl(var(--text-core));width:100%;text-align:left;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease}.mobile-drawer-nav .drawer-item:hover,.mobile-drawer-nav .drawer-item.active{background:#0d47a10d;color:var(--primary-color)}.mobile-drawer-nav .drawer-item i{width:18px;height:18px;color:var(--text-dim)}.mobile-drawer-nav .drawer-item:hover i,.mobile-drawer-nav .drawer-item.active i{color:var(--primary-color)}@keyframes slideIn{to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}html.font-size-sm{font-size:14px!important}html.font-size-md{font-size:17px!important}html.font-size-lg{font-size:20px!important}body.font-size-sm{font-size:14px!important}body.font-size-md{font-size:17px!important}body.font-size-lg{font-size:20px!important}.mobile-drawer-overlay.drawer-left{justify-content:flex-start!important}.mobile-drawer-overlay.drawer-left .mobile-drawer-content{border-left:none!important;border-right:1px solid var(--border-light)!important;transform:translate(0)!important;animation:slideInLeft .25s cubic-bezier(.4,0,.2,1) both!important;box-shadow:10px 0 30px #00000014!important}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (max-width: 768px){.coord-main-panel table:not(.excel-table):not(.app-table),.teacher-main-panel table:not(.excel-table):not(.app-table){display:block!important;width:100%!important;overflow-x:auto!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch!important}#btn-table-back-dashboard,#btn-back-to-sections,#btn-back-from-quick-grade{display:none!important}.mobile-bottom-nav .nav-item span{white-space:nowrap!important;font-size:.6rem!important}.card,.form-control,button,input,select{max-width:100%!important}.desktop-only-filter{display:none!important}.quick-grade-comps-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.quick-grade-card{padding:12px!important}.quick-comp-box{padding:10px 8px!important}.quick-grade-input-score{width:55px!important;font-size:.95rem!important;height:32px!important}.teacher-mobile-module-grid{gap:12px!important}.teacher-mobile-module-grid button{height:90px!important;padding:14px 12px!important;border-radius:var(--radius-md)!important;border:1px solid rgba(13,71,161,.08)!important;box-shadow:var(--shadow-sm)!important;background:#fff!important;transition:transform .2s,box-shadow .2s!important}.teacher-mobile-module-grid button:active{transform:scale(.96)!important;background:#f8fafc!important}.teacher-mobile-module-grid button svg{width:26px!important;height:26px!important;color:var(--primary-color)!important}.teacher-mobile-module-grid button b{font-size:.85rem!important;font-weight:800!important;color:var(--text-core)!important}.teacher-mobile-module-grid button small{font-size:.65rem!important;color:var(--text-dim)!important}.tinder-buttons-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.75rem!important}.tinder-buttons-container .btn-tinder-swipe{width:100%!important;height:50px!important;border-radius:var(--radius-sm)!important}.tinder-buttons-container .btn-tinder-swipe.present{grid-column:span 2!important;height:55px!important}}.excel-table.hide-student-names .sticky-col-2{display:none!important}@media (max-width: 768px){.excel-table .grade-final-compact{width:60px!important;min-width:60px!important;max-width:60px!important;padding:4px 2px!important;font-size:.5rem!important;line-height:1.08!important;white-space:normal!important;overflow:visible!important}.excel-table .grade-final-compact span{display:block;white-space:nowrap}.excel-table .grade-final-cell{width:60px!important;min-width:60px!important;max-width:60px!important;padding:0!important;font-size:.76rem!important;line-height:1!important}}.teacher-attendance-table.hide-student-column .attendance-student-name{display:none!important}.r360-messaging-back,.student-mobile-personal-card,.student-mobile-record-navigation,.student-mobile-roster-metrics{display:none}.r360-recording-visual{position:absolute;z-index:20;right:47px;bottom:48px;width:184px;padding:0;border:0;background:transparent;color:#0f766e;pointer-events:none}.r360-recording-visual:not([hidden]){display:flex;flex-direction:column;align-items:center;gap:3px}.r360-plasma-field{width:154px;height:48px;padding:0;flex:0 0 auto;border-radius:0;background:transparent;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px;overflow:visible;box-shadow:none;filter:drop-shadow(0 3px 5px rgba(22,114,237,.18))}.r360-plasma-field i{width:4px;height:12px;flex:0 0 4px;border-radius:999px;background:linear-gradient(90deg,#34d9c5,#1672ed,#7557e8);filter:blur(.1px);transform-origin:center;transition:height 70ms linear,opacity 70ms linear,border-radius 70ms linear}.r360-recording-mic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1672ed;color:#fff;box-shadow:0 3px 10px #1672ed38}.r360-recording-visual>b{color:#155e75;font-size:.7rem;line-height:1;text-shadow:0 1px 3px #fff}.r360-recording-visual>small{max-width:100%;color:#55708f;font-size:.6rem;font-weight:800;line-height:1.15;text-align:center;text-shadow:0 1px 3px #fff}.r360-recording-visual:not(.ready)>button{display:none}.r360-recording-visual.ready{pointer-events:auto;padding:10px;border:1px solid #d9e8f7;border-radius:16px;background:#fffffff5;box-shadow:0 14px 32px #0f2d5029}.r360-recording-visual.ready .r360-plasma-field{height:44px}.r360-recording-visual.cancel-ready{transform:translate(-12px)}.r360-recording-visual.cancel-ready .r360-recording-mic{background:#ef4444}.r360-recording-visual.cancel-ready .r360-plasma-field i{background:linear-gradient(90deg,#fb7185,#ef4444)}.r360-voice-wave{min-width:0;flex:1;height:42px;display:flex;align-items:flex-end;justify-content:space-between;gap:3px;overflow:hidden}.r360-voice-wave i{width:4px;min-height:8px;border-radius:999px;background:linear-gradient(180deg,#1672ed,#0fb98a);transition:height 70ms linear,opacity 70ms linear}.r360-recording-visual>button{width:auto;height:34px;padding:0 11px;border-radius:10px;font-size:.62rem}.r360-recording-visual>button.cancel{background:#fff1f2;color:#be123c}.r360-recording-visual>button.confirm{background:#0fb98a;color:#fff}.r360-recording-visual.ready .r360-recording-dot{background:#0fb98a;box-shadow:0 0 0 5px #0fb98a1f;animation:none}.r360-voice-note.sending{opacity:.72}.r360-voice-note.error{color:#b42318}.r360-voice-error-actions{margin-top:7px;display:flex;gap:7px;justify-content:flex-end}.r360-voice-error-actions button{min-height:30px;padding:0 10px;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#b42318;font-size:.58rem;font-weight:800;cursor:pointer}.r360-voice-wave{position:relative;inset:auto;height:42px;opacity:.72}.r360-voice-wave i{height:var(--voice-height, 28px)}.r360-voice-note.playing .r360-voice-wave i{opacity:.95;filter:saturate(1.22);transform-origin:center bottom;animation:r360-voice-pulse 1.05s ease-in-out infinite alternate}@keyframes r360-voice-pulse{0%{transform:scaleY(.82)}to{transform:scaleY(1.08)}}.r360-voice-track{position:relative;padding-top:0}.r360-voice-track input{position:relative;z-index:2}@media (max-width: 600px) and (orientation: portrait){html,body,#app{max-width:100%;overflow-x:hidden}body:has(.r360-messaging) .mobile-bottom-nav,body:has(.r360-messaging) .parent-bottom-nav,body:has(.tinder-attendance-fullscreen-wrapper) .mobile-bottom-nav{display:none!important}body:has(.r360-messaging) .parent-mobile-header,body:has(.r360-messaging) .coord-sub-header{display:none!important}body:has(#teacher-mobile-back) #teacher-mobile-hamburger{display:none!important}#coord-mobile-back{display:flex!important;align-items:center;justify-content:center}.r360-messaging{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:1500!important;width:100%!important;height:100dvh!important;min-height:0!important;background:#f8fbff}.r360-chat-list-panel,.r360-chat-panel,.r360-student-info{top:0!important;right:0!important;bottom:0!important;left:0!important}.r360-messaging-back{width:38px!important;height:38px!important;min-height:38px!important;flex:0 0 38px;display:grid!important;place-items:center;padding:0!important;border-radius:12px!important;background:#eef4fc!important;color:#12396f!important}.r360-messaging-back span{color:inherit!important;font-size:1.7rem!important;line-height:1}.r360-chat-list-heading{padding:max(12px,env(safe-area-inset-top)) 12px 10px!important;justify-content:flex-start!important}.r360-chat-list-heading>div:nth-child(2){flex:1;min-width:0}.r360-chat-heading-actions button.secondary{display:none}.r360-chat-heading-actions button{padding:8px 9px!important;min-height:38px!important}.r360-chat-messages{padding:14px 10px calc(82px + env(safe-area-inset-bottom))!important}.r360-chat-composer{position:absolute;z-index:4;inset:auto 0 0;padding:8px 7px calc(8px + env(safe-area-inset-bottom))!important;grid-template-columns:34px 34px minmax(0,1fr) 34px 40px!important}.r360-chat-composer input{padding:8px 9px!important}.r360-message{max-width:88%!important}.r360-voice-note{min-width:min(250px,72vw)!important;grid-template-columns:40px minmax(0,1fr)!important}.teacher-mobile-class-time{width:fit-content;max-width:100%;margin-top:4px;padding:3px 7px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.62rem;font-weight:800}.teacher-mobile-class-time svg{width:11px;height:11px}.teacher-mobile-class-time.upcoming{color:#9a5b0b;background:#fff4dc}.teacher-mobile-class-time.active{color:#075f4b;background:#dcfce7;animation:r360-recording-pulse 1.2s infinite alternate}.teacher-mobile-section-actions .btn-quick-roll-call{width:48px!important;height:48px!important;border-radius:15px!important}.teacher-mobile-section-actions .roll-pending{color:#d33b4a!important;border:1px solid #fecaca!important;background:#fff0f1!important;box-shadow:0 5px 14px #dc26261f!important}.teacher-mobile-section-actions .roll-done{color:#078a62!important;border:1px solid #a7f3d0!important;background:#e7f8f1!important}.horizontal-section-card{padding:9px!important;border:1px solid #e7edf5!important;border-radius:18px!important;background:#fff!important;box-shadow:0 5px 18px #193d6913!important}.teacher-mobile-section-compact{display:block!important}.teacher-mobile-section-compact>.teacher-mobile-section-icon,.teacher-mobile-section-compact>.teacher-mobile-section-copy,.teacher-mobile-section-compact>.teacher-mobile-section-actions{display:none!important}.teacher-mobile-section-reference-layout{position:relative;display:grid;gap:9px;width:100%;min-width:0}.teacher-mobile-live-label{position:absolute;z-index:2;top:-4px;left:10px;padding:3px 7px;border:1px solid #b9ead8;border-radius:999px;background:#e9faf4;color:#08775d;font-size:.48rem;font-weight:900;text-transform:uppercase}.teacher-mobile-section-top{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(92px,30%) 24px;gap:7px;align-items:center;min-width:0;padding:5px 2px 1px}.teacher-mobile-reference-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f1f6ff;color:#075bc2}.teacher-mobile-reference-icon svg{width:21px;height:21px}.teacher-mobile-reference-copy{min-width:0;display:grid;gap:5px}.teacher-mobile-section-mainline{min-width:0;display:flex;align-items:baseline;gap:5px;white-space:nowrap}.teacher-mobile-section-mainline h3,.teacher-mobile-section-mainline strong{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-section-mainline h3{flex:0 1 auto;color:#0759b8;font-size:.78rem;font-weight:950}.teacher-mobile-section-mainline strong{flex:1 1 auto;color:#142b52;font-size:.62rem;font-weight:850}.teacher-mobile-shift{width:fit-content;max-width:100%;overflow:hidden;padding:2px 6px;border-radius:999px;background:#fff4dc;color:#af6410;font-size:.48rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-today-schedule{position:relative;min-width:0;padding:7px 22px 7px 8px;border:1px solid #e7edf7;border-radius:11px;background:linear-gradient(135deg,#f5f8ff,#fbfcff);display:grid;gap:3px}.teacher-mobile-today-schedule.empty{opacity:.72}.teacher-mobile-today-schedule span{overflow:hidden;color:#1764c6;display:flex;align-items:center;gap:3px;font-size:.48rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-today-schedule span svg{width:10px;height:10px;flex:0 0 auto}.teacher-mobile-today-schedule b{overflow:hidden;color:#152d54;font-size:.56rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-today-schedule button{position:absolute;top:5px;right:4px;width:20px;height:20px;padding:0;border:0;background:transparent;color:#1764c6;display:grid;place-items:center}.teacher-mobile-today-schedule button svg,.teacher-mobile-reference-open svg{width:13px;height:13px}.teacher-mobile-reference-open{width:24px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:#1d68c5;display:grid;place-items:center}.teacher-mobile-attendance-pending{width:100%;min-height:58px;padding:8px 11px;border:1px solid #f9dfe2;border-radius:14px;background:linear-gradient(135deg,#fff5f6,#fff0f2);color:#df3544;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:9px;text-align:left}.teacher-mobile-attendance-pending>span{width:36px;height:36px;border-radius:50%;background:#ffe3e6;display:grid;place-items:center}.teacher-mobile-attendance-pending>span svg{width:18px;height:18px}.teacher-mobile-attendance-pending strong{min-width:0;display:grid;gap:2px;font-size:.7rem;font-weight:950}.teacher-mobile-attendance-pending small{overflow:hidden;color:#e15b66;font-size:.52rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-attendance-pending>svg{width:17px;height:17px}.teacher-mobile-attendance-result{min-height:58px;padding:7px 8px;border:1px solid #ddf1e7;border-radius:14px;background:linear-gradient(135deg,#f2fbf7,#eef9f4);display:grid;grid-template-columns:34px repeat(3,minmax(0,1fr)) minmax(45px,.8fr);align-items:center;gap:3px;color:#126f55}.teacher-mobile-attendance-result>span{min-width:0;display:grid;justify-items:center;gap:1px;border-left:1px solid #d9ece4}.teacher-mobile-attendance-result .teacher-mobile-result-icon{width:34px;height:34px;border:0;border-radius:50%;background:#dcf5e8;color:#0a8a5c;display:grid;place-items:center}.teacher-mobile-result-icon svg{width:17px;height:17px}.teacher-mobile-attendance-result b{color:#17335b;font-size:.62rem;font-weight:950;white-space:nowrap}.teacher-mobile-attendance-result small{overflow:hidden;max-width:100%;color:#668077;font-size:.42rem;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.teacher-mobile-attendance-percent b{color:#07834f;font-size:.72rem}@media (max-width: 370px){.teacher-mobile-section-top{grid-template-columns:36px minmax(0,1fr) minmax(82px,29%) 20px;gap:5px}.teacher-mobile-reference-icon{width:36px;height:36px}.teacher-mobile-section-mainline h3{font-size:.7rem}.teacher-mobile-section-mainline strong,.teacher-mobile-today-schedule b{font-size:.52rem}.teacher-mobile-attendance-result{grid-template-columns:30px repeat(3,minmax(0,1fr)) minmax(40px,.8fr);padding-inline:5px}}.tinder-attendance-fullscreen-wrapper{padding:max(10px,env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))!important}.tinder-attendance-fullscreen-wrapper .tinder-card-mount{min-height:0!important;padding:13px 11px!important;gap:8px!important}.tinder-attendance-fullscreen-wrapper .tinder-card-mount>div:nth-of-type(2){width:108px!important;height:108px!important}.tinder-attendance-fullscreen-wrapper .tinder-card-mount>div:nth-of-type(2)>div{width:100px!important;height:100px!important}.tinder-buttons-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tinder-buttons-container .btn-tinder-swipe{width:100%!important;height:52px!important;min-width:0!important;border-radius:14px!important;font-size:.78rem!important;font-weight:900!important}.tinder-buttons-container .btn-tinder-swipe.excused{grid-column:1 / -1!important;width:58%!important;justify-self:center}.tinder-buttons-container .btn-tinder-swipe.present{grid-column:auto!important}.teacher-student-record-view{display:block!important;padding:0 10px}.teacher-student-section-selector,#btn-back-from-activities,#btn-cancel-bulk,#btn-back-to-dashboard,#btn-mobile-back-sections,#btn-tinder-back,#btn-tinder-summary-back{display:none!important}.teacher-student-record-view .student-contacts-list{max-height:none!important;overflow:visible!important}.teacher-student-record-view .student-row-btn{min-height:64px;padding:10px!important;border-radius:14px!important}.teacher-student-record-view #student-record-detail-mount{position:fixed;z-index:1700;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100dvh;padding:max(12px,env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));overflow:hidden;background:#0f23466b;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transform:translateY(105%) scale(.98);pointer-events:none;transition:transform .24s ease;align-items:stretch;justify-content:flex-start}.teacher-student-record-view #student-record-detail-mount.active{transform:translateY(0) scale(1);pointer-events:auto}.teacher-student-record-view .mobile-only-close-bar{display:flex!important;flex:0 0 auto;width:min(100%,520px);margin:0 auto;padding:10px 13px!important;border:1px solid #e3eaf4;border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -4px 20px #0f234614}.teacher-student-record-view .student-record-card{width:min(100%,520px)!important;max-width:520px!important;max-height:calc(100dvh - 92px)!important;margin:0 auto!important;padding:15px 13px 8px!important;gap:15px!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:0 0 18px 18px!important;box-shadow:0 18px 50px #0f23463d!important;overscroll-behavior:contain}.teacher-student-record-view .student-record-card>div:first-of-type{justify-content:center!important;text-align:center}.teacher-student-record-view .student-record-card>div:first-of-type>div:first-child{min-width:0!important;width:100%;flex-direction:column;justify-content:center;gap:10px!important}.teacher-student-record-view .student-record-card>div:first-of-type>div:first-child>div:last-child{align-items:center}.teacher-student-record-view .student-kpi-grid{width:100%;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.teacher-student-record-view .kpi-mini-card{min-width:0!important}.teacher-student-record-view .modern-table{min-width:100%!important;table-layout:fixed}.teacher-student-record-view #content-t-grades>div:last-child,.teacher-student-record-view #content-t-attendance>div:last-child{overflow-x:hidden}.teacher-student-record-view .modern-table th,.teacher-student-record-view .modern-table td{padding:9px 7px!important;overflow-wrap:anywhere}.teacher-student-record-view #content-t-attendance .modern-table th:nth-child(2),.teacher-student-record-view #content-t-attendance .modern-table td:nth-child(2),.teacher-student-record-view #content-t-attendance .modern-table th:nth-child(3),.teacher-student-record-view #content-t-attendance .modern-table td:nth-child(3){display:none}.teacher-student-record-view #content-t-attendance .modern-table th:first-child,.teacher-student-record-view #content-t-attendance .modern-table td:first-child{width:25%}.teacher-student-record-view #content-t-attendance .modern-table th:nth-child(4),.teacher-student-record-view #content-t-attendance .modern-table td:nth-child(4){width:32%}.student-mobile-personal-card{display:block;padding:13px;border:1px solid #dce7f4;border-radius:16px;background:#f8fbff;scroll-margin-top:8px}.student-mobile-personal-card>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.student-mobile-personal-card>div span{color:#0d47a1;font-weight:900}.student-mobile-personal-card>div b{color:#0b8b72;font-size:.62rem}.student-mobile-personal-card form{display:grid;grid-template-columns:1fr;gap:8px}.student-mobile-personal-card label{display:grid;gap:4px;color:#50627c;font-size:.68rem!important;font-weight:800}.student-mobile-personal-card input{width:100%;min-width:0;height:42px;padding:8px 10px;border:1px solid #dbe5f1;border-radius:11px;background:#fff;color:#10234a;font:inherit}.student-mobile-personal-card button{min-height:44px;margin-top:4px;border:0;border-radius:12px;background:linear-gradient(135deg,#1769e8,#0fb98a);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:900}.student-mobile-personal-card button svg{width:16px;height:16px}.student-mobile-record-navigation{position:sticky;z-index:4;bottom:-8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;margin:0 -13px -8px;padding:10px 13px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.student-mobile-record-navigation button{min-width:0;min-height:42px;border:1px solid #dbe5f1;border-radius:12px;background:#eef5ff;color:#155ab5;display:flex;align-items:center;justify-content:center;gap:4px;font-weight:900}.student-mobile-record-navigation button:last-child{border-color:#a8dfce;background:#eafaf5;color:#08785d}.student-mobile-record-navigation svg{width:16px;height:16px}.student-mobile-record-navigation span{color:#64748b;font-size:.65rem;font-weight:900;white-space:nowrap}.student-mobile-roster-metrics{display:flex;gap:5px;flex:0 0 auto}.student-mobile-roster-metrics span{min-width:53px;padding:4px 5px;border-radius:9px;background:#eaf8f3;color:#08785d;display:grid;text-align:center}.student-mobile-roster-metrics span:last-child{background:#edf5ff;color:#1769e8}.student-mobile-roster-metrics span.risk{background:#fff0f1;color:#c43242}.student-mobile-roster-metrics b{font-size:.7rem}.student-mobile-roster-metrics small{font-size:.45rem!important;text-transform:uppercase}.student-record-loading{width:min(100%,520px);min-height:250px;margin:auto;border-radius:18px;background:#fff;color:#64748b;display:grid;place-items:center;align-content:center;gap:10px}.teacher-attendance-view{gap:8px!important}.teacher-attendance-view>.card{padding:10px!important;border:0!important;border-radius:0!important;box-shadow:none!important}.teacher-attendance-header{align-items:center!important;margin-bottom:9px!important;padding-bottom:9px!important}.teacher-attendance-header>div:first-child p,.teacher-attendance-header #btn-table-back-dashboard,.teacher-attendance-header #btn-table-start-tinder-roll{display:none!important}.teacher-attendance-header h3{font-size:1.05rem!important}.teacher-attendance-header>div:last-child{margin-left:auto;flex-wrap:nowrap!important}.teacher-attendance-header>div:last-child button{width:40px!important;height:40px!important;padding:0!important;display:grid!important;place-items:center;border-radius:12px!important}.teacher-attendance-header>div:last-child button span,.teacher-attendance-header>div:last-child button:not(#btn-toggle-attendance-names){font-size:0!important}.teacher-attendance-header #btn-export-attendance-excel,.teacher-attendance-header #btn-toggle-attendance-names{color:#075bb8!important;background:#fff!important;border:1px solid #dbe7f4!important}.teacher-attendance-header svg{width:18px!important;height:18px!important;margin:0!important;display:block!important}.teacher-attendance-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important;margin-bottom:10px!important}.teacher-attendance-filters>div{min-width:0!important}.teacher-attendance-filters label{display:none}.teacher-attendance-filters select,.teacher-attendance-filters input{height:42px;border-radius:12px!important}.teacher-attendance-month-input{position:relative}.teacher-attendance-month-input svg{position:absolute;z-index:2;top:50%;left:11px;width:16px;height:16px;color:#1769e8;transform:translateY(-50%);pointer-events:none}.teacher-attendance-month-input select{padding-left:34px!important}.teacher-mobile-roll-call.roll-pending{color:#a92737!important;border:1px solid #fecaca!important;background:linear-gradient(135deg,#fff1f2,#ffe4e6)!important}.teacher-mobile-roll-call.roll-done{color:#05664f!important;border:1px solid #a7f3d0!important;background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important}.quick-grade-layout-wrapper,.quick-grade-card,.quick-grade-card>div,.quick-grade-comps-grid{min-width:0!important;max-width:100%!important}.quick-grade-layout-wrapper{padding:0 10px 20px;gap:10px!important}.quick-grade-card{width:100%!important;margin:0!important;border-radius:18px!important}.quick-grade-comps-grid{grid-template-columns:1fr!important}.quick-comp-box{min-height:112px!important}.quick-grade-selectors-wrapper{display:grid!important;grid-template-columns:1fr!important}.quick-grade-selectors-wrapper .form-group{min-width:0!important}.coord-main-panel,.teacher-main-panel,.parent-mobile-content,#dashboard-main-content-mount,.card,.flex-header{min-width:0}.coord-center-badge{min-width:0;max-width:62vw;overflow:hidden}.coord-center-badge span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay .modal-content{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;padding:16px!important;overflow-x:hidden!important}.parent-mobile-content{width:100%;padding-left:12px;padding-right:12px}.parent-detail-page,.parent-detail-list,.parent-settings-card,.parent-profile-detail,.parent-calendar-container,.parent-subject-attendance{width:100%;min-width:0;max-width:100%}.parent-mobile-content .card{padding:14px!important}.parent-bottom-nav{width:100%!important;max-width:100vw!important}.coord-main-panel>#dashboard-main-content-mount{width:100%;overflow-x:hidden}.coord-main-panel .coord-metric-row,.coord-main-panel .coord-dashboard-cols,.coord-main-panel .sections-grid{width:100%;min-width:0}.teacher-mobile-section-top{display:grid!important;grid-template-columns:42px minmax(0,1.2fr) auto minmax(92px,1fr) 24px!important;gap:8px!important;align-items:center!important;min-width:0!important;padding:6px 2px 2px!important}.teacher-shift-badge-orange{width:fit-content;max-width:100%;overflow:hidden;padding:3px 8px;border-radius:999px;background:#fffbeb;color:#b45309;font-size:.58rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:2.5px;margin-top:4px;border:1.2px solid #fde68a}.teacher-mobile-tap-indicator-box{display:flex;align-items:center;justify-content:center;opacity:.85;cursor:pointer;padding:4px;transition:transform .2s ease}.teacher-mobile-tap-indicator-box:active{transform:scale(.9)}.hand-tap-indicator{width:30px;height:30px;color:#6366f1;opacity:.35;animation:micro-tap-pulse 2.2s infinite ease-in-out}@keyframes micro-tap-pulse{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.06);opacity:.65;color:#4f46e5}}.teacher-mobile-schedule-days{color:var(--text-dim)!important;font-size:.46rem!important;font-weight:700!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;display:block}.teacher-mobile-today-schedule b{color:#0f172a!important}.teacher-mobile-today-schedule button{color:#2196f3!important}.teacher-mobile-reference-icon{background:#eef2ff!important;color:#2563eb!important}.teacher-mobile-attendance-result-custom{width:100%;min-height:58px;padding:8px 10px;border:1px solid #d1fae5;border-radius:14px;background:linear-gradient(135deg,#f0fdf4,#f6fdf9);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #10b98108}.teacher-mobile-attendance-result-custom:hover{filter:brightness(.99)}.result-col{display:flex;flex-direction:column;justify-content:center}.status-col{flex-direction:row;align-items:center;gap:8px;flex:1.3}.clipboard-icon-circle{width:32px;height:32px;border-radius:50%;background:#dcf6e6;color:#16a34a;display:grid;place-items:center;flex-shrink:0}.clipboard-icon-circle i,.clipboard-icon-circle svg{width:16px;height:16px}.status-texts{display:flex;flex-direction:column;text-align:left}.status-label-title{font-size:.58rem!important;font-weight:850!important;color:#15803d!important;letter-spacing:.5px;line-height:1;margin-bottom:2px}.status-numbers-bold{font-size:1rem!important;font-weight:900!important;color:#14532d!important;line-height:1.1}.status-sub-desc{font-size:.52rem!important;color:#64748b!important;font-weight:750!important}.result-divider{width:1.2px;height:32px;background-color:#16a34a26;margin:0 4px;flex-shrink:0}.gender-col{align-items:center;flex:.8;text-align:center}.gender-count-row{display:flex;align-items:center;gap:4px}.gender-icon{width:14px;height:14px}.gender-icon.male{color:#2563eb}.gender-icon.female{color:#ec4899}.gender-number-bold{font-size:1rem!important;font-weight:900!important;color:#1e293b!important;line-height:1.1}.gender-label-desc,.percent-label-desc{font-size:.52rem!important;color:#64748b!important;font-weight:750!important;margin-top:1.5px}.percent-col{align-items:center;flex:.9;text-align:center}.attendance-ring-wrapper{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.attendance-ring-svg{transform:rotate(-90deg)}.attendance-ring-text-percent{position:absolute;font-size:.58rem!important;font-weight:950!important;color:#15803d!important}.nav-item-center-wrapper{position:relative;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;flex:1;cursor:pointer;background:transparent;border:none;overflow:visible}.nav-item-center-circle{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#1672ed,#0e5fc8);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 9px #1669d233;border:0;transition:transform .2s ease}.nav-item-center-wrapper:active .nav-item-center-circle{transform:scale(.9)}.nav-item-center-circle i,.nav-item-center-circle svg{color:#fff!important;width:21px!important;height:21px!important;stroke-width:2.25}.nav-item-center-label{font-size:.65rem!important;font-weight:750!important;color:var(--text-dim)!important;margin:0;line-height:1;z-index:1002;transition:color .2s ease;text-transform:none!important}.nav-item-center-wrapper.active .nav-item-center-label{color:var(--primary-color)!important}.teacher-mobile-notification-badge{border:1.5px solid #ffffff!important}}@media (max-width: 600px) and (orientation: portrait){.teacher-mobile-section-reference-layout{gap:8px!important}.teacher-mobile-section-top{grid-template-columns:42px minmax(0,1fr) 92px 28px!important;gap:8px!important;align-items:start!important;padding:4px 1px 0!important}.teacher-mobile-reference-copy{gap:2px!important}.teacher-mobile-section-full-title{margin:0;color:#0759b8;font-size:.78rem;font-weight:950;line-height:1.22;white-space:normal;overflow-wrap:anywhere}.teacher-mobile-section-subject{color:#243b61;font-size:.62rem;font-weight:850;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.teacher-mobile-section-clock{min-height:48px;padding:5px 4px;border:1px solid #e4ebf5;border-radius:11px;background:#f6f9fd;color:#607089;display:grid;grid-template-columns:14px minmax(0,1fr);align-content:center;gap:1px 3px}.teacher-mobile-section-clock svg{width:13px;height:13px;grid-row:1 / 3;align-self:center}.teacher-mobile-section-clock strong{font-size:.51rem;font-weight:900;line-height:1.15}.teacher-mobile-section-clock small{font-size:.42rem;font-weight:750;line-height:1.15;white-space:nowrap}.teacher-mobile-section-clock.active{border-color:#b7ead7;background:#e9faf4;color:#08775d}.teacher-mobile-section-clock.upcoming{border-color:#f4dfac;background:#fff8e8;color:#9a6412}.teacher-mobile-section-menu{width:28px;height:42px;padding:0;border:0;border-radius:9px;background:#f2f6fb;color:#315a8d;display:grid;place-items:center}.teacher-mobile-section-menu svg{width:17px;height:17px}.teacher-mobile-section-secondary{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.teacher-mobile-section-secondary>span{min-width:0;overflow:hidden;color:#76859a;display:flex;align-items:center;gap:4px;font-size:.48rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-section-secondary svg{width:11px;height:11px;flex:0 0 auto}.teacher-mobile-open-section{flex:0 0 auto;min-height:25px;padding:0 8px;border:1px solid #d8e7f8;border-radius:9px;background:#edf5ff;color:#1262bd;display:inline-flex;align-items:center;gap:3px}.teacher-mobile-open-section b{font-size:.48rem;font-weight:900}}@media (max-width: 600px) and (orientation: portrait){.horizontal-section-card{padding:7px!important;border-radius:16px!important}.teacher-mobile-section-reference-layout{gap:6px!important}.teacher-mobile-section-top{grid-template-columns:38px minmax(0,1fr) auto 27px!important;gap:6px!important;align-items:center!important;padding:2px 1px 0!important}.teacher-mobile-reference-icon{width:38px!important;height:38px!important}.teacher-mobile-reference-icon svg{width:19px!important;height:19px!important}.teacher-mobile-section-inline-title{min-width:0;display:flex;align-items:baseline;gap:5px;white-space:nowrap}.teacher-mobile-section-full-title,.teacher-mobile-section-subject{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-mobile-section-full-title{flex:0 1 auto;font-size:.7rem}.teacher-mobile-section-subject{flex:1 1 auto;font-size:.55rem}.teacher-shift-badge-orange{margin-top:1px!important;padding:2px 6px!important;font-size:.45rem!important}.teacher-mobile-clock-placeholder{display:none}.teacher-mobile-section-clock{min-height:36px;max-width:84px;padding:4px}.teacher-mobile-section-clock strong{font-size:.47rem}.teacher-mobile-section-clock small{display:none}.teacher-mobile-section-menu{width:27px;height:36px}.teacher-mobile-section-secondary{min-height:25px;gap:5px}.teacher-mobile-section-secondary>span{max-width:54%;font-size:.45rem}.teacher-mobile-open-section{min-height:24px;padding:0 7px}.teacher-mobile-attendance-pending,.teacher-mobile-attendance-result-custom{min-height:52px!important}#edit-schedule-status{min-height:18px;margin:8px 0 0;color:#64748b;font-size:.65rem;font-weight:800;text-align:center}#edit-schedule-status.error{color:#c62828}#edit-schedule-status.success{color:#078a62}}@media (max-width: 600px) and (orientation: portrait){.r360-message:has(.r360-voice-note){width:min(350px,calc(100% - 8px));max-width:calc(100% - 8px)!important;padding:12px 12px 8px}.r360-voice-note{width:100%;min-width:0!important;grid-template-columns:52px minmax(0,1fr)!important;gap:12px;align-items:center}.r360-voice-note>button{width:52px;height:52px;font-size:1rem;align-self:center}.r360-voice-note>button.loading{color:transparent;position:relative}.r360-voice-note>button.loading:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:r360-voice-loading .7s linear infinite}.r360-voice-track{min-width:0;padding:0!important;display:grid;grid-template-rows:72px 14px 20px!important;gap:8px;align-items:center}.r360-voice-wave{width:100%;height:72px!important;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:3px;opacity:1;overflow:hidden}.r360-voice-wave i{width:4px;height:var(--voice-height, 28px)!important;min-height:14px;max-height:66px;flex:0 1 4px;border-radius:999px;background:linear-gradient(180deg,#1672ed,#35bcd0 48%,#0fb98a);box-shadow:0 1px 3px #1672ed2e}.r360-voice-track input[type=range]{width:100%;height:14px!important;margin:0;align-self:center}.r360-voice-duration{min-height:20px;display:flex!important;align-items:center;justify-content:flex-start;font-size:.72rem!important;line-height:20px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r360-message:has(.r360-voice-note) footer{min-height:16px;margin-top:7px;line-height:16px}}@media (max-width: 600px) and (orientation: portrait){.r360-recording-visual{right:5px;bottom:52px;width:min(220px,calc(100vw - 18px))}.r360-recording-visual:not([hidden]){gap:5px}.r360-plasma-field{width:100%;height:54px;gap:4px;justify-content:center;flex-direction:row;filter:drop-shadow(0 5px 8px rgba(22,114,237,.23))}.r360-recording-visual.ready .r360-plasma-field{width:100%;height:54px}.r360-plasma-field i{width:4px;height:14px;flex:0 0 4px;filter:blur(.2px)}.r360-recording-mic{width:44px;height:44px}.r360-recording-visual>b{min-height:20px;font-size:.78rem;line-height:20px}.r360-message:has(.r360-voice-note){width:min(300px,calc(100% - 12px));max-width:calc(100% - 12px)!important;padding:9px 10px 7px}.r360-voice-note{grid-template-columns:42px minmax(0,1fr)!important;gap:9px}.r360-voice-note>button{width:42px;height:42px;font-size:.86rem}.r360-voice-note>button.loading:after{top:11px;right:11px;bottom:11px;left:11px}.r360-voice-track{grid-template-rows:30px 9px 17px!important;gap:4px}.r360-voice-wave{height:30px!important;min-height:30px;gap:2px}.r360-voice-wave i{width:3px;min-height:6px;max-height:28px;flex-basis:3px}.r360-voice-track input[type=range]{height:9px!important}.r360-voice-duration{min-height:17px;font-size:.64rem!important;line-height:17px!important}.r360-message:has(.r360-voice-note) footer{min-height:14px;margin-top:4px;line-height:14px}}@media (max-width: 768px){.parent-mobile-header,.coord-sub-header,.teacher-mobile-topbar{min-height:78px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center!important;padding:8px 14px!important}.parent-mobile-header .universal-header-logo,.coord-sub-header .coord-mobile-header-logo,.teacher-mobile-topbar .teacher-home-brand{grid-column:2!important;width:min(56vw,230px)!important;height:50px!important;margin:0 auto!important;display:grid!important;place-items:center!important}.parent-mobile-header .universal-header-logo img,.coord-sub-header .coord-mobile-header-logo img,.teacher-mobile-topbar .teacher-home-brand img{width:100%!important;height:auto!important;max-height:44px!important;object-fit:contain!important;image-rendering:auto!important}.coord-sub-header .coord-center-badge,.coord-sub-header .coord-top-profile,.coord-sub-header>div[style*="flex:1"],.teacher-mobile-topbar>div[style*="flex:1"]{display:none!important}.parent-mobile-header>button:first-child,.coord-sub-header>button:first-child,.teacher-mobile-topbar>button:first-child{grid-column:1!important;justify-self:start!important}.parent-mobile-header>button:last-child,.coord-sub-header .coord-header-right,.teacher-mobile-topbar .coord-header-right{grid-column:3!important;justify-self:end!important}.coord-sub-header .coord-header-right,.teacher-mobile-topbar .coord-header-right{min-width:0!important;gap:0!important}}@media (max-width: 760px){body:has(.r360-messaging) .parent-mobile-header,body:has(.r360-messaging) .coord-sub-header,body:has(.r360-messaging) .teacher-mobile-topbar{display:grid!important}.coord-main-panel:has(.r360-messaging){min-height:0!important;padding:0!important}.coord-main-panel:has(.r360-messaging) #dashboard-main-content-mount,.parent-mobile-content:has(.r360-messaging),.parent-detail-page:has(.r360-messaging){min-height:0!important;height:auto!important}.r360-messaging{position:relative!important;inset:auto!important;z-index:auto!important;width:100%!important;height:calc(100dvh - 76px)!important;min-height:0!important;max-height:none!important;display:block!important;border:0!important;border-radius:0!important;box-shadow:none!important}.r360-chat-list-panel,.r360-chat-panel{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important}.r360-chat-list-panel{transform:translate(0)!important}.r360-chat-panel{transform:translate(105%)!important}.r360-messaging.chat-open .r360-chat-list-panel{transform:translate(-35%)!important;pointer-events:none}.r360-messaging.chat-open .r360-chat-panel,.r360-messaging.info-open .r360-chat-panel{transform:translate(0)!important}.r360-student-info{position:absolute!important;inset:auto 0 0 0!important;width:100%!important;height:min(78dvh,640px)!important;padding:56px 18px calc(18px + env(safe-area-inset-bottom))!important;border-left:0!important;border-radius:22px 22px 0 0;box-shadow:0 -18px 44px #0f1f3c33;opacity:0;pointer-events:none;transform:translateY(105%)!important}.r360-messaging.info-open .r360-student-info{opacity:1;pointer-events:auto;transform:translateY(0)!important}}.r360-schedule-module{display:grid;gap:1rem;text-align:left}@media (max-width: 768px){.r360-mobile-module-title{grid-column:2!important;width:min(64vw,260px)!important;min-width:0!important;margin:0 auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;line-height:1.05}.parent-mobile-header .universal-header-logo,.coord-sub-header .coord-mobile-header-logo,.teacher-mobile-topbar .teacher-home-brand{width:min(68vw,300px)!important;height:62px!important}.parent-mobile-header .universal-header-logo img,.coord-sub-header .coord-mobile-header-logo img,.teacher-mobile-topbar .teacher-home-brand img{width:100%!important;max-height:58px!important;object-fit:contain!important}.r360-mobile-module-title strong{max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1476df;font-size:clamp(1rem,5.2vw,1.36rem);font-weight:950}.r360-mobile-module-title span{max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#00ad83;font-size:clamp(.53rem,2.45vw,.68rem);font-weight:900;letter-spacing:0}.r360-chat-list-heading .r360-messaging-back{display:none!important}.r360-chat-list-heading{position:relative;padding-right:20px!important}.r360-chat-heading-actions{display:contents!important}.r360-chat-heading-actions [data-chat-action=new]{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(22px,calc(18px + env(safe-area-inset-bottom)))!important;z-index:80!important;width:58px!important;height:58px!important;min-height:58px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#1769e8!important;color:#fff!important;box-shadow:0 16px 34px #1769e852!important;font-size:0!important}.r360-chat-heading-actions [data-chat-action=new]:before{content:"+";font-size:2rem;line-height:1;font-weight:900}.r360-messaging.chat-open .r360-chat-heading-actions [data-chat-action=new]{display:none!important}body:has(.r360-messaging.chat-open) .parent-mobile-header,body:has(.r360-messaging.chat-open) .coord-sub-header,body:has(.r360-messaging.chat-open) .teacher-mobile-topbar{display:none!important}body:has(.r360-messaging.chat-open) .parent-mobile-content:has(.r360-messaging),body:has(.r360-messaging.chat-open) .parent-detail-page:has(.r360-messaging),body:has(.r360-messaging.chat-open) .coord-main-panel:has(.r360-messaging),body:has(.r360-messaging.chat-open) #dashboard-main-content-mount{height:100dvh!important;min-height:100dvh!important;padding:0!important}body:has(.r360-messaging.chat-open) .r360-messaging{height:100dvh!important}.r360-messaging.chat-open .r360-chat-header{min-height:calc(66px + env(safe-area-inset-top,0px))!important;padding-top:calc(10px + env(safe-area-inset-top,0px))!important}}.r360-schedule-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.r360-schedule-heading span{display:block;color:#64748b;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.r360-schedule-heading h1{margin:2px 0;color:var(--primary-color);font-size:1.8rem;font-weight:900}.r360-schedule-heading p{margin:0;color:#64748b;font-size:.88rem}.r360-schedule-heading button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.r360-schedule-heading button svg{width:16px;height:16px}.r360-schedule-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.r360-schedule-builder{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:.9rem;align-items:start}.r360-schedule-rules-card{grid-column:1 / -1}.r360-schedule-advanced{margin-top:.75rem;border-top:1px solid #e2e8f0;padding-top:.7rem}.r360-schedule-advanced.is-open{display:block}.r360-schedule-advanced summary{color:#0f766e;cursor:pointer;font-size:.78rem;font-weight:900}.r360-schedule-advanced .r360-schedule-form-grid{margin-top:.75rem}.r360-schedule-rule-switches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:.8rem}.r360-schedule-rule-switches label{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#0f172a;font-size:.72rem;font-weight:800;line-height:1.25}.r360-schedule-card,.r360-schedule-conflicts,.r360-schedule-empty-state,.r360-schedule-saved{border:1px solid #dbe5f1;border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.r360-schedule-card{padding:1rem}.r360-schedule-card-head{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.85rem}.r360-schedule-card-head>span{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:8px;background:linear-gradient(135deg,#0d47a1,#13b8a7);color:#fff;font-size:.8rem;font-weight:900}.r360-schedule-card-head h2,.r360-schedule-conflicts h2,.r360-schedule-saved h2,.r360-schedule-empty-state h2{margin:0;color:#0f2f68;font-size:1rem;font-weight:900}.r360-schedule-card-head p,.r360-schedule-empty-state p{margin:2px 0 0;color:#64748b;font-size:.78rem;line-height:1.35}.r360-schedule-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.r360-schedule-form-grid label{display:grid;gap:5px;min-width:0}.r360-schedule-form-grid label>span,.r360-assignment-table th{color:#64748b;font-size:.66rem;font-weight:900;text-transform:uppercase}.r360-schedule-wide{grid-column:1 / -1}.r360-working-days{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.r360-working-days>span{flex:0 0 100%;color:#64748b;font-size:.66rem;font-weight:900;text-transform:uppercase}.r360-working-days label{display:inline-flex;align-items:center;gap:.35rem;color:#0f172a;font-size:.74rem;font-weight:850}.r360-block-preview{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.r360-block-preview span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:.7rem;font-weight:800}.r360-block-preview span.special{border-color:#ccfbf1;background:#f0fdfa;color:#0f766e}.r360-assignment-table-wrap{max-height:354px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.r360-assignment-table{width:100%;min-width:980px;border-collapse:collapse}.r360-assignment-table th,.r360-assignment-table td{padding:.6rem .65rem;border-bottom:1px solid #e2e8f0;text-align:left}.r360-assignment-table td{color:#0f172a;font-size:.78rem;font-weight:700}.r360-assignment-table input{width:92px}.r360-section-chip-list{display:flex;flex-wrap:wrap;gap:.35rem;min-width:190px;margin-bottom:.45rem}.r360-section-chip-list span{display:inline-flex;max-width:100%;padding:4px 7px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-size:.67rem;font-weight:900;white-space:normal}.r360-section-chip-list em{color:#b45309;font-size:.72rem;font-style:normal;font-weight:850}.r360-select-sections-btn{width:100%;justify-content:center;min-height:34px}.r360-schedule-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#0f172a6b}.r360-schedule-section-modal{width:min(760px,96vw);max-height:min(760px,88vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.r360-schedule-section-modal header,.r360-schedule-section-modal footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;border-bottom:1px solid #e2e8f0}.r360-schedule-section-modal footer{justify-content:flex-end;border-top:1px solid #e2e8f0;border-bottom:0}.r360-schedule-section-modal header span{color:#0f766e;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.r360-schedule-section-modal h2,.r360-schedule-section-modal h3{margin:0;color:#0f2f68;font-weight:900}.r360-schedule-section-modal h2{font-size:1.12rem}.r360-schedule-section-modal p{margin:3px 0 0;color:#64748b;font-size:.82rem;font-weight:750}.r360-section-picker-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;overflow:auto;padding:1rem}.r360-section-picker-groups article{display:grid;gap:.45rem;align-content:start;padding:.85rem;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.r360-section-picker-groups h3{font-size:.86rem}.r360-section-picker-groups label{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:8px;color:#0f172a;font-size:.78rem;font-weight:850}.r360-section-picker-groups label:hover{background:#eff6ff}.r360-inline-check{display:inline-flex;align-items:center;gap:5px;color:#0f172a;font-size:.72rem;font-weight:850}.r360-schedule-plan-status{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:900}.r360-schedule-plan-status.ok{background:#ecfdf5;color:#047857}.r360-schedule-plan-status.warning{background:#fffbeb;color:#b45309}.r360-schedule-plan-status.danger{background:#fef2f2;color:#b91c1c}.r360-schedule-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.r360-schedule-status-grid article{padding:.85rem;border:1px solid #dbe5f1;border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.r360-schedule-status-grid span{display:block;color:#64748b;font-size:.66rem;font-weight:900;text-transform:uppercase}.r360-schedule-status-grid strong{display:block;margin-top:3px;color:#0f2f68;font-size:1.35rem;font-weight:900}.r360-schedule-status-grid .danger strong{color:#dc2626}.r360-schedule-status-grid .warning strong{color:#d97706}.r360-schedule-status-grid .ok strong{color:#0f766e}.r360-schedule-conflicts,.r360-schedule-empty-state,.r360-schedule-saved{padding:1rem}.r360-schedule-conflicts{display:grid;gap:.45rem}.r360-schedule-conflicts p{margin:0;padding:.65rem .75rem;border-radius:8px;font-size:.78rem;font-weight:800}.r360-schedule-conflicts p.danger{background:#fef2f2;color:#991b1b}.r360-schedule-conflicts p.warning{background:#fffbeb;color:#92400e}.r360-schedule-conflicts p.success{background:#ecfdf5;color:#065f46}.r360-schedule-empty-state{text-align:center}.r360-schedule-saved>div{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}.r360-schedule-saved button{display:grid;gap:2px;padding:.65rem .8rem;border:1px solid #dbe5f1;border-radius:8px;background:#f8fafc;color:#0f172a;text-align:left;cursor:pointer}.r360-schedule-saved button:hover{border-color:#13b8a7;background:#f0fdfa}.r360-schedule-saved button span{color:#64748b;font-size:.7rem;font-weight:800}.r360-schedule-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;padding:.9rem;border:1px solid #dbe5f1;border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.r360-schedule-toolbar label{display:grid;gap:5px;min-width:0}.r360-schedule-toolbar label>span{color:#64748b;font-size:.66rem;font-weight:900;text-transform:uppercase}.r360-schedule-toolbar label.is-muted{opacity:.55}.r360-schedule-paper{padding:1rem;border:1px solid #ccd6e4;border-radius:8px;background:#f8fafc;box-shadow:0 14px 34px #0f172a14}.r360-schedule-paper-head{display:grid;grid-template-columns:120px minmax(0,1fr) 120px;align-items:center;min-width:820px;padding:10px 12px 14px;background:#fff;border:2px solid #1f2937;border-bottom:0;color:#111827;text-align:center}.r360-schedule-paper-head>div:nth-child(2){display:grid;gap:2px}.r360-schedule-paper-head h2{margin:0;font-size:1.42rem;line-height:1.05;font-weight:800;text-transform:uppercase}.r360-schedule-paper-head strong{font-size:1.45rem;line-height:1.1;font-weight:500}.r360-schedule-paper-head span{color:#4b5563;font-size:.78rem;font-weight:700}.r360-schedule-ministry{color:#334155;font-size:.58rem;font-weight:800;line-height:1.25;text-transform:uppercase}.r360-schedule-scroll{overflow:auto;background:#fff;-webkit-overflow-scrolling:touch}.r360-school-schedule-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;background:#fff;color:#111827;font-family:Inter,Arial,sans-serif}.r360-school-schedule-table th,.r360-school-schedule-table td{border:2px solid #1f2937}.r360-school-schedule-table thead th{height:64px;background:#f8fafc;color:#111827;font-size:1.2rem;font-weight:500;text-align:center}.r360-school-schedule-table .r360-schedule-time-head{width:86px}.r360-school-schedule-table tbody th{width:86px;padding:6px 4px;background:#f8fafc;text-align:center;vertical-align:middle}.r360-school-schedule-table tbody th strong{display:block;color:#111827;font-size:1.45rem;line-height:1.1;font-weight:500}.r360-school-schedule-table tbody th span{display:block;margin-top:8px;color:#111827;font-size:.64rem;font-weight:600}.r360-school-schedule-table tbody tr:not(.r360-schedule-special-row){height:116px}.r360-schedule-special-row th strong{font-size:.78rem!important}.r360-schedule-special-row td{height:84px;background:#fbfbfb;color:#222;font-size:1.55rem;font-weight:400;text-align:center;vertical-align:middle}.r360-schedule-class-cell{position:relative;padding:9px 10px;background:#fcfcfc;text-align:center;vertical-align:top}.r360-schedule-entry{display:grid;gap:4px;min-height:86px;padding:8px;border:1px solid #dbeafe;border-radius:8px;background:#fff;box-shadow:0 8px 18px #0f172a0f;cursor:grab}.r360-schedule-entry.is-pedagogic{border-color:#ccfbf1;background:#f0fdfa}.r360-schedule-entry:active{cursor:grabbing}.r360-schedule-entry+.r360-schedule-entry{margin-top:7px}.r360-schedule-entry span,.r360-schedule-class-cell .r360-schedule-subject{color:#111827;font-size:.72rem;font-weight:650;line-height:1.1;text-align:left}.r360-schedule-entry strong,.r360-schedule-class-cell strong{display:block;margin-top:0;color:#222;font-size:1.05rem;font-weight:500;line-height:1.1}.r360-schedule-entry small,.r360-schedule-class-cell small{display:block;margin-top:0;color:#475569;font-size:.66rem;font-weight:700;line-height:1.25}.r360-schedule-entry em,.r360-schedule-class-cell em{display:inline-block;margin-top:0;color:#0f766e;font-size:.6rem;font-style:normal;font-weight:850}.r360-schedule-empty{background:#fff}.r360-empty-slot{display:inline-grid;place-items:center;min-height:82px;color:#94a3b8;font-size:.75rem;font-weight:800}.r360-schedule-paper-foot{display:flex;justify-content:space-between;min-width:820px;padding:6px 10px;border:2px solid #1f2937;border-top:0;background:#fff;color:#111827;font-size:.78rem;font-weight:800}.teacher-published-schedule-card{margin-top:1rem}.teacher-published-schedule-card .card-title{display:flex;align-items:center;gap:8px}.teacher-published-schedule-card .card-title svg{width:18px;height:18px}.teacher-published-schedule-scroll{overflow:auto;-webkit-overflow-scrolling:touch}.teacher-published-schedule-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;color:#0f172a;font-size:.78rem}.teacher-published-schedule-table th,.teacher-published-schedule-table td{min-width:132px;padding:9px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;vertical-align:top}.teacher-published-schedule-table thead th{background:#f8fafc;color:#0f2f68;font-weight:900}.teacher-published-schedule-table tbody th{width:112px;background:#f8fafc;color:#475569;font-weight:900}.teacher-published-entry{display:grid;gap:3px;padding:8px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}.teacher-published-entry+.teacher-published-entry{margin-top:6px}.teacher-published-entry.pedagogic{border-color:#ccfbf1;background:#f0fdfa}.teacher-published-entry b{color:#0f2f68;font-size:.78rem}.teacher-published-entry span,.teacher-published-entry em,.teacher-published-entry small,.teacher-published-empty-cell,.teacher-published-schedule-empty{color:#64748b;font-size:.68rem;font-style:normal;font-weight:750}.teacher-published-schedule-table .is-free-day{background:#fff7ed;color:#c2410c;font-weight:900;text-align:center;vertical-align:middle}@media (max-width: 980px){.r360-schedule-builder,.r360-schedule-status-grid{grid-template-columns:1fr}.r360-schedule-rule-switches,.r360-schedule-form-grid,.r360-schedule-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.r360-schedule-heading{align-items:stretch;flex-direction:column}.r360-schedule-heading button{width:fit-content}}@media (max-width: 640px){.r360-schedule-module{gap:.75rem}.r360-schedule-heading h1{font-size:1.35rem}.r360-schedule-toolbar{grid-template-columns:1fr;padding:.75rem}.r360-schedule-form-grid{grid-template-columns:1fr}.r360-schedule-actions{justify-content:flex-start}.r360-schedule-rule-switches{grid-template-columns:1fr}.r360-schedule-paper{margin-inline:-10px;padding:8px;border-radius:0}.r360-schedule-paper-head,.r360-school-schedule-table,.r360-schedule-paper-foot{min-width:820px}.r360-school-schedule-table thead th{height:56px;font-size:1rem}.r360-school-schedule-table tbody tr:not(.r360-schedule-special-row){height:104px}}@media print{body *{visibility:hidden!important}.r360-schedule-paper,.r360-schedule-paper *{visibility:visible!important}.r360-schedule-paper{position:absolute;inset:0 auto auto 0;width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}.r360-schedule-scroll{overflow:visible}.r360-schedule-paper-head,.r360-school-schedule-table,.r360-schedule-paper-foot{min-width:0}}.r360-voice-note{min-width:280px;display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center}.r360-voice-track{display:flex!important;flex-direction:column!important;grid-template-rows:none!important;gap:4px!important;min-width:0;padding:0!important}.r360-voice-wave-container{position:relative;width:100%;height:34px;display:flex;align-items:center}.r360-voice-wave{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:2px;pointer-events:none;overflow:hidden;height:34px!important;min-height:34px!important}.r360-voice-wave i{flex:1;width:3px;height:var(--voice-height, 18px)!important;border-radius:99px;background:#cbd5e1!important;transition:background-color .1s ease;min-height:8px!important;max-height:32px!important}.r360-voice-wave i.played{background:#0fb98a!important}.r360-message.received .r360-voice-wave i.played{background:#1769e8!important}.r360-voice-wave-container input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:5}.r360-voice-info{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%;margin-top:2px}.r360-voice-duration{color:#52627a;font-size:.7rem;font-weight:700;line-height:1.2}.r360-voice-speed-btn{background:#eef4fc;border:none;border-radius:5px;color:#53637c;font-size:.65rem;font-weight:900;padding:2px 7px;cursor:pointer;transition:background .15s ease,color .15s ease}.r360-voice-speed-btn:hover{background:#dbe7f6;color:#1b2a47}@media (max-width: 600px) and (orientation: portrait){.r360-voice-note{width:100%;min-width:0!important;grid-template-columns:52px minmax(0,1fr)!important;gap:12px}.r360-voice-note>button{width:52px;height:52px}.r360-voice-track{display:flex!important;flex-direction:column!important;grid-template-rows:none!important;gap:4px!important}.r360-voice-wave-container{height:38px!important}.r360-voice-wave{height:38px!important;min-height:38px!important}.r360-voice-wave i{width:3px;height:var(--voice-height, 22px)!important;min-height:8px!important;max-height:36px!important;flex-basis:3px}.r360-voice-info{margin-top:2px}}.r360-messaging.voice-recording-active .r360-recording-visual{position:absolute!important;left:12px!important;right:58px!important;bottom:8px!important;width:auto!important;min-height:44px!important;display:grid!important;grid-template-columns:12px 42px minmax(80px,1fr) auto!important;align-items:center!important;gap:9px!important}.r360-messaging.voice-recording-active .r360-plasma-field{width:100%!important;height:32px!important;flex-direction:row!important;align-items:center!important;justify-content:center!important}.r360-messaging.voice-recording-active .r360-plasma-field i{width:4px!important;flex:0 0 4px!important;max-height:30px!important}@media (max-width: 600px) and (orientation: portrait){.r360-messaging.voice-recording-active .r360-recording-visual{left:8px!important;right:48px!important;bottom:5px!important;min-height:38px!important;padding:5px 9px!important;grid-template-columns:10px 34px minmax(64px,1fr) auto!important;gap:7px!important}.r360-messaging.voice-recording-active .r360-recording-mic{width:10px!important;height:10px!important}.r360-messaging.voice-recording-active .r360-recording-visual>b{min-width:32px;font-size:.66rem!important}.r360-messaging.voice-recording-active .r360-recording-visual>small{font-size:.58rem!important;overflow:hidden;text-overflow:ellipsis}}@media (max-width: 768px){.r360-mobile-module-title{grid-column:2!important;width:min(64vw,260px)!important;min-width:0!important;margin:0 auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;line-height:1.05}.parent-mobile-header .universal-header-logo,.coord-sub-header .coord-mobile-header-logo,.teacher-mobile-topbar .teacher-home-brand{width:min(68vw,300px)!important;height:62px!important}.parent-mobile-header .universal-header-logo img,.coord-sub-header .coord-mobile-header-logo img,.teacher-mobile-topbar .teacher-home-brand img{width:100%!important;max-height:58px!important;object-fit:contain!important}.r360-mobile-module-title strong{max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1476df;font-size:clamp(1rem,5.2vw,1.36rem);font-weight:950}.r360-mobile-module-title span{max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#00ad83;font-size:clamp(.53rem,2.45vw,.68rem);font-weight:900;letter-spacing:0}.r360-chat-list-heading .r360-messaging-back{display:none!important}.r360-chat-list-heading{min-height:0!important;height:0!important;padding:0!important;margin:0!important;overflow:visible!important}.r360-chat-list-heading>div:not(.r360-chat-heading-actions){display:none!important}.r360-chat-heading-actions{display:contents!important}.r360-chat-heading-actions [data-chat-action=new]{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(22px,calc(18px + env(safe-area-inset-bottom)))!important;z-index:80!important;width:58px!important;height:58px!important;min-height:58px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#1769e8!important;color:#fff!important;box-shadow:0 16px 34px #1769e852!important;font-size:0!important}.r360-chat-heading-actions [data-chat-action=new]:before{content:"+";font-size:2rem;line-height:1;font-weight:900}.r360-messaging.chat-open .r360-chat-heading-actions [data-chat-action=new]{display:none!important}body:has(.r360-messaging.chat-open) .parent-mobile-header,body:has(.r360-messaging.chat-open) .coord-sub-header,body:has(.r360-messaging.chat-open) .teacher-mobile-topbar{display:none!important}body:has(.r360-messaging.chat-open) .parent-mobile-content:has(.r360-messaging),body:has(.r360-messaging.chat-open) .parent-detail-page:has(.r360-messaging),body:has(.r360-messaging.chat-open) .coord-main-panel:has(.r360-messaging),body:has(.r360-messaging.chat-open) #dashboard-main-content-mount{height:100dvh!important;min-height:100dvh!important;padding:0!important}body:has(.r360-messaging.chat-open) .r360-messaging{height:100dvh!important}.r360-messaging.chat-open .r360-chat-header{min-height:calc(66px + env(safe-area-inset-top,0px))!important;padding-top:calc(10px + env(safe-area-inset-top,0px))!important}}
