/* OCX visual layer. No application, data, permission or navigation logic. */
@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
/* Replace with the licensed webfont when supplied. Do not extract PDF font subsets. */
@font-face{font-family:'Bacalar OCX';src:local('Bacalar Extra Expanded'),local('Bacalar-ExtraExpanded');font-weight:900;font-display:swap}
:root{--bg:#f5f5f5;--card:#fff;--text:#000;--muted:#626262;--line:#e1e1e1;--primary:#350f9c;--primary2:#6816b0;--danger:#ab2435;--warn:#855d16;--success:#246449;--info:#4960e6;--shadow:none;--radius:4px;--ocx-gradient:linear-gradient(90deg,#ff00ff 0%,#350f9c 33%,#4960e6 66%,#00ffff 100%);--display:'Bacalar OCX','Arial Black',Roboto,Arial,sans-serif}
body{font-family:Roboto,Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
button,summary,a,input,select,textarea{touch-action:manipulation}
.ui-icon{width:19px;height:19px;display:inline-block;vertical-align:-4px;flex:none;margin-right:8px}
.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.19em;line-height:1.5}
.brand-rule{height:4px;background:var(--ocx-gradient);flex:none}
.sidebar{width:248px;background:#000;padding:32px 20px 24px;display:flex;flex-direction:column;z-index:10;overflow-y:auto}
.brand{padding:14px 16px 38px;font-weight:400}
.brand img{display:block;width:124px;height:auto;filter:invert(1)}
.brand small{font-size:9px;opacity:1;color:#b8b8b8;letter-spacing:.17em;margin-top:24px}
.nav-caption{font-size:9px;color:#969696;letter-spacing:.16em;padding:0 16px 12px}
.nav{display:grid;gap:5px}
.nav button{display:flex;align-items:center;padding:12px 14px;margin:0;border:1px solid transparent;border-radius:3px;min-height:46px;font-size:13px;font-weight:400;line-height:1.3;color:#c5c5c5}
.nav .ui-icon{margin-right:12px;width:18px;height:18px}
.nav button:hover{background:#202020;color:#fff}
.nav button.active{background:#242424;color:#fff;border-color:#3e3e3e;border-left:3px solid #ff00ff;padding-left:12px;font-weight:700}
.nav button.active .ui-icon{color:#ff87ff}
.sidebar-footer{margin-top:auto;padding:48px 16px 0}
.sidebar-footer .brand-rule{height:3px;margin-bottom:21px}
.sidebar-footer b{display:block;font-size:10px;letter-spacing:.1em}
.sidebar-footer small{display:block;color:#aaa;font-size:10px;margin-top:6px}
.main{margin-left:248px;width:calc(100% - 248px);padding:34px 36px 56px;min-width:0;max-width:1900px}
.topbar{padding-bottom:26px;margin-bottom:22px;border-bottom:1px solid #000;flex-wrap:wrap;align-items:center}
.title{flex:1 1 250px;min-width:0!important}
.title .eyebrow{color:#6816b0;margin-bottom:10px}
.title h1{font-family:var(--display);font-weight:900;letter-spacing:-.045em;text-transform:uppercase;font-size:36px;line-height:1.05;overflow-wrap:anywhere}
.title p{font-size:13px;margin-top:10px;color:var(--muted)}
.top-actions{justify-content:flex-end;gap:10px;align-items:center}
.account-actions{gap:6px}
.account-actions>.btn{font-size:11px;padding:8px 9px}
.user-chip{border:0;border-radius:2px;padding:8px 9px;background:#ece8f6;font-size:11px;color:#350f9c;max-width:240px;overflow-wrap:anywhere}
.role-admin,.role-responsable{color:#350f9c}.role-empleado{color:#246449}.role-lectura{color:#3e3e3e}
.toolbar{gap:14px;margin-bottom:18px}
h2{font-size:21px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.section>.toolbar:first-child h2{font-size:24px}
.kpi{font-size:12px;line-height:1.5}
.toolbar .kpi{margin-top:4px}
.section>.toolbar>.kpi{max-width:670px;font-size:13px}
.grid{gap:18px}
.stats{gap:12px;margin-bottom:24px}
.stat{padding:20px 18px 18px;border-radius:3px;box-shadow:none;position:relative;min-height:116px;transition:border-color .15s,background .15s}
.stat:before{content:'';display:block;width:24px;height:3px;background:#000;margin-bottom:12px}
.stat:first-child:before{background:#6816b0}.stat:nth-child(2):before{background:#ab2435}.stat:nth-child(3):before{background:#4960e6}
.stat .l{font-size:12px;line-height:1.3;color:#3e3e3e}
.stat .n{font-family:var(--display);font-size:36px;font-weight:900;line-height:1.1;letter-spacing:-.04em;margin-top:10px;font-variant-numeric:tabular-nums}
.stat:first-child{background:#000;color:#fff;border-color:#000}
.stat:first-child .l{color:#e1e1e1}.stat:first-child:before{background:#ff00ff}
button.stat:hover{border-color:#6816b0;background:#f2eef9}button.stat:first-child:hover{background:#242424;color:#fff}
.card{padding:22px;border-radius:4px;box-shadow:none;border:1px solid var(--line);min-width:0}
.dashboard-grid{gap:18px;margin-top:18px}
.dashboard-grid>.card>.toolbar{padding-bottom:14px;border-bottom:1px solid var(--line);align-items:flex-start}
.dashboard-grid>.card>.toolbar b{font-size:15px;font-weight:700;letter-spacing:-.01em}
.dashboard-grid>.card>.toolbar .ui-icon{color:#6816b0;width:18px;height:18px}
.metric-row{padding:11px 0;font-size:13px}
.metric-value{font-variant-numeric:tabular-nums;font-weight:700}
.dashboard-chip{border-radius:3px;background:#f0edf7;color:#350f9c;padding:5px 9px;font-size:11px;font-weight:700}
.dashboard-alert{background:#fff9fa;border-left-color:var(--danger)}.dashboard-ok{background:#f5faf7}
.progress{height:5px;border-radius:0;background:#eee}
.progress>span{border-radius:0;background:#6816b0!important}
.btn{border-radius:3px;border-color:#c8c8c8;color:#000;background:#fff;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.35;transition:background .15s,border-color .15s;min-height:39px}
.btn:hover{background:#f0edf7;border-color:#6816b0;color:#350f9c}
.btn-primary{background:#000;border-color:#000;color:#fff}
.btn-primary:hover{background:#350f9c;border-color:#350f9c;color:#fff}
.btn-small{padding:7px 10px;min-height:33px;font-size:12px}
.btn-danger{background:#fff;border-color:#e4bdc3;color:#972134}
.btn-danger:hover{background:#fff0f2;border-color:#ab2435;color:#972134}
.resolved-btn{background:#eef7f1;color:#246449;border-color:#bbd9c5}
button:disabled{opacity:.5;cursor:not-allowed}
:focus-visible{outline:3px solid #4960e6;outline-offset:3px}
.input,.select,.textarea{border:1px solid #b7b7b7;border-radius:3px;padding:11px 12px;min-height:42px;box-shadow:none;background:#fff;color:#000;font-size:14px}
.input:hover,.select:hover,.textarea:hover{border-color:#3e3e3e}
.input:focus,.select:focus,.textarea:focus{border-color:#350f9c;box-shadow:0 0 0 3px #350f9c16;outline:none}
.input::placeholder,.textarea::placeholder{color:#757575;opacity:1}
.field{gap:7px;min-width:0;font-size:12px;font-weight:700}
.field label,.field>span{font-size:12px;color:#3e3e3e;font-weight:700}
.field .input,.field .select,.field .textarea{font-weight:400}
input[type=checkbox],input[type=radio]{accent-color:#350f9c;min-width:17px;min-height:17px}
.textarea{min-height:120px;line-height:1.5}
.form-grid{gap:18px}.form-grid .notice{grid-column:1/-1}
.notice,.alert24,.auth-error{border-radius:3px;padding:13px 16px;line-height:1.5;font-size:13px}
.notice{background:#f1eef8;color:#350f9c;border-color:#ded6ef}
#syncStatus{padding:10px 14px;margin-bottom:22px;font-size:12px;border-left:3px solid #6816b0}
.demo-notice{background:#f0edf8;color:#350f9c;border-color:#ddd4ef}
.sync-error,.auth-error{background:#fff0f2;color:#972134;border-color:#e4bdc3}
.alert24{background:#faf2e5;border-color:#e5d1ac;border-left:3px solid #855d16;color:#6d4c13}
.alert24 strong{color:#972134}
.link{color:#350f9c}.link:hover{text-decoration:underline}
.table{min-width:920px;font-size:13px}
.table th,.table td{padding:14px 12px;border-bottom-color:#e1e1e1}
.table th{font-size:10px;letter-spacing:.09em;color:#3e3e3e;background:#f4f4f4;font-weight:700;line-height:1.5}
.table tr:hover td{background:#f6f3fb}
.table td .actions{gap:5px}.table td:last-child{min-width:170px}
.incident-desktop{padding:0;overflow:hidden}
.table-wrap{max-width:100%;overscroll-behavior-x:contain;scrollbar-color:#b7b7b7 #f5f5f5}
.incident-unresolved td{background:#fff9fa}.incident-unresolved td:first-child{border-left:3px solid #ab2435}
.incident-unresolved:hover td{background:#fff1f4}
.badge{border-radius:3px;font-size:11px;font-weight:700;padding:5px 8px}
.priority-alta{background:#fbe6ea;color:#972134}.priority-media{background:#f8efd9;color:#795513}.priority-baja{background:#e9f3ed;color:#246449}
.status-nueva{background:#eee7fa;color:#350f9c}.status-asignada{background:#e9edff;color:#3449b1}.status-proceso{background:#f8efd9;color:#795513}.status-esperando{background:#f3e6fa;color:#6816b0}.status-resuelta{background:#e9f3ed;color:#246449}.status-cerrada{background:#e9e9e9;color:#3e3e3e}
.type{font-size:11px}.text-danger,.age-warn{color:#972134}
.filter-panel{border-radius:3px;padding:14px 18px;margin:16px 0 20px}
summary{font-size:12px}.filter-grid{gap:16px;margin-top:18px;padding-bottom:5px}
#incidentQuick{gap:8px}
#incidentQuick button[aria-pressed=true]{background:#350f9c;color:#fff;border-color:#350f9c}
.environment-tag{border-radius:2px;color:#350f9c;background:#efebf8;padding:3px 6px;font-size:10px}
.empty{padding:48px 24px;font-size:13px;line-height:1.6}
.empty-mini{padding:18px 0;font-size:13px}
.small-table th{font-size:10px;letter-spacing:.06em;color:#3e3e3e}.small-table td{padding:12px 8px;font-size:12px}
.person h3{font-size:16px}.person p{color:#626262;line-height:1.5}
.avatar{border-radius:3px;background:#ede7f8;color:#350f9c;font-size:15px;font-weight:700}
.mini-list li{padding:11px 0;font-size:12px;overflow-wrap:anywhere}.mini-list li>span:last-child{max-width:60%;text-align:right}
.employee-side,.detail{background:#f5f5f5;border-radius:3px}.employee-side .avatar{border-radius:3px}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr))}
.detail strong{font-size:14px}.detail small{font-size:11px;color:#626262}
.modal-backdrop{background:#0009;backdrop-filter:blur(3px);padding:24px}
.modal{border-radius:4px;padding:28px;box-shadow:0 20px 80px #0003;border-top:4px solid #350f9c;max-height:90dvh}
.modal-head{padding-bottom:20px;border-bottom:1px solid #e1e1e1;margin-bottom:22px;align-items:flex-start}
.modal-head h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;padding-top:3px}
.close{border-radius:3px;background:#f1f1f1;flex:none;color:#000;width:36px;height:36px}.close:hover{background:#e9e1f6;color:#350f9c}
.modal-actions{padding-top:20px;margin-top:24px;gap:10px}.modal-actions .btn{min-height:42px}
.access-editor{gap:18px}.access-editor fieldset{border-radius:3px;padding:16px;background:#fcfcfc}.access-editor legend{color:#350f9c;font-size:13px;font-weight:700;padding:0 6px}
.access-effects{font-size:12px;line-height:1.6}.discard-prompt{border-radius:3px;border-color:#350f9c}
.access-indicator,.access-cell,.server-status,.access-pill{border-radius:3px}
.server-pending{background:#e9e9e9;color:#4e4e4e}.server-yes{background:#e7f3eb;color:#246449}.server-no{background:#fbe6ea;color:#972134}.server-na{background:#e9edff;color:#3449b1}
.access-legacy{color:#626262}.access-pair-button{border-radius:3px}
.access-pair-button:focus-visible{outline-color:#4960e6}
.server-issue{color:#972134}.server-desktop .table{min-width:1200px}
.access-matrix th:first-child,.access-matrix td:first-child{box-shadow:1px 0 0 #e1e1e1}
.cal-day{border-radius:3px;min-height:120px;padding:9px}.cal-day.other{background:#eee;color:#777}.cal-day.today{box-shadow:inset 0 0 0 2px #6816b0;background:#fbf8ff}
.cal-num{font-size:12px}.calendar-head div{font-size:11px;color:#3e3e3e;letter-spacing:.08em;text-transform:uppercase}
.text-button.cal-event,.cal-event{background:#4960e6;border-radius:2px;line-height:1.4;font-size:10px;padding:5px 6px;color:#fff}
.text-button.cal-event-unresolved,.cal-event-unresolved{background:#ab2435}
.flow{gap:5px}.flow-step{background:#eee;color:#626262;border-radius:2px;font-size:11px;padding:7px 9px}.flow-step.current{background:#eee7fa;color:#350f9c}
.timeline{border-left-color:#ddd}.timeline-item:before{border-color:#6816b0}
.notification-settings{padding:16px 0;border-top:1px solid #d0d0d0;margin-top:26px}
.notification-settings summary{color:#3e3e3e}
.secondary-actions{border-radius:3px;box-shadow:0 12px 30px #0002;padding:14px;width:260px}
/* Access retains its original form, validation, help and session behavior. */
#authScreen{display:grid;grid-template-columns:minmax(350px,1fr) minmax(460px,1fr);background:#fff;padding:0;overflow:auto}
.auth-story{background:#000;color:#fff;min-height:100dvh;padding:64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.ocx-primary{width:260px;height:auto;filter:invert(1)}
.auth-story-copy{margin:56px 0 70px}
.auth-story-copy .eyebrow{color:#e1e1e1;font-size:9px}
.auth-story-copy p{font-family:var(--display);font-weight:900;font-size:clamp(52px,5.9vw,96px);line-height:.94;letter-spacing:-.05em;margin:24px 0 32px;color:#fff}
.auth-story-copy .brand-rule{margin-bottom:24px;height:6px;width:100%}
.auth-story-copy>span:last-child{font-size:14px;color:#d5d5d5;font-weight:300}
.auth-story small{font-size:9px;letter-spacing:.15em;color:#aaa}
.auth-card{width:min(460px,calc(100% - 72px));margin:48px auto;padding:0;background:#fff;border:0;border-radius:0;box-shadow:none}
.auth-card>.eyebrow{color:#6816b0;margin-bottom:16px}
.auth-card h1{font-size:34px;font-weight:300;line-height:1.1;letter-spacing:-.025em;margin:0 0 16px;color:#000}
.auth-card>p{font-size:14px;line-height:1.6;color:#626262;margin-bottom:30px}
.auth-card .field{margin-top:20px}.auth-card .field label{font-size:12px}
.auth-card .btn{min-height:42px}.auth-card #passwordToggle{justify-self:start;align-self:flex-end;border:0;padding:4px 0;min-height:28px;font-size:11px;background:none;color:#350f9c;margin-top:0}
.auth-card #loginHelpButton{font-size:12px;color:#350f9c;font-weight:400;margin-top:18px}
.auth-card #setupHint{line-height:1.5;border-top:1px solid #e1e1e1;padding-top:18px;margin-top:24px!important}
.auth-card #setupHint .btn{margin:7px 6px 0 0;font-size:11px;padding:8px}
.auth-mobile-logo{display:none}
/* Preview and exported report share the brand palette without changing A4 geometry. */
#incidentReport{background:#e1e1e1;color:#000;font-family:Roboto,Arial,sans-serif}
.report-controls{background:#000;box-shadow:none;border-bottom:4px solid #6816b0}
.report-controls p{color:#c9c9c9}.report-controls .btn-primary{background:#fff;color:#000;border-color:#fff}
.report-paper{box-shadow:0 8px 30px #0001;font-family:Roboto,Arial,sans-serif}
.report-heading{border-top:0;position:relative;padding-top:26px;border-bottom-color:#e1e1e1}
.report-heading:before{content:'';height:5px;background:var(--ocx-gradient);position:absolute;top:0;left:0;right:0}
.report-eyebrow{color:#6816b0;font-weight:700}
.report-heading h1{font-family:var(--display);text-transform:uppercase;letter-spacing:-.035em;color:#000}
.report-heading p,.report-stamp,.report-filter,.report-method,.report-section-note,.report-chart p,.report-footer,.report-table td small{color:#626262}
.report-filter,.report-metric,.report-chart,.report-empty{border-radius:3px;border-color:#e1e1e1}
.report-metric{border-top-color:#350f9c;background:#f8f7fb}.report-attention{border-top-color:#ab2435;background:#fff7f9}
.report-metric b{font-family:var(--display);font-weight:900;letter-spacing:-.04em}.report-track{border-radius:0}.report-track span{background:#246449}
.report-chart svg{font-family:Roboto,Arial,sans-serif}
.report-chart svg rect[fill="#3f6ea8"]{fill:#350f9c}.report-chart svg rect[fill="#b56c2c"]{fill:#6816b0}
.report-chart svg rect[fill="#edf1f5"]{fill:#eee}.report-chart svg text{fill:#3e3e3e}
.report-table th{background:#eee;color:#3e3e3e;border-bottom-color:#b7b7b7}.report-table td{border-bottom-color:#e1e1e1}
.report-list h2 span{background:#eee7fa;color:#350f9c;border-radius:2px}
.report-open,.report-table td .report-old{color:#972134;border-color:#ab2435}.report-done{color:#246449;border-color:#246449}
.report-access-cell,.report-server-table .access-indicator{border-radius:2px}
.report-server-table .server-yes,.report-access-cell.server-yes{background:#e7f3eb;color:#246449}.report-server-table .server-no,.report-access-cell.server-no{background:#fbe6ea;color:#972134}.report-server-table .server-pending,.report-access-cell.server-pending{background:#e9e9e9;color:#4e4e4e}.report-server-table .server-na,.report-access-cell.server-na{background:#e9edff;color:#3449b1}
@media(min-width:1600px){.main{padding:42px 48px 64px}.stats{gap:18px}.stat{padding:24px}.dashboard-grid{gap:22px}}
@media(min-width:651px) and (max-width:1150px){.sidebar{width:216px;padding:28px 14px}.main{margin-left:216px;width:calc(100% - 216px);padding:28px 24px 44px}.topbar{gap:22px}.top-actions{justify-content:flex-start}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar .title{flex-basis:100%}}
@media(max-width:950px){.auth-story{padding:40px}.ocx-primary{width:220px}#authScreen{grid-template-columns:1fr 1fr}.auth-card{width:calc(100% - 48px)}.auth-story-copy p{font-size:55px}.dashboard-grid{grid-template-columns:1fr}.dashboard-wide{grid-column:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}
@media(max-width:650px){
 .sidebar{width:100%;position:relative;padding:18px 20px 16px;overflow:visible;display:block;border-top:4px solid #6816b0}
 .brand{padding:8px 0 20px;margin:0}.brand img{width:96px}.brand small{display:none}.nav-caption,.sidebar-footer{display:none}
 #mobileMenu{background:#191919;color:#fff;border-color:#3e3e3e;border-radius:3px;font-size:13px;padding:11px 14px;min-height:44px}
 .sidebar .nav{display:none}.sidebar.menu-open .nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
 .nav button{font-size:12px;padding:12px 8px;min-height:46px}.nav .ui-icon{width:16px;height:16px;margin-right:8px}.nav button.active{padding-left:6px}
 .main{margin:0;width:100%;padding:24px 18px 40px}.topbar{gap:18px;margin-bottom:18px;padding-bottom:22px;align-items:stretch}
 .title{flex-basis:auto}.title .eyebrow{font-size:9px;margin-bottom:10px}.title h1{font-size:29px}.title p{font-size:12px;line-height:1.5}
 .top-actions{width:100%;gap:9px}.topbar .quick-actions{width:100%}#panelActions{width:100%}#panelActions>summary{padding:11px 12px;font-size:12px}
 .account-actions{gap:8px;padding:12px 0}.account-actions>.btn{font-size:12px}.user-chip{max-width:100%;font-size:11px}
 #primaryAction{width:100%;min-height:44px}.stats{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
 .stat{padding:16px 14px;min-height:116px}.stat .l{font-size:12px}.stat .n{font-size:32px}.stat:before{margin-bottom:11px}
 .card{padding:18px}.dashboard-grid{gap:14px}.dashboard-grid>.card>.toolbar{gap:12px;margin-bottom:12px}.dashboard-grid>.card>.toolbar b{font-size:14px}
 .dashboard-grid>.card>.toolbar>.btn{margin-left:0}.dashboard-grid>.card{overflow:hidden}.small-table{min-width:0;table-layout:fixed}.small-table th,.small-table td{padding:10px 5px;font-size:10px;overflow-wrap:anywhere}
 .btn,.btn-small,summary,.select{min-height:44px}.btn-small{padding:10px;font-size:12px}.toolbar{gap:12px}.section>.toolbar:first-child h2{font-size:22px}
 .incident-open{background:#fff9fa;border-color:#e4bdc3;border-left:3px solid #ab2435}.incident-mobile .actions{justify-content:flex-start;margin-top:14px}
 .filter-panel{padding:10px 14px}.filter-grid{gap:15px}.detail-grid,.employee-detail,.access-editor{grid-template-columns:1fr}
 .modal-backdrop{padding:10px}.modal{padding:20px 16px;max-height:calc(100dvh - 20px)}.modal-head{padding-bottom:16px;margin-bottom:20px}.modal-head h2{font-size:23px}.modal-actions{position:relative;gap:8px}
 .close{width:40px;height:40px}.form-grid{gap:16px}.access-editor fieldset{padding:14px}.modal-actions .btn{min-height:44px}
 .calendar-grid,.calendar-head{gap:3px}.cal-day{padding:4px;min-height:88px}.cal-num{font-size:11px}.calendar-head div{font-size:9px;padding:7px 0;letter-spacing:0}.cal-event,.text-button.cal-event{padding:4px 2px;font-size:9px;min-height:26px}
 #calendario .card{padding:8px}#calendarTitle{min-width:130px!important;font-size:13px}
 #authScreen{display:block;padding:0 24px;overflow-y:auto;background:#fff;border-top:5px solid #6816b0}.auth-story{display:none}.auth-card{width:100%;max-width:430px;margin:40px auto;padding:0 0 24px}
 .auth-mobile-logo{display:block;width:120px;margin:0 0 40px}.auth-card h1{font-size:32px}.auth-card>.eyebrow{font-size:9px}.auth-card #setupHint .btn{min-height:44px}
 .report-paper{padding:22px 14px;margin:12px}.report-heading h1{font-size:22px}.report-controls{padding:14px}.report-controls .btn{min-height:44px}
 .mini-list li{font-size:12px}.notification-settings .dashboard-chip{padding:8px;min-height:36px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.report-paper{font-family:Roboto,Arial,sans-serif}.report-heading h1{font-size:23px}.report-heading:before{print-color-adjust:exact;-webkit-print-color-adjust:exact}.sidebar-footer,.auth-story{display:none!important}}

/* Monochrome navigation icons survive role-based text changes. */
.nav button:before{content:"";width:18px;height:18px;flex:none;margin-right:12px;background:currentColor;mask:var(--nav-icon) center/contain no-repeat;-webkit-mask:var(--nav-icon) center/contain no-repeat}
.nav button.active:before{background:#ff87ff}
.nav button[data-section="dashboard"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22/%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22/%3E%3C/svg%3E")}
.nav button[data-section="incidencias"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h18v5a2%202%200%200%200%200%204v4H3v-4a2%202%200%200%200%200-4V6Zm12%200v3m0%203v3m0%202v2%22/%3E%3C/svg%3E")}
.nav button[data-section="calendario"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M7%203v4m10-4v4M3%2011h18%22/%3E%3C/svg%3E")}
.nav button[data-section="empleados"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M3%2021v-3a6%206%200%200%201%2012%200v3m1-16a3%203%200%200%201%200%206m2%204a5%205%200%200%201%203%204v2%22/%3E%3C/svg%3E")}
.nav button[data-section="servidores"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%227%22%20rx%3D%221%22/%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%2218%22%20height%3D%227%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M7%206.5h.01M7%2017.5h.01m4-11h6m-6%2011h6%22/%3E%3C/svg%3E")}
.nav button[data-section="workfront"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Crect%20x%3D%228%22%20y%3D%222%22%20width%3D%228%22%20height%3D%225%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M8%2012h8m-8%205h5%22/%3E%3C/svg%3E")}
.nav button[data-section="peticiones"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%2214%22%20height%3D%2213%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22m5%2016-3%205h20l-3-5M9%2019h6%22/%3E%3C/svg%3E")}
.nav button[data-section="usuarios"]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3m-4%205v2%22/%3E%3C/svg%3E")}
@media(max-width:650px){.nav button:before{width:16px;height:16px;margin-right:8px}}
/* Keep complete words in display headings as account actions wrap. */
.topbar .title{flex:1 0 min(100%,480px)}
.title h1{overflow-wrap:normal;word-break:normal}
.topbar .top-actions{flex-wrap:wrap;justify-content:flex-start}
.user-controls select{font:inherit;font-size:12px;border:1px solid #b7b7b7;border-radius:3px;background:#fff;color:#000;padding:9px;min-height:38px;max-width:220px}
#usersTable:has(table){padding:0;text-align:initial}
#workfront .table,#peticiones .table{min-width:700px}
#authScreen[style*="display: flex"]{display:grid!important}
.modal{scroll-padding-block:100px 24px}
.modal-head{position:sticky;top:0;z-index:3;background:#fff}
@media(max-width:650px){.topbar .title{flex:0 1 auto;width:100%}.title h1{font-size:clamp(22px,6.5vw,29px)}#authScreen[style*="display: flex"]{display:block!important}.user-controls select{min-height:44px}}
