*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}body{margin:0;background:#f3f6fa;color:#183449;font-size:15px;line-height:1.5}a{color:#116b85;text-decoration:none}a:hover{text-decoration:underline}.ui-icon{flex-shrink:0;vertical-align:middle}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;flex:0 0 252px;background:#12364b;color:#d7e8f0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20;box-shadow:5px 0 24px #12364b0c}.brand{display:flex;align-items:center;gap:12px;padding:26px 22px 31px;color:white}.brand:hover{text-decoration:none}.brand-mark{width:42px;height:42px;background:#2b647b;border-radius:12px;display:grid;place-items:center;color:#fff}.brand-mark svg{width:23px;height:23px}.brand strong{display:block;letter-spacing:.07em;font-size:16px}.brand small{display:block;color:#b8d5e2;font-size:11px;letter-spacing:.16em}.side-label{padding:0 23px 10px;font-size:10px;letter-spacing:.16em;color:#88acbe;font-weight:800}.side-nav{display:flex;flex-direction:column;gap:5px;padding:0 11px}.side-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;color:#d8e7ef;font-weight:550;font-size:13px;min-height:46px}.side-link:hover{background:#224c61;color:#fff;text-decoration:none}.side-link.is-active{background:#2b5c72;color:white;box-shadow:inset 3px 0 #4cbdc6}.side-footer{margin-top:auto;padding:14px 11px 20px;border-top:1px solid #34586a}.main-shell{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid #e2e9f0;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:14px}.topbar-brand{font-size:13px;font-weight:800;letter-spacing:.045em;color:#365468}.user-pill{display:flex;align-items:center;gap:10px;color:#304c5e;font-weight:600;font-size:13px}.user-avatar{height:35px;width:35px;border-radius:50%;background:#d9ebf0;color:#174b60;display:grid;place-items:center;font-weight:800}.main-content{width:100%;max-width:1540px;margin:0 auto;padding:30px 34px 55px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{color:#708698;font-size:10px;font-weight:800;letter-spacing:.16em}h1{font-size:29px;letter-spacing:-.04em;margin:4px 0;color:#153449}h2{color:#193e53}.panel{background:#fff;border:1px solid #e0e8ef;border-radius:15px;padding:24px;margin-bottom:19px;box-shadow:0 4px 20px #173d5108;overflow-x:auto}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stats .panel{position:relative;min-height:145px}.stats .panel:before{content:"";width:34px;height:4px;border-radius:4px;background:#1a8192;position:absolute;right:22px;top:23px}.stats .panel:nth-child(2):before{background:#1b8d7a}.stats .panel:nth-child(3):before{background:#bd842f}.stats h2{font-size:36px;margin:12px 0 0;letter-spacing:-.05em}.stats small{color:#617c8d;font-size:13px}form:not(.inline){max-width:650px}label{display:block;font-weight:650;margin-bottom:15px;color:#2c4b5d}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #cbd8e2;border-radius:9px;font:inherit;background:#fff;color:#1a3446;min-height:44px}input:focus,select:focus,textarea:focus{outline:3px solid #c8e8ee;border-color:#16829b}.check{display:flex;gap:10px;align-items:center}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 17px;min-height:43px;background:#126d85;color:#fff;text-decoration:none;cursor:pointer;font:inherit;font-weight:650;transition:background .15s,transform .15s}button:hover,.button:hover{background:#0d5267;color:white;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.inline{display:flex;gap:8px;align-items:center}.inline select{min-width:135px;margin:0}table{width:100%;border-collapse:collapse}th,td{padding:13px 15px;border-bottom:1px solid #e9eef2;text-align:left}th{font-size:12px;letter-spacing:.025em;color:#60798b;background:#f8fafc}tr:hover td{background:#fafcfd}small{color:#60798b}.error{color:#a42323}.notice{padding:16px;background:#fff5e5;border:1px solid #f1d9ac;border-radius:10px}.app-footer{text-align:center;color:#8ba0ae;font-size:11px;padding:14px 25px 23px}.menu-toggle{display:none;background:transparent;color:#153449;padding:8px;min-height:38px}.menu-toggle:hover{background:#edf4f7;color:#153449}.menu-overlay{display:none}.auth-layout{min-height:100vh;background:linear-gradient(130deg,#12364b 0%,#1b6476 48%,#f3f6fa 48%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px}.auth-brand{color:#fff;display:flex;gap:12px;align-items:center;margin-bottom:24px;font-size:19px;font-weight:800}.auth-brand b{color:#b8dbe6}.auth-main{width:min(100%,480px);padding:28px;background:white;border-radius:18px;box-shadow:0 20px 70px #0a253e25}.auth-main h1{font-size:24px}.auth-main .panel{padding:0;border:0;box-shadow:none}.auth-main button{width:100%}@media(max-width:1050px){.sidebar{width:224px;flex-basis:224px}.topbar{padding:0 22px}.main-content{padding:25px 22px}}@media(max-width:800px){.sidebar{position:fixed;left:0;transform:translateX(-105%);transition:transform .2s;width:260px;height:100dvh}.menu-open .sidebar{transform:translateX(0)}.menu-open .menu-overlay{display:block;position:fixed;inset:0;background:#071c2c88;z-index:10}.menu-toggle{display:inline-flex}.topbar{height:64px}.topbar-brand{margin-right:auto}.main-content{padding:22px 16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.user-name{display:none}}@media(max-width:520px){h1{font-size:24px}.stats{grid-template-columns:1fr}.panel{padding:17px}.topbar-brand{font-size:11px}.inline{flex-wrap:wrap}table{font-size:12px}th,td{padding:10px 9px}.stats .panel{min-height:115px}.stats h2{font-size:30px}}
/* v1.0.2 */
.filter-links{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.filter-selected{outline:2px solid #1b8b8b;outline-offset:2px}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap table{min-width:650px}

/* v1.0.6 - selección manual de números del organizador */
.number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px;margin:15px 0}.number-choice{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;cursor:pointer}.number-choice:has(input:checked){border-color:#247fa4;background:#e8f4fa}.number-choice:has(input:disabled){opacity:.55;cursor:not-allowed}

.notification-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.notification-filters a{display:inline-block;padding:8px 12px;border:1px solid #d7e0e7;border-radius:9px;text-decoration:none;color:#17435b}.notification-filters a.notice-active{background:#17435b;color:white}.notice-item{display:flex;align-items:center;gap:16px;padding:16px 8px;border-bottom:1px solid #e4eaf0;flex-wrap:wrap}.notice-item>div{flex:1;min-width:190px}.notice-item p{margin:5px 0;color:#667b8a}.notice-kind{font-size:12px;padding:6px 9px;border-radius:9px;background:#e8f0f5;color:#194c68}.notice-item>a{white-space:nowrap}
