/* FERPA SAFETY — surface, navigation and accessible controls. */
:root{--radius:12px;--radius-lg:20px;--navy-900:#102c40;--safety:#c63e0c;--sidebar-w:244px}
html{scroll-padding-top:100px}body{background:#edf2f6;background-image:radial-gradient(ellipse at 90% 0%,#f8e8df 0,transparent 45%),radial-gradient(ellipse at 20% 60%,#e0ebf3 0,transparent 55%)}
[hidden]{display:none!important}.cot-main{min-width:0;width:100%;max-width:1600px;padding:32px clamp(18px,3vw,48px) 110px}.cot-view{min-width:0}
.cot-card,.kpi-card{border:1px solid #ffffffd9;background:#ffffffd9;box-shadow:0 8px 30px #102c4009,inset 0 1px #fff;border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.cot-card:hover,.kpi-card:hover{transform:none}.cot-topbar{margin-bottom:26px}.cot-topbar h1{font-size:clamp(1.4rem,2.3vw,2rem);letter-spacing:-.04em}
.cot-sidebar{width:244px;height:100dvh;background:linear-gradient(155deg,#18374b,#081927 75%);padding:24px 14px;overflow-y:auto}.cot-nav{min-height:0}.cot-nav button{min-height:44px;border-radius:12px}.cot-nav button.is-active{background:linear-gradient(110deg,#d14818,#b3330c);box-shadow:0 5px 16px #0002}.nav-group-label{letter-spacing:.13em;font-size:.65rem;margin-top:18px}
.brand-lockup{display:flex;align-items:center;gap:11px;flex:none;background:transparent;border:0;border-radius:8px;padding:4px 0;margin:0 5px 22px;text-decoration:none}.brand-lockup img{display:block;flex:none;width:46px;height:46px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:2px;line-height:1.1}.brand-copy strong{font-size:1.35rem;font-weight:800;letter-spacing:.035em;color:#fff}.brand-copy>span{font-size:.62rem;font-weight:700;letter-spacing:.27em;color:#b8c8d4}.login-logo{width:280px;max-width:100%;height:auto;margin:0 auto 18px;display:block}
.login-screen{min-height:100dvh;overflow:auto}.login-card{width:440px;max-width:100%;border-radius:28px;padding:36px;box-shadow:0 30px 100px #0005}.login-card .sub{margin-bottom:26px}.login-card::before{display:none}
.grid-2,.grid-3,.charts-grid,.kpi-grid{min-width:0}.grid-2>*,.grid-3>*,.charts-grid>*{min-width:0}.seg-tabs{max-width:100%;overflow-x:auto;white-space:nowrap}.seg-tab{flex-shrink:0}.btn{white-space:normal;min-height:42px}.field input,.field textarea,.field select{max-width:100%}
.modal-overlay{padding:20px;overscroll-behavior:contain}.modal-card,.modal-card-lg{max-height:calc(100dvh - 40px);overflow-y:auto!important;overscroll-behavior:contain}.modal-actions{flex-wrap:wrap}.modal-head{gap:12px}.modal-close{flex:none;min-width:44px;min-height:44px}.modal-body{min-width:0}
.items-table-wrap,.oc-items-wrap,.admin-table-wrap,.kanban-scroll{max-width:100%;overflow-x:auto;touch-action:pan-x pan-y}.kanban-col{flex-shrink:0}.team-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px}.team-entry{padding:22px 0;border-bottom:1px solid #dfe6ed}.team-entry:last-child{border:0}.team-entry h3{font-size:1.1rem;margin:6px 0}.team-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.team-meta{font-size:.8rem;color:#586b7a}.team-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.team-status{padding:12px 16px;background:#e6edf3;border-radius:12px;margin-bottom:18px}.team-status:empty{display:none}.team-actions [aria-pressed=true]{background:#102c40;color:white}.team-form{display:grid;gap:14px}.team-form .field{margin:0}.team-empty{padding:35px 12px;color:#586b7a;text-align:center}.team-eyebrow{font-size:.7rem;letter-spacing:.13em;color:var(--safety);font-weight:800;text-transform:uppercase}.team-entry.is-cancelled{opacity:.65}
/* Native select stays in the form for existing value/change/validation logic. */
.fs-control{position:relative;width:100%;min-width:0}.fs-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important}.fs-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #cbd6df;border-radius:12px;background:#ffffffe8;color:#102c40;font:inherit;text-align:left;min-height:44px}.fs-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-button:disabled{opacity:.55;cursor:not-allowed}
.fs-popup{position:fixed;inset:auto;margin:0;padding:8px;border:1px solid #ffffff40;border-radius:16px;background:#102536f5;color:#fff;box-shadow:0 18px 50px #07122050;backdrop-filter:blur(24px);z-index:20000;overflow:auto;overscroll-behavior:contain}.fs-popup::backdrop{background:transparent}.fs-popup input{width:100%;background:#ffffff14!important;color:#fff!important;border:1px solid #ffffff30!important;border-radius:10px;padding:11px;font-size:16px;margin-bottom:6px}.fs-popup input::placeholder{color:#c3cfd8}.fs-option{display:block;width:100%;border:0;background:transparent;color:white;text-align:left;border-radius:9px;padding:11px 12px;font:inherit;min-height:44px;white-space:normal}.fs-option:hover,.fs-option:focus-visible,.fs-option[aria-selected=true]{background:#ffffff20}.fs-option[aria-selected=true]{box-shadow:inset 3px 0 #f17743}.fs-option:disabled{opacity:.4}.fs-empty{padding:16px;color:#c3cfd8}.fs-group{padding:8px 12px;color:#b3c4cf;font-size:.75rem}
.autocomplete-list[popover],.global-search-results[popover]{margin:0!important;inset:auto;position:fixed!important;z-index:20000!important;box-sizing:border-box;overscroll-behavior:contain}.autocomplete-list[popover]:not(:popover-open),.global-search-results[popover]:not(:popover-open){display:none!important}
@media(min-width:901px){.cot-nav{flex:1;overflow-y:auto}.cot-sidebar-foot{flex:none}.global-search{flex:none}}
@media(max-width:900px){.cot-shell.is-visible{flex-direction:column}.cot-sidebar{position:sticky;top:0;width:100%;height:auto;max-height:100dvh;display:flex;flex-direction:row;flex-wrap:wrap;overflow-y:auto;padding:10px 14px;gap:8px;z-index:90}.brand-lockup{width:155px;margin:0;padding:4px 10px;border-radius:10px}.mobile-nav-toggle{min-width:44px;min-height:44px}.cot-nav{flex:1 0 100%;max-height:none!important;overflow:visible!important;margin:0;order:10}.cot-nav button{flex-shrink:0}.cot-sidebar-foot{order:11;margin:0}.global-search{order:3;width:100%;margin:0!important}.cot-main{padding:22px 14px 110px}.team-layout{grid-template-columns:1fr}.grid-2,.grid-3,.charts-grid{grid-template-columns:1fr}.modal-overlay{padding:10px}.modal-card,.modal-card-lg{width:100%;max-width:760px;max-height:calc(100dvh - 20px);padding:18px}.seg-tabs{display:flex;width:100%}.cot-card{padding:18px}.login-card{padding:28px 22px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{overflow-wrap:anywhere}.team-actions .btn{flex:1 1 auto}.cot-topbar{gap:14px}.cot-topbar .topbar-actions{flex-wrap:wrap}input,textarea,select,.fs-button{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.charts-grid canvas,#chartReporte,#chartMargen{max-width:100%;height:auto}
@media(max-width:900px){.brand-lockup{width:auto;margin:0;padding:0;gap:9px}.brand-lockup img{width:39px;height:39px}.brand-copy strong{font-size:1.1rem}.brand-copy>span{font-size:.55rem}}
.team-layout{align-items:start}.login-card{background:rgba(255,255,255,.92)}
.team-confirm{max-width:440px;width:calc(100% - 32px);border:1px solid #fff;border-radius:22px;padding:26px;background:#f5f8fc;box-shadow:0 24px 80px #07122060;color:#102c40}.team-confirm::backdrop{background:#07122090;backdrop-filter:blur(8px)}
@media print{.cot-sidebar,.fs-popup{display:none!important}.cot-main{padding:0}.cot-card{backdrop-filter:none;box-shadow:none}}
