:root{--nav:#101f35;--nav2:#172b47;--ink:#172740;--muted:#75859a;--text2:#4d5e75;--teal:#0e847d;--teal2:#087b77;--lightteal:#e3f5f1;--blue:#4269cc;--stroke:#e5ebf2;--bg:#f4f7fa;--white:#fff;--shadow:0 3px 20px rgba(28,48,79,.045)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.icon{display:inline-block;flex:none;vertical-align:middle}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:27px;letter-spacing:-.8px;line-height:1.22;margin-bottom:8px}h2{font-size:17px;letter-spacing:-.25px}h3{font-size:15px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:"Cascadia Code",Consolas,monospace;font-size:12px;letter-spacing:.15px}.stack-gap{display:flex;flex-direction:column;gap:15px}.icon-btn{border:0;background:transparent;color:var(--ink);width:37px;height:37px;display:grid;place-items:center;border-radius:9px}.icon-btn:hover{background:#eef2f7}
.app-shell{display:flex;min-height:100vh}.sidebar{width:257px;flex:0 0 257px;background:var(--nav);color:#d6e0ee;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 14px 16px;z-index:30}.brand{display:flex;gap:11px;align-items:center;padding:1px 12px 39px;color:white}.brand-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#18a497,#0b686d);box-shadow:0 6px 15px #0003}.brand strong{display:block;font-size:16px;letter-spacing:-.6px;font-weight:750}.brand small{display:block;color:#94a8c0;font-size:11px;margin-top:1px;letter-spacing:.2px}.nav-label{padding:3px 15px 13px;color:#7d91ad;font-size:10px;font-weight:750;letter-spacing:1.4px}.nav-label-extra{padding-top:34px}.side-links{display:flex;flex-direction:column;gap:4px}.side-link{padding:12px 14px;display:flex;align-items:center;gap:13px;min-height:45px;color:#b0c0d5;font-size:13px;font-weight:560;border-radius:9px;transition:background .12s,color .12s}.side-link:hover{background:#203653;color:white}.side-link.active{background:#203c53;color:#e6fcfa;box-shadow:inset 3px 0 0 #22b8a7}.side-link.active .icon{color:#35cfbb}.side-footer{margin-top:auto;border-top:1px solid #243953;padding:19px 12px 3px;display:flex;align-items:center;gap:11px}.status-dot{width:9px;height:9px;background:#45d6a2;border-radius:50%;box-shadow:0 0 0 4px #45d6a224}.side-footer strong{display:block;color:#e5f0f9;font-size:12px}.side-footer small{color:#859ab4;font-size:11px}
.work-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;flex:0 0 76px;background:white;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;padding:0 37px;gap:16px}.topbar-path{font-size:13px;font-weight:500;color:#9da8ba}.topbar-path span{padding:0 8px;color:#c5cfdb}.topbar-path strong{color:#32455f;font-weight:650}.topbar-right{display:flex;align-items:center;gap:26px}.local-indicator{font-size:11px;color:#5a6880;background:#f4f8fa;border:1px solid var(--stroke);border-radius:20px;padding:6px 10px;font-weight:650}.local-indicator span{display:inline-block;background:#3cbb8e;border-radius:50%;height:7px;width:7px;margin-right:4px}.user-pill{display:flex;align-items:center;gap:9px}.avatar{width:36px;height:36px;border-radius:12px;background:#def0ef;color:#087a70;font-weight:800;font-size:12px;display:grid;place-items:center}.user-pill strong,.user-pill small{display:block}.user-pill strong{font-size:12px}.user-pill small{font-size:10px;color:#93a0ae}.logout-form{border-left:1px solid var(--stroke);padding-left:14px}.mobile-menu{display:none;background:none;border:0;color:var(--ink)}.page-content{flex:1;width:100%;max-width:1480px;padding:32px 37px 50px;margin:0 auto}.page-head{display:flex;justify-content:space-between;margin-bottom:27px}.page-head p{color:#8190a2;margin:0;font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#0c958a;margin-bottom:7px}.app-footer{display:flex;justify-content:space-between;border-top:1px solid var(--stroke);background:#fff;color:#95a1b1;padding:17px 37px;font-size:11px}
.panel{background:white;border:1px solid var(--stroke);border-radius:15px;box-shadow:var(--shadow);overflow:hidden}.panel.pad{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 23px;border-bottom:1px solid var(--stroke)}.panel-head.no-pad{padding:0 0 19px}.panel-head h2{margin:0 0 4px}.panel-head p{font-size:12px;color:#93a0af;margin:0}.action-head{flex-wrap:wrap}.notice{background:#eef8f4;color:#187e64;padding:13px 17px;margin:0 0 21px;display:flex;align-items:center;gap:10px;border:1px solid #d1efe4;border-radius:10px;font-size:12px;font-weight:600}.notice.error{background:#fff0f0;color:#af3340;border-color:#ffd2d3}.notice.warning{color:#996315;background:#fff8e9;border-color:#fde3b3}.notice a{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;border:1px solid transparent;white-space:nowrap;padding:10px 15px;font-weight:700;font-size:12px;min-height:39px;line-height:1.2;transition:transform .12s,background .12s,color .12s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:#0b8278;color:white;border-color:#0b8278;box-shadow:0 5px 12px #0b827820}.btn-primary:hover:not(:disabled){background:#066b64}.btn-outline{background:white;color:#344961;border-color:#dbe3ed}.btn-outline:hover:not(:disabled){background:#f5f8fb}.btn-white{background:white;color:#086e65}.btn-large{padding:13px 17px;font-size:13px}.btn-full{width:100%}.btn-small{font-size:11px;padding:7px 11px;min-height:32px}.btn-danger-outline{border:1px solid #ffd5d8;background:#fff7f7;color:#c03d4b}.btn-danger{color:white;background:#bf3b49}.btn-margin{margin-top:17px}.text-link{color:#0c837d;font-weight:750;display:inline-flex;align-items:center;gap:5px;font-size:12px}.text-link:hover{text-decoration:underline}.link-small{color:#0f7e78;display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:12px}.pill{display:inline-flex;align-items:center;border-radius:20px;font-weight:750;font-size:10px;letter-spacing:.1px;padding:5px 10px}.pill.green{background:#e7f8f2;color:#19886d}.pill.amber{background:#fff1d9;color:#a46a10}.pill.slate{background:#eef1f5;color:#637389}.pill.purple{background:#f1edff;color:#7952bb}.pill.blue{background:#eaf1ff;color:#466dc0}
.hero-band{border-radius:17px;background:linear-gradient(108deg,#0b827e,#075e69);color:white;min-height:205px;padding:30px 35px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;margin-bottom:22px;box-shadow:0 12px 28px #12677125}.hero-eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:#b2f2eb;margin-bottom:8px}.hero-band h2{font-size:26px;margin:0 0 8px;letter-spacing:-.8px}.hero-band p{max-width:520px;color:#cbf0ed;line-height:1.65;font-size:12px;margin:0 0 18px}.hero-decor{position:absolute;right:0;height:100%;width:35%;top:0;overflow:hidden}.hero-decor span{position:absolute;width:220px;height:220px;border-radius:50%;border:30px solid #ffffff0a;right:-35px;top:-50px}.hero-decor span+span{width:150px;height:150px;top:118px;right:110px}.hero-logo{position:absolute;top:63px;right:120px;color:#ffffff30}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat-card{background:white;min-height:169px;border-radius:14px;padding:18px 20px;border:1px solid var(--stroke);box-shadow:var(--shadow);transition:transform .15s}.stat-card:hover{transform:translateY(-2px)}.stat-icon{height:35px;width:35px;display:grid;place-items:center;border-radius:10px;margin-bottom:9px}.stat-icon.blue{color:#376fc0;background:#e9f1ff}.stat-icon.green{color:#118571;background:#e3f6f2}.stat-icon.amber{color:#be831f;background:#fff4dc}.stat-icon.purple{color:#7954bd;background:#f3edff}.stat-label{font-size:11px;color:#7e8b9f;font-weight:620}.stat-number{font-size:29px;letter-spacing:-1.5px;font-weight:800;color:#263851;line-height:1.3}.stat-foot{font-size:10px;color:#9fabb8}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:20px}.right-stack,.stack-panels{display:flex;flex-direction:column;gap:18px}.aside-heading,.section-title{display:flex;align-items:center;gap:9px;color:#273b57;font-size:15px;font-weight:800;margin-bottom:17px}.aside-heading .icon,.section-title .icon{color:#128f85}.quick-link{min-height:43px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f2f6;color:#4c6177;font-size:12px;font-weight:650}.quick-link .icon:first-child{color:#8098ac}.quick-link .icon:last-child{margin-left:auto;color:#a2b0bf}.quick-link:hover{color:#09877c}.insight-card{border-radius:14px;border:1px solid #cfe9e7;background:linear-gradient(145deg,#e8f7f5,#f0f9f6);padding:20px}.insight-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:#177b72}.insight-card p{color:#678a89;font-size:12px;line-height:1.7;margin:10px 0 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{background:#fafbfd;color:#8191a4;font-weight:750;font-size:10px;letter-spacing:.3px;text-transform:uppercase;padding:13px 21px;white-space:nowrap}td{border-top:1px solid #edf0f4;padding:14px 21px;color:#506079;vertical-align:middle}td strong{color:#2c4058;font-weight:750}tr:hover td{background:#fbfcfe}.person{display:flex;align-items:center;gap:10px;min-width:190px}.person-icon{width:34px;height:34px;background:#eaf4f8;color:#47788f;display:grid;place-items:center;border-radius:10px;flex:none;font-size:10px;font-weight:800}.person-icon.large{width:44px;height:44px;font-size:14px}.person strong,.person small{display:block}.person small{color:#a1b0bf;font-size:10px}.empty{padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#a0afbf}.empty .icon{color:#9dbece}.empty h3{color:#42566d;margin:12px 0 3px}.empty p{margin:0;max-width:280px;font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 23px;border-bottom:1px solid var(--stroke)}.search-form{display:flex;align-items:center;gap:10px;flex:1;max-width:580px}.search-input{display:flex;align-items:center;gap:9px;background:#f8fafc;border:1px solid #e1e9f2;border-radius:9px;height:40px;padding:0 12px;flex:1;min-width:0}.search-input .icon{color:#99a7b8}.search-input input{border:0!important;background:transparent!important;padding:0!important;outline:0!important;min-width:0;flex:1;font-size:12px}.segment-tabs{display:flex;gap:4px;background:#f2f5f8;border-radius:9px;padding:4px}.segment-tabs a{color:#7c8b9f;padding:7px 14px;border-radius:7px;font-size:11px;font-weight:750}.segment-tabs .selected{background:white;color:#0f827d;box-shadow:0 1px 4px #0001}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;color:#8594a4;font-size:11px}.pagination>div{display:flex;gap:8px}
label{display:block;font-size:12px;font-weight:750;color:#566780}label input:not([type=checkbox]),label select,label textarea,input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:6px;background:white;border:1px solid #dce5ee;border-radius:9px;padding:11px 12px;font-size:13px;color:#253650;outline:none;transition:border .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:#27ad9c!important;box-shadow:0 0 0 3px #24afa319!important}input::placeholder,textarea::placeholder{color:#aebac8}textarea{resize:vertical}.form-sections{display:flex;flex-direction:column;gap:18px;max-width:1100px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.form-grid .span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:1px 0 25px}.narrow{max-width:530px}.narrow-wide{max-width:920px}.section-note{margin:-9px 0 17px;font-size:12px}.check-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:9px 0}.check-row input{margin:0;width:17px;height:17px;accent-color:#0c8a80}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.checkbox-card{display:flex;gap:11px;align-items:center;border:1px solid var(--stroke);padding:13px;border-radius:10px;cursor:pointer}.checkbox-card input{margin:0;accent-color:#0a887b}.step-symbol{width:48px;height:48px;background:#e6f5ef;color:#0a8b79;border-radius:13px;display:grid;place-items:center;margin-bottom:19px}.student-inline-card{background:white;border:1px solid var(--stroke);border-radius:13px;display:flex;align-items:center;gap:12px;padding:17px;margin-bottom:18px}.student-inline-card strong,.student-inline-card .muted{display:block}.student-inline-card .text-link{margin-left:auto}.soft-panel{margin:16px 20px;padding:14px;border-radius:9px;background:#f6f9fc;color:#607287;display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.6}.inline-filter{display:flex;align-items:flex-end;gap:8px}.inline-filter label{width:110px}.inline-filter input{padding:8px 11px}.soft-message{background:#f5f9fb;border-radius:9px;padding:15px;color:#8291a4;font-size:12px}
.detail-head{display:flex;align-items:center;gap:17px;background:white;border:1px solid var(--stroke);padding:19px 22px;border-radius:15px;margin-bottom:20px;flex-wrap:wrap}.big-avatar{width:60px;height:60px;border-radius:16px;background:#e5f4f0;color:#0e8c7f;display:grid;place-items:center;font-weight:800;font-size:20px}.detail-title{flex:1;min-width:180px}.detail-title h2{margin:0 0 7px;font-size:19px}.detail-title .pill{margin-left:7px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.two-col-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:19px}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.info-grid>div{min-width:0}.info-grid span{display:block;font-size:11px;color:#97a5b3;margin-bottom:5px}.info-grid strong{font-size:12px;color:#34475f;font-weight:720;overflow-wrap:anywhere}.info-grid.single-info{grid-template-columns:1fr}.info-grid .wide{grid-column:1/-1}.mini-list{display:flex;flex-direction:column}.mini-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f6;gap:9px}.mini-item strong,.mini-item small{display:block}.mini-item small{font-size:10px;color:#91a0b1}.incident{border-bottom:1px solid var(--stroke);padding:9px 0}.incident strong{font-size:11px;color:#49748a}.incident p{font-size:12px;margin:4px 0}.inline-details{margin-top:16px;border-top:1px solid var(--stroke);padding-top:12px}.inline-details summary{cursor:pointer;color:#0b837b;font-weight:750;font-size:12px;margin-bottom:14px}
.tab-bar{display:flex;gap:9px;margin:0 0 20px}.tab-bar a{display:flex;align-items:center;gap:10px;background:white;padding:13px 20px;border:1px solid var(--stroke);color:#65758b;border-radius:11px;font-size:12px;font-weight:800}.tab-bar a.active{background:#e4f5f0;border-color:#c8e6df;color:#0e857a}.tab-bar span{background:#edf2f5;padding:3px 7px;border-radius:6px;font-size:10px}.tab-bar .active span{background:#c6e7dc}.compare-panel{margin-top:20px}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.compare-card{border:1px solid var(--stroke);border-radius:12px;padding:17px}.compare-head{display:flex;align-items:center;gap:11px;padding-bottom:17px;border-bottom:1px solid var(--stroke)}.compare-head strong{display:block;font-size:12px}.compare-head small{display:block;font-size:10px;color:#93a1b2}.compare-facts{margin:0;padding:6px 0}.compare-facts div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f2f4f7}.compare-facts dt{font-size:11px;color:#8c9aaa}.compare-facts dd{font-size:11px;color:#40516a;margin:0;max-width:60%;overflow-wrap:anywhere;text-align:right}.compare-actions{display:flex;gap:8px;padding-top:16px;flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#09182cb0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200}.modal-backdrop[hidden]{display:none}.modal{background:white;border-radius:19px;width:100%;max-width:505px;box-shadow:0 25px 80px #09152155;padding:30px}.modal-icon{width:49px;height:49px;display:grid;place-items:center;background:#fff1df;color:#b88020;border-radius:12px;margin-bottom:15px}.modal h2{font-size:19px;margin-bottom:7px}.modal p{font-size:12px;color:#758296;line-height:1.7}.modal-student{font-weight:750;border-left:3px solid #eea244;background:#fff9ef;padding:10px 13px;margin:15px 0}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.grade-bars{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.grade-row{display:grid;grid-template-columns:110px 1fr 36px;gap:13px;align-items:center}.grade-name{font-size:12px;color:#66788e}.grade-row strong{font-size:12px;color:#38516d;text-align:right}.bar-track{height:9px;border-radius:10px;background:#eef2f5;overflow:hidden}.bar-value{background:linear-gradient(90deg,#16b6a5,#0c8a85);height:100%;border-radius:10px}.slim-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-examples{display:flex;gap:14px;margin:20px 0}.logo-examples>div{border:1px solid var(--stroke);border-radius:11px;flex:1;display:flex;align-items:center;flex-direction:column;gap:8px;padding:16px;text-align:center;min-width:0}.logo-examples img{height:65px;width:125px;object-fit:contain}.logo-examples strong{font-size:12px}.logo-examples code{font-size:10px;overflow-wrap:anywhere;color:#7a91a8}
.login-body{height:100vh;min-height:680px;background:white}.login-scene{display:grid;grid-template-columns:53% 47%;height:100%;min-height:680px}.login-art{position:relative;background:linear-gradient(146deg,#102d41,#073f48 63%,#0a605a);color:white;overflow:hidden;padding:60px 11% 36px}.login-grid{position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,#1bb5aa25 0,transparent 45%),linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:auto,38px 38px,38px 38px;opacity:.52}.login-art:after{content:"";position:absolute;width:440px;height:440px;border:70px solid #ffffff06;border-radius:50%;right:-180px;top:18%}.login-art-content{position:relative;z-index:1;top:16%;max-width:540px}.login-kicker{display:inline-flex;align-items:center;gap:9px;color:#b1eae1;letter-spacing:1.8px;font-weight:800;font-size:11px}.login-art h1{font-size:clamp(36px,4.9vw,68px);letter-spacing:-2.6px;line-height:1.1;margin:29px 0 23px;font-weight:800}.login-art h1 em{color:#7ee8cf;font-style:normal}.login-art-content p{max-width:420px;color:#b7d3d8;line-height:1.8;font-size:14px}.login-features{display:flex;flex-direction:column;gap:20px;margin-top:55px}.login-features div{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:620;color:#d5e9ec}.login-features .icon{color:#7bdcc7}.login-art-bottom{position:absolute;left:11%;bottom:32px;color:#a6c2c7;font-size:11px;display:flex;gap:9px;align-items:center}.small-dot{background:#53d1b6;width:6px;height:6px;border-radius:50%}.login-form-side{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:50px}.login-box{width:100%;max-width:390px}.login-monogram{height:57px;width:57px;background:#e7f5f2;color:#0b8b80;display:grid;place-items:center;border-radius:17px;margin-bottom:27px}.login-overline{font-size:10px;letter-spacing:1.4px;color:#0f8f81;font-weight:850}.login-box h2{font-size:35px;letter-spacing:-1.5px;margin:8px 0}.login-desc{color:#8e9cac;font-size:13px;line-height:1.7;margin:0 0 29px}.login-form-side label{font-size:12px;color:#4f627b}.login-form-side input{height:47px;margin-top:8px}.password-field{position:relative}.password-field input{padding-right:47px}.reveal{position:absolute;top:12px;right:9px;border:0;color:#8393a6;background:transparent;padding:8px}.login-help{font-size:11px;color:#a0acb9;display:flex;align-items:center;justify-content:center;gap:7px;padding:22px 0}.login-copyright{position:absolute;bottom:24px;color:#b1b8c3;font-size:10px;text-align:center}
@media(max-width:1250px){.sidebar{width:220px;flex-basis:220px}.topbar{padding:0 23px}.page-content{padding:25px 23px}.stats-grid{gap:10px}.stat-card{padding:17px}.content-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.detail-head{gap:11px}}@media(max-width:1000px){.content-grid,.two-col-detail{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slim-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.login-scene{grid-template-columns:43% 57%}.login-art{padding:55px 8%}.login-art h1{letter-spacing:-1px}}@media(max-width:760px){.sidebar{transform:translateX(-105%);position:fixed;transition:transform .2s;width:258px;flex-basis:auto;box-shadow:10px 0 40px #10203025}.sidebar.shown{transform:translateX(0)}.mobile-menu{display:block}.topbar{padding:0 16px;height:65px;flex-basis:65px}.topbar-right{gap:9px}.local-indicator{display:none}.user-pill>span{display:none}.page-content{padding:24px 15px}.page-head h1{font-size:23px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:151px}.stat-number{font-size:25px}.hero-band{padding:23px}.hero-decor{opacity:.45}.hero-band h2{font-size:23px}.hero-band p{max-width:75%}.panel.pad{padding:18px}.panel-head{padding:18px}.form-grid,.compare-grid,.checkbox-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.detail-actions{width:100%}.toolbar{padding:15px}.search-form{max-width:100%}.login-scene{display:block}.login-art{display:none}.login-form-side{height:100%;padding:25px}.login-copyright{font-size:9px}.tab-bar a{padding:12px}.app-footer{padding:17px;font-size:10px}.modal{padding:20px}.slim-stats{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}}


/* ================================================================
   IDENTIDAD AQUA — CEBG GUÍA TÉCNICA N° 5
   Presentación únicamente: los datos, permisos y lógica no cambian.
   ================================================================ */
:root {
 --nav:#07566a;
 --nav2:#096f83;
 --ink:#164452;
 --muted:#6b919d;
 --text2:#446f7c;
 --teal:#089aac;
 --teal2:#087e93;
 --lightteal:#e4f8f8;
 --blue:#139fc3;
 --stroke:#d6eaee;
 --bg:#f0fbfc;
 --white:#fff;
 --shadow:0 9px 28px rgba(16,105,125,.065);
}
body.app-body {background:linear-gradient(170deg,#f4fdfd 0%,#ebf9fb 45%,#f7fcfd 100%);}
.sidebar {background:linear-gradient(178deg,#086b7f 0%,#074b61 63%,#053f56 100%);color:#e2fbff;border-right:1px solid #ffffff12;}
.brand {gap:10px;padding-bottom:32px;}
.brand-symbol{background:linear-gradient(140deg,#84e8ec,#36cbd7);color:#064c62;box-shadow:0 7px 18px #01364635;}
.brand strong{font-size:13px;letter-spacing:-.18px;line-height:1.35;max-width:167px;}
.brand small{color:#b0e3ea;font-size:10.5px;}
.nav-label {color:#97cfdb;letter-spacing:1.2px;}
.side-link{color:#d4eef4;border:1px solid transparent;}
.side-link:hover{background:#ffffff16;color:#fff;}
.side-link.active{background:linear-gradient(100deg,#1cb6c0b5,#36bbc233);border-color:#85eaf02b;color:#fff;box-shadow:inset 3px 0 0 #a0f6f0;}
.side-link.active .icon{color:#a9fff5;}
.side-footer{border-top-color:#ffffff29;}
.side-footer strong{color:#e9feff;}.side-footer small{color:#a8d6e0;}
.status-dot{background:#7ff1d7;box-shadow:0 0 0 4px #7ff1d71b;}
.topbar{background:#ffffffec;border-bottom-color:#d9ecef;backdrop-filter:blur(9px);}
.topbar-path{color:#789aa8;}.topbar-path span{color:#afcbd3;}.topbar-path strong{color:#13586b;}
.local-indicator{color:#317d86;background:#e6f9f9;border-color:#cff0f1;}
.local-indicator span{background:#15b9a5;}
.avatar{color:#087b91;background:#d9f7f7;}
.page-head .eyebrow,.eyebrow{color:#089cad;}
.page-head h1{color:#143d50;}
.page-head p{color:#7396a2;}
.panel,.stat-card{background:#fff;border-color:#dbeef0;box-shadow:var(--shadow);}
.panel-head{border-color:#e2eff1;}
.panel-head h2,.aside-heading{color:#164753;}
.btn-primary{background:linear-gradient(118deg,#12a9bb,#087f9b);border-color:#0b9bae;box-shadow:0 8px 19px #0c9cb02c;color:#fff;}
.btn-primary:hover:not(:disabled){background:linear-gradient(118deg,#078a9d,#066b85);}
.btn-outline{color:#226d7b;border-color:#c9e4e7;}
.btn-outline:hover:not(:disabled){background:#edfbfc;}
.btn-white{color:#087b91;}
.btn-white:hover:not(:disabled){background:#e8ffff;}
.text-link,.link-small{color:#078fa2;}
.hero-band{background:linear-gradient(108deg,#0798aa 0%,#17b9c2 52%,#0c7a96 100%);box-shadow:0 17px 30px #0b9cb42b;border:1px solid #ffffff33;}
.hero-band p{color:#e0fcfd;}.hero-eyebrow{color:#ceffff;}
.stat-icon.blue{color:#0c8ba7;background:#e2f6fe;}
.stat-icon.green{color:#059a91;background:#e2faf5;}
.stat-icon.amber{color:#b77e15;background:#fff8e3;}
.stat-icon.purple{color:#5f90a5;background:#e7f5f8;}
.stat-number{color:#173f54;}
.stat-label,.stat-foot{color:#7496a1;}
.stat-card:hover{border-color:#a7dfe6;box-shadow:0 12px 27px #116a8417;}
.quick-link:hover{background:#eafafb;}
.quick-link .icon:first-child{color:#109daf;}
.insight-card{background:linear-gradient(138deg,#e2faf9,#ebf9fe);color:#175e70;border-color:#cef0ef;}
.insight-card p{color:#477e88;}
.person-icon{background:#e5f8f9;color:#127f93;}
.big-avatar{background:linear-gradient(135deg,#c5f4f5,#e6fbfa);color:#087e91;}
tr:hover td{background:#f3fcfd;}
th{background:#f6fbfc;color:#567f8d;}
input:focus,textarea:focus,select:focus{border-color:#28bdc9;box-shadow:0 0 0 3px rgba(34,185,199,.11);outline:0;}
.search-input:focus-within{border-color:#20b7c4;box-shadow:0 0 0 3px #1fb5c516;}
.segment-tabs .selected,.tab-bar a.active{background:#e0f7f8;border-color:#a8e5e9;color:#068ea3;}
.tab-bar .active span{background:#bcebef;}
.notice{background:#e9fbf7;color:#13796c;border-color:#c6eee7;}
.app-footer{background:#f8fdfd;color:#7194a0;border-top-color:#dceef0;}
.pill.blue{background:#e2f6fc;color:#087f9f;}
.pill.green{background:#e5f9ef;color:#13846b;}

/* Login: marca institucional limpia, sin textos promocionales */
.login-body {min-height:100vh;height:auto;background:#f1fbfc;}
.login-scene {grid-template-columns:52% 48%;min-height:100vh;height:auto;}
.login-art{min-height:100vh;background:linear-gradient(145deg,#087f97 0%,#11acb8 55%,#66d8d4 100%);padding:60px 10%;display:flex;flex-direction:column;justify-content:center;}
.login-grid{background:radial-gradient(circle at 75% 13%,#b7ffff52 0,transparent 45%),radial-gradient(circle at 6% 100%,#cffaff44 0,transparent 49%),linear-gradient(#ffffff14 1px,transparent 1px),linear-gradient(90deg,#ffffff14 1px,transparent 1px);background-size:auto,auto,48px 48px,48px 48px;opacity:.56;}
.login-art:after {border:56px solid #ffffff13;top:auto;bottom:-175px;right:-185px;width:430px;height:430px;}
.login-art-content {top:auto;max-width:550px;}
.login-institution-logo {width:106px;height:106px;background:#fffffff2;border:1px solid #ffffffc4;border-radius:25px;padding:13px;display:grid;place-items:center;box-shadow:0 14px 35px #05637a3b;margin-bottom:29px;}
.login-institution-logo img{width:100%;height:100%;object-fit:contain;}
.login-kicker{display:block;color:#d8ffff;letter-spacing:2.6px;font-size:12px;font-weight:780;}
.login-art h1{font-size:clamp(38px,4.5vw,69px);font-weight:820;line-height:1.11;letter-spacing:-2.1px;margin:13px 0 22px;color:#fff;max-width:590px;}
.login-art h1 span{display:block;color:#e3ffff;}
.login-title-rule{height:4px;width:69px;border-radius:9px;background:#d9fffe;margin:25px 0 20px;}
.login-institution-subtitle{font-size:clamp(21px,2.3vw,29px)!important;color:#efffff!important;font-weight:640;letter-spacing:-.3px;line-height:1.4!important;margin:0!important;}
.login-art-bottom{left:10%;bottom:30px;color:#d9f8f7;font-size:11px;letter-spacing:.2px;}
.small-dot{background:#c2ffea;}
.login-form-side{background:linear-gradient(158deg,#fff 9%,#f8fefe 80%,#f0fbfc 100%);padding:65px;min-height:100vh;}
.login-box{max-width:390px;}
.login-monogram{height:64px;width:64px;background:linear-gradient(135deg,#dcf8f9,#baf0f0);color:#078d9c;border-radius:18px;margin-bottom:24px;}
.login-overline{color:#0a9bad;letter-spacing:1.75px;font-size:10px;}
.login-box h2{font-size:36px;letter-spacing:-1.5px;color:#164453;margin:10px 0 32px;}
.login-form-side label{font-size:12px;font-weight:690;color:#285d6b;}
.login-form-side input{height:51px;margin-top:9px;background:#fff;border-color:#d2e8ec;border-radius:10px;}
.login-form-side input:focus{border-color:#0eb4c1;}
.login-form .stack-gap{gap:18px;}
.login-form .btn-primary{height:50px;font-size:13px;margin-top:6px;}
.password-field{display:block;}
.login-help{color:#7a9aa6;padding:21px 0;font-size:11px;}
.login-help .icon{color:#0ca2ae;}
.login-copyright{color:#91aeba;bottom:28px;font-size:10px;}
.login-mobile-brand{display:none;}
@media(max-width:1100px){.login-art{padding:50px 8%;}.login-art h1{font-size:clamp(36px,4.2vw,54px);}.login-form-side{padding:40px;}}
@media(max-width:760px){
 .login-scene{display:block;min-height:100vh;}
 .login-art{display:none;}
 .login-form-side{min-height:100vh;padding:38px 25px 67px;height:auto;}
 .login-mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:45px;color:#116779;font-weight:790;font-size:14px;line-height:1.3;}
 .login-mobile-brand img{width:55px;height:55px;object-fit:contain;border-radius:15px;background:#fff;border:1px solid #d9f0f2;padding:5px;}
 .login-mobile-brand small{display:block;margin-top:4px;font-size:12px;color:#58909b;font-weight:550;}
 .login-box h2{font-size:32px;margin-bottom:27px;}
 .login-copyright{bottom:14px;left:15px;right:15px;}
 .brand strong{font-size:12px;}
}

/* Escudo institucional en la esquina superior izquierda */
.brand-symbol.brand-symbol-logo{width:48px;height:52px;min-width:48px;border-radius:11px;background:#fff;box-shadow:0 4px 14px #002a3a28;overflow:hidden;padding:3px;display:grid;place-items:center;}
.brand-logo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}

/* ====================================================================
   PALETA INSTITUCIONAL · AQUA / ROJO / AMARILLO
   2026-10 | solo presentacion; impresion oficial permanece intacta.
   Regla: aqua = navegacion y acciones; amarillo = acentos;
          rojo = personalidad institucional y estados importantes.
   ==================================================================== */
:root {
  --nav:#085969;
  --nav2:#08758a;
  --ink:#123b49;
  --muted:#648994;
  --text2:#426d78;
  --teal:#008e9f;
  --teal2:#00778b;
  --lightteal:#e0f7f8;
  --blue:#008ca9;
  --stroke:#d7e8ed;
  --bg:#f4fbfc;
  --white:#ffffff;
  --institution-red:#cb3e46;
  --institution-red-dark:#ad2937;
  --institution-yellow:#ffd84f;
  --institution-yellow-soft:#fff6cf;
  --aqua-soft:#e5f9fa;
  --shadow:0 9px 25px rgba(16,95,114,.07);
}
html {accent-color:#008e9f;}
body.app-body {
  background:radial-gradient(circle at 93% 9%,rgba(255,216,79,.115),transparent 26%),
    linear-gradient(165deg,#f1fcfd 0%,#f9fdfd 55%,#fffdf8 100%);
}
/* BARRA LATERAL */
.sidebar {
  background:linear-gradient(169deg,#09788b 0%,#075b70 48%,#063c52 100%);
  border-right:1px solid #ffffff12;
}
.sidebar::before {
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,#6ce6e7 0 56%,#ffdb55 56% 81%,#dc4a52 81% 100%);
}
.brand-symbol.brand-symbol-logo {
  background:#fff!important;border:2px solid #ffdb55;
  box-shadow:0 5px 19px rgba(0,34,48,.28);border-radius:12px;
}
.brand strong {color:#fff;}
.brand small {color:#bde9ee;}
.nav-label {color:#b7e0e6;}
.side-link {color:#d8f1f5;}
.side-link:hover {background:rgba(255,255,255,.12);color:#fff;}
.side-link.active {
  background:linear-gradient(96deg,rgba(42,196,204,.67),rgba(17,155,179,.33));
  border:1px solid rgba(255,255,255,.23);
  border-left:4px solid #ffdb55;
  box-shadow:0 5px 17px rgba(0,44,65,.11);
  padding-left:11px;
}
.side-link.active .icon {color:#ffdd5a;}
.side-footer {border-top-color:rgba(255,255,255,.20);}
.side-footer strong {color:#fff;}
.status-dot {background:#ffda53;box-shadow:0 0 0 4px rgba(255,218,83,.13);}
/* ENCABEZADO Y CONTENIDO */
.topbar {
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #dcebed;
  box-shadow:0 2px 18px rgba(4,73,93,.025);
}
.topbar-path strong {color:#086178;}
.local-indicator {background:#e6f9f9;color:#086d79;border-color:#bee9e9;}
.local-indicator span {background:#e1b336;}
.avatar {color:#075d6e;background:#d8f6f8;border:1px solid #beeaee;}
.page-head h1 {color:#103f50;}
.eyebrow,.page-head .eyebrow {
  color:#b33140;
  letter-spacing:1.65px;
}
.page-head .eyebrow::before {
  content:"";display:inline-block;width:18px;height:4px;border-radius:3px;
  background:#ffd64a;vertical-align:middle;margin-right:9px;
}
.panel,.stat-card {
  background:#fff;border-color:#d9eaee;box-shadow:var(--shadow);
}
.panel-head {border-color:#e2edf0;}
.panel-head h2,.aside-heading,.section-title {color:#104459;}
.aside-heading .icon,.section-title .icon {color:#bb3b45;}
/* BOTONES / CAMPOS */
.btn-primary {
  background:linear-gradient(112deg,#009eae,#007e9b);border-color:#008a9e;
  box-shadow:0 7px 18px rgba(0,143,164,.2);color:#fff;
}
.btn-primary:hover:not(:disabled) {
  background:linear-gradient(112deg,#008a9d,#006a84);
  box-shadow:0 10px 22px rgba(0,111,139,.23);
}
.btn-outline {border-color:#c5e2e7;color:#146477;background:#fff;}
.btn-outline:hover:not(:disabled) {background:#eafafa;border-color:#8fd5de;}
.btn-white {background:#fff;color:#087589;}
.btn-danger,.btn-danger-outline {transition:background .12s,color .12s,transform .12s;}
.btn-danger {background:#b9323f;border-color:#b9323f;color:#fff;}
.btn-danger:hover:not(:disabled){background:#972631;}
.btn-danger-outline {background:#fff7f7;border-color:#f5c9cd;color:#ad2937;}
.btn-danger-outline:hover:not(:disabled){background:#ffe9eb;}
.text-link,.link-small {color:#007e98;}
.text-link:hover,.link-small:hover {color:#bc3440;}
input:focus,textarea:focus,select:focus {
  border-color:#0aa9ba!important;box-shadow:0 0 0 3px rgba(32,185,198,.17)!important;
}
.search-input {background:#f7fcfd;border-color:#d6e9ed;}
.search-input:focus-within {border-color:#0aa9ba;box-shadow:0 0 0 3px rgba(32,185,198,.14);}
.checkbox-card:hover {border-color:#ffd65a;background:#fffdf3;}
.checkbox-card input,.check-row input {accent-color:#009bad;}
/* HERO: aqua, rojo y amarillo en proporciones cuidadas */
.hero-band {
  background:linear-gradient(110deg,#008ea4 0%,#0aa5ae 48%,#076f8c 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 17px 31px rgba(9,129,151,.18);
}
.hero-band::before {
  content:"";height:6px;position:absolute;top:0;left:0;right:0;z-index:1;
  background:linear-gradient(90deg,#ffe06b 0 74%,#d94a50 74% 100%);
}
.hero-band::after {
  content:"";height:150px;width:150px;position:absolute;right:12%;bottom:-123px;
  border:25px solid rgba(255,215,71,.14);border-radius:50%;pointer-events:none;
}
.hero-eyebrow {color:#ffe887;letter-spacing:2px;}
.hero-band p {color:#e9fbfb;}
.hero-decor span {border-color:rgba(255,218,79,.18);}
.hero-decor span+span {border-color:rgba(220,69,78,.27);}
.hero-logo{color:rgba(255,255,255,.21);}
.hero-band .btn-white {border-bottom:3px solid #ffdb56;color:#076781;}
/* INDICADORES ESTADÍSTICOS */
.stat-card {position:relative;overflow:hidden;}
.stat-card::before {content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:#a8e4e9;}
.stat-card:nth-child(2)::before {background:#00a6b2;}
.stat-card:nth-child(3)::before {background:#ffd04c;}
.stat-card:nth-child(4)::before {background:#d04b50;}
.stat-icon.blue {background:#e0f6fa;color:#008ca5;}
.stat-icon.green {background:#e3f8f7;color:#009b9e;}
.stat-icon.amber {background:#fff4cf;color:#a66a00;}
.stat-icon.purple {background:#ffe8e9;color:#b83c47;}
.stat-number {color:#0a4153;}
.stat-card:hover {border-color:#9cdbe1;box-shadow:0 12px 25px rgba(10,95,111,.14);}
/* PANELES, TABLAS Y ESTADOS */
.insight-card {
  background:linear-gradient(135deg,#e5fafa,#fff9e5);
  border:1px solid #d6eee8;
}
.insight-title {color:#b03642;}
.insight-title .icon {color:#b03642;}
.insight-card p {color:#4a7a84;}
.quick-link:hover {background:#f0fcfd;color:#007b91;}
.quick-link .icon:first-child {color:#0d95a5;}
.table-wrap table th,th {background:#f3fafb;color:#4c7380;}
.table-wrap table th:first-child,th:first-child {box-shadow:inset 3px 0 0 #f5cc4e;}
tr:hover td {background:#f2fafb;}
.person-icon {background:#e0f7f9;color:#057c91;}
.big-avatar {background:linear-gradient(135deg,#d1f6f7,#fff1c2);color:#075e73;}
.segment-tabs {background:#eaf5f7;}
.segment-tabs .selected,.tab-bar a.active {
  background:#e4f9f9;color:#006f85;border-color:#8bd5db;
  box-shadow:inset 0 -2px 0 #ffd34d;
}
.tab-bar .active span {background:#ffefb5;color:#785500;}
.pill.blue {background:#e4f7fa;color:#0a7894;}
.pill.green {background:#e6f8f5;color:#087d7a;}
.pill.amber {background:#fff2cd;color:#825500;}
.pill.purple {background:#fdecee;color:#ac3745;}
.notice.warning {background:#fff7de;color:#865408;border-color:#f4df9c;}
.notice.error {background:#fff0ef;color:#a72f3b;border-color:#f4c3c8;}
.notice {background:#eaf9f5;color:#0c756b;border-color:#c8ebe6;}
.modal-icon {background:#fff2cd;color:#ac6d00;}
.modal-student {border-color:#d0444e;background:#fff8f8;}
.bar-value {background:linear-gradient(90deg,#08a2b5,#ffd34a);}
.app-footer {background:#fbfefe;border-top-color:#d9eaed;}
/* LOGIN: estilo institucional, tres colores equilibrados */
.login-body {background:#f5fbfc;}
.login-art {
  background:linear-gradient(136deg,#065d78 0%,#049dac 54%,#08758e 100%);
}
.login-art::before {
  content:"";position:absolute;left:0;top:0;right:0;height:7px;z-index:1;
  background:linear-gradient(90deg,#f8d75b 0 70%,#d8434d 70% 100%);
}
.login-art:after {border-color:rgba(255,219,91,.17);}
.login-grid {
  background:radial-gradient(circle at 94% 8%,rgba(252,221,103,.26),transparent 37%),
    radial-gradient(circle at 5% 94%,rgba(217,58,70,.22),transparent 43%),
    linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);
  background-size:auto,auto,45px 45px,45px 45px;
  opacity:.9;
}
.login-institution-logo {
  background:#fff;border:3px solid #ffe279;
  box-shadow:0 14px 35px rgba(5,60,81,.33);
}
.login-kicker {color:#ffe996;}
.login-art h1 span {color:#fff;}
.login-title-rule {background:linear-gradient(90deg,#ffdb55 0 66%,#d94d55 66% 100%);height:5px;width:99px;}
.login-institution-subtitle {color:#f0ffff!important;}
.login-art-bottom {color:#d9f9f9;}
.small-dot {background:#ffd750;}
.login-form-side {
  background:radial-gradient(circle at 100% 0%,rgba(255,222,92,.13),transparent 45%),
    linear-gradient(160deg,#fff 5%,#f4fbfc 100%);
}
.login-monogram {
  background:#def8f8;color:#047d95;border:1px solid #bcebec;
  box-shadow:inset 0 -4px 0 #ffe078;
}
.login-overline {color:#b33b45;}
.login-box h2 {color:#103f50;}
.login-form-side label {color:#275a6d;}
.login-form-side input {border-color:#d1e5eb;}
.login-form-side input:focus {border-color:#11aabb!important;}
.login-help .icon {color:#c33845;}
.login-copyright {color:#7d9eaa;}
.login-mobile-brand {color:#0c657b;}
.login-mobile-brand img {border-color:#f1d77b;}
@media(max-width:760px){
  .hero-band::after{right:-45px;opacity:.7;}
  .login-form-side{background:linear-gradient(145deg,#fff,#f3fbfc);}
  .login-mobile-brand{border-left:4px solid #ffdb59;padding-left:12px;}
}

/* ===============================================================
   EDICIÓN 3 · INSTITUCIONAL AQUA + ROJO + AMARILLO · OCT 2026
   Los estilos de impresión se encuentran en pages/print.php.
   =============================================================== */
:root{--nav:#074b60;--teal:#009cae;--teal2:#057c91;--institution-red:#cf3844;--institution-yellow:#ffd447;--bg:#effafb;--ink:#103e52;--stroke:#cfe7eb}
body.app-body{background:linear-gradient(125deg,#e8fbfd 0%,#f5ffff 55%,#fffbed 100%)}
.sidebar{background:linear-gradient(164deg,#075b74,#074657 72%,#083947)!important}
.sidebar::before{height:7px;background:linear-gradient(90deg,#4adddf 0 48%,#ffd447 48% 75%,#e14951 75% 100%)}
.sidebar .nav-label-extra{color:#ffe39a}
.sidebar .side-link.active{background:#0b8495;border-left:5px solid #ffd447;box-shadow:inset -3px 0 0 #e34a54;color:#fff}
.sidebar .side-link.active .icon{color:#ffdc54}
.sidebar .side-link:hover{background:#136a80}
.brand-symbol.brand-symbol-logo{border:2px solid #ffcf45;box-shadow:0 0 0 3px rgba(222,67,78,.25)}
.topbar{border-top:4px solid #ffce44;border-bottom:2px solid #cfe9ed}
.page-head h1{color:#083e56}
.page-head .eyebrow{color:#c53640;font-weight:850}
.hero-band{background:linear-gradient(110deg,#067d96 0%,#0ab4bb 54%,#07576f 100%)!important;border:0;box-shadow:0 16px 34px rgba(9,119,137,.20)}
.hero-band::before{height:8px;background:linear-gradient(90deg,#ffd33e 0 64%,#dd434b 64% 100%)}
.hero-eyebrow{color:#ffdf5c}
.hero-band .btn-white{box-shadow:inset 0 -4px 0 #ffd33e;color:#067188}
.hero-logo{color:#fff5ba}
.stat-card:nth-child(1)::before{background:#00b4bf}
.stat-card:nth-child(2)::before{background:#c93747}
.stat-card:nth-child(3)::before{background:#f5bb2f}
.stat-card:nth-child(4)::before{background:#00a0aa}
.stat-icon.purple{background:#ffe9ed;color:#c12f42}
.stat-icon.amber{background:#fff3c5;color:#995a00}
.btn-primary{background:linear-gradient(110deg,#029aad,#067992)!important;border-color:#07869b!important;color:#fff!important}
.btn-primary:hover:not(:disabled){background:linear-gradient(110deg,#08788e,#05657b)!important}
.btn-danger,.btn-danger-outline{border-color:#cf3844}
.btn-danger{background:#cf3844}
.btn-outline:hover:not(:disabled){border-color:#edae2e;background:#fff9e9}
.panel .section-title{border-left:4px solid #e0444d;padding-left:12px;color:#064c62}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#03a9b6!important;box-shadow:0 0 0 3px #0babba30!important}
.tab-bar a.active{border-bottom:3px solid #d3444b;background:#e3f9fa;color:#075b71}
.notice.warning{background:#fff7d8;border-color:#e8c961;color:#835b10}
.login-art{background:linear-gradient(142deg,#08637a,#07aab7 60%,#06798c)!important}
.login-art::before{background:linear-gradient(90deg,#ffd84b 0 60%,#d8444c 60% 100%);height:10px}
.login-title-rule{height:7px;background:linear-gradient(90deg,#ffe263 0 62%,#e54852 62% 100%)}
.login-institution-logo{border:4px solid #ffe05c;box-shadow:0 11px 30px rgba(4,50,59,.25)}
.login-monogram{border:2px solid #f3ce4b;box-shadow:inset -5px 0 0 #d84c53;background:#e8fafb}
.login-overline{color:#c63945}
.login-form-side{background:linear-gradient(142deg,#ffffff 0%,#f0fcfc 70%,#fff7df 100%)}
.login-form .btn-primary{border-bottom:4px solid #f3cd42!important}
.login-mobile-brand{border-left:4px solid #d84c53;padding-left:12px}

/* Matrícula completa: se llena en un solo desplazamiento de pantalla. */
.enroll-unified{max-width:1120px;margin:0 auto}
.enroll-intro{display:flex;align-items:center;gap:15px;background:linear-gradient(102deg,#086e84,#029ca9);border-top:6px solid #ffd340;color:#fff;border-radius:17px;padding:20px 23px;margin-bottom:22px;box-shadow:0 12px 28px rgba(0,110,124,.13)}
.enroll-intro-icon{height:48px;width:48px;display:grid;place-items:center;background:rgba(255,255,255,.17);border-radius:15px;flex:none}
.enroll-intro>div:nth-child(2){flex:1}
.enroll-intro strong,.enroll-intro span{display:block}
.enroll-intro strong{font-size:19px;letter-spacing:-.4px}
.enroll-intro span{font-size:12px;color:#e9fdff;margin-top:3px}
.enroll-intro .btn-outline{background:#fff;border-color:#fff}
.enroll-single-form{display:flex;flex-direction:column;gap:18px}
.enrollment-block{border:1px solid #d2e9eb!important;border-radius:15px!important;overflow:visible!important;scroll-margin-top:25px}
.enrollment-block .section-title{display:flex;align-items:center;gap:13px;font-size:18px;padding-left:0!important;border-left:none!important;margin-bottom:23px;color:#0b4b60}
.section-step{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:#dcf8fa;color:#087b91;font-size:13px;box-shadow:inset 0 -4px 0 #ffd54e;font-weight:850}
.enrollment-block:nth-of-type(3) .section-step{background:#fff3df;color:#c4404e;box-shadow:inset 0 -4px 0 #db454f}
.enroll-fields{gap:17px 20px}
.enroll-fields>label{font-weight:680;color:#315d6c;font-size:12px}
.enroll-fields input,.enroll-fields select,.enroll-fields textarea{width:100%;min-width:0;border:1px solid #d2e5e9;border-radius:9px;background:#fff;padding:11px 13px;min-height:43px;margin-top:7px;color:#173c4c}
.enroll-fields textarea{min-height:66px;resize:vertical}
.enroll-fields input.readonly-hint,.enroll-fields input[readonly]{background:#f3f7f8;color:#567887}
.enrollment-group-title{font-weight:740;color:#1d5665;font-size:12px;margin-top:5px}
.grade-checks{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.grade-check{border:1px solid #cde7eb;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:9px 3px;color:#205c6b;font-weight:750;background:#f7fdfd;cursor:pointer}
.grade-check:has(input:checked){background:#e4f9f7;border-color:#07a0b2;box-shadow:inset 0 -3px 0 #ffd84f}
.grade-check input{width:16px;height:16px;min-height:0;margin:0;accent-color:#0099a8}
.enrollment-radio{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px}
.enrollment-radio>span{font-weight:750;color:#22556a}
.enrollment-radio label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.enrollment-radio input{width:16px;height:16px;margin:0;min-height:0;accent-color:#05a2b2}
.enroll-bottom-actions{display:flex;align-items:center;gap:12px;padding:18px 22px;background:#fff8da;border:1px solid #f5db79;border-radius:15px;flex-wrap:wrap}
.enroll-bottom-actions>div{flex:1;min-width:210px}
.enroll-bottom-actions strong,.enroll-bottom-actions span{display:block}
.enroll-bottom-actions strong{color:#924e08;font-size:14px}
.enroll-bottom-actions span{color:#735c3b;font-size:11px;margin-top:3px}
@media(max-width:950px){.grade-checks{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:730px){.enroll-intro{flex-wrap:wrap;padding:17px}.enroll-intro>div:nth-child(2){flex:1 1 170px}.enroll-intro .btn{width:100%}.grade-checks{grid-template-columns:repeat(3,minmax(0,1fr))}.enroll-bottom-actions .btn{width:100%}.enrollment-block.panel.pad{padding:18px}}

/* Identificación completa de la institución en el acceso. */
.login-art .login-official-name{
  display:block;
  width:fit-content;
  max-width:100%;
  margin:0 0 5px !important;
  padding:10px 14px;
  border-left:4px solid #ffda54;
  border-radius:0 9px 9px 0;
  background:rgba(4,74,92,.26);
  color:#fff8d9 !important;
  font-size:clamp(13px,1.5vw,21px);
  font-weight:780;
  line-height:1.4 !important;
  letter-spacing:.15px;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.login-art h1{margin-bottom:18px;}
.login-mobile-brand .login-mobile-official{font-weight:740;color:#14677a;line-height:1.35;}
@media(min-width:761px) and (max-width:1100px){
  .login-art .login-official-name{font-size:clamp(13px,1.65vw,18px);padding:9px 10px;}
}


/* Ajuste: usar el nombre institucional completo en el título principal del login */
.login-art h1 span{
  display:block;
  font-size:clamp(29px,3.55vw,58px);
  line-height:1.08;
  letter-spacing:-1.2px;
  max-width:720px;
  text-wrap:balance;
}
.login-art .login-official-name{
  font-size:clamp(13px,1.22vw,17px);
  letter-spacing:.6px;
  text-transform:uppercase;
}
@media(max-width:1100px){
  .login-art h1 span{font-size:clamp(27px,3.2vw,44px);}
}
.login-mobile-brand .login-mobile-official{
  font-size:13px;
  text-transform:uppercase;
}
