/* Homologación final con el sistema visual vigente de Viajes. */
:root {
  --brand-blue:#1083e8;
  --brand-cyan:#68a6dd;
  --primary:#0b3c5d;
  --primary-dark:#07385a;
  --secondary:#1ca3d9;
  --accent:#00bcd4;
  --cta:#f57c00;
  --success:#4caf50;
  --danger:#ef4444;
  --bg-dark:#101a2c;
  --background:#eaf3f8;
  --surface:#fff;
  --surface-soft:#f6fafd;
  --text-main:#102033;
  --text-muted:#61728a;
  --border:#d2e0ec;
  --border-strong:#bfd1e1;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:16px;
  --radius-pill:999px;
  --shadow-sm:0 8px 22px rgba(11,60,93,.08);
  --shadow-md:0 14px 34px rgba(11,60,93,.08);
  --shadow-lg:0 18px 46px rgba(15,23,42,.12);
  --font-main:"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --network-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='340' viewBox='0 0 520 340'%3E%3Cg fill='none' stroke='%231083E8' stroke-opacity='.28' stroke-width='1.35'%3E%3Cpath d='M0 78L72 32L146 92L222 50L302 128L386 82L520 116M34 214L118 160L204 218L292 176L382 238L498 188M72 32L118 160L222 50M146 92L204 218L302 128M386 82L382 238M222 50L292 176M302 128L382 238'/%3E%3C/g%3E%3Cg fill='%231083E8' fill-opacity='.45'%3E%3Ccircle cx='72' cy='32' r='3'/%3E%3Ccircle cx='146' cy='92' r='3'/%3E%3Ccircle cx='222' cy='50' r='3'/%3E%3Ccircle cx='302' cy='128' r='3'/%3E%3Ccircle cx='386' cy='82' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

html,body{font-family:var(--font-main);font-size:14px;background:var(--background);color:var(--text-main);font-weight:400}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4{font-family:var(--font-main);font-weight:800;letter-spacing:-.015em}
#app{width:100%;min-height:100vh}
.glass-card{backdrop-filter:none;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md)}

/* Login: misma composición, patrón y jerarquía que Viajes. */
.auth-layout{min-height:100vh;padding:20px;background-color:#f7fbfe;background-image:var(--network-pattern),linear-gradient(160deg,rgba(255,255,255,.72),rgba(234,243,248,.74));background-size:520px 340px,cover;background-repeat:repeat,no-repeat}
.login-card{width:min(520px,100%);padding:28px!important;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 28px 80px rgba(15,23,42,.16)}
.login-card>.text-center{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"logo kicker" "logo title" "logo copy";column-gap:18px;align-items:center;text-align:left;margin-bottom:18px}
.login-logo{grid-area:logo;width:96px;max-width:96px;height:96px;max-height:96px;filter:drop-shadow(0 12px 18px rgba(11,60,93,.14))}
.login-card .institutional-kicker{grid-area:kicker;margin:0;color:#1083e8;font-size:11px}
.login-card>.text-center h1{grid-area:title;margin:0;color:#07385a;font-size:30px;font-weight:900;line-height:1.05}
.login-card>.text-center p{grid-area:copy;margin:3px 0 0;color:#526d87;line-height:1.35}
.quick-access{margin:0 0 16px;padding:14px;border-color:#cfe2ef;border-radius:12px;background:#f8fbfd}
.quick-user{border-radius:12px;background:#eaf4fb;color:#07385a;font-weight:900}
.quick-user:hover{border-color:#1083e8;background:#1083e8;color:#fff}
.quick-user:hover small{color:#eaf7ff}.quick-user>i{background:#1083e8}
.quick-access-qa{padding:16px}.quick-access-qa .quick-access-head{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-bottom:14px}.quick-access-kicker{display:block;color:#1083e8;font-size:10px;font-weight:900;letter-spacing:.12em}.quick-access-qa .quick-access-head strong{font-size:17px}.quick-access-controls{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:9px;margin-bottom:10px}.quick-search{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center;padding:0 11px;border:1px solid #c9ddea;border-radius:10px;background:#fff;color:#5d7890}.quick-search:focus-within{border-color:#1083e8;box-shadow:0 0 0 3px rgba(16,131,232,.12)}.quick-search input,.quick-client-select select{width:100%;min-height:40px;border:0;background:transparent;color:#173f5d;outline:0;font:inherit}.quick-client-select{border:1px solid #c9ddea;border-radius:10px;background:#fff}.quick-client-select select{padding:0 9px}.quick-role-filters{display:flex;gap:7px;overflow-x:auto;padding:2px 0 7px;scrollbar-width:thin}.quick-role-filter{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:34px;padding:0 10px;border:1px solid #c9ddea;border-radius:999px;background:#fff;color:#315b78;font-size:12px;font-weight:800}.quick-role-filter b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e7f2fa;color:#0b69aa;font-size:10px}.quick-role-filter.is-active{border-color:#1083e8;background:#1083e8;color:#fff}.quick-role-filter.is-active b{background:rgba(255,255,255,.22);color:#fff}.quick-access-results{min-height:104px}.quick-result-summary{margin:1px 0 8px;color:#688198;font-size:12px}.quick-result-summary strong{color:#0b69aa}.quick-user-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto;padding-right:2px}.quick-user-readable{grid-template-columns:34px minmax(0,1fr) auto;min-height:64px;padding:9px}.quick-user-readable>i{width:34px;height:34px;font-size:17px}.quick-user-copy{min-width:0;display:grid;gap:3px}.quick-user-copy strong{overflow:visible!important;white-space:normal!important;font-size:13px;line-height:1.16}.quick-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.quick-role-badge{align-self:center;padding:4px 6px;border-radius:999px;background:#e7f2fa;color:#075f9e;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}.quick-role-badge.role-supervisor{background:#f3e9ff;color:#7744a1}.quick-role-badge.role-lavandero{background:#e6f7ef;color:#087755}.quick-role-badge.role-administrador{background:#fff0dc;color:#b45b00}.quick-user-readable:hover .quick-role-badge{background:rgba(255,255,255,.2);color:#fff}.quick-users-empty{display:grid;place-items:center;gap:4px;min-height:104px;padding:16px;border:1px dashed #c9ddea;border-radius:10px;color:#678197;text-align:center;font-size:12px}.quick-users-empty i{font-size:22px;color:#1083e8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-card .form-control{min-height:48px;border-radius:10px}.login-card .btn-cta{min-height:46px;border-radius:10px;background:#f57c00;font-weight:900;box-shadow:none}

/* Shell principal calcado de la interfaz final de Viajes. */
.dashboard-layout{display:grid;grid-template-columns:255px minmax(0,1fr);width:100%;max-width:none;margin:0;background:var(--background)}
#sidebarOverlay{display:none}
.sidebar{width:255px;height:100vh;height:100dvh;padding:0;overflow-x:hidden;overflow-y:auto;background:#101a2c;box-shadow:10px 0 28px rgba(11,60,93,.16);scrollbar-width:thin;scrollbar-color:#b9c7d5 #101a2c}
.sidebar::-webkit-scrollbar{width:9px}.sidebar::-webkit-scrollbar-track{background:#101a2c}.sidebar::-webkit-scrollbar-thumb{border:2px solid #101a2c;border-radius:999px;background:#b9c7d5}.sidebar::-webkit-scrollbar-thumb:hover{background:#e4edf5}
.sidebar-header{min-height:240px;height:240px;flex:0 0 240px;padding:18px;background:#101a2c;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-logo{width:min(178px,88%);max-width:178px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.22))}
.sidebar-nav{flex:0 0 auto;padding:0 0 22px;gap:0;overflow:visible}
.sidebar-link{min-height:68px;margin:0;padding:18px 22px;border:0;border-radius:0;color:#b7c4d4;font-size:16px;font-weight:700;line-height:1.25}.sidebar-link svg{width:19px;height:19px;flex:0 0 19px;color:#68a6dd;stroke-width:1.8}.sidebar-link.active svg,.sidebar-link:hover svg{color:#68c6ee}.sidebar-link span{min-width:0}
.sidebar-link:hover{background:#162238;color:#fff;box-shadow:none}
.sidebar-link.active{padding-left:18px;border-left:4px solid #1ca3d9;border-radius:0;background:#202b3f;color:#fff;box-shadow:none;font-weight:900}
.sidebar-footer{flex:0 0 auto;margin-top:auto;padding:14px 18px}.btn-logout{border-radius:8px}
.dashboard-main{max-width:none;background-color:#eef6fb;background-image:linear-gradient(rgba(247,251,254,.91),rgba(234,243,248,.94)),var(--network-pattern);background-size:auto,520px 340px;background-repeat:no-repeat,repeat}
.dashboard-header{height:70px;min-height:70px;margin:0 0 24px;padding:0 32px;border:0;border-radius:0 0 0 14px;background:#fff;box-shadow:0 10px 28px rgba(11,60,93,.12)}
.header-screen,.navbar-actions{display:flex;align-items:center;gap:8px}.header-screen-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:#e6f1f8;color:#07385a}.header-screen-icon svg{width:19px;height:19px;stroke-width:1.8}.header-back-action{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:8px;background:#e8f1f7;color:#07385a;font-weight:900}.header-back-action svg{width:17px;height:17px}
.header-title h2{margin:0;color:#06385b;font-size:25px;font-weight:800;line-height:1.05}.header-title p{margin:4px 0 0;color:#61728a;font-size:14px}
.header-icon-button{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#e6f1f8;color:#07385a;font-size:18px}
.header-icon-button svg,.header-logout svg,.header-operation-state svg{width:18px;height:18px;stroke-width:1.8}
.header-operation-state{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:9px;background:#e8f8ed;color:#178143;font-size:13px;font-weight:900}
.user-pill{padding:7px 9px;border:1px solid #d8e5ee;border-radius:10px;background:#f8fbfd}.user-name{color:#0798d0;font-weight:900}.avatar{width:36px;height:36px;box-shadow:none}
.header-logout{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border-radius:9px;background:#e8f1f7;color:#07385a;font-weight:900}
.push-notification-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid #cbddea;border-radius:9px;background:#edf5fa;color:#315f83;font-size:12px;font-weight:900;white-space:nowrap}.push-notification-toggle svg{width:17px;height:17px;stroke-width:2}.push-notification-toggle.is-active{border-color:#b9e5ca;background:#e5f7eb;color:#17733c}.push-notification-toggle.is-loading svg{animation:push-spinner .8s linear infinite}.push-notification-toggle:disabled{cursor:not-allowed;opacity:.68}.push-notification-test[hidden]{display:none!important}@keyframes push-spinner{to{transform:rotate(360deg)}}
.dashboard-content{max-width:1600px;width:100%;padding:0 32px 32px;margin:0 auto}

/* Componentes compartidos. */
.page-stack,.dashboard-page{gap:16px}.page-hero,.dashboard-hero-band,.dashboard-content>.flex-between.mb-4{min-height:0;padding:22px 24px;border:1px solid #d2e0ec;border-radius:14px;background:#fff;box-shadow:var(--shadow-md);color:var(--text-main)}
.page-hero::after,.dashboard-content>.flex-between.mb-4::after{display:none}.page-eyebrow{color:#f57c00}.page-hero h1,.dashboard-content>.flex-between.mb-4 h3{color:#07385a;font-size:25px}.page-hero p{margin-top:6px;color:#61728a}.page-list-subtitle{margin:5px 0 0;color:#61728a;font-size:14px}.live-indicator{border-color:#cfe1ec;background:#f6fafc;color:#526d87}.live-indicator i{background:#4caf50}
.action-button,.btn{min-height:42px;padding:10px 15px;border-radius:8px;font-weight:900}.action-primary,.btn-primary,.btn-cta{background:#f57c00;color:#fff;border-color:#f57c00;box-shadow:none}.action-primary:hover,.btn-primary:hover,.btn-cta:hover{background:#e97000;transform:translateY(-1px);box-shadow:0 10px 22px rgba(245,124,0,.2)}.action-secondary,.btn-secondary{border:0;background:#e8f1f7;color:#07385a}.action-secondary:hover,.btn-secondary:hover{background:#dbeaf4;color:#07385a}
.panel-card,.glass-card,.card,.table-card{border:1px solid #d2e0ec;border-radius:14px;background:#fff;box-shadow:var(--shadow-md)}
.panel-header{padding:20px 24px}.panel-header h2{font-size:19px}.panel-kicker{color:#1083e8}
.metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-card{--tone:#0b5f91;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"icon label" "number number" "meta meta";align-content:start;gap:5px 10px;min-height:124px;padding:18px 16px;border:1px solid #cbddeb;border-top:4px solid var(--tone);border-radius:8px;background:rgba(255,255,255,.96);color:#07385a;overflow:hidden;text-align:left;box-shadow:0 10px 25px rgba(11,60,93,.06)}.metric-card::after{display:none}.metric-icon{grid-area:icon;display:grid;place-items:center;width:24px;height:24px;margin:0;border-radius:0;background:transparent;color:var(--tone);font-size:18px}.metric-copy{display:contents}.metric-copy small{grid-area:label;align-self:center;color:#526d87;font-size:12px;font-weight:900;line-height:1.2;text-transform:uppercase}.metric-copy strong{grid-area:number;color:#07385a;font-size:29px;font-weight:800;line-height:1.1}.metric-copy em{grid-area:meta;display:block;margin:0;padding:0;background:transparent;color:#657b8e;font-size:11px;font-style:normal;font-weight:700}.metric-arrow{display:none}.tone-blue{--tone:#0b3c5d}.tone-sky,.tone-cyan{--tone:#00bcd4}.tone-orange,.tone-amber{--tone:#f57c00}.tone-green{--tone:#16934a}.tone-violet{--tone:#7653b5}.tone-slate{--tone:#64748b}.tone-navy{--tone:#0b5f91}.tone-red{--tone:#ef4651}
.filter-toolbar{padding:12px;background:#f8fbfd}.form-control,input,select,textarea{border-color:#c9d8e5;border-radius:8px}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:#1083e8;box-shadow:0 0 0 3px rgba(16,131,232,.14)}

/* Tablas y listados: misma densidad documental de Viajes. */
.card-table-wrapper,.report-table-wrap,.ticket-form-table-wrapper{overflow:auto;border:1px solid #cadbea;border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 10px 24px rgba(11,60,93,.06)}
.dashboard-content>.glass-card>.card-table-wrapper{border:0;border-radius:14px;box-shadow:none}
.data-table,.document-table,.ticket-category-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;color:#102033}
.data-table thead th,.document-table th,.ticket-category-table thead th{height:44px;padding:11px 14px;border:0;border-bottom:1px solid #c8d9e7;background:#f2f6fa;color:#526d87;font-size:11px;font-weight:900;letter-spacing:.025em;text-align:left;text-transform:uppercase;white-space:nowrap}
.data-table thead th:first-child,.document-table th:first-child,.ticket-category-table thead th:first-child{padding-left:18px}
.data-table tbody td,.document-table td,.ticket-category-table tbody td{min-height:58px;padding:14px;border:0;border-bottom:1px solid #d8e4ed;background:#fff;color:#14283c;font-size:13px;vertical-align:middle}
.data-table tbody td:first-child,.document-table td:first-child,.ticket-category-table tbody td:first-child{padding-left:18px;color:#07385a;font-weight:800}
.data-table tbody tr:last-child td,.document-table tbody tr:last-child td,.ticket-category-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr,.document-table tbody tr,.ticket-category-table tbody tr{transition:background .16s ease,box-shadow .16s ease}
.data-table tbody tr:hover td,.document-table tbody tr:hover td,.ticket-category-table tbody tr:hover td{background:#f7fbfe}
.data-table tbody tr:hover,.document-table tbody tr:hover,.ticket-category-table tbody tr:hover{box-shadow:inset 3px 0 #1ca3d9}
.data-table td strong,.document-table td strong{color:#07385a;font-weight:900}
.status-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border-radius:999px;background:#e2f3fb;color:#315f83;font-size:11.5px;font-weight:900;line-height:1.25;letter-spacing:.02em;text-transform:uppercase}.status-badge.success{background:#dcf5e5;color:#17733c}.status-badge.neutral{background:#edf2f6;color:#5d7184}
.actions-cell .btn-icon svg{width:16px;height:16px;stroke-width:2}.btn svg{width:17px;height:17px;stroke-width:2.2}
.actions-cell{display:flex;align-items:center;gap:7px;white-space:nowrap}.btn-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbddea;border-radius:8px;background:#eaf3f9;color:#0b5f91;font-size:16px}.btn-icon:hover{border-color:#1083e8;background:#1083e8;color:#fff}.btn-icon.danger{border-color:#f5cbd1;background:#fff0f2;color:#d53b4d}.btn-icon.danger:hover{background:#d53b4d;color:#fff}
.table-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(150px,1fr));gap:10px;padding:14px 16px;border-bottom:1px solid #d8e4ed;background:#f7fafc}.table-helper-text{padding:10px 16px;border-bottom:1px solid #e1e9ef;background:#fff;color:#6b8092;font-size:12px}
.records-table .mini-list-item{display:grid;gap:3px}.records-table .mini-list-item span{color:#6b8092;font-size:11px}.btn-inline-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 11px;border-radius:8px;background:#e8f1f7;color:#07385a;font-size:12px;font-weight:900}

.status-soft,.badge{border:0;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;text-transform:uppercase}.status-soft-recolectado{background:#e2f3fb;color:#315f83}.status-soft-en_lavado{background:#eee8fb;color:#65439a}.status-soft-lavado{background:#dff7fa;color:#087a8a}.status-soft-check_prendas_listo{background:#dcf7f0;color:#08735f}.status-soft-entregado,.status-soft-finalizado{background:#e4f7e9;color:#19743b}.status-soft-cerrado{background:#e7f0f5;color:#355a73}.status-soft-observacion{background:#fff0f2;color:#b52c42}.status-soft-especial{background:#fff3df;color:#9a5b00}

/* Actividad y pendientes dejan de verse como filas planas. */
.activity-list,.attention-list{display:grid;gap:10px;padding:16px;background:rgba(255,255,255,.72)}.activity-item,.attention-item{border:1px solid #cdddea!important;border-radius:12px!important;background:#fff!important;box-shadow:none}.activity-item{padding:14px 16px}.attention-item{padding:13px 14px}.activity-item:hover,.attention-item:hover{border-color:#68a6dd!important;background:#f8fcff!important;box-shadow:0 8px 20px rgba(11,60,93,.07)}

/* Formularios y chips con jerarquía equivalente al formulario de Viajes. */
.form-grid{gap:18px 20px}.form-label{margin-bottom:7px;color:#07385a;font-size:13px;font-weight:800}.structured-form-section .form-label{padding:3px 0;border-bottom:5px solid #f3f6f9;line-height:1.2}.label-optional::after{border-color:#c9d9e5;background:#eef4f8;color:#526d87}.ticket-category-table .form-control{min-height:40px;padding:9px 10px;background:#fff}.ticket-category-table input[type="number"]{font-weight:800;text-align:center}.ticket-category-table tbody td:first-child{background:#fbfcfe;color:#53677a}.ticket-category-table tbody tr:hover td:first-child{background:#f1f7fb;color:#07385a}.option-action-card,.modal-tab,.mode-chip{border-radius:8px}.option-action-card{border-color:#cbddea;background:#f5f9fc}.mode-banner{border-color:#cbddea;border-radius:10px;background:#f5f9fc}.file-input-option{border-color:#b8ccda;background:#fbfdff}

/* Modales administrativos alineados con los diálogos de Viajes. */
.app-modal-backdrop{background:rgba(15,23,42,.58)}.app-modal{width:min(820px,calc(100vw - 28px));border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.24)}.app-modal-body{padding:22px}.app-modal .detail-stack{gap:16px}.app-modal .form-group{margin-bottom:0}.app-modal form>button[type="submit"]{justify-self:end;min-width:150px;background:#f57c00}

/* Barra compacta BUSCAR / FILTROS / ORDENAR copiada del gestor de Viajes. */
.compact-filter-shell{padding:12px 14px;background:rgba(255,255,255,.9)}.compact-filter-row{display:grid;grid-template-columns:minmax(280px,1fr) auto 190px 44px auto;align-items:end;gap:9px}.compact-search-field,.compact-sort-field{position:relative;display:grid;gap:5px}.compact-search-field>span,.compact-sort-field>span,.advanced-ticket-filters label>span{color:#526d87;font-size:11.5px;font-weight:900;line-height:1.35;letter-spacing:.03em}.compact-search-field>i,.compact-search-field>svg{position:absolute;left:11px;bottom:12px;width:17px;height:17px;color:#07385a}.compact-search-field input{padding-left:36px}.compact-filter-button{min-width:104px}.compact-order-button{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#e8f1f7;color:#07385a}.compact-order-button svg{width:19px;height:19px}.list-result-count{align-self:center;color:#526d87;font-size:12px;white-space:nowrap}.advanced-ticket-filters{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:9px;margin-top:12px;padding:12px;border-top:1px solid #d9e5ee;background:#f8fbfd}.advanced-ticket-filters label{display:grid;gap:5px}.advanced-ticket-filters[hidden]{display:none}.active-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.active-filter-chips:not(:empty){padding:10px 2px 0}.active-filter-chips span{padding:5px 9px;border-radius:999px;background:#e2f3fb;color:#315f83;font-size:11.5px;font-weight:800}.result-total-pill{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:#dcf8e5;color:#14743a;font-weight:900}.ticket-results-panel{overflow:hidden}.tickets-manager .forms-manager-head{box-shadow:none}
.ticket-panel-card svg,.status-soft svg,.icon-action svg{width:16px;height:16px;stroke-width:1.8}.ticket-panel-main>span,.ticket-panel-meta>span{display:flex;align-items:center;gap:5px}
.app-modal{border-radius:8px}.app-modal-body{background:#fff}.app-modal-close{top:10px;right:10px;width:40px;height:40px;border-radius:8px;background:#e8f1f7;color:#07385a}

/* Formularios activos de Viajes adaptados a tickets. */
.ticket-panel-list{grid-template-columns:1fr;gap:12px;padding:18px}.ticket-panel-card{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(330px,1fr) auto auto;grid-template-areas:"main meta flags actions";align-items:center;gap:18px;padding:16px;border:1px solid #c8dbea;border-left:3px solid #1ca3d9;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:none}.ticket-panel-card:hover{border-color:#22b968;box-shadow:0 10px 24px rgba(11,60,93,.08)}.ticket-panel-main{grid-area:main}.ticket-panel-main strong{font-size:15px}.ticket-panel-flags{grid-area:flags;justify-items:end}.ticket-panel-meta{grid-area:meta;grid-template-columns:1fr;gap:5px;padding:0;border:0;border-radius:0;background:transparent}.ticket-actions-row{grid-area:actions;justify-content:flex-end;padding:0;border:0}.icon-action{border-radius:8px}.icon-action.primary{background:#0b3c5d}.icon-action.orange{background:#f57c00}
.structured-form-section{border-radius:0}.structured-form-section>h4{background:#f1f8fc;color:#07385a}.form-submit-bar{border-radius:8px}
.ticket-document-form{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.ticket-document-form>.structured-form-section{margin:0!important;padding:26px;border:0;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 14px 32px rgba(11,60,93,.08)}.ticket-document-form>.structured-form-section>h4{margin:-4px 0 20px;padding:0 0 14px;background:#fff;border-bottom:0;color:#07385a;font-size:19px;text-transform:uppercase}.ticket-document-form>.structured-form-section>h4 i{color:#1ca3d9}.ticket-document-form .mode-banner{border-radius:8px;background:#f5f9fc}.ticket-document-form .form-submit-bar{margin-top:0}.ticket-document-form .ticket-category-block,.ticket-document-form .file-input-option{border-radius:10px}.ticket-document-form .form-label{font-weight:800}.ticket-document-form .form-control{min-height:44px}
.document-preview-shell{background:#dfe8ee}.document-preview{border-radius:0;box-shadow:0 18px 42px rgba(11,60,93,.16)}.pdf-section{border-radius:0}.pdf-section-title{background:#dcebf5}

@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-panel-card{grid-template-columns:minmax(185px,1fr) minmax(145px,.78fr) minmax(125px,.62fr) auto;grid-template-areas:"main meta flags actions";gap:10px}.ticket-panel-flags{justify-items:end}}
@media(max-width:900px) and (min-width:641px){.ticket-panel-card{grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) auto;grid-template-areas:"main meta actions" "flags flags actions"}.ticket-panel-flags{justify-items:start}}

/* Cierre consistente para todos los diálogos creados con openModal(). */
.app-modal>.app-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  margin:0;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid #bfd4e2;
  border-radius:10px;
  background:#e8f1f7;
  color:#07385a;
  box-shadow:0 5px 14px rgba(7,56,90,.12);
  line-height:1;
  cursor:pointer;
  z-index:10;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.app-modal>.app-modal-close::before{content:"\00d7";font-size:25px;font-weight:400;line-height:1}
.app-modal>.app-modal-close:has(svg)::before{display:none}
.app-modal>.app-modal-close svg{display:block;width:20px;height:20px;stroke-width:2.25;pointer-events:none}
.app-modal>.app-modal-close:hover{border-color:#79b5d5;background:#d8edf7;color:#052d49;transform:translateY(-1px);box-shadow:0 7px 18px rgba(7,56,90,.16)}
.app-modal>.app-modal-close:focus-visible{outline:3px solid rgba(28,163,217,.34);outline-offset:2px}
.app-modal:not(.chart-expanded-shell):not(.close-expedient-modal):has(>.app-modal-close)>.app-modal-body{padding-top:62px}
@media(max-width:640px){
  .app-modal>.app-modal-close{top:8px;right:8px;width:40px;height:40px}
  .app-modal:not(.chart-expanded-shell):not(.close-expedient-modal):has(>.app-modal-close)>.app-modal-body{padding-top:58px}
}
@media(max-width:991px){.dashboard-layout{grid-template-columns:1fr}.dashboard-header{border-radius:0}.sidebar{width:255px}.sidebar-header{height:210px;min-height:210px}.dashboard-content{padding:0 18px 24px}}
@media(max-width:640px){.auth-layout{padding:10px}.login-card{padding:18px!important}.login-card>.text-center{grid-template-columns:76px 1fr;column-gap:12px}.login-logo{width:76px;height:76px}.login-card>.text-center h1{font-size:23px}.dashboard-header{height:auto;min-height:64px;padding:10px 14px}.header-screen-icon,.header-title p,.navbar-actions .header-icon-button:not(.notification-trigger):not(.push-notification-test),.header-operation-state,.header-logout span,.push-notification-toggle span{display:none}.push-notification-toggle{display:grid;place-items:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0}.header-back-action{min-height:38px;padding:0 10px;font-size:12px}.header-title h2{font-size:19px}.header-user .user-info{display:none}.dashboard-content{padding:0 14px 20px}.page-hero,.dashboard-content>.flex-between.mb-4{padding:18px}.page-hero h1{font-size:22px}.metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:112px;padding:14px}.metric-copy strong{font-size:25px}.ticket-panel-card{grid-template-columns:1fr;grid-template-areas:"main" "flags" "meta" "actions"}.ticket-panel-flags{justify-items:start}.ticket-panel-meta{grid-template-columns:1fr}.ticket-actions-row{justify-content:flex-start}.ticket-document-form>.structured-form-section{padding:18px}.ticket-document-form>.structured-form-section>h4{font-size:17px}.document-toolbar-actions{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.app-modal:has(.notification-detail-modal){width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.app-modal:has(.notification-detail-modal) .app-modal-body{height:100%;padding:54px 14px 16px;background:var(--surface)}}
@media(max-width:640px){.quick-access-qa{padding:13px}.quick-access-controls{grid-template-columns:1fr}.quick-user-results{grid-template-columns:1fr;max-height:330px}.quick-user-readable{min-height:62px}.quick-role-filters{margin-inline:-2px}.quick-role-filter{min-height:36px}.quick-access-qa .quick-access-head strong{font-size:16px}}
.quick-access-qa .quick-user-results{grid-template-columns:1fr}.quick-access-qa .quick-user-readable{min-height:58px}
.personnel-directory-table .btn-history-user,.personnel-directory-table .btn-assign-user{display:none}.person-profile-cell{display:flex;align-items:center;gap:11px;min-width:270px}.person-profile-cell>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#1083e8,#0b5e9e);color:#fff;font-size:17px;font-weight:900}.person-profile-cell>div,.person-role-cell,.person-shift-cell{display:grid;gap:3px}.person-profile-cell strong{color:#07385a;font-size:13px}.person-profile-cell small,.person-role-cell small,.person-shift-cell small,.person-no-shift{color:#688198;font-size:11px}.person-role-cell strong,.person-shift-cell strong{color:#173f5d;font-size:12px}.person-no-shift{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef4f7}.personnel-profile-wide{width:min(1080px,calc(100vw - 32px));max-height:min(90vh,900px);overflow:auto}.personnel-profile-wide .history-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.personnel-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.personnel-profile-form>label{display:grid;gap:7px}.personnel-profile-form>label>span{color:#315b78;font-size:12px;font-weight:800}.personnel-profile-form>label>span em{color:#8297a8;font-size:10px;font-style:normal}.personnel-profile-form>label>small{color:#71899b;font-size:11px}.personnel-profile-form .span-2{grid-column:span 2}.personnel-profile-form footer{display:flex;justify-content:flex-end}.profile-section-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.history-record{position:relative}.profile-record-actions{display:flex;gap:6px;margin-left:auto}.personnel-shift-editor>header{grid-template-columns:auto minmax(0,1fr) auto}.personnel-shift-editor>header .action-button{align-self:start}
@media(max-width:760px){.personnel-profile-wide{width:calc(100vw - 16px)}.personnel-profile-wide .history-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-profile-form{grid-template-columns:1fr}.personnel-profile-form .span-2{grid-column:auto}.personnel-shift-editor>header{grid-template-columns:auto minmax(0,1fr)}.personnel-shift-editor>header .action-button{grid-column:1/-1;width:100%}.person-profile-cell{min-width:220px}}
@media(max-width:768px){.table-toolbar{grid-template-columns:1fr}.tickets-mobile-list{gap:12px}.ticket-mobile-card{border:1px solid #cbddea;border-left:3px solid #1ca3d9;border-radius:12px;background:#fff;box-shadow:none}.report-mobile-cards article{border-left:3px solid #1ca3d9!important;border-radius:12px!important}}
@media(max-width:900px){.compact-filter-row{grid-template-columns:minmax(0,1fr) auto}.compact-search-field{grid-column:1/-1}.compact-sort-field{grid-column:1}.list-result-count{justify-self:end}.advanced-ticket-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.compact-filter-row{grid-template-columns:1fr 44px}.compact-search-field{grid-column:1/-1}.compact-filter-button{grid-column:1}.compact-sort-field{grid-column:1}.list-result-count{grid-column:1/-1;justify-self:start}.advanced-ticket-filters{grid-template-columns:1fr}.result-total-pill{display:none}}

/* Visor PDF institucional dentro de la aplicación */
body.pdf-viewer-open{overflow:hidden}.pdf-viewer-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:rgba(6,18,34,.82);backdrop-filter:blur(4px)}.pdf-viewer-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(94vw,1480px);height:88vh;overflow:hidden;border:1px solid rgba(135,181,213,.48);border-radius:16px;background:#eef5f9;box-shadow:0 30px 90px rgba(0,0,0,.38)}.pdf-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:11px 14px 11px 18px;background:#07385a;color:#fff}.pdf-viewer-identity{display:flex;align-items:center;gap:12px;min-width:0}.pdf-viewer-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:#e7f3fa;color:#07385a}.pdf-viewer-mark svg{width:21px}.pdf-viewer-identity>div{display:grid;gap:2px;min-width:0}.pdf-viewer-identity strong{overflow:hidden;font-size:17px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.pdf-viewer-identity span{color:#bad4e6;font-size:12px}.pdf-viewer-actions{display:flex;align-items:center;gap:8px}.pdf-viewer-actions .action-button{min-height:42px}.pdf-viewer-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.1);color:#fff}.pdf-viewer-close:hover{background:#d83c4b}.pdf-viewer-close:disabled,.pdf-viewer-actions button:disabled{cursor:wait;opacity:.48}.pdf-viewer-body{position:relative;min-height:0;padding:12px;background:#dbe7ee}.pdf-viewer-frame{width:100%;height:100%;border:0;border-radius:8px;background:#fff}.pdf-viewer-loading{position:absolute;inset:12px;display:grid;place-content:center;justify-items:center;gap:8px;border-radius:8px;background:#fff;color:#07385a;text-align:center}.pdf-viewer-loading[hidden]{display:none}.pdf-viewer-loading p{max-width:440px;margin:0;color:#60758b}.pdf-loader{width:42px;height:42px;border:4px solid #d7e7f1;border-top-color:#f57c00;border-radius:50%;animation:pdf-spin .8s linear infinite}.pdf-viewer-loading.is-error svg{width:48px;height:48px;color:#d83c4b}.pdf-viewer-loading.is-error .action-button{margin-top:8px}@keyframes pdf-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.pdf-viewer-backdrop{padding:0}.pdf-viewer-shell{width:100%;height:100vh;height:100dvh;border:0;border-radius:0}.pdf-viewer-header{align-items:flex-start;min-height:116px;padding:10px;flex-direction:column}.pdf-viewer-identity{width:100%}.pdf-viewer-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 42px}.pdf-viewer-actions .action-button{padding:9px}.pdf-viewer-actions .action-button span{display:inline}.pdf-viewer-body{padding:6px}.pdf-viewer-loading{inset:6px}}

/* Previsualización documental equivalente a Viajes */
.pdf-preview-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:12px;background:rgba(15,23,42,.7)}.pdf-preview-shell{position:relative;display:flex;flex-direction:column;width:min(1360px,calc(100vw - 24px));height:min(92vh,900px);min-height:0;overflow:hidden;border-radius:16px;background:#eef4f8;box-shadow:0 28px 70px rgba(15,23,42,.34)}.pdf-preview-shell>header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;padding:12px 16px;border-bottom:1px solid #d3e0ea;background:#fff}.pdf-preview-shell>header>div{display:flex;align-items:center;gap:10px}.pdf-preview-shell>header strong{color:#07385a;font-size:18px}.pdf-preview-shell>header span{color:#60758b;font-size:13px}.pdf-preview-shell>header .action-primary{background:#f57c00}.pdf-preview-shell>header .action-secondary{background:#e8f2f8;color:#07385a}.pdf-preview-close{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:9px;background:#e8f2f8;color:#07385a}.pdf-preview-close:hover{background:#dceaf3}.pdf-preview-content{flex:1 1 auto;min-height:0;padding:16px 16px 76px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.pdf-preview-stage{position:relative;min-width:0;min-height:0;margin-inline:auto}.pdf-preview-document{position:absolute;top:0;left:50%;width:max-content;min-width:1050px;transform-origin:top center;will-change:transform}.pdf-preview-document .document-preview{width:1050px;min-width:1050px;max-width:none;margin:0;border-radius:0;box-shadow:0 12px 30px rgba(11,60,93,.12)}.pdf-preview-document .document-header{grid-template-columns:150px 1fr 220px}.pdf-preview-document .document-logo,.pdf-preview-document .document-title{border-bottom:0}.pdf-preview-document .document-title{border-right:1px solid #263746}.pdf-preview-document .document-meta{grid-column:auto}.pdf-preview-document .pdf-data-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pdf-preview-document .pdf-data.span-2{grid-column:span 2}.pdf-preview-document .pdf-data.span-4{grid-column:span 4}.pdf-preview-document .document-table{display:table}.pdf-preview-document .document-table thead{display:table-header-group}.pdf-preview-document .document-table tbody{display:table-row-group}.pdf-preview-document .document-table tr{display:table-row}.pdf-preview-document .document-table th,.pdf-preview-document .document-table td{display:table-cell}.pdf-preview-document .document-table td::before{display:none}.document-confidentiality;padding:4px 7px;border:1px solid #263746;border-top:0;color:#374b5d;font-size:9px}.pdf-zoom-toolbar{position:absolute;z-index:5;left:50%;bottom:14px;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #cbdce8;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(11,60,93,.22);transform:translateX(-50%);backdrop-filter:blur(12px)}.pdf-zoom-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:38px;height:36px;padding:0 10px;border:0;border-radius:8px;background:#e8f2f8;color:#07385a;font-size:18px;font-weight:900}.pdf-zoom-toolbar .pdf-zoom-value{min-width:62px;font-size:12px}.pdf-zoom-toolbar .pdf-zoom-fit{font-size:11px}.pdf-print-frame{position:fixed;width:1px;height:1px;border:0;opacity:0;pointer-events:none}
@media(max-width:760px){.pdf-preview-backdrop{padding:0}.pdf-preview-shell{width:100%;height:100vh;height:100dvh;border-radius:0}.pdf-preview-shell>header{align-items:flex-start;flex-direction:column}.pdf-preview-shell>header>div:last-child{display:grid;grid-template-columns:1fr 1fr 38px;gap:6px;width:100%}.pdf-preview-shell>header>div:first-child{display:grid;gap:2px}.pdf-preview-shell>header span{display:none}.pdf-preview-shell>header .action-button{min-height:36px;padding:8px;font-size:12px;justify-content:center}.pdf-preview-content{padding:8px 8px calc(72px + env(safe-area-inset-bottom))}.pdf-zoom-toolbar{bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100% - 20px)}.pdf-zoom-toolbar button{min-width:36px;height:36px;padding:0 8px}}

/* El visor puede abrirse desde un modal de detalle; debe quedar por encima. */
.pdf-preview-backdrop{z-index:11000}
@media(max-width:390px){.metrics-grid{grid-template-columns:1fr}.login-card>.text-center{grid-template-columns:1fr;grid-template-areas:"logo" "kicker" "title" "copy";text-align:center}.login-logo{justify-self:center}.login-card .institutional-kicker{justify-self:center}}

/* Ticket institucional moderno: la vista HTML replica el PDF sin incrustarlo. */
.pdf-preview-document .modern-ticket-preview{padding:24px;border:1px solid #c4dae5;background:#fff;color:#163043;box-shadow:0 16px 38px rgba(7,61,87,.14)}
.pdf-preview-document .modern-ticket-preview .modern-document-header{grid-template-columns:118px minmax(0,1fr) 218px;min-height:112px;border:1px solid #c4dae5;box-shadow:inset 6px 0 0 #10779e}
.pdf-preview-document .modern-ticket-preview .document-logo{padding:12px 12px 12px 18px;border:0}
.pdf-preview-document .modern-ticket-preview .document-logo img{max-width:82px;max-height:78px}
.pdf-preview-document .modern-ticket-preview .document-title{align-content:center;justify-items:start;padding:16px 12px;border:0;text-align:left}
.pdf-preview-document .modern-ticket-preview .document-title span{color:#075779;font-size:10px;letter-spacing:.09em}
.pdf-preview-document .modern-ticket-preview .document-title h1{margin:5px 0 4px;color:#073d57;font-size:24px;line-height:1.05}
.pdf-preview-document .modern-ticket-preview .document-title p{color:#536f80;font-size:11px}
.pdf-preview-document .modern-ticket-preview .document-meta{align-content:center;padding:9px 12px;font-size:10px}
.pdf-preview-document .modern-ticket-preview .document-meta span,.pdf-preview-document .modern-ticket-preview .document-meta strong{padding:4px 3px;border:0;background:transparent}
.pdf-preview-document .modern-ticket-preview .document-meta span{color:#607889;font-weight:800}
.pdf-preview-document .modern-ticket-preview .document-meta strong{color:#073d57;text-align:right}
.pdf-preview-document .modern-ticket-preview .document-confidentiality{margin-top:8px;padding:5px 12px;border:0;border-left:4px solid #10779e;background:#edf6fa;color:#607889;font-size:9px;font-style:italic}
.pdf-preview-document .modern-ticket-preview .modern-document-number{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;margin-top:18px;padding:12px 16px;background:#073d57}
.pdf-preview-document .modern-ticket-preview .modern-document-number>div{display:grid;align-content:center;gap:5px}
.pdf-preview-document .modern-ticket-preview .modern-document-number>div>strong{font-size:17px}
.pdf-preview-document .modern-ticket-preview .modern-document-number small{color:#d6e9f1;font-size:10px}
.pdf-preview-document .modern-ticket-preview .modern-document-number>span{display:grid;place-content:center;gap:3px;min-height:52px;padding:6px 12px;background:#ff8919;color:#fff;text-align:center}
.pdf-preview-document .modern-ticket-preview .modern-document-number b{font-size:13px}
.pdf-preview-document .modern-ticket-preview .modern-document-number em{font-size:11px;font-style:normal;font-weight:900;text-transform:uppercase}
.pdf-preview-document .modern-ticket-preview .pdf-section{margin-top:16px;border:1px solid #c4dae5;border-radius:0}
.pdf-preview-document .modern-ticket-preview .pdf-section-title{padding:8px 12px;background:#10779e;color:#fff;font-size:12px;letter-spacing:.025em}
.pdf-preview-document .modern-ticket-preview .pdf-section-title span{align-self:stretch;display:grid;place-items:center;margin:-8px -12px -8px 0;padding:0 16px;background:#073d57;color:#fff}
.pdf-preview-document .modern-ticket-preview .pdf-data{min-height:62px;padding:10px 13px;border-color:#cfe1e9;background:#f7fbfd}
.pdf-preview-document .modern-ticket-preview .pdf-data small{color:#08719a;font-size:9px}
.pdf-preview-document .modern-ticket-preview .pdf-data strong{color:#173043;font-size:12px}
.pdf-preview-document .modern-ticket-preview .document-table th{padding:9px 8px;border-color:#c4dae5;background:#e0f0f7;color:#073d57;text-align:center}
.pdf-preview-document .modern-ticket-preview .document-table th:first-child{text-align:left}
.pdf-preview-document .modern-ticket-preview .document-table td{padding:9px 8px;border-right:1px solid #d4e4eb;border-bottom:1px solid #d4e4eb;background:#fff;text-align:center}
.pdf-preview-document .modern-ticket-preview .document-table tbody tr:nth-child(odd) td{background:#f8fbfd}
.pdf-preview-document .modern-ticket-preview .document-table td:first-child{text-align:left}
.pdf-preview-document .modern-ticket-preview .preview-garment-image img{max-width:90px;max-height:54px;object-fit:contain}
.preview-evidence-list{display:grid;gap:12px;padding:14px;background:#fff}
.preview-evidence-card{display:grid;grid-template-columns:42% minmax(0,1fr);gap:18px;min-height:220px;margin:0;padding:14px;border:1px solid #cfe1e9;background:#f7fbfd}
.preview-evidence-card img{width:100%;height:205px;object-fit:contain;background:#edf4f7}
.preview-evidence-card figcaption{display:grid;align-content:start;gap:9px;padding:8px 4px;color:#516d7e}
.preview-evidence-card figcaption strong{color:#073d57;font-size:15px}
.preview-evidence-card figcaption span{font-size:12px;line-height:1.45}
.preview-evidence-card figcaption small{margin-top:18px;color:#607889;font-style:italic}
.pdf-preview-document .modern-ticket-preview .document-footer{border-color:#c4dae5;color:#607889}
@media(max-width:760px){.pdf-preview-document .modern-ticket-preview{padding:20px}.preview-evidence-card{grid-template-columns:1fr}.preview-evidence-card img{height:240px}}
.personnel-profile-wide .history-record-list{max-height:none;overflow:visible;padding-right:0}
.personnel-profile-panel{padding:16px;border:1px solid var(--card-border);border-radius:14px;background:var(--surface-soft)}.personnel-profile-panel>header{margin-bottom:12px;padding:0}.personnel-profile-form{gap:10px}.personnel-profile-form>label{position:relative;padding:12px;border:1px solid var(--card-border);border-radius:12px;background:var(--surface)}.personnel-profile-form>label:focus-within{border-color:var(--secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary) 12%,transparent)}.personnel-profile-form .form-control{min-height:44px;background:var(--surface-soft)}.personnel-profile-form footer{padding-top:4px}.personnel-profile-form footer .action-button{min-width:190px;justify-content:center}.history-panel[data-history-panel="shifts"]>header{padding:12px 14px;border-radius:12px;background:var(--surface-soft)}.profile-section-actions .action-button{min-height:44px;justify-content:center}
.personnel-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.personnel-create-form>.mode-banner{grid-column:1/-1}.personnel-create-form>.form-group{margin:0;padding:12px;border:1px solid var(--card-border);border-radius:12px;background:var(--surface-soft)}.personnel-create-form>button[type="submit"]{grid-column:1/-1;justify-self:end;min-width:190px}.personnel-create-form .role-limit-note{margin-top:6px}@media(max-width:700px){.personnel-create-form{grid-template-columns:1fr}.personnel-create-form>.mode-banner,.personnel-create-form>button[type="submit"]{grid-column:auto}.personnel-create-form>button[type="submit"]{width:100%;justify-self:stretch}}
.personnel-profile-wide .history-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.personnel-profile-wide .history-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
