.hidden { display: none !important; }
.employee-profile{margin-top:14px;padding:18px;border:1px solid #cbd9f3;background:#fbfdff;border-radius:11px}.profile-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.profile-heading h3{margin:3px 0 4px;font-size:17px}.profile-heading p{margin:0;color:#718099;font-size:12px}.profile-heading .danger-action{width:auto;margin:0;padding:7px 10px;font-size:11px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}.profile-grid select{width:100%;padding:12px;border:1px solid #d9e1ec;border-radius:8px;margin-top:7px;font:14px inherit;background:#fff}.profile-contracts{margin-top:17px;padding:13px;background:#f2f6fd;border-radius:8px}.profile-contracts p{margin:7px 0 0;font-size:12px;color:#526078}@media(max-width:720px){.profile-grid{grid-template-columns:1fr}}
.profile-onboarding{margin-top:14px;padding:13px;border:1px solid #e1d9f5;background:#fdfcff;border-radius:8px}.profile-onboarding .panel-title{margin:0}.profile-onboarding .panel-title p{margin:5px 0 0;color:#66748d;font-size:11px}.onboarding-progress{font-size:11px;color:#6940a8;font-weight:700}.onboarding-list{margin-top:8px}.onboarding-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eeeaf7;font-size:12px}.onboarding-item:last-child{border-bottom:0}.onboarding-item select{width:130px;padding:6px 8px;border:1px solid #d9e1ec;border-radius:7px;background:#fff;font:11px inherit}.onboarding-item.done span{text-decoration:line-through;color:#718099}.onboarding-item.done select{border-color:#8ac9aa;color:#08734e}
.ssoma-start{padding:7px 9px;font-size:11px;background:#eef6ff;color:#245aa8}.ssoma-training{margin-top:14px;border:1px solid #bcd0ee;border-radius:10px;overflow:hidden;background:#fff}.ssoma-head{display:flex;justify-content:space-between;gap:14px;align-items:start;padding:16px 18px;background:linear-gradient(115deg,#143b78,#2864bc);color:#fff}.ssoma-head h3{margin:3px 0 0;font-size:18px}.ssoma-head .eyebrow{color:#cfe2ff}.ssoma-head>span{font-size:12px;font-weight:700;padding:6px 8px;background:#ffffff22;border-radius:12px}.ssoma-slide{min-height:145px;padding:28px 30px;display:flex;align-items:center}.ssoma-slide p{margin:0;font-size:16px;line-height:1.65;color:#283956;max-width:760px}.ssoma-controls{padding:14px 18px;border-top:1px solid #e4eaf3;display:flex;justify-content:space-between;gap:8px}.ssoma-controls button{width:auto;margin:0;padding:8px 12px;font-size:12px}.ssoma-controls button[disabled]{opacity:.45;cursor:not-allowed}.ssoma-note,.ssoma-history{padding:0 18px;font-size:12px;color:#66748d}.ssoma-quiz{padding:8px 18px}.ssoma-quiz fieldset{border:1px solid #e0e7f1;border-radius:8px;margin:12px 0;padding:12px}.ssoma-quiz legend{font-size:12px;font-weight:700;padding:0 4px}.ssoma-quiz label{font-size:12px;font-weight:400;margin:9px 0}.ssoma-quiz input{display:inline;width:auto;margin:0 6px 0 0}.ssoma-error{padding:0 18px}.ssoma-result{padding:28px;text-align:center}.ssoma-result h3{margin:0 0 8px}.ssoma-result p{font-size:13px;color:#526078;line-height:1.5}.ssoma-result button{width:auto;margin:8px 0 0}.ssoma-result.approved h3{color:#08734e}.ssoma-result.failed h3{color:#b3414d}@media(max-width:600px){.ssoma-slide{padding:22px}.ssoma-head{display:block}.ssoma-head>span{display:inline-block;margin-top:10px}}
.ssoma-download{padding:7px 9px;font-size:11px;background:#f2f4f8;color:#526078}.ssoma-start:disabled{background:#e5f5ee;color:#08734e;cursor:default}.ssoma-slide{display:block}.ssoma-graphic{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:800;letter-spacing:.2px}.ssoma-graphic span{padding:10px 12px;border-radius:18px;background:#eaf2ff;color:#1d5baa}.safety-triad span{border-radius:50%;width:94px;height:94px;display:grid;place-items:center;background:#e7f0ff}.safety-triad span:nth-child(2){background:#e8f7ef;color:#08734e}.safety-triad span:nth-child(3){background:#fff4d9;color:#9a6700}.safety-flow span,.emergency-flow span,.environment-graphic span,.permit-graphic span{border-radius:7px}.epp-icons span{background:#f1f5fb;color:#425575}.critical-grid{display:grid;grid-template-columns:repeat(4,1fr);width:min(650px,100%)}.critical-grid span{background:#fff0f0;color:#b3414d;text-align:center;border-radius:7px}.order-graphic{width:100%;justify-content:space-around}.order-graphic span{background:#edf8f3;color:#08734e}.commitment-graphic span{background:#eaf2ff;color:#245aa8;padding:16px}.ssoma-graphic b{font-size:17px;color:#7c8ca7}@media(max-width:600px){.critical-grid{grid-template-columns:repeat(2,1fr)}.safety-triad span{width:72px;height:72px;font-size:10px}}
.profile-medical{margin-top:14px;padding:13px;border:1px solid #d8e4d9;background:#fbfefc;border-radius:8px}.profile-medical .panel-title{margin:0}.profile-medical .panel-title p,.medical-list p{margin:5px 0 0;color:#66748d;font-size:11px}.profile-medical .panel-title button{padding:7px 9px;font-size:11px;background:#e6f5ed;color:#08734e}.medical-entry{margin-top:12px;padding:13px;border-top:1px solid #d8e4d9;background:#f2faf5}.medical-entry .row-actions button{width:auto;margin:0}
.profile-assets{margin-top:14px;padding:13px;border:1px solid #d8e0ed;background:#fcfdff;border-radius:8px}.profile-assets .panel-title{margin:0}.profile-assets .panel-title p,.asset-row p{margin:5px 0 0;color:#66748d;font-size:11px}.profile-assets .panel-title button{padding:7px 9px;font-size:11px;background:#eaf0ff;color:#2556b6}.asset-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #e5eaf2;font-size:12px}.asset-row:last-child{border-bottom:0}.asset-row button{width:auto;margin:0;padding:6px 8px;font-size:10px}.asset-entry,.asset-return-entry{margin-top:12px;padding:13px;border-top:1px solid #d8e0ed;background:#f2f6fd}.asset-entry .row-actions button,.asset-return-entry .row-actions button{width:auto;margin:0}
.personal-record{padding:12px 0;border-bottom:1px solid #e4eaf3;font-size:13px}.personal-record:last-child{border-bottom:0}.personal-record p{margin:6px 0;color:#526078;line-height:1.5}.personal-record small{display:block;margin-top:7px;color:#08734e}.worker-hero{margin-bottom:14px}
.project-location{margin:12px 0;padding:12px;border:1px solid #d7e2f2;border-radius:8px}.project-location legend{font-size:12px;font-weight:700;color:#2556b6}.project-map{width:100%;height:210px;border:1px solid #d7e2f2;border-radius:7px;margin:10px 0}.project-location small{display:block;color:#66748d;font-size:11px}

#quick-menu [data-new] { cursor: pointer; }

.area-shortcut { cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.area-shortcut:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(10,31,117,.14); }
.project-open { cursor:pointer; }
.project-open:hover { border-color:#2563eb; background:#f8fbff; }
.project-summary { margin-top:16px; }
.compact-list { margin:14px 0; border-top:1px solid #e4eaf3; }
.compact-list p { padding:9px 0; border-bottom:1px solid #e4eaf3; }
select { display:block; width:100%; padding:12px; border:1px solid #d9e1ec; border-radius:8px; margin-top:7px; font:14px inherit; background:#fff; }
.request-item { border:1px solid #d9e1ec; border-radius:8px; margin:12px 0; padding:10px; }
.request-item legend { font-size:12px; font-weight:700; color:#718099; }
.request-item .remove-item { margin-top:10px; padding:7px 10px; background:#718099; font-size:11px; }
.item-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.row-actions { display:flex; gap:7px; margin-top:10px; }
.row-actions button { padding:6px 9px; font-size:11px; }
.row-actions .danger-action { background:#c93e50; }
.hr-workspace{margin:18px 0 4px}.hr-welcome{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid #e4eaf3;border-radius:14px;padding:22px 24px}.hr-welcome h2{margin:3px 0 7px;font-size:21px}.hr-welcome p{margin:0;color:#718099;font-size:13px}.hr-quick-actions{display:flex;gap:8px;flex-wrap:wrap}.hr-quick-actions button:last-child{background:#eaf0ff;color:#2556b6}.hr-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.hr-metrics article{background:#fff;border:1px solid #e4eaf3;border-radius:12px;padding:16px}.hr-metrics span,.hr-metrics small{display:block;color:#718099;font-size:11px}.hr-metrics strong{display:block;font-size:25px;margin:8px 0 5px;color:#17233d}.hr-tabs{display:flex;gap:5px;border-bottom:1px solid #dfe6f1;margin:20px 0 14px;overflow:auto}.hr-tabs button{background:transparent;color:#66748d;padding:10px 12px;border-radius:7px 7px 0 0;white-space:nowrap;font-size:12px}.hr-tabs button.active,.hr-tabs button:hover{background:#eaf0ff;color:#2556b6}.hr-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hr-process-grid article{background:#fff;border:1px solid #e4eaf3;border-radius:11px;padding:15px;min-height:150px;display:flex;flex-direction:column;align-items:flex-start}.hr-process-grid b{font-size:13px}.hr-process-grid p{font-size:11px;line-height:1.45;color:#718099;flex:1}.hr-process-grid button{font-size:11px;padding:7px 9px;background:#edf2fc;color:#2556b6}.edit-contract-form{margin-top:14px;padding:16px;border:1px solid #cad8f2;background:#f8fbff;border-radius:10px}.edit-contract-form h3{margin:0 0 6px;font-size:14px}.edit-contract-form textarea{width:100%;padding:10px;border:1px solid #d9e1ec;border-radius:8px;font:13px inherit;margin-top:7px}@media(max-width:950px){.hr-metrics,.hr-process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hr-welcome{display:block}.hr-quick-actions{margin-top:14px}.hr-metrics,.hr-process-grid{grid-template-columns:1fr}}
.permission-role { border-top:1px solid #e4eaf3; padding:14px 0; }
.permission-grid { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:6px; margin:10px 0; }
.permission-grid label { font-size:11px; font-weight:400; margin:0; display:flex; gap:5px; align-items:center; }
.permission-grid input { width:auto; margin:0; }
.contract-preview { white-space:pre-wrap; background:#f5f7fb; border:1px solid #e4eaf3; border-radius:8px; padding:12px; font:12px/1.5 Segoe UI,Arial,sans-serif; margin-top:12px; }
.inline-contract-form { background:#f8fbff; border:1px solid #b9cff7; border-radius:10px; margin:10px 0 16px; padding:16px; }
.inline-contract-form h3 { margin:0 0 8px; }
.inline-contract-form textarea { display:block; width:100%; min-height:110px; padding:10px; margin-top:7px; border:1px solid #d9e1ec; border-radius:8px; font:14px inherit; resize:vertical; }
.login-logo { display: block; width: min(260px, 100%); height: auto; margin: 0 auto 20px; }
.sidebar-logo { display: block; width: 100%; height: auto; max-height: 108px; object-fit: contain; margin: 0 auto 10px; }
#lookup-ruc { width: auto; margin: 6px 0 4px; padding: 7px 10px; font-size: 11px; }
#lookup-ruc::before { content: "🔎 "; }
.top-actions { display:flex; align-items:center; gap:12px; }.quick-add { font-size:12px; }.top-icon{width:38px;height:38px;padding:0;border-radius:50%;display:grid;place-items:center;background:#edf2fc;color:#2556b6;font-size:21px;line-height:1}.top-icon:hover{background:#2556b6;color:#fff}.notification-button { position:relative; background:#fff; color:#17233d; border:1px solid #e4eaf3; font-size:17px; padding:9px 11px; }.notification-button i { position:absolute; top:-8px; right:-8px; background:#d84255; color:#fff; border-radius:12px; font-size:10px; font-style:normal; padding:3px 5px; }.notification-panel { position:absolute; right:42px; top:86px; z-index:4; width:290px; background:#fff; border:1px solid #e4eaf3; box-shadow:0 10px 28px #17233d20; border-radius:10px; padding:16px; }.notification-panel p { font-size:12px; padding:9px 0; margin:0; border-bottom:1px solid #e4eaf3; }
.module-view-switcher{margin:18px 0 0;overflow:auto;padding-bottom:3px}.module-view-switcher button{background:#edf2fc;color:#31527f;white-space:nowrap}.module-view-switcher button.active{background:#2563eb;color:#fff}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:7px}.calendar-weekdays{margin:12px 0 7px}.calendar-weekdays span{text-align:center;font-size:11px;font-weight:700;color:#718099}.calendar-day{min-height:84px;background:#f8fbff;color:#17233d;border:1px solid #e1e8f4;text-align:left;padding:9px;display:flex;flex-direction:column;gap:4px}.calendar-day:hover,.calendar-day.selected{border-color:#2563eb;background:#edf4ff}.calendar-day.today b{color:#2563eb}.calendar-day.overdue{background:#fff6f6;border-color:#f0c3ca}.calendar-day small{font-size:10px;color:#2563eb}.calendar-day i{font-size:9px;font-style:normal;color:#718099;line-height:1.2}@media(max-width:700px){.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(42px,1fr));gap:3px}.calendar-day{min-height:62px;padding:5px;font-size:11px}.calendar-day small,.calendar-day i{display:none}}
.profile-button{background:transparent;color:#17233d;padding:4px 0;text-align:right}.profile-button:hover{color:#2563eb}.profile-button small{color:#718099;font-weight:400}
html[data-theme="dark"]{color-scheme:dark;--paper:#111827;--ink:#e5edf9;--muted:#aebbd0;--line:#334155;--navy:#0b1220}html[data-theme="dark"] .card,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .notification-panel,html[data-theme="dark"] .notification-button,html[data-theme="dark"] .hr-welcome,html[data-theme="dark"] .hr-metrics article,html[data-theme="dark"] .hr-process-grid article{background:#172033;color:#e5edf9;border-color:#334155}html[data-theme="dark"] .profile-button{color:#e5edf9}html[data-theme="dark"] .calendar-day{background:#172033;color:#e5edf9;border-color:#334155}html[data-theme="dark"] .compact-list,html[data-theme="dark"] .compact-list p{border-color:#334155}.theme-select{width:auto;margin:0;padding:8px;font-size:12px;background:#fff;color:#17233d}@media(prefers-color-scheme:dark){html[data-theme="system"]{color-scheme:dark;--paper:#111827;--ink:#e5edf9;--muted:#aebbd0;--line:#334155;--navy:#0b1220}html[data-theme="system"] .card,html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea,html[data-theme="system"] .notification-panel,html[data-theme="system"] .notification-button,html[data-theme="system"] .hr-welcome{background:#172033;color:#e5edf9;border-color:#334155}html[data-theme="system"] .profile-button{color:#e5edf9}}
/* Contraste independiente para el acceso, incluso cuando el sistema usa modo oscuro. */
.login-card{color:#17233d;background:#fff}.login-card h1,.login-card label{color:#17233d}.login-card input{background:#fff;color:#17233d;border-color:#cbd5e1}.login-card button{background:linear-gradient(135deg,#173f87,#2563eb);box-shadow:0 10px 20px #1e4fa633}.login-card button:hover{filter:brightness(1.1);transform:translateY(-1px)}
.login-view{background:radial-gradient(circle at 15% 15%,#3468c8 0,#193b82 32%,#081731 78%)}.login-card{border:1px solid #fff8;box-shadow:0 30px 75px #020b1bd9;padding:42px}.login-card h1{color:#102a5c;font-weight:800}.login-card .lead{color:#2456a4;font-weight:700}.login-card .help{color:#40516f}.login-card input{background:#f8fbff;border:1px solid #b8cae8}.login-card input:focus{outline:3px solid #82aef855;border-color:#2864bc}.login-card button{letter-spacing:.15px}.login-card .error{color:#b4233d}.appearance-settings{max-width:420px}.appearance-settings p{margin:5px 0 0}.appearance-settings .theme-select{width:100%;height:auto;padding:11px 12px;border-radius:8px;background:#fff;color:#17233d}
/* Acciones superiores: iconos con identidad, movimiento y etiqueta contextual. */
.top-icon{position:relative;overflow:visible;background:linear-gradient(145deg,#eaf1ff,#d9e7ff);border:1px solid #c8d9fb;color:#174fa6;box-shadow:0 5px 14px #1a4f9b20;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.top-icon:hover{background:linear-gradient(145deg,#2563eb,#174fa6);color:#fff;transform:translateY(-3px) scale(1.06);box-shadow:0 12px 22px #174fa655}.top-icon:active{transform:translateY(0) scale(.96)}.top-icon:after{content:attr(aria-label);position:absolute;top:46px;left:50%;transform:translateX(-50%) translateY(-4px);white-space:nowrap;background:#17233d;color:#fff;padding:5px 8px;border-radius:6px;font:600 10px Segoe UI,Arial,sans-serif;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:20}.top-icon:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.top-icon:nth-child(3){background:linear-gradient(145deg,#f4edff,#e3d4ff);color:#7040a8}.top-icon:nth-child(3):hover{background:linear-gradient(145deg,#8a54c4,#5b2c91);color:#fff}.theme-select{border-radius:50%;width:38px;height:38px;padding:0 0 0 10px;background:linear-gradient(145deg,#fff7db,#ffeb9b);color:#8b5d00;border:1px solid #f1d273;box-shadow:0 5px 14px #9a670020;font-size:16px;cursor:pointer}.theme-select:hover{transform:translateY(-2px)}html[data-theme="dark"] .top-icon,html[data-theme="system"] .top-icon{border-color:#456190}html[data-theme="dark"] .theme-select{background:#2a3348;color:#f8d66d;border-color:#4a5670}
.sidebar-group{margin:4px 0;border-bottom:1px solid #253654}.sidebar-group summary{cursor:pointer;list-style:none;padding:10px;color:#dce6f8;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary:after{content:'⌄';font-size:15px;color:#91a4c7}.sidebar-group[open] summary:after{transform:rotate(180deg)}.sidebar-group>div{padding:0 5px 8px}.sidebar-subitem{display:block;width:100%;text-align:left;background:transparent;color:#b8c8e1;padding:7px 10px;font-size:11px;font-weight:500;border-radius:6px}.sidebar-subitem:hover{background:#2b65dc;color:#fff}@media(max-width:850px){.sidebar-group summary{font-size:0;justify-content:center}.sidebar-group summary:before{content:'•';font-size:20px}.sidebar-group summary:after{display:none}.sidebar-group>div{display:none}}
.organization-record{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #e4eaf3}.organization-record>div{min-width:0}.organization-record p{white-space:pre-line;margin:5px 0 0;color:#718099;font-size:11px;line-height:1.45}.organization-record button{flex:0 0 auto;padding:7px 10px;font-size:11px}.organization-inline-form{display:grid;grid-template-columns:minmax(130px,.5fr) minmax(220px,1.5fr) auto;gap:12px;align-items:end}.organization-inline-form .error{grid-column:1/-1}.organization-dialog{width:min(590px,calc(100vw - 32px));border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px #08173166;color:#17233d}.organization-dialog::backdrop{background:#08173199;backdrop-filter:blur(3px)}.organization-dialog form{padding:22px}.organization-dialog label{display:block;margin:12px 0}.organization-dialog input,.organization-dialog textarea{width:100%;box-sizing:border-box}.organization-dialog .dialog-close{background:transparent;color:#52627c;font-size:24px;padding:0 5px}.organization-dialog .secondary-action{background:#e9eef7;color:#31527f}@media(max-width:650px){.organization-inline-form{grid-template-columns:1fr}.organization-record{align-items:center}}
.security-warning{background:#fff5dd;border:1px solid #e9b949;color:#6b4700;border-radius:12px;padding:16px 18px}.security-warning p{margin:5px 0 0;color:#795600}html[data-theme="dark"] .security-warning{background:#3b2d12;color:#ffd978;border-color:#8d6a23}html[data-theme="dark"] .security-warning p{color:#f4cf75}
