@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');
:root{--blue:#2a3184;--blue-dark:#202663;--green:#15963b;--red:#ce373a;--ink:#1b1f2d;--muted:#6c7181;--line:#e4e6ef;--surface:#fff;--bg:#f5f6fa;--shadow:0 18px 50px rgba(31,38,98,.12)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input{font:inherit}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}.prototype-bar{position:fixed;z-index:1000;top:0;left:0;width:100%;min-height:34px;padding:7px 20px;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;background:var(--red);font-size:11px}.prototype-bar strong{text-transform:uppercase;letter-spacing:.12em}.prototype-bar span{opacity:.85}
.login-shell{min-height:100vh;padding-top:34px;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-brand{position:relative;min-height:720px;padding:54px clamp(40px,6vw,95px);display:flex;flex-direction:column;overflow:hidden;color:#fff;background:radial-gradient(circle at 10% 100%,#3e47aa,transparent 42%),linear-gradient(145deg,#202663,#2a3184)}.platform-brand,.sidebar-brand{display:flex;align-items:center;gap:12px}.platform-brand img{width:58px;height:58px;object-fit:contain}.platform-brand span,.sidebar-brand span{display:flex;flex-direction:column;line-height:1.15}.platform-brand strong{font:700 18px Manrope}.platform-brand small,.sidebar-brand small{margin-top:4px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.65}.login-message{position:relative;z-index:2;max-width:650px;margin:auto 0}.overline{margin:0 0 14px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.login-brand .overline{color:#72d78d}.login-message h1{max-width:620px;margin:0;font:600 clamp(42px,5.2vw,72px)/1.03 Manrope;letter-spacing:-.05em}.login-message>p:last-child{max-width:540px;margin:26px 0 0;color:rgba(255,255,255,.7);font-size:16px}.login-help{position:relative;z-index:2;margin:40px 0 0;color:rgba(255,255,255,.56);font-size:11px}.login-help a{color:#fff;border-bottom:1px solid}.login-art{position:absolute;inset:0;pointer-events:none}.login-art span{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}.login-art span:nth-child(1){width:500px;height:500px;right:-260px;top:60px}.login-art span:nth-child(2){width:310px;height:310px;right:-130px;top:155px;border-color:rgba(21,150,59,.32)}.login-art span:nth-child(3){width:130px;height:130px;left:-60px;bottom:100px;background:rgba(21,150,59,.15);border:0}.login-panel{padding:70px clamp(30px,7vw,110px);display:grid;place-items:center}.login-box{width:min(100%,470px)}.login-box h2{margin:0;font:700 38px/1.12 Manrope;letter-spacing:-.04em}.login-subtitle{margin:12px 0 33px;color:var(--muted);font-size:14px}.login-box>form>label{display:block;margin-bottom:18px;color:#454a59;font-size:11px;font-weight:700}.field{height:52px;margin-top:7px;padding:0 15px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;transition:.2s}.field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(42,49,132,.08)}.field>span{color:#8a8e9d;font-size:12px}.field input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:13px}.show-password,.link-button{padding:0;border:0;background:none;color:var(--blue);font-size:10px;font-weight:700}.form-options{margin:-2px 0 23px;display:flex;align-items:center;justify-content:space-between}.check{display:flex!important;align-items:center;gap:7px;margin:0!important;color:var(--muted)!important;font-weight:500!important}.check input{accent-color:var(--blue)}.primary-button{width:100%;height:53px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:18px;color:#fff;background:var(--blue);border:0;border-radius:11px;font-size:13px;font-weight:700;box-shadow:0 12px 25px rgba(42,49,132,.2);transition:.2s}.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}.form-message{min-height:17px;margin:10px 0 0;color:var(--red);font-size:11px;text-align:center}.divider{margin:23px 0 18px;display:flex;align-items:center;gap:10px;color:#989caa;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-grid button{padding:11px;display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:11px;transition:.2s}.role-grid button:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 22px rgba(42,49,132,.09)}.role-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;color:#fff;border-radius:9px;font-style:normal;font-size:11px;font-weight:700}.role-icon.student{background:var(--blue)}.role-icon.guardian{background:var(--green)}.role-icon.teacher{background:#dd8431}.role-icon.admin{background:var(--red)}.role-grid button>span{display:flex;flex-direction:column}.role-grid strong{font-size:11px}.role-grid small{color:var(--muted);font-size:9px}
.app-shell{min-height:100vh;padding-top:34px;display:grid;grid-template-columns:252px 1fr}.sidebar{position:fixed;z-index:20;top:34px;bottom:0;left:0;width:252px;padding:23px 16px 18px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#202663,#171b55)}.sidebar-brand{padding:0 10px 21px;flex:none;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand img{width:43px;height:43px;object-fit:contain}.sidebar-brand strong{font:700 16px Manrope}.sidebar nav{min-height:0;margin-top:12px;padding-top:10px;display:grid;align-content:start;gap:5px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.nav-label{margin:0 12px 5px;color:rgba(255,255,255,.38);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav-item{width:100%;height:43px;padding:0 12px;display:flex;align-items:center;gap:12px;flex:none;color:rgba(255,255,255,.67);background:transparent;border:0;border-radius:9px;text-align:left;font-size:11px;font-weight:600}.nav-item i{width:20px;font-style:normal;text-align:center}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.1)}.nav-item.active{box-shadow:inset 3px 0 var(--green)}.nav-item .nav-count{margin-left:auto;padding:2px 7px;color:#fff;background:var(--red);border-radius:99px;font-size:8px}.sidebar-support{margin-top:12px;padding:14px 12px;display:grid;grid-template-columns:32px 1fr 18px;align-items:center;gap:9px;flex:none;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:10px}.sidebar-support>span{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:8px;font-weight:700}.sidebar-support div{display:flex;min-width:0;flex-direction:column}.sidebar-support strong{font-size:9px}.sidebar-support small{color:rgba(255,255,255,.48);font-size:8px}.sidebar-support a{font-size:14px}.logout-button{margin-top:7px;padding:10px 12px;display:flex;align-items:center;gap:10px;flex:none;color:rgba(255,255,255,.65);background:transparent;border:0;border-radius:8px;font-size:10px}.logout-button:hover{color:#fff;background:rgba(255,255,255,.07)}.workspace{grid-column:2;min-width:0}.workspace-header{position:sticky;z-index:30;top:34px;height:72px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.sidebar-toggle{display:none;border:0;background:transparent}.breadcrumbs{display:flex;align-items:center;gap:9px;color:#9a9eaa;font-size:10px}.breadcrumbs b{font-weight:400}.breadcrumbs strong{color:var(--ink)}.header-tools{display:flex;align-items:center;gap:8px}.icon-button{position:relative;width:37px;height:37px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:9px}.notification i{position:absolute;right:8px;top:7px;width:6px;height:6px;background:var(--red);border:1px solid #fff;border-radius:50%}.profile-menu-wrap{position:relative}.profile-button{margin-left:7px;padding:4px 8px 4px 4px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid transparent;border-radius:9px;text-align:left}.profile-button:hover,.profile-button[aria-expanded="true"]{border-color:var(--line);background:#f8f9fc}.profile-button>b{transition:transform .2s}.profile-button[aria-expanded="true"]>b{transform:rotate(180deg)}.avatar{width:36px;height:36px;display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(145deg,var(--blue),#565fc0);border-radius:9px;font-size:10px;font-weight:700}.profile-button>span:nth-child(2){display:flex;min-width:95px;flex-direction:column}.profile-button strong{font-size:10px}.profile-button small{color:var(--muted);font-size:8px}.profile-menu{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:280px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 55px rgba(15,19,55,.2)}.profile-menu-head{padding:5px 5px 13px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.profile-menu-head>div{min-width:0;display:flex;flex-direction:column}.profile-menu-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 12px Manrope}.profile-menu-head small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.profile-menu dl{margin:10px 5px;padding:9px 10px;display:grid;gap:8px;background:#f7f8fb;border-radius:9px}.profile-menu dl div{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-menu dt{color:var(--muted);font-size:8px}.profile-menu dd{margin:0;color:var(--ink);font-size:9px;font-weight:700}.profile-logout{width:100%;padding:10px;display:flex;align-items:center;gap:10px;color:var(--red);background:transparent;border:0;border-radius:9px;text-align:left}.profile-logout:hover{background:#fceff0}.profile-logout>span:first-child{width:30px;height:30px;display:grid;place-items:center;background:#fceff0;border-radius:8px}.profile-logout>span:last-child{display:flex;flex-direction:column}.profile-logout strong{font-size:9px}.profile-logout small{margin-top:2px;color:var(--muted);font-size:8px}.workspace-content{padding:34px 34px 60px}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.welcome .overline{margin-bottom:8px}.welcome h1{margin:0;font:700 32px/1.15 Manrope;letter-spacing:-.035em}.welcome p{margin:7px 0 0;color:var(--muted);font-size:12px}.date-card{padding:10px 14px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px}.date-card i{width:33px;height:33px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:8px;font-style:normal}.date-card span{display:flex;flex-direction:column}.date-card small{color:var(--muted);font-size:8px}.date-card strong{font-size:10px}.metric-grid{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{position:relative;padding:20px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;font-style:normal;font-size:15px}.metric-icon.blue{color:var(--blue);background:#eef0fb}.metric-icon.green{color:var(--green);background:#eaf7ee}.metric-icon.red{color:var(--red);background:#fceeee}.metric-icon.orange{color:#ca6d1a;background:#fff1e5}.metric-change{color:var(--green);font-size:9px;font-weight:700}.metric h2{margin:16px 0 3px;font:700 26px Manrope;letter-spacing:-.04em}.metric p{margin:0;color:var(--muted);font-size:10px}.dashboard-grid{margin-top:16px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:16px}.panel{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px}.panel-header{margin-bottom:19px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-header h2{margin:0;font:700 16px Manrope}.panel-header p{margin:3px 0 0;color:var(--muted);font-size:9px}.panel-link{color:var(--blue);background:none;border:0;font-size:9px;font-weight:700}.subject-list{display:grid;gap:9px}.subject{padding:12px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px}.subject-icon{width:36px;height:36px;display:grid;place-items:center;color:#fff;border-radius:9px;font-size:11px;font-weight:700}.subject>div:nth-child(2){min-width:0}.subject h3{margin:0;font-size:11px}.subject p{margin:3px 0 0;color:var(--muted);font-size:9px}.subject-grade{font:700 16px Manrope}.subject-grade small{color:var(--muted);font:400 8px DM Sans}.progress{height:5px;margin-top:8px;overflow:hidden;background:#edf0f4;border-radius:99px}.progress i{display:block;height:100%;background:var(--green);border-radius:99px}.timeline{display:grid}.timeline-item{position:relative;padding:0 0 20px 28px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:var(--line)}.timeline-dot{position:absolute;left:0;top:2px;width:17px;height:17px;background:#fff;border:4px solid var(--blue);border-radius:50%}.timeline-item.green .timeline-dot{border-color:var(--green)}.timeline-item.red .timeline-dot{border-color:var(--red)}.timeline-item small{color:var(--muted);font-size:8px}.timeline-item h3{margin:2px 0;font-size:10px}.timeline-item p{margin:0;color:var(--muted);font-size:9px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{padding:14px;display:flex;align-items:center;gap:10px;background:#f8f9fc;border:1px solid transparent;border-radius:10px;text-align:left}.quick-action:hover{border-color:#cfd3e8}.quick-action i{width:31px;height:31px;display:grid;place-items:center;color:var(--blue);background:#fff;border-radius:8px;font-style:normal}.quick-action strong{display:block;font-size:9px}.quick-action small{color:var(--muted);font-size:8px}.wide-panel{margin-top:16px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{padding:10px;color:var(--muted);background:#f8f9fc;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.data-table td{padding:13px 10px;border-bottom:1px solid var(--line)}.status{padding:4px 8px;border-radius:99px;font-size:8px;font-weight:700}.status.good{color:#087e2c;background:#e8f7ed}.status.pending{color:#ad6019;background:#fff0df}.status.alert{color:#ad282b;background:#fce8e9}
@media(max-width:1050px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:.9fr 1.1fr}.login-brand{padding:45px}.login-message h1{font-size:47px}}
@media(max-width:760px){.prototype-bar span{display:none}.login-shell{grid-template-columns:1fr}.login-brand{min-height:360px;padding:30px 24px}.login-message{margin:45px 0}.login-message h1{font-size:38px}.login-message>p:last-child{font-size:13px}.login-help{display:none}.login-panel{padding:45px 22px}.app-shell{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.3s}.sidebar.open{transform:none}.workspace{grid-column:1}.workspace-header{padding:0 15px}.sidebar-toggle{display:block}.breadcrumbs{display:none}.profile-button>span:nth-child(2),.profile-button>b{display:none}.workspace-content{padding:25px 15px 45px}.welcome{align-items:flex-start;flex-direction:column}.date-card{width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:15px}.dashboard-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.metric-grid{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr}.prototype-bar{font-size:9px}}

/* La plataforma ocupa toda la altura al no mostrar la franja de prototipo. */
.login-shell,.app-shell{padding-top:0}
.sidebar,.workspace-header{top:0}

/* Módulos de la plataforma */
.status.neutral{color:var(--blue);background:#edf0ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.module-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.module-heading .overline{margin-bottom:8px}.module-heading h1{margin:0;font:700 32px/1.15 Manrope;letter-spacing:-.035em}.module-heading p:not(.overline){max-width:720px;margin:7px 0 0;color:var(--muted);font-size:12px}.module-primary,.module-secondary{min-height:40px;padding:0 16px;border-radius:9px;font-size:10px;font-weight:700}.module-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--blue);border:1px solid var(--blue);box-shadow:0 8px 18px rgba(42,49,132,.14)}.module-primary:hover{background:var(--blue-dark)}.module-secondary{color:var(--blue);background:#fff;border:1px solid #cfd3e8}.module-toolbar{min-height:58px;margin-top:24px;padding:8px 10px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px}.toolbar-spacer{flex:1}.module-tabs{display:flex;align-items:center;gap:3px}.module-tabs button{height:38px;padding:0 15px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:10px;font-weight:600}.module-tabs button.active{color:var(--blue);background:#eef0fb}.module-search{width:min(300px,100%);height:38px;padding:0 12px;display:flex;align-items:center;gap:8px;background:#f7f8fb;border:1px solid transparent;border-radius:8px}.module-search:focus-within{background:#fff;border-color:#bcc1df}.module-search span{color:#8b8f9e}.module-search input{width:100%;border:0;outline:0;background:transparent;font-size:10px}.module-body{margin-top:16px}.module-panel{padding:0;overflow:hidden}.module-table th,.module-table td{padding:15px 16px}.module-table tbody tr{transition:.15s}.module-table tbody tr:hover{background:#fafbfe}.module-table tbody tr:last-child td{border-bottom:0}.row-action{text-align:right}.row-action button{width:28px;height:28px;color:var(--muted);background:#f6f7fa;border:0;border-radius:7px;letter-spacing:1px}
.module-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-card{position:relative;min-height:190px;padding:19px;display:grid;grid-template-columns:46px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.course-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--course,var(--blue))}.course-color{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:var(--course);border-radius:11px;font-size:10px;font-weight:700}.course-copy p{margin:0 0 4px;color:var(--muted);font-size:9px}.course-copy h2{margin:0;font:700 16px Manrope}.course-copy>span{display:block;margin-top:6px;color:var(--muted);font-size:9px}.course-foot{grid-column:1/-1;padding-top:14px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:9px}.course-foot span{color:var(--muted)}.course-foot strong{font:700 17px Manrope}.course-card>button{position:absolute;right:18px;bottom:19px;color:var(--blue);background:none;border:0;font-size:9px;font-weight:700}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:16px}.calendar-panel{padding:18px}.calendar-head{padding:0 2px 17px;display:flex;align-items:center;justify-content:space-between}.calendar-head button{width:32px;height:32px;color:var(--blue);background:#f2f3fa;border:0;border-radius:8px}.calendar-head div{display:flex;align-items:baseline;gap:6px}.calendar-head span{font:700 17px Manrope}.calendar-head strong{color:var(--muted);font-size:10px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-week span{padding:8px;color:var(--muted);font-size:8px;text-align:center;text-transform:uppercase}.calendar-days button{position:relative;aspect-ratio:1.22;color:#4a4f5e;background:#f9fafc;border:0;border-radius:9px;font-size:10px}.calendar-days button:hover:not([disabled]){color:var(--blue);background:#eef0fb}.calendar-days button.today{color:#fff;background:var(--blue);font-weight:700}.calendar-days button.has-event:after{content:"";position:absolute;left:50%;bottom:7px;width:4px;height:4px;background:var(--green);border-radius:50%;transform:translateX(-50%)}.calendar-days button.today:after{background:#fff}.agenda-list{display:grid;gap:10px}.agenda-list article{padding:12px;display:grid;grid-template-columns:42px 1fr;gap:11px;border:1px solid var(--line);border-radius:10px}.agenda-list time{height:42px;padding:6px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:8px;font-size:8px;font-weight:700;text-align:center}.agenda-list div{display:flex;flex-direction:column;justify-content:center}.agenda-list strong{font-size:10px}.agenda-list span{margin-top:3px;color:var(--muted);font-size:8px}
.message-panel{padding:0;overflow:hidden}.message-list{display:grid}.message-item{position:relative;width:100%;padding:16px 18px;display:grid;grid-template-columns:39px 1fr 15px;align-items:center;gap:12px;background:#fff;border:0;border-bottom:1px solid var(--line);text-align:left}.message-item:last-child{border-bottom:0}.message-item:hover{background:#fafbfe}.message-item.new:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--green)}.message-avatar,.list-avatar{width:38px;height:38px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:9px;font-size:9px;font-weight:700}.message-copy{min-width:0}.message-copy>span{display:flex;justify-content:space-between;gap:12px}.message-copy strong{font-size:11px}.message-copy time{color:var(--muted);font-size:8px}.message-copy small{display:block;margin-top:2px;color:var(--green);font-size:8px}.message-copy p{margin:5px 0 0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-item>i{color:#a4a8b5;font-style:normal}
.student-profile{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px}.student-profile-top{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:15px}.student-profile-top>span{width:54px;height:54px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--blue),#565fc0);border-radius:14px;font-weight:700}.student-profile h2{margin:0;font:700 17px Manrope}.student-profile p{margin:4px 0;color:var(--muted);font-size:10px}.student-profile small{color:#9a9eaa;font-size:8px}.student-profile button{color:var(--blue);background:none;border:0;font-size:9px;font-weight:700}.student-profile-metrics{margin-top:20px;padding-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line)}.student-profile-metrics div{padding:12px;background:#f8f9fc;border-radius:9px}.student-profile-metrics span{display:block;color:var(--muted);font-size:8px}.student-profile-metrics strong{display:block;margin-top:5px;font:700 18px Manrope}
.capture-panel{padding:0;overflow:hidden}.capture-notice{margin:16px;padding:12px 14px;display:flex;align-items:center;gap:10px;color:#4d5270;background:#f2f3fb;border-radius:9px}.capture-notice>span{width:25px;height:25px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:50%;font-size:9px}.capture-notice p{margin:0;font-size:9px}.capture-table input{width:70px;padding:8px;color:var(--ink);background:#f8f9fc;border:1px solid var(--line);border-radius:7px;font-size:10px}.capture-table input:focus{outline:2px solid rgba(42,49,132,.15);border-color:var(--blue)}.form-actions{padding:14px 16px;display:flex;align-items:center;justify-content:flex-end;gap:18px;background:#fafbfc;border-top:1px solid var(--line)}.form-actions>span{margin-right:auto;color:var(--muted);font-size:8px}
.attendance-panel{padding:0;overflow:hidden}.attendance-head{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.attendance-head div{display:flex;flex-direction:column}.attendance-head span{font-size:11px;font-weight:700}.attendance-head strong{margin-top:3px;color:var(--muted);font-size:8px}.attendance-list>div{padding:12px 18px;display:grid;grid-template-columns:38px 1fr 90px auto;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.attendance-list strong{font-size:10px}.attendance-list small{color:var(--muted);font-size:8px}.attendance-options{display:flex;gap:4px}.attendance-options button{padding:7px 10px;color:var(--muted);background:#f6f7fa;border:1px solid transparent;border-radius:7px;font-size:8px}.attendance-options button.active{color:#087e2c;background:#e8f7ed;border-color:#cbead5}.attendance-options button:nth-child(2).active{color:#ad6019;background:#fff0df;border-color:#f6d8b5}.attendance-options button:nth-child(3).active{color:#ad282b;background:#fce8e9;border-color:#f0c7c9}.attendance-summary{margin-bottom:16px;display:grid;grid-template-columns:.65fr 1.35fr;gap:16px}.attendance-score{padding:22px;display:flex;align-items:center;gap:18px;color:#fff;background:linear-gradient(145deg,var(--blue),#39439e);border-radius:14px}.attendance-score div{display:flex;flex-direction:column}.attendance-score div span{font:700 34px Manrope}.attendance-score div small{color:rgba(255,255,255,.65);font-size:8px}.attendance-score p{margin:0;color:rgba(255,255,255,.75);font-size:10px;line-height:1.5}.attendance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.attendance-stats div{padding:14px;background:#f8f9fc;border-radius:9px}.attendance-stats strong{display:block;font:700 20px Manrope}.attendance-stats span{display:block;margin-top:4px;color:var(--muted);font-size:8px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-card{padding:19px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px}.setting-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px}.setting-icon.database{color:var(--blue);background:#eef0fb}.setting-icon.mail{color:var(--green);background:#eaf7ee}.setting-icon.security{color:var(--red);background:#fceeee}.setting-icon.school{color:#ca6d1a;background:#fff1e5}.setting-card p{margin:0;color:var(--muted);font-size:8px}.setting-card h2{margin:3px 0;font:700 13px Manrope}.setting-card div>span{color:var(--muted);font-size:8px}.setting-card>button{grid-column:2/-1;justify-self:start;padding:0;color:var(--blue);background:none;border:0;font-size:9px;font-weight:700}.empty-module{min-height:360px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty-module>span{width:58px;height:58px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:16px;font-size:24px}.empty-module h2{margin:18px 0 8px;font:700 20px Manrope}.empty-module p{max-width:560px;margin:0 0 20px;color:var(--muted);font-size:11px;line-height:1.6}.platform-toast{position:fixed;z-index:2000;right:24px;bottom:24px;max-width:380px;padding:13px 16px;color:#fff;background:#202663;border:1px solid rgba(255,255,255,.15);border-radius:10px;box-shadow:var(--shadow);font-size:10px;line-height:1.45;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.platform-toast.visible{opacity:1;transform:none}
@media(max-width:900px){.module-card-grid,.settings-grid,.calendar-layout,.attendance-summary{grid-template-columns:1fr}.attendance-list>div{grid-template-columns:38px 1fr auto}.attendance-list>div>small{display:none}.attendance-options{grid-column:2/-1}.attendance-stats{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.module-heading{align-items:flex-start;flex-direction:column}.module-heading h1{font-size:27px}.module-primary{width:100%}.module-toolbar{align-items:stretch;flex-direction:column}.module-tabs{overflow:auto}.module-tabs button{white-space:nowrap}.module-search{width:100%}.student-profile-top{grid-template-columns:48px 1fr}.student-profile-top>span{width:46px;height:46px}.student-profile-top button{grid-column:1/-1;text-align:left}.student-profile-metrics{grid-template-columns:1fr}.message-copy>span{flex-direction:column;gap:2px}.module-table th,.module-table td{padding:12px}.calendar-days button{aspect-ratio:1}.setting-card{grid-template-columns:42px 1fr}.setting-card>.status{grid-column:2;justify-self:start}.platform-toast{left:15px;right:15px;bottom:15px}}

/* Administración académica */
.academic-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.academic-summary article{padding:17px 19px;background:#fff;border:1px solid var(--line);border-radius:12px}.academic-summary span{display:block;font:700 24px Manrope;color:var(--blue)}.academic-summary small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.academic-manager{margin-top:16px;padding:0;overflow:hidden}.academic-manager-head{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.academic-tabs{display:flex;align-items:center;gap:3px;overflow:auto}.academic-tabs button{height:37px;padding:0 13px;white-space:nowrap;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:9px;font-weight:700}.academic-tabs button.active{color:var(--blue);background:#eef0fb}.academic-tools{display:flex;align-items:center;gap:8px}.academic-tools .module-search{width:210px}.academic-tools .module-primary{white-space:nowrap}.academic-content{min-height:260px}.academic-table .row-action button{width:auto;padding:0 10px;color:var(--blue);font-size:8px;font-weight:700;letter-spacing:0}.module-loading,.academic-empty,.academic-error{min-height:260px;padding:35px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.module-loading{gap:12px;color:var(--muted);font-size:10px}.module-loading i{width:26px;height:26px;border:3px solid #e5e7f1;border-top-color:var(--blue);border-radius:50%;animation:academic-spin .8s linear infinite}.academic-empty>span,.academic-error>span{width:48px;height:48px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:13px;font:700 20px Manrope}.academic-error>span{color:var(--red);background:#fce8e9}.academic-empty h3,.academic-error h3{margin:14px 0 5px;font:700 15px Manrope}.academic-empty p,.academic-error p{margin:0;color:var(--muted);font-size:10px}.academic-error small{max-width:520px;margin-top:8px;color:var(--muted);font-size:9px;line-height:1.5}@keyframes academic-spin{to{transform:rotate(360deg)}}
.manager-title{display:block;color:var(--ink);font:700 12px Manrope}.manager-subtitle{display:block;margin-top:3px;color:var(--muted);font-size:9px}.dependency-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#6d5b20;background:#fff9e8;border:1px solid #f1df9a;border-radius:9px;font-size:9px;font-weight:500}.dependency-note button{padding:0;color:var(--blue);background:transparent;border:0;font-size:9px;font-weight:700;white-space:nowrap}.field-help{color:var(--muted);font-size:8px;font-weight:500;line-height:1.45}
.form-section-title{margin:3px 0 -2px;padding-bottom:8px;color:var(--blue);border-bottom:1px solid var(--line);font:700 10px Manrope;text-transform:uppercase;letter-spacing:.12em}.form-section-title:not(:first-child){margin-top:8px}.student-modal-card{width:min(100%,650px)}.table-subline{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:400}.student-table td{vertical-align:middle}.student-tabs button{min-width:62px}
.subject-code-dot{width:9px;height:9px;margin-right:7px;display:inline-block;background:var(--subject-color);border-radius:3px;vertical-align:middle}.teaching-row td{vertical-align:middle}.teaching-row .status{white-space:nowrap}
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-grid .modal-check:last-child{grid-column:1/-1}.link-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.academic-table .link-actions .danger-link{color:var(--red);background:#fceff0}.family-row td{vertical-align:middle}
.grade-actions{display:flex;justify-content:flex-end;gap:4px}.academic-table .grade-actions button{background:#f5f6fa}.roster-modal-card{width:min(100%,920px)}.roster-note{margin-bottom:10px;padding:10px 12px;color:var(--muted);background:#f7f8fb;border-radius:8px;font-size:9px}.score-table input,.score-table select{width:100%;min-width:90px;height:34px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:9px}.score-table td:last-child input{min-width:180px}.score-table input:disabled,.score-table select:disabled{color:var(--muted);background:#f4f5f8}.grade-results-panel{padding:0;overflow:hidden}.grade-results-panel .academic-empty{min-height:340px}
.academic-guide{margin-top:12px;padding:13px 16px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;color:#303664;background:#eef0fb;border:1px solid #dfe2f4;border-radius:11px}.academic-guide>span{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:9px;font:700 12px Manrope}.academic-guide strong{display:block;font-size:10px}.academic-guide p{margin:3px 0 0;color:#676d8e;font-size:9px}.academic-guide small{color:var(--blue);font-size:8px;font-weight:700}.academic-empty .module-primary{margin-top:16px;min-width:150px}
.modal-backdrop{position:fixed;z-index:1500;inset:34px 0 0;display:grid;place-items:center;padding:20px;background:rgba(16,20,58,.54);backdrop-filter:blur(4px)}.modal-card{width:min(100%,590px);max-height:calc(100vh - 75px);overflow:auto;background:#fff;border:1px solid rgba(255,255,255,.3);border-radius:16px;box-shadow:0 25px 80px rgba(10,14,50,.3)}.modal-card>header{position:sticky;z-index:2;top:0;padding:20px 22px 16px;display:flex;align-items:flex-start;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.modal-card header .overline{margin-bottom:5px}.modal-card h2{margin:0;font:700 20px Manrope}.modal-card header>button{width:32px;height:32px;color:var(--muted);background:#f5f6fa;border:0;border-radius:8px;font-size:20px}.modal-card form{padding:20px 22px}.modal-fields{display:grid;gap:14px}.modal-fields label{display:grid;gap:6px;color:#454a59;font-size:9px;font-weight:700}.modal-fields input:not([type="checkbox"]),.modal-fields select,.modal-fields textarea{width:100%;min-height:42px;padding:9px 11px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;outline:0;font:500 11px DM Sans}.modal-fields textarea{resize:vertical}.modal-fields input:focus,.modal-fields select:focus,.modal-fields textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(42,49,132,.08)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-fields .modal-check{display:flex;align-items:center;grid-template-columns:auto 1fr;gap:8px;padding:10px 12px;background:#f7f8fb;border-radius:9px}.modal-check input{accent-color:var(--blue)}.modal-error{min-height:16px;margin:12px 0 0;color:var(--red);font-size:9px}.modal-card footer{padding-top:14px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line)}.modal-card footer .module-primary,.modal-card footer .module-secondary{min-width:105px}.modal-card button:disabled{opacity:.55;cursor:wait}
@media(max-width:1100px){.academic-manager-head{align-items:stretch;flex-direction:column}.academic-tools .module-search{flex:1;width:auto}.academic-tools .module-primary{width:auto}}
@media(max-width:760px){.academic-summary{grid-template-columns:1fr 1fr}.academic-guide{grid-template-columns:34px 1fr}.academic-guide small{grid-column:2}.academic-tools{align-items:stretch;flex-direction:column}.academic-tools .module-primary{width:100%}.field-pair{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 55px)}.modal-card footer{flex-direction:column-reverse}.modal-card footer .module-primary,.modal-card footer .module-secondary{width:100%}}

/* Asistencia, guías y archivos */
.attendance-control{padding:0;overflow:hidden}.attendance-filters{display:flex;align-items:end;gap:10px}.attendance-filters label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:700}.attendance-filters select,.attendance-filters input,.real-attendance-list input{height:37px;padding:7px 10px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;font-size:9px}.attendance-filters select{min-width:310px}.real-attendance-list>div{grid-template-columns:38px minmax(130px,1fr) auto 105px minmax(150px,.8fr)}.attendance-student{display:flex;min-width:0;flex-direction:column}.real-attendance-list .attendance-options{flex-wrap:wrap}.real-attendance-list .attendance-options button:nth-child(4).active{color:#4f428c;background:#eeeafd;border-color:#d8d0f6}.real-attendance-list .attendance-options button:nth-child(5).active{color:#176982;background:#e8f7fa;border-color:#c6e9ef}.attendance-time{width:105px}.attendance-note{width:100%}.manager-description{margin:4px 0 0;color:var(--muted);font-size:9px}.guide-grid{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.guide-card{padding:18px;display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px}.guide-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.guide-card-head small{color:var(--muted);font-size:8px}.guide-card h2{margin:15px 0 4px;font:700 16px Manrope}.guide-card>p{margin:0;color:var(--green);font-size:9px;font-weight:700}.guide-card>span{margin-top:10px;color:var(--muted);font-size:9px;line-height:1.5}.guide-content{margin-top:14px;padding:12px;color:#454a59;background:#f8f9fc;border-radius:9px;font-size:10px;line-height:1.6}.guide-files{margin-top:15px;padding-top:12px;display:grid;gap:7px;border-top:1px solid var(--line)}.guide-files>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.guide-files a{min-width:0;color:var(--blue);font-size:9px;font-weight:700;overflow-wrap:anywhere}.guide-files button{padding:4px 7px;color:var(--blue);background:#eef0fb;border:0;border-radius:6px;font-size:8px;font-weight:700}.guide-files small{color:var(--muted);font-size:8px}.guide-actions{margin-top:auto;padding-top:15px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.guide-actions .module-primary,.guide-actions .module-secondary,.guide-files>.module-secondary{width:auto;min-height:35px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.file-label{cursor:pointer;font-size:9px;font-weight:700}.guide-card.library{min-height:250px}
@media(max-width:1100px){.real-attendance-list>div{grid-template-columns:38px 1fr auto}.real-attendance-list .attendance-options,.real-attendance-list .attendance-note{grid-column:2/-1}.real-attendance-list .attendance-time{grid-column:3}}
@media(max-width:760px){.attendance-filters{align-items:stretch;flex-direction:column}.attendance-filters select{min-width:0;width:100%}.guide-grid{grid-template-columns:1fr;padding:10px}.real-attendance-list>div{grid-template-columns:38px 1fr}.real-attendance-list .attendance-options,.real-attendance-list .attendance-time,.real-attendance-list .attendance-note{grid-column:1/-1;width:100%}}

/* Comunicaciones */
.communication-summary{margin-bottom:16px}.communication-list{padding:14px;display:grid;gap:11px}.communication-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 145px;overflow:hidden;border:1px solid var(--line);border-radius:12px}.communication-card:before,.feed-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.communication-card.priority-important:before,.feed-card.priority-important:before{background:#d7842f}.communication-card.priority-urgent:before,.feed-card.priority-urgent:before{background:var(--red)}.communication-main{padding:17px 18px 16px 22px}.communication-card-head{display:flex;align-items:center;gap:8px}.communication-card-head small{margin-left:auto;color:var(--muted);font-size:8px}.priority-label{color:var(--muted);font-size:8px;font-weight:700}.communication-card h2{margin:13px 0 6px;font:700 16px Manrope}.communication-card p{max-width:850px;margin:0;color:var(--muted);font-size:9px;line-height:1.55}.audience-chips{margin-top:11px;display:flex;gap:6px;flex-wrap:wrap}.audience-chips span{padding:5px 8px;color:var(--blue);background:#eef0fb;border-radius:99px;font-size:8px;font-weight:700}.read-progress{margin-top:13px;display:flex;align-items:center;gap:10px}.read-progress>div{width:180px;height:6px;overflow:hidden;background:#edf0f4;border-radius:99px}.read-progress i{display:block;height:100%;background:var(--green);border-radius:inherit}.read-progress span{color:var(--muted);font-size:8px}.communication-files{margin-top:10px;display:grid;gap:6px}.communication-files>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.communication-files strong{font-size:8px}.communication-files button{padding:3px 7px;color:var(--blue);background:#eef0fb;border:0;border-radius:5px;font-size:7px;font-weight:700}.communication-actions{padding:14px;display:flex;align-items:stretch;justify-content:center;flex-direction:column;gap:6px;background:#fafbfc;border-left:1px solid var(--line)}.communication-actions button,.communication-actions label{min-height:32px;padding:0 9px;display:flex;align-items:center;justify-content:center;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:7px;font-size:8px;font-weight:700;text-align:center}.communication-actions label{cursor:pointer}.communication-actions button:hover,.communication-actions label:hover{border-color:var(--blue)}.communication-actions button:disabled{opacity:.45;cursor:not-allowed}.communication-actions .danger-link{color:var(--red)}.announcement-modal-card{width:min(100%,680px)}.audience-target{padding:11px;background:#f7f8fb;border-radius:9px}.audience-target select{min-height:110px!important}.audience-all-note{color:var(--muted);font-size:9px}.feed-list{display:grid;gap:13px}.feed-card{position:relative;padding:20px 22px 18px 26px;background:#fff;border:1px solid var(--line);border-radius:13px}.feed-card.read{opacity:.86}.feed-card header,.feed-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.feed-card header>div{display:flex;align-items:center;gap:7px}.feed-card header b{padding:3px 7px;color:#fff;background:var(--red);border-radius:99px;font-size:7px;text-transform:uppercase}.feed-card time{color:var(--muted);font-size:8px}.feed-card h2{margin:16px 0 6px;font:700 18px Manrope}.feed-summary{margin:0;color:var(--green);font-size:10px;font-weight:700}.feed-content{margin-top:14px;color:#454a59;font-size:10px;line-height:1.7}.feed-files{margin-top:15px;display:flex;gap:8px;flex-wrap:wrap}.feed-files a{padding:9px 11px;color:var(--blue);background:#eef0fb;border-radius:8px;font-size:9px;font-weight:700}.feed-files small{color:var(--muted);font-weight:500}.feed-card footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.feed-card footer>span{color:var(--muted);font-size:8px}.feed-card footer .module-primary{width:auto;min-height:36px}.read-confirmation{color:var(--green)!important;font-weight:700}
@media(max-width:900px){.communication-card{grid-template-columns:1fr}.communication-actions{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:0}}
@media(max-width:760px){.communication-card-head{align-items:flex-start;flex-wrap:wrap}.communication-card-head small{width:100%;margin-left:0}.communication-actions{grid-template-columns:1fr}.read-progress{align-items:flex-start;flex-direction:column}.read-progress>div{width:100%}.feed-card footer{align-items:flex-start;flex-direction:column}.feed-card footer .module-primary{width:100%}}

/* Calendario escolar */
.calendar-summary{margin-bottom:16px}.event-admin-list{padding:14px;display:grid;gap:10px}.event-admin-card{position:relative;padding:15px 14px 15px 19px;display:grid;grid-template-columns:54px minmax(0,1fr) 140px;align-items:center;gap:14px;overflow:hidden;border:1px solid var(--line);border-radius:11px}.event-admin-card:before,.agenda-real-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.event-admin-card.event-meeting:before,.agenda-real-item.event-meeting:before{background:#d7842f}.event-admin-card.event-cultural:before,.agenda-real-item.event-cultural:before{background:#9a4eb5}.event-admin-card.event-sports:before,.agenda-real-item.event-sports:before{background:var(--green)}.event-admin-card.event-holiday:before,.agenda-real-item.event-holiday:before{background:var(--red)}.event-admin-card>time{width:52px;height:55px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:10px;text-align:center}.event-admin-card>time strong{font:700 20px Manrope;line-height:1}.event-admin-card>time span{font-size:8px;text-transform:uppercase}.event-card-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:8px}.event-admin-card h2{margin:7px 0 3px;font:700 14px Manrope}.event-admin-card p{margin:0;color:var(--muted);font-size:9px}.event-admin-card>div>small{display:block;margin-top:9px;color:var(--muted);font-size:8px}.event-admin-card>aside{display:grid;gap:6px}.event-admin-card>aside button{min-height:32px;padding:0 8px;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:7px;font-size:8px;font-weight:700}.event-admin-card>aside button:disabled{opacity:.45;cursor:not-allowed}.event-admin-card>aside .danger-link{color:var(--red)}.event-modal-card{width:min(100%,680px)}.calendar-real-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:16px}.calendar-real-layout .calendar-panel,.calendar-real-layout .agenda-panel{margin:0}.calendar-real-layout .calendar-days{min-height:500px}.calendar-real-layout .calendar-days>button,.calendar-empty-day{position:relative;min-height:82px;padding:9px;display:flex;align-items:flex-start;align-content:flex-start;gap:4px;flex-wrap:wrap;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-real-layout .calendar-days>button{background:#fff;border-top:0;border-left:0}.calendar-real-layout .calendar-days>button:hover{background:#f8f9fc}.calendar-real-layout .calendar-days>button.today{color:#fff;background:var(--blue)}.calendar-real-layout .calendar-days>button.has-event:after{display:none}.event-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}.event-dot.exam,.event-dot.holiday{background:var(--red)}.event-dot.meeting{background:#d7842f}.event-dot.sports{background:var(--green)}.event-dot.cultural{background:#9a4eb5}.agenda-real-item{position:relative!important;min-height:75px;align-items:start!important}.agenda-real-item>div{display:block!important}.agenda-real-item>div>span{display:block}.agenda-real-item>div>small{display:block;margin-top:7px;color:var(--blue);font-size:8px}.event-response-buttons{margin-top:9px;display:flex;gap:4px;flex-wrap:wrap}.event-response-buttons button{padding:5px 7px;color:var(--muted);background:#f5f6fa;border:1px solid transparent;border-radius:6px;font-size:7px;font-weight:700}.event-response-buttons button.active{color:var(--green);background:#e8f7ed;border-color:#cbead5}.academic-empty.compact{min-height:180px}.academic-empty.compact>span{width:38px;height:38px;font-size:16px}.academic-empty.compact h3{font-size:12px}
@media(max-width:1050px){.calendar-real-layout{grid-template-columns:1fr}.calendar-real-layout .calendar-days{min-height:420px}.event-admin-card{grid-template-columns:54px 1fr}.event-admin-card>aside{grid-column:2;grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.event-admin-card{grid-template-columns:45px 1fr;padding-right:10px}.event-admin-card>time{width:44px;height:48px}.event-admin-card>aside{grid-column:1/-1}.calendar-real-layout .calendar-days>button,.calendar-empty-day{min-height:55px;padding:5px}.calendar-real-layout .calendar-days>button .event-dot{width:5px;height:5px}.calendar-real-layout .calendar-days{min-height:330px}}

/* Horarios de clases y aulas */
.schedule-summary{margin-bottom:16px}.schedule-admin-week{padding:14px;border-bottom:1px solid var(--line)}.weekly-schedule{display:grid;grid-template-columns:repeat(var(--schedule-columns),minmax(150px,1fr));gap:8px;overflow:auto}.weekly-schedule>section{min-width:150px;background:#f8f9fc;border:1px solid var(--line);border-radius:10px;overflow:hidden}.weekly-schedule>section>header{padding:10px;color:#fff;background:var(--blue);font-size:9px;font-weight:700;text-align:center}.weekly-schedule>section>div{min-height:160px;padding:8px;display:grid;align-content:start;gap:7px}.weekly-schedule>section>div>p{margin:20px 0;color:var(--muted);font-size:8px;text-align:center}.schedule-block{position:relative;padding:10px;background:#fff;border-left:3px solid var(--green);border-radius:8px;box-shadow:0 3px 10px rgba(31,38,98,.06)}.schedule-block time{display:block;color:var(--blue);font-size:8px;font-weight:700}.schedule-block strong{display:block;margin-top:5px;font-size:9px}.schedule-block span,.schedule-block small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.schedule-block button{margin-top:7px;padding:0;color:var(--blue);background:transparent;border:0;font-size:7px;font-weight:700}.schedule-table-wrap{border-top:1px solid var(--line)}.schedule-actions{display:flex;gap:5px}.schedule-actions button{padding:6px 8px;color:var(--blue);background:#f4f5fa;border:0;border-radius:6px;font-size:8px;font-weight:700}.schedule-actions .danger-link{color:var(--red);background:#fceff0}.schedule-view-panel{padding:0;overflow:hidden}.schedule-view-header{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.schedule-view-header h2{margin:0;font:700 16px Manrope}.schedule-view-header p{margin:4px 0 0;color:var(--muted);font-size:8px}.schedule-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px}.schedule-legend i{width:9px;height:9px;background:var(--green);border-radius:3px}.schedule-view-panel>.weekly-schedule{padding:16px}.schedule-view-panel .weekly-schedule>section>div{min-height:280px}
@media(max-width:900px){.weekly-schedule{grid-template-columns:repeat(var(--schedule-columns),minmax(165px,1fr))}}
@media(max-width:760px){.schedule-view-header{align-items:flex-start;flex-direction:column;gap:8px}.schedule-view-panel>.weekly-schedule{padding:10px}.schedule-table-wrap{overflow:auto}.schedule-table-wrap table{min-width:900px}}

/* Tareas, actividades y entregas */
.activity-summary{margin-bottom:16px}.activity-grid,.activity-feed-list{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.activity-card,.activity-feed-card{padding:18px;display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px}.activity-card-head,.activity-feed-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.activity-card-head small,.activity-feed-card time{color:var(--muted);font-size:8px}.activity-card h2,.activity-feed-card h2{margin:14px 0 5px;font:700 16px Manrope}.activity-card>p,.activity-feed-card>p{margin:0;color:var(--green);font-size:9px;font-weight:700}.activity-card>span{margin-top:10px;color:var(--muted);font-size:9px}.activity-progress{margin-top:13px;padding:10px;background:#f7f8fb;border-radius:8px;color:var(--muted);font-size:9px}.activity-progress strong{color:var(--ink)}.pending-file-review{margin:14px;padding:13px;display:grid;gap:7px;background:#fff8e8;border:1px solid #f1df9a;border-radius:10px}.pending-file-review>strong{font-size:9px}.pending-file-review>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:8px}.pending-file-review button{padding:4px 7px;color:var(--blue);background:#fff;border:1px solid #ead898;border-radius:5px;font-size:7px;font-weight:700}.review-content{padding:18px}.submission-table{min-width:850px}.submission-table td{vertical-align:top}.submission-table td small{display:block;color:var(--muted);font-size:7px}.submission-table input{width:100%;min-width:100px;padding:7px;border:1px solid var(--line);border-radius:7px;font-size:8px}.submission-table button{padding:7px 9px;color:#fff;background:var(--blue);border:0;border-radius:7px;font-size:8px;font-weight:700}.activity-feed-list{padding:0}.activity-feed-card{position:relative}.activity-instructions{margin-top:14px;color:#454a59;font-size:10px;line-height:1.65}.activity-feed-card>textarea{min-height:110px;margin-top:15px;padding:11px;border:1px solid var(--line);border-radius:9px;resize:vertical;font:500 10px DM Sans}.activity-submit-actions{margin-top:9px;display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.activity-submit-actions .module-primary,.activity-submit-actions .module-secondary{width:auto;min-height:36px;padding:0 12px;display:flex;align-items:center}.activity-submit-actions label{cursor:pointer;font-size:9px;font-weight:700}.activity-feedback{margin-top:15px;padding:12px;color:#176d34;background:#eaf7ee;border-radius:9px}.activity-feedback strong{font-size:10px}.activity-feedback p{margin:5px 0 0;font-size:9px}.activity-card .guide-actions{margin-top:15px}
@media(max-width:850px){.activity-grid,.activity-feed-list{grid-template-columns:1fr}}

/* Boletas y reportes académicos */
.report-summary{margin-bottom:16px}.report-manager-head{align-items:flex-end}.report-filters{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-filters select{min-width:175px;height:40px;padding:0 11px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:9px;font-size:9px}.report-table td small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.report-grade{color:var(--blue);font:700 16px Manrope}.report-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.report-actions button{min-height:30px;padding:0 8px;color:var(--blue);background:#f4f5fa;border:1px solid transparent;border-radius:6px;font-size:8px;font-weight:700}.report-actions .module-primary{color:#fff;background:var(--blue)}.report-actions .danger-link{color:var(--red);background:#fceff0}.report-modal-card{width:min(100%,850px)}.report-detail-header{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.report-detail-header h3{margin:9px 0 3px;font:700 16px Manrope}.report-detail-header p{margin:0;color:var(--muted);font-size:9px}.report-detail-metrics{padding:16px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.report-detail-metrics span{padding:12px;display:flex;flex-direction:column;gap:3px;color:var(--muted);background:#f7f8fb;border-radius:9px;font-size:8px}.report-detail-metrics b{color:var(--blue);font:700 20px Manrope}.report-modal-card .table-wrap{margin:0 20px;border:1px solid var(--line);border-radius:9px}.report-observations{margin:16px 20px;display:grid;gap:7px;color:#454a59;font-size:9px;font-weight:700}.report-observations textarea{min-height:100px;padding:11px;color:var(--ink);border:1px solid var(--line);border-radius:9px;resize:vertical;font:500 10px DM Sans}.report-observations textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(42,49,132,.08)}.report-detail-actions{padding:0 20px 20px;display:flex;justify-content:flex-end}.report-published-observations{margin:16px 20px;padding:13px;background:#f7f8fb;border-radius:9px}.report-published-observations strong{font-size:9px}.report-published-observations p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.6}.report-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.report-feed-card{padding:19px;background:#fff;border:1px solid var(--line);border-radius:13px}.report-feed-card>header{display:flex;align-items:center;justify-content:space-between}.report-feed-card header small{color:var(--muted);font-size:8px}.report-feed-card h2{margin:16px 0 4px;font:700 17px Manrope}.report-feed-card>p{margin:0;color:var(--green);font-size:9px;font-weight:700}.report-feed-card>div{margin-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-feed-card>div span{padding:12px;display:flex;flex-direction:column;color:var(--muted);background:#f7f8fb;border-radius:9px;font-size:8px}.report-feed-card>div b{margin-bottom:3px;color:var(--blue);font:700 22px Manrope}.report-feed-card>footer{margin-top:16px;padding-top:13px;display:flex;justify-content:flex-end;gap:7px;border-top:1px solid var(--line)}
@media(max-width:900px){.report-manager-head{align-items:stretch}.report-filters{justify-content:flex-start}.report-feed-grid{grid-template-columns:1fr}}
@media(max-width:650px){.report-filters{align-items:stretch;flex-direction:column}.report-filters select,.report-filters button{width:100%}.report-detail-header{align-items:flex-start;flex-direction:column}.report-detail-metrics{grid-template-columns:1fr 1fr}.report-feed-card>footer{flex-direction:column}.report-feed-card>footer button{width:100%}}

/* Notificaciones automáticas y correo */
.notification #notification-count{position:absolute;right:-5px;top:-6px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;color:#fff;background:var(--red);border:2px solid #fff;border-radius:99px;font-size:7px}.notification.has-unread>i{display:none}.automation-summary{margin-bottom:16px}.automation-head-actions{display:flex;gap:8px}.automation-section{padding:18px;border-top:1px solid var(--line)}.automation-section:first-child{border-top:0}.automation-title{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.automation-title h3{margin:0;font:700 15px Manrope}.automation-title p{margin:4px 0 0;color:var(--muted);font-size:8px}.automation-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.automation-rule{padding:15px;border:1px solid var(--line);border-radius:11px}.automation-rule>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.automation-rule header>div{display:flex;flex-direction:column}.automation-rule strong{font-size:10px}.automation-rule small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}.switch{position:relative;width:34px;height:20px;flex:none}.switch input{position:absolute;opacity:0}.switch span{position:absolute;inset:0;background:#cfd2dd;border-radius:99px;transition:.2s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(14px)}.automation-channels{margin-top:13px;padding:10px;display:flex;gap:14px;background:#f7f8fb;border-radius:8px}.automation-channels label{display:flex;align-items:center;gap:5px;color:#4d5262;font-size:8px}.automation-channels input{accent-color:var(--blue)}.automation-rule-foot{margin-top:12px;display:flex;align-items:end;gap:8px;flex-wrap:wrap}.automation-rule-foot label{display:grid;gap:4px;color:var(--muted);font-size:7px}.automation-rule-foot input,.automation-rule-foot select{width:105px;height:31px;padding:0 7px;border:1px solid var(--line);border-radius:7px;font-size:8px}.automation-rule-foot button{height:31px;margin-left:auto;padding:0 10px;color:#fff;background:var(--blue);border:0;border-radius:7px;font-size:8px;font-weight:700}.automation-section td small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.email-queue-list{display:grid;gap:7px}.email-queue-list>div{padding:10px 12px;display:flex;align-items:center;gap:10px;background:#f8f9fc;border-radius:8px}.email-queue-list>div>span:first-child{display:flex;min-width:0;flex:1;flex-direction:column}.email-queue-list>div>small{max-width:420px;color:var(--red);font-size:7px}.notification-feed-toolbar{margin-bottom:12px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px}.notification-feed-toolbar h2{margin:0;font:700 15px Manrope}.notification-feed-toolbar p{margin:4px 0 0;color:var(--muted);font-size:8px}.notification-feed-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:14px}.notification-list{display:grid;gap:9px}.notification-item{position:relative;padding:15px;display:grid;grid-template-columns:40px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px}.notification-item.unread{border-color:#c9cdec;box-shadow:inset 3px 0 var(--blue)}.notification-item.read{opacity:.78}.notification-type{width:38px;height:38px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:10px;font-style:normal;font-weight:700}.notification-type.good{color:var(--green);background:#e8f7ed}.notification-type.alert{color:var(--red);background:#fce8e9}.notification-type.pending{color:#ad6019;background:#fff0df}.notification-item header{display:flex;align-items:center;justify-content:space-between}.notification-item header span{color:var(--green);font-size:7px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.notification-item time{color:var(--muted);font-size:7px}.notification-item h3{margin:7px 0 4px;font:700 12px Manrope}.notification-item p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.notification-item footer{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.notification-item footer button{padding:6px 8px;color:var(--blue);background:#f2f3fa;border:0;border-radius:6px;font-size:7px;font-weight:700}.notification-item footer span{color:var(--green);font-size:8px;font-weight:700}.notification-preferences{padding:18px;align-self:start}.notification-preferences>h2{margin:0;font:700 15px Manrope}.notification-preferences>p{margin:4px 0 14px;color:var(--muted);font-size:8px}.preference-list{display:grid;gap:8px}.preference-list article{padding:11px;display:grid;grid-template-columns:1fr auto;gap:7px;background:#f8f9fc;border-radius:9px}.preference-list article>div{grid-column:1/-1;display:flex;flex-direction:column}.preference-list strong{font-size:9px}.preference-list small{margin-top:3px;color:var(--muted);font-size:7px}.preference-list label{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:7px}.preference-list input{accent-color:var(--blue)}.preference-list button{grid-column:2;padding:5px 7px;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:6px;font-size:7px;font-weight:700}.smtp-note{display:block;margin-top:12px;color:#ad6019;font-size:8px;line-height:1.5}
@media(max-width:1000px){.automation-rule-grid{grid-template-columns:1fr}.notification-feed-layout{grid-template-columns:1fr}.notification-preferences{order:-1}}
@media(max-width:650px){.automation-head-actions{flex-direction:column}.automation-channels{align-items:flex-start;flex-direction:column}.notification-feed-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.notification-feed-toolbar button{width:100%}.notification-item{grid-template-columns:34px 1fr}.notification-type{width:33px;height:33px}}

/* Inscripciones y reinscripciones */
.enrollment-summary{margin-bottom:16px}.enrollment-list{padding:14px;display:grid;gap:10px}.enrollment-card{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.enrollment-card>div{min-width:0}.enrollment-card>div>small:first-of-type{margin-left:8px;color:var(--muted);font-size:8px}.enrollment-card h3{margin:10px 0 4px;font:700 15px Manrope}.enrollment-card p{margin:0 0 7px;color:var(--green);font-size:9px;font-weight:700}.enrollment-card>div>small:last-child{color:var(--muted);font-size:8px}.enrollment-card>button{width:auto;min-width:120px}.enrollment-detail-card{width:min(100%,900px)}.enrollment-detail-head{padding:18px 22px;border-bottom:1px solid var(--line)}.enrollment-detail-head p{margin:10px 0 4px;font-weight:700}.enrollment-detail-head small{color:var(--muted);font-size:9px}.enrollment-documents,.enrollment-history,.enrollment-review,#enrollment-finalize-form{margin:18px 22px}.enrollment-documents>h3,.enrollment-history>h3,#enrollment-finalize-form>h3{margin:0 0 11px;font:700 14px Manrope}.enrollment-document{padding:11px 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px}.enrollment-document+.enrollment-document{margin-top:7px}.enrollment-document>div{margin-right:auto;display:flex;flex-direction:column;gap:3px}.enrollment-document strong{font-size:9px}.enrollment-document small{color:var(--muted);font-size:8px}.enrollment-document a,.enrollment-document button,.enrollment-document label{padding:6px 8px;color:var(--blue);background:#eef0fb;border:0;border-radius:6px;font-size:8px;font-weight:700;text-decoration:none;cursor:pointer}.enrollment-document .danger-link{color:var(--red);background:#fceff0}.enrollment-review{padding:14px;background:#f7f8fb;border-radius:10px}.enrollment-review>label{display:grid;gap:6px;color:#454a59;font-size:9px;font-weight:700}.enrollment-review textarea{padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical;font:500 10px DM Sans}.enrollment-review>div{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.enrollment-review button{width:auto;min-height:34px;padding:0 10px}#enrollment-finalize-form{padding:16px;border:1px solid #cfe8d6;border-radius:11px;background:#f4fbf6}#enrollment-finalize-form>.module-primary{margin-top:13px;width:auto}.enrollment-history>div{padding:6px 0;display:flex;gap:10px}.enrollment-history i{width:8px;height:8px;margin-top:4px;background:var(--green);border-radius:50%}.enrollment-history span{display:flex;flex-direction:column;gap:3px}.enrollment-history strong{font-size:9px}.enrollment-history small{color:var(--muted);font-size:8px}
.enrollment-flow-note{grid-column:1/-1;padding:12px 14px;display:flex;gap:6px;flex-direction:column;border:1px solid #cbe8d3;border-left:4px solid var(--green);border-radius:9px;background:#f3fbf5}.enrollment-flow-note strong{color:#08752e;font:700 11px Manrope}.enrollment-flow-note span{color:#4d5d53;font-size:9px;line-height:1.5}
.enrollment-guardian-panel{margin:16px 0 4px;padding:15px;display:grid;gap:11px;border:1px solid #d8dced;border-radius:10px;background:#fff}.enrollment-guardian-panel>h3{margin:0;font:700 13px Manrope}.enrollment-guardian-panel>p{margin:-5px 0 2px;color:var(--muted);font-size:9px}.enrollment-guardian-panel>label{display:grid;gap:6px;color:#454a59;font-size:9px;font-weight:700}
@media(max-width:760px){.enrollment-card{align-items:flex-start;flex-direction:column}.enrollment-card>button{width:100%}.enrollment-document{align-items:flex-start;flex-wrap:wrap}.enrollment-document>div{width:100%}.enrollment-review>div{display:grid}.enrollment-review button{width:100%}}

/* Colegiaturas, pagos y estados de cuenta */
.finance-summary{margin-bottom:16px}.finance-head-actions{display:flex;gap:8px}.finance-tabs{padding:0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.finance-section-head{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.finance-section-head h3{margin:0;font:700 14px Manrope}.finance-section-head p{margin:4px 0 0;color:var(--muted);font-size:8px}.finance-section-head button{width:auto}.finance-table td small{display:block;margin-top:4px;color:var(--muted);font-size:7px}.finance-balance{color:var(--blue)}.finance-actions{display:flex;gap:5px;flex-wrap:wrap}.finance-actions a,.finance-actions button,.table-action{padding:6px 8px;color:var(--blue);background:#f1f2f9;border:0;border-radius:6px;font-size:7px;font-weight:700;text-decoration:none}.finance-actions .danger-link,.table-action.danger-link{color:var(--red);background:#fceff0}.finance-concept-grid{padding:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finance-concept-grid article{padding:16px;border:1px solid var(--line);border-radius:11px}.finance-concept-grid article>small{margin-left:7px;color:var(--muted);font-size:7px}.finance-concept-grid h3{margin:14px 0 5px;font:700 14px Manrope}.finance-concept-grid strong{color:var(--blue);font:700 20px Manrope}.finance-concept-grid p{margin:9px 0 13px;color:var(--muted);font-size:8px}.finance-concept-grid button{padding:7px 9px;color:var(--blue);background:#f1f2f9;border:0;border-radius:6px;font-size:8px;font-weight:700}.finance-student-filter{padding:13px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.finance-student-filter label{display:grid;max-width:390px;gap:5px;color:var(--muted);font-size:8px;font-weight:700}.finance-student-filter select{height:39px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px}.finance-family-intro{margin:15px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#fff;background:linear-gradient(135deg,#202663,#343c9b);border-radius:13px}.finance-family-intro>div{display:flex;flex-direction:column}.finance-family-intro span{font-size:9px}.finance-family-intro strong{margin:5px 0;font:700 28px Manrope}.finance-family-intro small{color:#d7daf8;font-size:8px}.finance-family-intro button{width:auto;color:var(--blue);background:#fff}.finance-family-grid{padding:0 15px 15px;display:grid;gap:16px}.finance-family-grid>section>h3{margin:5px 0 10px;font:700 14px Manrope}.finance-family-grid .table-wrap{border:1px solid var(--line);border-radius:10px}.finance-family-grid .academic-empty{min-height:180px}
@media(max-width:1000px){.finance-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.finance-head-actions{flex-direction:column}.finance-concept-grid{grid-template-columns:1fr}.finance-family-intro{align-items:flex-start;flex-direction:column}.finance-family-intro button{width:100%}.finance-tabs{overflow:auto}.finance-tabs button{white-space:nowrap}}
.finance-head-actions a{width:auto;min-height:38px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.finance-aging{padding:15px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.finance-aging article{padding:14px;background:#f7f8fb;border:1px solid var(--line);border-radius:10px}.finance-aging span{display:block;color:var(--muted);font-size:8px}.finance-aging strong{display:block;margin-top:6px;color:var(--blue);font:700 16px Manrope}.finance-agreement-grid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.finance-agreement-card{padding:16px;border:1px solid var(--line);border-radius:12px}.finance-agreement-card header{display:flex;align-items:center;justify-content:space-between}.finance-agreement-card header small{color:var(--muted);font-size:7px}.finance-agreement-card h3{margin:14px 0 4px;font:700 14px Manrope}.finance-agreement-card>p{margin:0;color:var(--muted);font-size:8px}.finance-agreement-progress{margin:14px 0}.finance-agreement-progress>span{height:6px;display:block;overflow:hidden;background:#edf0f4;border-radius:99px}.finance-agreement-progress i{height:100%;display:block;background:var(--green)}.finance-agreement-progress small{display:block;margin-top:5px;color:var(--muted);font-size:7px}.finance-installments{display:flex;gap:6px;overflow:auto}.finance-installments>span{min-width:84px;padding:8px;display:grid;grid-template-columns:18px 1fr;gap:2px 5px;background:#f7f8fb;border-radius:8px}.finance-installments>span.overdue{background:#fceff0}.finance-installments b{grid-row:1/3;width:18px;height:18px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:50%;font-size:7px}.finance-installments small{color:var(--muted);font-size:6px}.finance-installments strong{font-size:7px}.finance-agreement-card>button{width:auto;margin-top:12px}.finance-method-summary{display:flex;flex-direction:column;gap:3px;font-size:7px}.finance-adjustment-summary,.finance-closure-notice{padding:12px;display:flex;justify-content:space-between;gap:10px;background:#f7f8fb;border-radius:9px}.finance-adjustment-summary strong,.finance-closure-notice strong{font-size:9px}.finance-adjustment-summary span,.finance-closure-notice span{color:var(--muted);font-size:8px}@media(max-width:900px){.finance-aging{grid-template-columns:1fr 1fr}.finance-agreement-grid{grid-template-columns:1fr}}@media(max-width:560px){.finance-aging{grid-template-columns:1fr}.finance-adjustment-summary,.finance-closure-notice{flex-direction:column}}

/* Expediente integral del alumno */
.record-summary{margin-bottom:16px}.record-student-select{display:grid;min-width:310px;gap:5px;color:var(--muted);font-size:8px;font-weight:700}.record-student-select select{height:40px;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:9px}.record-tabs{padding:0 16px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.record-tabs button{white-space:nowrap}.record-profile{padding:18px}.record-profile-hero{padding:20px;display:flex;align-items:center;gap:15px;color:#fff;background:linear-gradient(135deg,#202663,#303891);border-radius:13px}.record-profile-hero>span:first-child{width:55px;height:55px;display:grid;place-items:center;background:rgba(255,255,255,.16);border-radius:14px;font:700 17px Manrope}.record-profile-hero>div{min-width:0;flex:1}.record-profile-hero h2{margin:0;font:700 20px Manrope}.record-profile-hero p{margin:5px 0;color:#dce0ff;font-size:9px}.record-profile-hero small{font-size:8px}.record-data-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.record-data-grid article{padding:13px;display:flex;min-width:0;flex-direction:column;gap:5px;background:#f7f8fb;border-radius:9px}.record-data-grid small{color:var(--muted);font-size:7px}.record-data-grid strong{font-size:9px;overflow-wrap:anywhere}.record-guardians{margin-top:18px}.record-guardians h3,.record-section-head h3{margin:0;font:700 14px Manrope}.record-guardians>div{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.record-guardians span{display:flex;flex-direction:column;gap:3px;font-size:9px}.record-guardians small{color:var(--muted);font-size:7px}.record-section-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.record-section-head p{margin:4px 0 0;color:var(--muted);font-size:8px}.record-section-head button{width:auto}.record-medical-grid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-medical-grid article{min-height:95px;padding:14px;background:#f8f9fc;border:1px solid transparent;border-radius:10px}.record-medical-grid article.has-value{background:#fff;border-color:var(--line)}.record-medical-grid small{color:var(--green);font-size:8px;font-weight:700}.record-medical-grid p{margin:8px 0 0;color:#4a4f60;font-size:9px;line-height:1.6}.record-card-grid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-person{padding:15px;border:1px solid var(--line);border-radius:11px}.record-person.inactive{opacity:.62}.record-person header{display:flex;align-items:center;gap:10px}.record-person-avatar{width:39px;height:39px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:10px;font-weight:700}.record-person header>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.record-person header strong{font-size:10px}.record-person header small,.record-person>small{color:var(--muted);font-size:8px}.record-person>p{margin:13px 0 4px;font-size:10px;font-weight:700}.record-person footer{margin-top:13px;padding-top:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line)}.record-person footer b{padding:4px 6px;color:var(--green);background:#eaf7ee;border-radius:5px;font-size:7px}.record-person footer button{margin-left:auto;padding:6px 8px;color:var(--blue);background:#f1f2f9;border:0;border-radius:6px;font-size:8px;font-weight:700}.record-doc-actions{display:flex;gap:5px;flex-wrap:wrap}.record-doc-actions a,.record-doc-actions button{padding:6px 8px;color:var(--blue);background:#f1f2f9;border:0;border-radius:6px;font-size:7px;font-weight:700;text-decoration:none}.record-doc-actions .danger-link{color:var(--red);background:#fceff0}.record-note-list{padding:15px;display:grid;gap:9px}.record-note-list>article{padding:14px;display:grid;grid-template-columns:75px 1fr;gap:12px;border:1px solid var(--line);border-radius:10px}.record-note-type{align-self:start;padding:6px;color:var(--blue);background:#eef0fb;border-radius:6px;font-size:7px;font-weight:700;text-align:center;text-transform:capitalize}.record-note-list h3{margin:0;font:700 12px Manrope}.record-note-list p{margin:6px 0;color:#4a4f60;font-size:9px;line-height:1.6}.record-note-list small{color:var(--muted);font-size:7px}.record-history{padding:18px}.record-history>article{position:relative;padding:0 0 22px 25px;border-left:1px solid #d9dced}.record-history>article:last-child{padding-bottom:0}.record-history i{position:absolute;left:-6px;top:0;width:11px;height:11px;background:var(--green);border:3px solid #eaf7ee;border-radius:50%}.record-history h3{margin:0;font:700 12px Manrope}.record-history p{margin:5px 0;color:var(--blue);font-size:9px;font-weight:700}.record-history small{color:var(--muted);font-size:8px}
@media(max-width:800px){.record-student-select{min-width:0;width:100%}.record-data-grid{grid-template-columns:1fr 1fr}.record-card-grid,.record-medical-grid{grid-template-columns:1fr}.record-profile-hero{align-items:flex-start;flex-wrap:wrap}}

/* Incidencias y seguimiento escolar */
.incident-summary{margin-bottom:16px}.incident-filters{padding:11px 16px;display:flex;gap:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.incident-filters button{padding:7px 10px;color:var(--muted);background:#f4f5f8;border:0;border-radius:7px;font-size:8px;font-weight:700}.incident-filters button.active{color:#fff;background:var(--blue)}.incident-list{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.incident-card{position:relative;padding:16px 17px 14px;overflow:hidden;border:1px solid var(--line);border-radius:11px}.incident-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}.incident-card.severity-medium:before{background:#d7842f}.incident-card.severity-high:before,.incident-card.severity-critical:before{background:var(--red)}.incident-card header,.incident-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.incident-card header>div{display:flex;align-items:center;gap:7px}.incident-card header small,.incident-card time,.incident-card footer span{color:var(--muted);font-size:7px}.incident-card h3{margin:14px 0 4px;font:700 14px Manrope}.incident-card>p{margin:0;color:var(--green);font-size:8px;font-weight:700}.incident-card>div:not(:first-child){margin-top:11px;color:#4a4f60;font-size:9px;line-height:1.55}.incident-card footer{margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}.incident-card footer button{padding:7px 9px;color:var(--blue);background:#f1f2f9;border:0;border-radius:6px;font-size:8px;font-weight:700}.incident-detail-card{width:min(100%,850px)}.incident-detail-head{padding:18px 20px;border-bottom:1px solid var(--line)}.incident-detail-head h3{margin:11px 0 6px;font:700 15px Manrope}.incident-detail-head p{margin:0;color:#4a4f60;font-size:9px;line-height:1.65}.incident-detail-head small{display:block;margin-top:10px;color:var(--muted);font-size:8px}.incident-status-actions{padding:12px 20px;display:flex;gap:6px;flex-wrap:wrap;background:#f8f9fc}.incident-status-actions button{padding:7px 9px;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:6px;font-size:8px;font-weight:700}.incident-status-actions button:disabled{color:#fff;background:var(--green)}#incident-followup-form{margin:18px 20px;padding:15px;background:#f7f8fb;border-radius:10px}#incident-followup-form h3,.incident-followups h3{margin:0 0 11px;font:700 13px Manrope}#incident-followup-form>.module-primary{margin-top:12px;width:auto}.incident-followups{margin:18px 20px}.incident-followups article{padding:10px 0;display:grid;grid-template-columns:95px 1fr;gap:10px;border-bottom:1px solid var(--line)}.incident-followups article>span{align-self:start;padding:5px;color:var(--blue);background:#eef0fb;border-radius:5px;font-size:7px;font-weight:700;text-align:center}.incident-followups p{margin:0;color:#4a4f60;font-size:9px;line-height:1.5}.incident-followups small{display:block;margin-top:5px;color:var(--muted);font-size:7px}.incident-ack{margin:18px 20px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff6e9;border:1px solid #f1d7ad;border-radius:10px}.incident-ack p{margin:0;font-size:9px}.incident-ack button{width:auto}.incident-ack.done{color:var(--green);background:#edf8f0;border-color:#cbe9d3;font-size:9px;font-weight:700}
@media(max-width:760px){.incident-list{grid-template-columns:1fr}.incident-filters{overflow:auto}.incident-filters button{white-space:nowrap}.incident-ack{align-items:flex-start;flex-direction:column}.incident-ack button{width:100%}}

/* Permisos y autorizaciones */
.authorization-summary{margin-bottom:16px}.authorization-filters{padding:11px 16px;display:flex;gap:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.authorization-filters button{padding:7px 10px;color:var(--muted);background:#f4f5f8;border:0;border-radius:7px;font-size:8px;font-weight:700}.authorization-filters button.active{color:#fff;background:var(--blue)}.authorization-grid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.authorization-card{padding:17px;display:flex;min-width:0;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff}.authorization-card header{display:flex;align-items:center;gap:8px}.authorization-card header small{margin-left:auto;color:var(--muted);font-size:7px}.authorization-card h3{margin:14px 0 6px;font:700 15px Manrope}.authorization-card>p{margin:0;color:#555b6b;font-size:9px;line-height:1.55}.authorization-card dl,.authorization-detail-head dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.authorization-card dl>div,.authorization-detail-head dl>div{padding:9px;background:#f7f8fb;border-radius:8px}.authorization-card dt,.authorization-detail-head dt{color:var(--muted);font-size:7px}.authorization-card dd,.authorization-detail-head dd{margin:4px 0 0;font-size:8px;font-weight:700}.authorization-progress{margin-top:auto;padding-top:14px}.authorization-progress>span{height:6px;display:block;overflow:hidden;background:#edf0f4;border-radius:99px}.authorization-progress i{height:100%;display:block;background:var(--green);border-radius:inherit}.authorization-progress small{display:block;margin-top:6px;color:var(--muted);font-size:7px}.authorization-card>button{width:auto;margin-top:12px;align-self:flex-end}.authorization-form-card,.authorization-detail-card{width:min(100%,940px)}.authorization-groups{padding:13px;background:#f7f8fb;border-radius:10px}.authorization-groups>strong{font-size:9px}.authorization-groups>div{margin-top:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.authorization-groups label{padding:9px;display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px}.authorization-groups input{margin-top:2px;accent-color:var(--blue)}.authorization-groups span{display:flex;min-width:0;flex-direction:column;gap:3px}.authorization-groups b{font-size:8px}.authorization-groups small{color:var(--muted);font-size:7px}.authorization-detail-head{padding:19px 22px;border-bottom:1px solid var(--line)}.authorization-detail-head>div:first-child{display:flex;align-items:center;gap:8px}.authorization-detail-head>div:first-child small{color:var(--muted);font-size:8px}.authorization-detail-head h3{margin:15px 0 7px;font:700 17px Manrope}.authorization-detail-head>p{margin:0;color:#4b5160;font-size:9px;line-height:1.65}.authorization-file{margin-top:10px;display:inline-flex;padding:8px 10px;color:var(--blue);background:#eef0fb;border-radius:7px;font-size:8px;font-weight:700;text-decoration:none}.authorization-admin-actions{padding:12px 22px;display:flex;gap:7px;flex-wrap:wrap;background:#f8f9fc;border-bottom:1px solid var(--line)}.authorization-admin-actions button,.authorization-admin-actions label{width:auto;min-height:35px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;font-size:8px}.authorization-admin-actions label{cursor:pointer}.module-secondary.danger{color:var(--red);background:#fceff0}.authorization-roster{padding:18px 22px}.authorization-roster>h3{margin:0 0 10px;font:700 13px Manrope}.authorization-roster a{color:var(--blue);font-size:8px;font-weight:700}.authorization-family-response{margin:16px 22px;padding:15px;border:1px solid var(--line);border-radius:11px}.authorization-family-response header{display:flex;align-items:center;justify-content:space-between;gap:10px}.authorization-family-response header>div{display:flex;flex-direction:column;gap:3px}.authorization-family-response header strong{font-size:11px}.authorization-family-response header small,.authorization-family-response>p{color:var(--muted);font-size:8px}.authorization-family-response>a{color:var(--blue);font-size:8px;font-weight:700}.authorization-response-fields{margin-top:13px;padding-top:13px;display:grid;gap:10px;border-top:1px solid var(--line)}.authorization-response-fields label:not(.modal-check):not(.authorization-upload){display:grid;gap:5px;color:#454a59;font-size:8px;font-weight:700}.authorization-response-fields input:not([type=checkbox]),.authorization-response-fields textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;font:500 9px DM Sans}.authorization-response-fields>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.authorization-response-fields button{width:auto}.authorization-upload{padding:10px;color:var(--blue);background:#eef0fb;border:1px dashed #bfc5e8;border-radius:8px;font-size:8px;font-weight:700;cursor:pointer}.authorization-upload input{margin-left:8px;font-size:8px}
@media(max-width:760px){.authorization-grid{grid-template-columns:1fr;padding:10px}.authorization-filters{overflow:auto}.authorization-filters button{white-space:nowrap}.authorization-groups>div{grid-template-columns:1fr}.authorization-card dl,.authorization-detail-head dl{grid-template-columns:1fr}.authorization-card>button{width:100%}.authorization-response-fields>div:last-child{display:grid}.authorization-response-fields button{width:100%}}

/* Mensajería y citas */
.messaging-summary{margin-bottom:16px}.messaging-head-actions{display:flex;gap:7px}.messaging-head-actions button{width:auto}.messaging-tabs{padding:0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.messaging-layout{min-height:570px;display:grid;grid-template-columns:310px minmax(0,1fr)}.thread-list{overflow:auto;border-right:1px solid var(--line);background:#fafbfc}.thread-list>button{width:100%;padding:13px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line)}.thread-list>button.active{background:#eef0fb;box-shadow:inset 3px 0 var(--blue)}.thread-list>button>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:4px}.thread-list strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-list small{color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-list b{min-width:18px;height:18px;display:grid;place-items:center;color:#fff;background:var(--red);border-radius:99px;font-size:7px}.chat-panel{min-width:0;display:flex;flex-direction:column;background:#fff}.chat-panel>header{padding:15px 18px;border-bottom:1px solid var(--line)}.chat-panel h3{margin:0;font:700 13px Manrope}.chat-panel header p{margin:4px 0 0;color:var(--muted);font-size:8px}.chat-messages{padding:18px;min-height:390px;max-height:520px;overflow:auto;display:flex;flex-direction:column;gap:10px;background:#f7f8fb}.chat-messages>article{max-width:75%;padding:10px 12px;align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:4px 12px 12px 12px}.chat-messages>article.own{align-self:flex-end;background:#e9ecff;border-color:#d2d7f7;border-radius:12px 4px 12px 12px}.chat-messages article small{color:var(--muted);font-size:7px}.chat-messages article p{margin:5px 0 0;color:#303443;font-size:9px;line-height:1.55}.chat-messages article>div{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap}.chat-messages article a{padding:5px 7px;color:var(--blue);background:#fff;border-radius:5px;font-size:7px;font-weight:700;text-decoration:none}#message-compose-form{padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) 36px 85px;align-items:end;gap:7px;border-top:1px solid var(--line)}#message-compose-form textarea{min-height:46px;padding:10px;border:1px solid var(--line);border-radius:9px;resize:vertical;font:500 9px DM Sans}#message-compose-form>label{height:36px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:8px;font-weight:700;cursor:pointer}#message-compose-form button{height:36px}#message-compose-form .modal-error{grid-column:1/-1;margin:0}.thread-closed{padding:15px;color:var(--muted);background:#f7f8fb;font-size:8px;text-align:center}.appointment-grid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.appointment-card{padding:16px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:11px}.appointment-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.appointment-card header small{color:var(--muted);font-size:7px}.appointment-card h3{margin:14px 0 4px;font:700 14px Manrope}.appointment-card>p{margin:0;color:var(--green);font-size:8px;font-weight:700}.appointment-card dl,.appointment-detail-head dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointment-card dl>div,.appointment-detail-head dl>div{padding:9px;background:#f7f8fb;border-radius:8px}.appointment-card dt,.appointment-detail-head dt{color:var(--muted);font-size:7px}.appointment-card dd,.appointment-detail-head dd{margin:4px 0 0;font-size:8px;font-weight:700}.appointment-card>button{width:auto;margin-top:auto;align-self:flex-end}.appointment-detail-card{width:min(100%,820px)}.appointment-detail-head{padding:18px 21px;border-bottom:1px solid var(--line)}.appointment-detail-head h3{margin:13px 0 6px;font:700 16px Manrope}.appointment-detail-head>p{margin:0;color:#4a4f60;font-size:9px;line-height:1.6}.appointment-response{margin:16px 21px;padding:15px;display:grid;gap:11px;background:#f7f8fb;border-radius:10px}.appointment-response>h3,.appointment-history>h3{margin:0;font:700 13px Manrope}.appointment-response label{display:grid;gap:5px;color:#454a59;font-size:8px;font-weight:700}.appointment-response input,.appointment-response select,.appointment-response textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;font:500 9px DM Sans}.appointment-response>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.appointment-response button{width:auto}.appointment-history{margin:18px 21px}.appointment-history article{padding:9px 0;display:grid;grid-template-columns:10px 1fr;gap:9px;border-bottom:1px solid var(--line)}.appointment-history i{width:8px;height:8px;margin-top:3px;background:var(--green);border-radius:50%}.appointment-history strong{font-size:9px}.appointment-history p{margin:3px 0;color:#4a4f60;font-size:8px}.appointment-history small{color:var(--muted);font-size:7px}
@media(max-width:850px){.messaging-layout{grid-template-columns:1fr}.thread-list{max-height:220px;border-right:0;border-bottom:1px solid var(--line)}.appointment-grid{grid-template-columns:1fr}.messaging-head-actions{flex-direction:column}.messaging-head-actions button{width:100%}}
@media(max-width:600px){.chat-messages>article{max-width:92%}#message-compose-form{grid-template-columns:1fr 36px}#message-compose-form button{grid-column:1/-1}.appointment-card dl,.appointment-detail-head dl{grid-template-columns:1fr}.appointment-response>div:last-child{display:grid}.appointment-response button{width:100%}}

/* Usuarios y seguridad */
.profile-password{width:100%;padding:10px;display:flex;align-items:center;gap:10px;color:var(--blue);background:transparent;border:0;border-radius:9px;text-align:left}.profile-password:hover{background:#eef0fb}.profile-password>span:first-child{width:30px;height:30px;display:grid;place-items:center;background:#eef0fb;border-radius:8px}.profile-password>span:last-child{display:flex;flex-direction:column}.profile-password strong{font-size:9px}.profile-password small{margin-top:2px;color:var(--muted);font-size:8px}.password-change-card{width:min(100%,520px)}.security-summary{margin-bottom:16px}.security-search{width:min(260px,100%)}.security-tabs{padding:0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.security-table td:first-child small{display:block;margin-top:4px;color:var(--muted);font-size:7px}.role-pills{display:flex;gap:4px;flex-wrap:wrap}.role-pills span{padding:4px 7px;color:var(--blue);background:#eef0fb;border-radius:99px;font-size:7px;font-weight:700}.security-flag{font-size:8px;font-weight:700}.security-flag.good{color:var(--green)}.security-flag.pending{color:#b26924}.security-flag.alert{color:var(--red)}.security-user-card{width:min(100%,720px)}.security-account-summary{padding:12px 14px;display:flex;justify-content:space-between;gap:12px;background:#f7f8fb;border-radius:9px}.security-account-summary strong{font-size:10px}.security-account-summary span{color:var(--muted);font-size:9px}.security-user-card fieldset{padding:14px;border:1px solid var(--line);border-radius:10px}.security-user-card legend{padding:0 6px;color:#454a59;font-size:8px;font-weight:700}.security-role-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.security-role-options label{padding:10px;display:flex!important;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px}.security-role-options input{accent-color:var(--blue)}.security-role-options span{display:flex;flex-direction:column}.security-role-options strong{font-size:9px}.security-role-options small{color:var(--muted);font-size:7px}.security-user-card footer{flex-wrap:wrap}.module-secondary.danger{color:var(--red)}.security-session-list{padding:15px;display:grid;gap:9px}.security-session-list article{padding:13px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px}.security-device{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:9px;font-size:8px;font-weight:700}.security-session-list strong{font-size:10px}.security-session-list p{margin:3px 0;color:#555b6c;font-size:8px}.security-session-list small{color:var(--muted);font-size:7px}.security-policy{padding:22px}.security-policy-intro{margin-bottom:20px;display:flex;align-items:center;gap:12px}.security-policy-intro>span{width:42px;height:42px;display:grid;place-items:center;color:var(--blue);background:#eef0fb;border-radius:10px}.security-policy-intro h3{margin:0;font:700 14px Manrope}.security-policy-intro p{margin:4px 0 0;color:var(--muted);font-size:8px}.security-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.security-policy-grid label{padding:13px;display:grid;gap:7px;color:#454a59;background:#f8f9fc;border:1px solid var(--line);border-radius:10px;font-size:8px;font-weight:700}.security-policy-grid input{height:39px;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:7px}.security-policy-grid small{color:var(--muted);font-size:7px;font-weight:400}.security-policy>button{width:auto;margin-top:16px}.security-audit-list{padding:15px;display:grid}.security-audit-list article{padding:12px 5px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.security-audit-list i{width:10px;height:10px;background:var(--green);border:3px solid #dff4e5;border-radius:50%}.security-audit-list strong{font-size:9px}.security-audit-list p{margin:3px 0 0;color:var(--muted);font-size:7px}.security-audit-list time{color:var(--muted);font-size:7px}@media(max-width:850px){.security-policy-grid{grid-template-columns:1fr 1fr}.security-session-list article{grid-template-columns:40px minmax(0,1fr)}.security-session-list article>button,.security-session-list article>.status{grid-column:2;justify-self:start}.security-user-card footer{justify-content:flex-start}}@media(max-width:560px){.security-policy-grid,.security-role-options{grid-template-columns:1fr}.security-account-summary{flex-direction:column}.security-tabs{overflow-x:auto;display:flex}.security-tabs button{white-space:nowrap}}
