/* A Tetris-inspired cabinet: readable LCD panels, beveled blocks, real data. */
.admin-page,.tetris-challenges{--ocean:#233d37;--ink:#233d37;--paper:#f6f8e9;--peach:#e5ecda;--steel:#8b9f89;--muted:#52654f;--line:#a7b69b;--tetris-font:'Ludicon Pixel',monospace;color:#233d37;background-color:#d5dfc5;background-image:linear-gradient(#758f6d19 1px,transparent 1px),linear-gradient(90deg,#758f6d19 1px,transparent 1px);background-size:24px 24px;font-family:'Google Sans',Arial,sans-serif}
.admin-page :is(.admin-main,.dashboard-main),.tetris-challenges .portal-main{background:transparent}
.admin-page :is(.admin-heading,.dashboard-heading),.tetris-challenges .portal-hero{position:relative;padding:28px;border:3px solid #28483c;border-left:10px solid #28483c;background:#eff5d8;box-shadow:5px 5px #879a79;margin-bottom:28px;gap:24px}
.admin-page :is(.admin-heading,.dashboard-heading)::after,.tetris-challenges .portal-hero::after{content:'';display:block;width:100%;height:12px;margin-top:20px;background:repeating-linear-gradient(90deg,#477773 0 24px,#eff5d8 24px 27px,#9b6d40 27px 51px,#eff5d8 51px 54px,#746293 54px 78px,#eff5d8 78px 81px);flex-basis:100%}
.admin-page :is(h1,.section-kicker),.tetris-challenges :is(h1,h2,.section-kicker){font-family:var(--tetris-font);letter-spacing:0;text-transform:none}
.admin-page h1,.tetris-challenges h1{font-size:clamp(1.5rem,3.2vw,2.7rem);line-height:1.35;overflow-wrap:anywhere}
.admin-page .section-kicker,.tetris-challenges .section-kicker{font-size:.72rem;line-height:1.7;color:#466046}
.admin-page :is(.portal-card,.dashboard-kpi,.dashboard-card,.dashboard-role-card,.dashboard-operation-card,.admin-panel,.form-card,.achievement-form,.achievement-admin-item,.admin-modal-dialog,.confirmation-dialog){border:2px solid #8b9f89;border-radius:0;background:#f6f8e9;color:#233d37;box-shadow:4px 4px #85977555}
.admin-page .dashboard-kpi{border-top:8px solid #477773;position:relative}
.admin-page .dashboard-kpi:nth-child(2){border-top-color:#9b6d40}.admin-page .dashboard-kpi:nth-child(3){border-top-color:#746293}.admin-page .dashboard-kpi:nth-child(4){border-top-color:#9a5552}
.admin-page :is(.dashboard-kpi strong,.dashboard-role-grid strong,.dashboard-metric-list dd,.dashboard-bar-rank,.dashboard-bar-label strong,.dashboard-day-bars strong,.dashboard-kpi-index,table,input,select,textarea){font-family:'Google Sans',Arial,sans-serif;font-variant-numeric:tabular-nums}
.admin-page .dashboard-kpi>strong{font-size:2.8rem;line-height:1.2}
.admin-page :is(.dashboard-kpi h2,.dashboard-card h2,.dashboard-operation-card h2,.dashboard-role-card h2){font-size:1.2rem;line-height:1.4}
.admin-page :is(.dashboard-bar-track,.dashboard-day-track){border-radius:0;background:#dfe7d0}
.admin-page .dashboard-bar-track>span,.admin-page .dashboard-day-track>span{border-radius:0;background-color:#477773;background-image:repeating-linear-gradient(90deg,transparent 0 20px,#ffffff65 20px 22px);box-shadow:inset 2px 2px #ffffff50,inset -2px -2px #0003}
.admin-page :is(table,fieldset,.dashboard-empty){border-color:#a7b69b;border-radius:0}
.admin-page table :is(th,td){color:#233d37;border-color:#bac6ad}
.admin-page table th{background:#e0e9cc}.admin-page table tbody tr:nth-child(even){background:#eef3e2}
.admin-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea){background:#fffef5;color:#233d37;border-color:#82977a;border-radius:0}
.admin-page :is(.button,.admin-action),.tetris-challenges .button{border-radius:0;box-shadow:3px 3px #152e3055}
.admin-page .button-primary,.tetris-challenges .button-primary{background:#28483c;border-color:#28483c;color:#f6f8e9}
.admin-page .button-secondary,.tetris-challenges .button-secondary{background:#eff5d8;border-color:#28483c;color:#28483c}
.admin-page :is(a,button,input,select,textarea):focus-visible,.tetris-challenges :is(a,button):focus-visible{outline:3px solid #7550a4;outline-offset:3px}
.dashboard-module-link{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:12px;padding:5px 9px;border:1px solid #91a181;color:#28483c;background:#e7efd5;text-decoration:none;font-size:.82rem;font-weight:700}
.dashboard-module-link:hover{background:#d1e2b8}.dashboard-module-links{display:flex;flex-wrap:wrap;gap:8px}
.admin-page .achievement-form{max-width:none;padding:24px}.admin-page .achievement-admin-item{padding:20px;align-items:flex-start;border-left:7px solid #746293}.admin-page .achievement-admin-item img{border-radius:0;border:2px solid #8b9f89;object-fit:cover}
.tetris-challenges .portal-hero{display:block;max-width:none}.tetris-challenges .portal-hero p{max-width:70ch}
.tetris-challenges .portal-card{padding:26px;border:2px solid #8b9f89;border-radius:0;background:#f6f8e9;box-shadow:5px 5px #85977555}
.tetris-challenges .teacher-challenge-grid{gap:22px}
.tetris-challenges .teacher-challenge-card{padding:24px;border:2px solid #8b9f89;border-left:8px solid #746293;border-radius:0;background:#eff5d8;color:#233d37;box-shadow:4px 4px #85977533}
.tetris-challenges .teacher-challenge-card h3{font-family:var(--tetris-font);font-size:1.1rem;line-height:1.6;color:#28483c}
.tetris-challenges .teacher-challenge-card.is-complete{border-left-color:#477773;background:#dcebc9}
:is(.admin-page,.tetris-challenges) .site-footer{background:#142b2b;color:#f3f7dc;border-top:4px solid #74978b}
:is(.admin-page,.tetris-challenges) .site-footer :is(p,a,small){color:#f3f7dc}
@media(max-width:640px){.admin-page :is(.admin-heading,.dashboard-heading),.tetris-challenges .portal-hero{padding:18px}.admin-page h1,.tetris-challenges h1{font-size:1.5rem}.tetris-challenges .portal-card{padding:16px}.tetris-challenges .teacher-challenge-card{padding:16px;grid-template-columns:64px minmax(0,1fr)}.tetris-challenges .teacher-challenge-actions{grid-column:1/-1;max-width:none}.admin-page .achievement-admin-item{flex-wrap:wrap}}

.tetris-challenges.teacher-challenges-page .portal-hero,.tetris-challenges.teacher-challenges-page .portal-hero p{color:#233d37}.tetris-challenges.teacher-challenges-page .portal-hero .section-kicker{color:#466046}
.admin-page :is(.admin-heading,.dashboard-heading){flex-wrap:wrap}

.admin-page :is(.admin-heading,.dashboard-heading)::after,.tetris-challenges .portal-hero::after{position:absolute;right:24px;bottom:18px;width:220px;height:122px;margin:0;background:url('../images/tetris-blocks.svg') center/contain no-repeat;pointer-events:none;opacity:.8}
.admin-page :is(.admin-heading,.dashboard-heading),.tetris-challenges .portal-hero{padding-right:280px}
.admin-page .dashboard-kpi::after{border-radius:0;background:#dfe8cc;box-shadow:inset 3px 3px #fff8,inset -3px -3px #74886455}
@media(max-width:800px){.admin-page :is(.admin-heading,.dashboard-heading),.tetris-challenges .portal-hero{padding-right:20px;padding-bottom:85px}.admin-page :is(.admin-heading,.dashboard-heading)::after,.tetris-challenges .portal-hero::after{height:56px;width:102px;right:20px;bottom:15px}}

body.admin-page :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]),textarea,select,[contenteditable="true"]){border-radius:0;border-color:#82977a;background:#fffef5;color:#233d37}

.admin-page :is(.admin-table-card,.admin-count,.user-filter-clear,.admin-action){border-radius:0}
.admin-page .admin-table-card{border:2px solid #8b9f89;background:#f6f8e9;box-shadow:4px 4px #85977555}
.admin-page .achievement-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.admin-page .achievement-form label{font-weight:600}
.admin-page .achievement-form label small{font-weight:400;line-height:1.5;color:#52654f}
.admin-page .achievement-form :is(input:not([type=checkbox]):not([type=hidden]):not([type=color]),select,textarea){width:100%;min-height:46px;padding:10px 12px;font:inherit}
.admin-page .achievement-form textarea{min-height:100px;resize:vertical}
.admin-page .achievement-form label:has(textarea),.admin-page .achievement-form label:has([name=condicion_texto]),.admin-page .achievement-form-actions{grid-column:1/-1}
.admin-page .achievement-form-actions{padding-top:18px;border-top:2px solid #a7b69b}
@media(max-width:640px){.admin-page .achievement-form fieldset{grid-template-columns:minmax(0,1fr)}}

.admin-page{--ludicon-number-font:"Google Sans"}
