
*{box-sizing:border-box}
:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17212b;background:#f4f6f8}
body{margin:0}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#6f0d12,#c52631)}
#mainNav .nav-btn[data-page="fees"],#mainNav .nav-btn[data-page="tasks"],#mainNav .nav-btn[data-page="calendar"],#mainNav .nav-btn[data-page="emergencies"],#mainNav .nav-btn[data-page="taskCenter"],#mainNav .nav-btn[data-page="operationalCalendar"]{display:none!important}
.notification-list{display:grid;gap:10px}.notification-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid #f1d7a0;background:#fffaf0;border-radius:10px}.notification-item p{margin:4px 0}.notification-item small{color:#63758a}@media(max-width:680px){.notification-item{align-items:flex-start;flex-direction:column}.notification-item button{width:100%}}
.login-card{width:min(430px,100%);background:#fff;padding:30px;border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.28);text-align:center}
.login-card form{display:grid;gap:14px;margin-top:24px;text-align:left}
.brand-mark{width:70px;height:70px;margin:0 auto 12px;border-radius:18px;background:#fff0f1;display:grid;place-items:center;font-size:38px}
.brand-mark.small{width:44px;height:44px;margin:0;font-size:24px}
label{display:grid;gap:6px;font-weight:700;font-size:.9rem}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #c8d1d9;border-radius:10px;background:#fff}
button{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.primary{background:#b71d27;color:#fff}.secondary{background:#e9eef2;color:#26323e}.danger{background:#fff0f1;color:#a1121b}
.message{min-height:22px;font-weight:700}.error{color:#a1121b}.success{color:#176c38}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#202a34;color:#fff;padding:20px;display:flex;flex-direction:column;gap:20px}
.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-brand span{display:block;color:#aeb8c2;font-size:.85rem}
.sidebar nav{display:grid;gap:8px}.nav-btn{background:transparent;color:#dce3e9;text-align:left}.nav-btn.active,.nav-btn:hover{background:#34414e;color:#fff}
.session-box{margin-top:auto;display:grid;gap:10px;font-size:.9rem}
.content{padding:24px;min-width:0}.topbar{margin-bottom:18px}.topbar h1{margin:0}.topbar p{margin:4px 0 0;color:#6a7680}
.panel{background:#fff;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 8px 24px rgba(20,38,57,.08)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:#fff;border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(20,38,57,.08)}.stat span{display:block;color:#67737e}.stat strong{font-size:1.8rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.grid.two{grid-template-columns:repeat(2,1fr)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e3e8ed;text-align:left;white-space:nowrap}th{font-size:.8rem;text-transform:uppercase;color:#5f6b76}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.8rem;font-weight:800}.paid,.operational{background:#e7f7ed;color:#176c38}.pending,.nonoperational{background:#fff0f1;color:#a1121b}.partial{background:#fff6df;color:#7a5700}.exempt{background:#e8f1ff;color:#1b5890}
.beds{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.bed{padding:18px;border-radius:12px;text-align:center}.bed.free{background:#e9f8ef}.bed.busy{background:#fff0f1}.bed.mine{background:#e8f1ff}
.units{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.unit{border:2px solid transparent}.unit.operational{border-color:#62b982}.unit.nonoperational{border-color:#d45b64}
.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.permission-card{display:flex;gap:10px;padding:12px;border:1px solid #dfe5ea;border-radius:10px;background:#f8fafb}.permission-card input{width:auto}
.treasury-year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.month-card{padding:14px;border-radius:12px;border:1px solid #dfe5ea}.month-card h4{margin:0 0 8px}.month-card p{margin:4px 0}
dialog{border:0;border-radius:16px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:min(720px,94vw)}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.receipt{font-family:Georgia,serif}.receipt h2{text-align:center}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:1000px){.app{grid-template-columns:1fr}.stats,.grid,.grid.two,.units{grid-template-columns:1fr 1fr}.sidebar nav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.content{padding:14px}.stats,.grid,.grid.two,.units,.beds,.permission-grid,.treasury-year-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}}
@media print{body *{visibility:hidden}#receiptContent,#receiptContent *{visibility:visible}#receiptContent{position:absolute;left:0;top:0;width:100%}}

.payment-list{display:grid;gap:6px;margin:10px 0}
.payment-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;background:#fff;border:1px solid #dfe5ea;border-radius:8px;font-size:.82rem}
.mini-btn{padding:5px 8px;font-size:.78rem}

.treasury-selector-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.treasury-selector-header h3{margin:0}
.treasury-selector-header p{margin:5px 0 0;color:#687481}
.treasury-filters{display:flex;gap:12px;align-items:end}
.treasury-filters label{min-width:190px}
.treasury-profile-actions{display:flex;gap:8px;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap}
@media(max-width:760px){
  .treasury-selector-header{flex-direction:column}
  .treasury-filters{width:100%;flex-direction:column}
  .treasury-filters label{width:100%;min-width:0}
  .treasury-profile-actions{justify-content:flex-start}
}

.treasury-subnav{display:flex;gap:10px;margin-bottom:18px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.treasury-subnav button{background:#e9eef2;color:#26323e;white-space:nowrap;flex:0 0 auto}
.treasury-subnav button.active{background:#b71d27;color:#fff}
@media(max-width:600px){.treasury-subnav{gap:8px;margin-right:-2px}}

#companyIncomeForm{margin-top:10px}

.amount-positive{color:#176c38;font-weight:800}
.amount-negative{color:#a1121b;font-weight:800}
#companyExpenseForm,#companyIncomeForm{margin-top:10px}

.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.financial-report-filters{flex-wrap:wrap}
.financial-bars{display:grid;gap:10px}
.financial-month-row{display:grid;grid-template-columns:90px minmax(120px,1fr) 120px minmax(120px,1fr) 120px 120px;gap:10px;align-items:center}
.bar-track{height:12px;background:#edf1f4;border-radius:999px;overflow:hidden}
.bar{height:100%;border-radius:999px}
.income-bar{background:#2d9b5f}
.expense-bar{background:#c63d47}
.chart-legend{color:#687481;font-size:.88rem}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.compact-stats{margin-top:16px}
@media(max-width:1000px){
  .financial-month-row{grid-template-columns:70px minmax(100px,1fr) 100px minmax(100px,1fr) 100px}
  .financial-month-row b{grid-column:2/-1}
}
@media(max-width:760px){
  .report-grid{grid-template-columns:1fr}
  .financial-month-row{grid-template-columns:1fr}
  .financial-month-row .bar-track{width:100%}
}
@media print{
  #financialReportPrintable,#financialReportPrintable *{visibility:visible}
  #financialReportPrintable{position:absolute;left:0;top:0;width:100%}
  .report-actions,.treasury-subnav,.financial-report-filters{display:none!important}
}

#expenseClaimForm{margin-top:10px}

.claim-ocr-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.validation-warning{padding:12px;border-left:4px solid #d49b17;background:#fff8e7;border-radius:8px}
.claim-document-image{max-width:100%;height:auto;border:1px solid #dfe5ea;border-radius:10px}
@media print{
  .claim-document,.claim-document *{visibility:visible}
  .claim-document{position:absolute;left:0;top:0;width:100%}
}

.treasury-global-summary{border-left:5px solid #315f4c}

.secretary-docs-grid{display:grid;gap:14px}
.secretary-document-card{border:1px solid #dfe5ea;border-radius:14px;padding:16px;background:#fafcfd}
.secretary-document-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.secretary-document-head h3{margin:0}
.secretary-document-head p{margin:5px 0 0;color:#687481}
.secretary-document-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.secretary-response-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;color:#687481;font-size:.88rem}
.secretary-response-report table{width:100%;border-collapse:collapse;margin-bottom:18px}
@media(max-width:700px){.secretary-document-head{flex-direction:column}}

.captaincy-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.captaincy-card.unread{border-left:5px solid #b71d27;background:#fff8f8}
.captaincy-card.read{border-left:5px solid #2d9b5f}

#fleetTechnicalForm,#fleetMaintenanceForm,#fleetFailureForm,#fleetAccidentForm{margin-top:14px}
.fleet-filter-header{padding:14px 16px;border-left:4px solid var(--company-gold);background:#fffaf0;border-radius:10px}.fleet-filter-header h4{margin:0 0 5px}.fleet-filter-header p{margin:0;color:#687481;font-weight:500}
.vote-results{margin-top:12px;color:#4c5d6c}.vote-cast-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.vote-cast-form label{min-width:260px;flex:1}.secretary-document-card h4{margin:0 0 7px}@media(max-width:650px){.vote-cast-form{display:grid}.vote-cast-form label{min-width:0}}

#minorMaterialForm{margin-top:14px}

.birthday-panel{border-left:5px solid #d98b17;background:linear-gradient(135deg,#fffaf0,#ffffff)}
.birthday-icon{font-size:2rem}
.birthday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.birthday-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #eadfca;border-radius:12px;background:#fff}
.birthday-item small{display:block;color:#687481;margin-top:3px}
.birthday-date{text-align:right}
.birthday-today{border-color:#2d9b5f;background:#f1fbf5}
@media(max-width:700px){.birthday-list{grid-template-columns:1fr}}

#citationForm{margin-top:14px}

.minor-location-list{display:grid;gap:8px;margin-top:16px}
.minor-location-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #dfe5ea;border-radius:10px;background:#fafcfd}

#catalogItemForm{margin-top:14px}

#leaveRequestForm{margin-top:14px}

#unitsSection table input{min-width:90px}

/* Mejoras v7.7 */
.v77-span{grid-column:1/-1;margin:0}.v77-role{display:block;color:#687481;font-weight:500;margin-top:3px}.v77-report-actions{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.v77-code-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.v77-code-header h4{margin:0}.v77-code-header p{margin:5px 0 0;color:#687481}.v77-count-badge{background:#e7f3ff;color:#165a8f;border-radius:999px;padding:9px 14px;white-space:nowrap}.v77-code-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.v77-code-entry label{margin:0}.v77-code-entry .primary{min-height:44px}.v77-selected-attendees{display:grid;gap:9px;margin-top:12px}.v77-selected-title{font-weight:800;color:#172d47;margin-top:4px}.v77-selected-person{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #8fcda0;background:#edf9f0;border-radius:10px;padding:11px 13px}.v77-selected-person span{display:grid;gap:3px}.v77-selected-person small{color:#547061}.v77-selected-person .danger{padding:7px 10px}.v77-empty-attendees{padding:18px;border:1px dashed #b8c3ce;border-radius:10px;color:#697785;text-align:center;background:#fafcfd}@media(max-width:700px){.v77-code-header{align-items:flex-start;flex-direction:column}.v77-code-entry{grid-template-columns:1fr}.v77-code-entry .primary{width:100%}.v77-selected-person{align-items:flex-start;flex-direction:column}}
.v78-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.treasury-fee-assignment{margin-top:22px;padding-top:20px;border-top:1px solid #dfe5ea}.treasury-fee-assignment-header h3{margin:0}.treasury-fee-assignment-header p{margin:6px 0 0;color:#687481}.treasury-fee-assignment-form{margin-top:16px}.treasury-fee-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.treasury-fee-actions button{margin-top:auto}.treasury-fee-months{border:0;padding:0;margin:16px 0 0}.treasury-fee-months legend{font-weight:800;color:#172d47;margin-bottom:2px}.treasury-fee-month{min-height:64px}.treasury-fee-month span{display:grid;gap:3px}.treasury-fee-month small{color:#687481;font-weight:500}.custom-fee{background:#eef1ff;color:#3548a3}
.fixed-expense-panel{margin-top:18px}.fixed-expense-panel h4{margin:0}.fixed-expense-summary{margin:16px 0}.fixed-expense-form{margin:20px 0;padding:18px;border:1px solid #dfe5ea;border-radius:14px;background:#fafcfd}.fixed-expense-form h4{margin:0 0 14px}.fixed-expense-form .primary{margin-top:4px}.fixed-expense-list{display:grid;gap:10px}.fixed-expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px;border:1px solid #dfe5ea;border-radius:13px;background:#fff}.fixed-expense-row h4{margin:0 0 5px}.fixed-expense-row p{margin:0 0 4px;color:#516171}.fixed-expense-row small{color:#687481}.fixed-expense-amount{display:grid;justify-items:end;gap:3px;white-space:nowrap}.fixed-expense-amount span{font-size:.78rem;font-weight:800;color:#176c38}.fixed-expense-amount strong{font-size:1.1rem;color:#172d47}.fixed-expense-row.is-paused{opacity:.72;background:#f7f7f7}.fixed-expense-row.is-paused .fixed-expense-amount span{color:#7a5700}.fixed-expense-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.empty-state{padding:18px;border:1px dashed #b8c3ce;border-radius:10px;color:#687481;text-align:center;background:#fafcfd}
.treasury-tab-year{display:grid;gap:5px;min-width:130px;font-size:.88rem;font-weight:800;color:#172d47}.treasury-tab-year input{min-width:0}.treasury-global-summary .treasury-selector-header,.fixed-expense-panel .management-heading{align-items:start}
@media(max-width:700px){.v78-month-grid{grid-template-columns:1fr}}
@media(max-width:700px){.treasury-fee-actions{width:100%}.treasury-fee-actions button{flex:1;min-width:0}}
@media(max-width:700px){.fixed-expense-row{grid-template-columns:1fr;gap:12px}.fixed-expense-amount{justify-items:start}.fixed-expense-actions{justify-content:flex-start}.fixed-expense-actions button{flex:1}.fixed-expense-form{padding:14px}}
@media print{#v77AttendancePrintable,#v77AttendancePrintable *{visibility:visible}#v77AttendancePrintable{position:absolute;left:0;top:0;width:100%}}

/* Editor de usuarios v7.12 */
#userEditorDialog{width:min(760px,94vw);padding:0;overflow:hidden;background:#fff}
.user-editor{display:grid;gap:18px;padding:26px}.editor-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #e2e8ec;padding-bottom:16px}.editor-header h2{margin:4px 0}.editor-header p{margin:5px 0;color:#687481}.editor-header .institution-kicker{color:var(--company-red);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.editor-password{grid-column:1/-1}.user-editor small{color:#687481;font-weight:500}.editor-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e2e8ec;padding-top:16px}@media(max-width:650px){.editor-header{flex-direction:column}.editor-actions{flex-direction:column}.editor-actions button{width:100%}}

/* Material Menor v7.13 */
.minor-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.minor-tabs button{background:#e7edf1;color:#172434}.minor-tabs button.active{background:linear-gradient(135deg,var(--company-red),var(--company-red-dark));color:#fff}.minor-summary-welcome{border-left:5px solid var(--company-gold)}.minor-summary-welcome h3{margin-top:0}@media(max-width:600px){.minor-tabs{display:grid;grid-template-columns:1fr}.minor-tabs button{text-align:left}}
.fleet-tabs{margin-top:0}

/* Documentación vehicular v7.17 */
.document-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.document-status-card{padding:14px;border-radius:12px;border:1px solid #dfe5ea;display:grid;gap:6px}.document-status-card span{color:#687481}.fleet-document-alerts{display:grid;gap:8px;margin:14px 0}.fleet-document-alerts p,.fleet-document-ok{padding:10px 12px;border-radius:9px;margin:0;font-weight:700}.fleet-document-alerts .pending{background:#fff0f1;color:#a1121b}.fleet-document-alerts .partial{background:#fff6df;color:#7a5700}.fleet-document-ok{background:#e7f7ed;color:#176c38}@media(max-width:700px){.document-status-grid{grid-template-columns:1fr}}

/* Identidad institucional: Primera Compañía, Cuerpo de Bomberos de La Serena */
:root{--company-red:#9d1821;--company-red-dark:#6d1018;--company-gold:#d0a64b;--company-navy:#132234;--company-ink:#1a2735;--company-paper:#f5f3ef;--company-line:#dfe4e8;color:var(--company-ink);background:var(--company-paper)}
body{background:var(--company-paper)}
.login-shell{background:radial-gradient(circle at 15% 15%,rgba(208,166,75,.32),transparent 26%),linear-gradient(135deg,var(--company-navy),var(--company-red-dark) 58%,var(--company-red))}
.login-card{border:1px solid rgba(208,166,75,.5);padding:38px 34px}.institution-kicker{margin:0;color:var(--company-red);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.login-card h1{margin:8px 0 4px;color:var(--company-navy)}
.brand-mark{background:linear-gradient(145deg,var(--company-red),var(--company-red-dark));border:3px solid var(--company-gold);color:#fff;font-family:Georgia,serif;font-size:1.55rem;font-weight:900;letter-spacing:-.08em;box-shadow:0 8px 20px rgba(109,16,24,.23)}.brand-mark.small{font-size:1rem;border-width:2px}
.primary{background:linear-gradient(135deg,var(--company-red),var(--company-red-dark))}.primary:hover{filter:brightness(1.1)}.secondary{background:#e8edf0;color:var(--company-navy)}.danger{background:#fff0f1;color:var(--company-red-dark)}
.sidebar{background:linear-gradient(180deg,var(--company-navy),#0d1723);border-right:3px solid var(--company-gold)}.sidebar-brand{padding-bottom:14px;border-bottom:1px solid rgba(208,166,75,.38)}.sidebar-brand b{font-size:.98rem}.sidebar-brand span{color:#d4dce3;font-size:.72rem;line-height:1.35}.nav-btn{border-left:3px solid transparent;border-radius:7px}.nav-btn.active,.nav-btn:hover{border-left-color:var(--company-gold);background:rgba(208,166,75,.14)}
.topbar{padding:3px 0 16px;border-bottom:2px solid var(--company-gold)}.topbar h1{color:var(--company-navy)}.panel,.stat{border:1px solid rgba(19,34,52,.08);box-shadow:0 8px 26px rgba(19,34,52,.07)}.panel{border-top:3px solid transparent}.panel:hover{border-top-color:var(--company-gold)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(208,166,75,.3);border-color:var(--company-gold)}th{color:var(--company-red-dark);border-bottom:2px solid rgba(208,166,75,.5)}.badge{letter-spacing:.01em}.treasury-subnav button.active{background:var(--company-red)}
@media(max-width:650px){.login-card{padding:30px 22px}.sidebar{border-right:0;border-bottom:3px solid var(--company-gold)}.sidebar-brand{padding-bottom:10px}}

/* Emblemas institucionales */
.login-logo{display:block;width:128px;height:128px;object-fit:contain;margin:0 auto 16px;border-radius:50%;box-shadow:0 10px 26px rgba(19,34,52,.24)}
.sidebar-logo{width:48px;height:48px;object-fit:contain;border-radius:12px;background:#0d213b;border:1px solid rgba(208,166,75,.62)}
@media(max-width:650px){.login-logo{width:110px;height:110px}.sidebar-logo{width:42px;height:42px}}

/* Centro de gestión institucional */
.management-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.management-heading h3{margin:0 0 5px}.management-heading p{margin:0;color:#687481}
.approval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px}
.approval-card{display:grid;align-content:start;gap:7px;border:1px solid #dfe5ea;border-radius:14px;padding:16px;background:#fafcfd}
.approval-card h4{margin:0}.approval-card p{margin:0;color:#415468}.approval-card small{color:#687481}
.approval-card .document-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.notification-list{display:grid;gap:10px}
.notification-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dfe5ea;border-radius:12px;padding:14px;background:#fafcfd}
.notification-row h4{margin:7px 0 4px}.notification-row p{margin:0;color:#687481}.notification-high{border-left:5px solid var(--company-red);background:#fff9f9}
.management-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.management-stats .stat small{display:block;margin-top:5px;color:#687481}
#volunteerProfileForm{margin-top:16px}
.user-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.user-hub-card{display:grid;align-content:start;gap:9px;border:1px solid #dfe5ea;border-radius:14px;padding:18px;background:#fafcfd}
.user-hub-card h4,.user-hub-card p{margin:0}.user-hub-card p{color:#687481;min-height:44px}.user-hub-card button{justify-self:start;margin-top:4px}
@media(max-width:700px){.management-heading,.notification-row{align-items:flex-start;flex-direction:column}.notification-row button{width:100%}.approval-card .document-actions button{flex:1}.management-stats{grid-template-columns:1fr}}
@media(max-width:700px){.user-hub-card button{width:100%}}

/* Configuración: acceso y catálogos en un solo módulo */
.config-subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.config-subnav button{background:#e8edf0;color:var(--company-navy)}
.config-subnav button.active{background:linear-gradient(135deg,var(--company-red),var(--company-red-dark));color:#fff}
.configuration-permission-note{margin:16px 0;padding:12px 14px;border-left:4px solid var(--company-gold);border-radius:9px;background:#fffaf0;color:#4c5d6c}
.configuration-permission-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:650px){.config-subnav{display:grid;grid-template-columns:1fr}.config-subnav button{width:100%}.configuration-permission-actions{display:grid;grid-template-columns:1fr}.configuration-permission-actions button{width:100%}}

/* Mi perfil: ficha personal, seguridad y usuarios en pestañas */
.profile-subnav{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.profile-subnav button{background:#e8edf0;color:var(--company-navy)}.profile-subnav button.active{background:linear-gradient(135deg,var(--company-red),var(--company-red-dark));color:#fff}.profile-panel{margin-bottom:18px}.profile-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.profile-panel-head h3{margin:0 0 5px}.profile-panel-head p{margin:0;color:#687481}.profile-target{display:grid;gap:5px;min-width:min(100%,300px);font-size:.9rem;font-weight:800;color:#172d47}.profile-target select{min-width:0}.profile-panel .compact-stats{margin:0 0 18px}.profile-panel .table-wrap{margin-top:8px}
.profile-user-sticky{position:sticky;top:0;z-index:8;background:#fff;padding:10px 0 6px;border-bottom:1px solid #e3e8ed}.profile-user-search-row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px}.profile-user-search-row label{flex:1;display:grid;gap:5px;max-width:720px}.profile-user-search-row input{width:100%}.profile-users-top-scroll{overflow-x:scroll;overflow-y:hidden;height:17px;scrollbar-width:auto;scrollbar-color:#8a8f94 #edf0f2}.profile-users-top-scroll>div{height:1px}.profile-users-top-scroll::-webkit-scrollbar{height:14px}.profile-users-top-scroll::-webkit-scrollbar-thumb{background:#8a8f94;border-radius:8px;border:2px solid #edf0f2}.profile-users-top-scroll::-webkit-scrollbar-track{background:#edf0f2}.profile-users-table-wrap{scrollbar-width:auto;scrollbar-color:#8a8f94 #edf0f2}.profile-users-table-wrap::-webkit-scrollbar{height:14px}.profile-users-table-wrap::-webkit-scrollbar-thumb{background:#8a8f94;border-radius:8px}.profile-users-table-wrap tr.hidden{display:none}
@media(max-width:700px){.profile-subnav{display:grid;grid-template-columns:1fr}.profile-subnav button{width:100%;text-align:left}.profile-panel-head{flex-direction:column}.profile-panel-head>.primary,.profile-target{width:100%}.profile-panel .table-wrap{overflow-x:auto}}
.profile-expanded-form{display:grid;gap:1rem;margin-top:1rem}.profile-expanded-form fieldset{border:1px solid #d8dee5;border-radius:16px;padding:1rem;background:#fbfcfd;min-width:0}.profile-expanded-form legend{font-weight:800;color:#071d35;padding:0 .5rem}.profile-expanded-form textarea{width:100%;resize:vertical}.profile-expanded-form .span-two{grid-column:1/-1}.profile-expanded-form .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-expanded-form .span-three{grid-column:1/-1}.profile-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:14px;background:#eef3f6}.profile-review-alert,.profile-review-ok{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border-radius:12px;margin:1rem 0}.profile-review-alert{background:#fff1f1;border:1px solid #d99;color:#8e101a}.profile-review-ok{background:#edf8f0;border:1px solid #a8d2b2;color:#175c2d}.profile-progress{height:8px;background:#e2e7eb;border-radius:999px;overflow:hidden;margin-top:.45rem}.profile-progress i{display:block;height:100%;background:#178443;border-radius:inherit}.nav-btn.profile-review-locked{opacity:.48}
@media(max-width:760px){.profile-expanded-form .grid.three{grid-template-columns:1fr}.profile-expanded-form .span-three{grid-column:auto}.profile-form-actions{align-items:stretch;flex-direction:column}}

/* Cambio obligatorio de contraseña tras una carga masiva */
.required-password-dialog{width:min(470px,calc(100vw - 32px));padding:0;border:0;border-radius:18px;box-shadow:0 22px 65px rgba(12,29,50,.35);background:#fff;color:var(--company-navy)}
.required-password-dialog::backdrop{background:rgba(7,20,35,.68)}
.required-password-card{display:grid;gap:14px;padding:28px}.required-password-card h2{margin:0}.required-password-card p{margin:0;color:#4a5d70}.required-password-card small{color:#586a7a;line-height:1.45}.required-password-card .institution-kicker{color:var(--company-red);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.required-password-card .primary{width:100%}

/* Matriz detallada de accesos: administración exclusiva */
.detailed-access-modules{display:grid;gap:1rem;margin-top:1rem}.detailed-access-modules .menu-access-card{border:1px solid var(--border,#d9dee8);border-radius:12px;background:var(--panel,#fff);overflow:hidden}.detailed-access-modules summary{cursor:pointer;padding:1rem;display:flex;justify-content:space-between}.detailed-access-modules .permission-grid{padding:0 1rem 1rem}.configuration-permission-header{display:flex;gap:1rem;align-items:end;justify-content:space-between;flex-wrap:wrap}

/* Reservas consolidadas: pestañas y calendario mensual */
.reservation-tabs{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1rem}
.reservation-tabs button{border:0;border-radius:12px;padding:.85rem 1.1rem;font-weight:800;background:#e8eef3;color:#10243a;cursor:pointer}
.reservation-tabs button.active{background:#991520;color:#fff}
.reservation-calendar-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.reservation-calendar-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.reservation-calendar-controls strong{text-transform:capitalize;min-width:170px;text-align:center}
.reservation-calendar-weekdays,.reservation-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.reservation-calendar-weekdays{margin-bottom:.5rem;text-align:center;font-weight:800;color:#780b15}
.reservation-calendar-day{min-height:135px;border:1px solid #d8e0e7;border-radius:12px;background:#fff;padding:.65rem;text-align:left;display:flex;flex-direction:column;gap:.3rem;cursor:pointer;color:#10243a}.reservation-calendar-day:hover{border-color:#c99a2e;box-shadow:0 5px 18px rgba(16,36,58,.09)}
.reservation-calendar-day.is-empty{visibility:hidden;pointer-events:none}.reservation-calendar-day.is-today{outline:2px solid #c99a2e}.reservation-calendar-day.is-selected{border:3px solid #94121f;background:#fff1f3}.reservation-calendar-day.has-reservations{background:#fffaf0}.reservation-calendar-day.has-reservations.is-selected{background:#fff1f3}
.reservation-calendar-number{font-weight:900}.reservation-calendar-count{font-size:.76rem;font-weight:800;color:#780b15}.reservation-calendar-people{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;min-width:0}.reservation-calendar-people span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-calendar-more{font-weight:800;color:#780b15}
.reservation-calendar-selected{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid #e3cf9b}
#reservationInlineManagement{margin-top:1rem;scroll-margin-top:1rem}
@media(max-width:760px){.reservation-calendar-panel{overflow-x:auto}.reservation-calendar-weekdays,.reservation-calendar-grid{min-width:650px}.reservation-calendar-day{min-height:110px}}


/* CALENDARIO RESERVAS INTEGRADO V1 */
.reservation-view-tabs{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1rem}
.reservation-view-tabs button{border:0;border-radius:12px;padding:.85rem 1.15rem;font-weight:800;background:#e8eef2;color:#10243a;cursor:pointer}
.reservation-view-tabs button.active{background:#99131f;color:#fff}
.night-calendar-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.night-calendar-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.night-calendar-controls strong{text-transform:capitalize;min-width:180px;text-align:center}
.night-calendar-weekdays,.night-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.night-calendar-weekdays{margin-bottom:.5rem;text-align:center;font-weight:800;color:#780b15}
.night-calendar-day{min-height:135px;border:1px solid #d8e0e7;border-radius:12px;background:#fff;padding:.65rem;text-align:left;color:#10243a;display:flex;flex-direction:column;gap:.3rem;cursor:pointer;overflow:hidden}.night-calendar-day:hover{border-color:#c99a2e;box-shadow:0 5px 18px rgba(16,36,58,.09)}.night-calendar-day.empty{visibility:hidden}.night-calendar-day.selected{border:3px solid #94121f;background:#fff2f3}.night-calendar-day.occupied{background:#fffaf0}.night-calendar-day span{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.night-calendar-day small{font-weight:800;color:#780b15}
.reservation-calendar-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.reservation-calendar-selection h3,.reservation-calendar-selection p{margin:.15rem 0}
#reservationInlineManagement{scroll-margin-top:1rem}
@media(max-width:780px){.night-calendar-panel{overflow-x:auto}.night-calendar-weekdays,.night-calendar-grid{min-width:700px}.night-calendar-day{min-height:110px}}
.fleet-event-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.fleet-event-tab{border:1px solid #d8dde6;background:#f7f8fa;color:#24364f;padding:10px 16px;border-radius:10px;font-weight:800;cursor:pointer}.fleet-event-tab.active{background:#780b15;color:#fff;border-color:#780b15}.fleet-event-pane.hidden{display:none}.fleet-event-dialog{width:min(900px,94vw);border:0;border-radius:18px;padding:22px;box-shadow:0 22px 70px rgba(0,0,0,.25)}.fleet-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.fleet-file-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.fleet-file-gallery figure{margin:0;border:1px solid #e2e8f0;border-radius:14px;padding:10px;background:#fff}.fleet-file-gallery img{width:100%;height:180px;object-fit:contain;border-radius:10px;background:#f8fafc}.fleet-file-gallery figcaption{font-size:.85rem;margin-top:8px;word-break:break-word}.fleet-file-card{display:block;padding:16px;border:1px solid #d8dde6;border-radius:12px;text-decoration:none;font-weight:700}

/* Material Menor - ventanas por módulo */
.minor-module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:8px;background:#f6f7f9;border:1px solid #e5e7eb;border-radius:14px}
.minor-module-tab{border:0;background:transparent;color:#334155;padding:10px 16px;border-radius:10px;font-weight:800;cursor:pointer}
.minor-module-tab:hover{background:#fff}.minor-module-tab.active{background:#7b0d18;color:#fff;box-shadow:0 5px 16px rgba(123,13,24,.18)}
.minor-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;margin:20px 0}.minor-actions-grid button{min-height:48px}
@media(max-width:640px){.minor-module-tabs{display:grid;grid-template-columns:1fr 1fr}.minor-actions-grid{grid-template-columns:1fr}}
.urgent-recipient-search{display:block;margin:12px 0 16px}.urgent-recipient-search input{width:100%;margin-top:6px}.urgent-recipients-panel .permission-grid{max-height:430px;overflow:auto;padding-right:4px}.urgent-recipients-panel .permission-card.hidden{display:none}
/* Cuartelero integral: pestañas siempre navegables en pantallas pequeñas. */
.caretaker-tabs{display:flex;gap:.55rem;overflow-x:auto;scrollbar-width:auto;padding-bottom:.55rem;position:sticky;top:0;z-index:4;background:var(--bg,#f5f3ef)}
.caretaker-tabs button{flex:0 0 auto;white-space:nowrap}
#caretakerSection .panel{margin-top:1rem}
#caretakerSection textarea{min-height:88px}
#caretakerSection .table-wrap{overflow:auto}
.inspection-brand,.inspection-weekly-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.inspection-check-grid{display:grid;grid-template-columns:repeat(2,minmax(420px,1fr));gap:.4rem 1rem}
.inspection-check-row{display:grid;grid-template-columns:minmax(260px,1fr) 155px minmax(140px,1fr);gap:.5rem;align-items:center;border-bottom:1px solid #dce2e7;padding:.35rem 0}
.inspection-check-row select,.inspection-check-row input{margin:0}
@media(max-width:1000px){.inspection-check-grid{grid-template-columns:1fr}.inspection-check-row{grid-template-columns:1fr}.inspection-check-row select,.inspection-check-row input{width:100%}}
.inspection-square-group,.inspection-unit-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.inspection-square{width:48px;height:40px;padding:0;border:2px solid #9ba7b1;background:#fff;color:#12263a;border-radius:7px;font-weight:800}.inspection-square.selected{background:#9b1420;color:#fff;border-color:#9b1420;box-shadow:0 0 0 3px rgba(155,20,32,.15)}.inspection-unit-buttons button{padding:.65rem 1rem}.inspection-unit-buttons button.active{background:#9b1420;color:#fff}
.native-unit-selector{display:flex;gap:.6rem;flex-wrap:wrap}.native-unit-selector input,.inspection-native-choice input[type=radio]{position:absolute;opacity:0;pointer-events:none}.native-unit-selector label{cursor:pointer;border:2px solid #aab3bb;border-radius:10px;padding:.8rem 1rem;background:#fff;font-weight:800}.native-unit-selector input:checked+label{background:#9b1420;color:#fff;border-color:#9b1420}.inspection-auto-time{display:flex;gap:1.25rem;flex-wrap:wrap;background:#eef2f4;border-radius:10px;padding:.8rem 1rem;margin:1rem 0}.inspection-native-list{display:grid;grid-template-columns:repeat(2,minmax(390px,1fr));gap:.5rem 1rem}.inspection-native-row{border-bottom:1px solid #dce2e7;padding:.5rem 0}.inspection-native-title{font-weight:700;margin-bottom:.4rem}.inspection-native-choice{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.inspection-native-choice label{cursor:pointer;display:grid;place-items:center;min-width:52px;height:42px;border:2px solid #aab3bb;border-radius:8px;background:#fff;font-weight:900}.inspection-native-choice input:checked+label,.inspection-native-choice label.selected{background:#9b1420;color:#fff;border-color:#9b1420;box-shadow:0 0 0 3px rgba(155,20,32,.15)}.inspection-native-note{display:none;flex:1 1 100%;margin-top:.35rem}.inspection-native-note.visible{display:block}@media(max-width:900px){.inspection-native-list{grid-template-columns:1fr}.native-unit-selector{width:100%}.native-unit-selector label{flex:1;text-align:center}.inspection-native-choice label{min-width:58px}}

/* Cuartelero: actividades diarias, semanales y semanas laborales */
.activity-subtabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.activity-subtabs button{background:#e8edf1;color:var(--company-navy)}.activity-subtabs button.active{background:var(--company-red);color:#fff}
.activity-proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:18px 0}.activity-proof-card{display:grid;align-content:start;gap:11px;border:1px solid #dce3e9;border-radius:14px;padding:16px;background:#fafcfd}.activity-check{display:flex;align-items:flex-start;gap:10px;font-weight:800}.activity-check input{width:22px;height:22px;flex:none;accent-color:var(--company-red)}.activity-photo{display:grid;gap:7px;font-weight:800}.activity-photo input{width:100%}.activity-proof-card small{color:#607080}
.activity-completed-summary{margin:16px 0;border:1px solid #cfe1d4;border-radius:12px;background:#f5fbf7;padding:12px 16px}.activity-completed-summary summary{cursor:pointer;font-weight:900;color:#245b35}.activity-completed-summary p{margin:8px 0}.activity-completed-summary small{color:#607080}.activity-completed-row{padding:10px 0;border-bottom:1px solid #d9e9dd}.activity-completed-row:last-child{border-bottom:0}
.activity-result-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.activity-result-options label{position:relative;cursor:pointer}.activity-result-options input{position:absolute;opacity:0}.activity-result-options span{display:block;text-align:center;border:2px solid #aab3bb;border-radius:10px;padding:11px 8px;font-weight:900;background:#fff}.activity-result-options input:checked+span{background:#9b1420;color:#fff;border-color:#9b1420;box-shadow:0 0 0 3px rgba(155,20,32,.14)}.activity-reason{display:grid;gap:6px;font-weight:800}.activity-reason.hidden{display:none}
.activity-calendar{overflow-x:auto;padding-bottom:8px}.activity-calendar-head,.activity-calendar-week{display:grid;grid-template-columns:120px repeat(7,minmax(100px,1fr));min-width:820px;gap:6px}.activity-calendar-head{padding:8px 0;text-align:center;color:var(--company-red)}.activity-calendar-week{margin-bottom:6px}.week-number,.activity-calendar-day{min-height:92px;border:1px solid #dce3e9;border-radius:11px;padding:10px}.week-number{display:flex;flex-direction:column;justify-content:center;gap:5px;background:#edf2f5}.week-number small{color:#596b7c}.activity-calendar-day{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;color:var(--company-navy);text-align:left;cursor:pointer}.activity-calendar-day:hover{border-color:var(--company-gold);box-shadow:0 4px 14px rgba(13,35,56,.09)}.activity-calendar-day.outside{opacity:.45}.activity-calendar-day b{font-size:1.05rem}.activity-calendar-day small{font-weight:700;color:#657483}
@media(max-width:700px){.activity-subtabs{display:grid;grid-template-columns:1fr}.activity-subtabs button{width:100%}.activity-proof-grid{grid-template-columns:1fr}}

/* Asistencia integral v33 */
.attendance-v33-tabs{position:sticky;top:0;z-index:5;background:var(--bg,#f5f3ef);padding:.55rem 0;overflow-x:auto;scrollbar-width:auto}.attendance-v33-tabs button{flex:0 0 auto;white-space:nowrap}
.attendance-roster-tools{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.attendance-roster-tools label{flex:1 1 280px}.attendance-roster{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:.65rem;max-height:580px;overflow:auto;padding:.25rem}.attendance-roster.compact{grid-template-columns:1fr;max-height:420px}
.attendance-edit-document{max-width:1100px}.attendance-edit-footer{position:sticky;bottom:0;z-index:3;margin-top:1rem;padding:1rem;border:1px solid #d7dee5;border-radius:16px;background:#fff;box-shadow:0 -10px 24px rgba(7,31,54,.10)}.attendance-edit-footer label{display:block}.attendance-edit-footer textarea{margin-top:.45rem;min-height:76px}.attendance-edit-footer small{display:block;margin-top:.35rem;color:#526476}.attendance-edit-footer .dialog-actions{margin-top:.75rem}.attendance-edit-footer .message{margin:.5rem 0 0}
.attendance-person-card{display:grid;grid-template-columns:minmax(190px,1fr) auto;align-items:center;gap:.8rem;border:1px solid #dbe2e8;border-radius:12px;padding:.8rem;background:#fff}.attendance-person-card small{display:block;color:#607080;margin-top:.2rem}.attendance-person-card.hidden{display:none}
.attendance-status-options{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.attendance-status-options label{position:relative;cursor:pointer}.attendance-status-options input{position:absolute;opacity:0;pointer-events:none}.attendance-status-options span{display:block;border:2px solid #aab3bb;border-radius:8px;padding:.5rem .65rem;font-weight:800;background:#fff;color:#21364b}.attendance-status-options input:checked+span{background:#99131f;color:#fff;border-color:#99131f;box-shadow:0 0 0 3px rgba(153,19,31,.14)}
.attendance-save-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;border-radius:12px;background:#eef2f4;box-shadow:0 -5px 18px rgba(16,36,58,.08);font-weight:900}.attendance-annulled{opacity:.65;background:#f7f7f7}.attendance-history-filters{margin-bottom:1rem}
@media(max-width:900px){.attendance-roster{grid-template-columns:1fr}.attendance-person-card{grid-template-columns:1fr}.attendance-status-options{justify-content:flex-start}}@media(max-width:560px){.attendance-status-options{display:grid;grid-template-columns:1fr 1fr}.attendance-status-options span{text-align:center}.attendance-save-bar{align-items:stretch;flex-direction:column}.attendance-save-bar button{width:100%}}

/* EPP Personal: especialidades y resumen de dotación */
.epp-v38-tabs{display:flex;gap:.55rem;overflow-x:auto;scrollbar-width:auto;position:sticky;top:0;z-index:5;padding:.55rem 0;background:var(--bg,#f5f3ef)}.epp-v38-tabs button{flex:0 0 auto;white-space:nowrap}.epp-v37-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.epp-v37-selector{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1fr);gap:.7rem;flex:1 1 560px}.epp-history-details summary{cursor:pointer;padding:.4rem 0}.epp-history-details[open] summary{margin-bottom:1rem}.epp-alert-critical{color:#9b1420;font-weight:900}.epp-alert-warning{color:#9a6500;font-weight:900}[data-epp-summary-row].hidden{display:none}
@media(max-width:720px){.epp-v37-selector{grid-template-columns:1fr}.epp-v38-tabs button{min-width:max-content}}
.config-v39-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:auto}.config-v39-tabs .config-tab{white-space:nowrap}.config-v39-stats{margin-top:0}.config-v39-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.config-v39-quick button{display:flex;flex-direction:column;gap:5px;min-height:92px;padding:16px;text-align:left;border:1px solid #d9e0e7;border-radius:14px;background:#f6f8fa;color:#102842;cursor:pointer}.config-v39-quick button:hover{background:#fff;border-color:#a3111e;box-shadow:0 6px 18px rgba(15,39,67,.08)}.config-v39-quick b{font-size:1rem}.config-v39-quick small{color:#5c6b7a;line-height:1.35}.config-v39-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.config-v39-role-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid #dfe5ea;border-radius:13px;background:#fbfcfd}.config-v39-role-grid article>div:first-child{display:flex;flex-direction:column;gap:3px}.config-v39-role-grid article>div:last-child{grid-column:1/-1}.config-v39-role-grid small{color:#687787}.config-v39-search{min-width:min(360px,100%)}.config-v39-health{display:flex;justify-content:space-between;gap:12px;padding:16px;border-radius:13px;border:1px solid}.config-v39-health.ok{background:#effaf4;border-color:#9ed7b4;color:#166534}.config-v39-health.bad{background:#fff1f2;border-color:#f1aeb5;color:#9f1239}@media(max-width:900px){.config-v39-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.config-v39-role-grid{grid-template-columns:1fr}}@media(max-width:560px){.config-v39-quick{grid-template-columns:1fr}.config-v39-header .management-heading,.config-v39-search{width:100%}}
.user-v40-stats{margin:16px 0 10px}.user-v40-filters{margin:0 0 14px;padding:14px;background:#f6f8fa;border:1px solid #e0e6eb;border-radius:14px}.profile-subnav{overflow-x:auto;scrollbar-width:auto}.profile-subnav button{white-space:nowrap}#profileConfigurationMount>.config-v39-header{margin-top:0}#profileUsersTableWrap td:last-child{min-width:370px}.configuration-permission-note{line-height:1.55}@media(max-width:700px){.user-v40-filters{grid-template-columns:1fr!important}#profileUsersTableWrap td:last-child{min-width:290px}}
.mm46-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.mm46-head input{max-width:440px}.mm46-tabs{display:flex;gap:.55rem;overflow-x:auto;position:sticky;top:0;z-index:4;background:#f5f3ef;padding:.65rem 0;margin-bottom:1rem;scrollbar-width:auto}.mm46-tabs button{white-space:nowrap}.mm46-tabs button.active,.mm46-check button.active{background:#941321;color:#fff;border-color:#941321}.mm46-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.mm46-stat{background:#fff;border-radius:16px;padding:1.1rem;border:1px solid #e3e7ea;display:grid;gap:.35rem}.mm46-stat b{font-size:1.65rem}.mm46-stat small,.mm46-row small,.mm46-request small{display:block;color:#647481}.mm46-alert{border-left:4px solid #c38b16;background:#fff8e6;padding:.65rem .8rem;border-radius:6px}.mm46-filters,.mm46-actions,.mm46-check{display:flex;gap:.45rem;flex-wrap:wrap;margin:.5rem 0}.mm46-actions button{padding:.45rem .65rem;font-size:.86rem}.mm46-badge{display:inline-block;background:#eef1f4;border-radius:99px;padding:.25rem .55rem}.mm46-row,.mm46-request,.mm46-location{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;border-bottom:1px solid #dde3e7}.mm46-row>span,.mm46-request span{display:block}.mm46-request>div:first-child{flex:1}.mm46-dialog{max-height:70vh;overflow:auto}.mm46 table small{display:block}.mm46 .table-wrap{overflow:auto;scrollbar-gutter:stable both-edges}.mm46-check button{min-width:110px}.mm46-location span{white-space:pre}.mm46 details summary{cursor:pointer;padding:.5rem 0}@media(max-width:720px){.mm46-head{align-items:stretch;flex-direction:column}.mm46-head input{max-width:none}.mm46-row,.mm46-request{align-items:stretch;flex-direction:column}.mm46-check button{flex:1;min-width:90px}}
