@import url('yuntia-core.css');

:root {
    color-scheme: dark;
    --ink: #f7f6f0;
    --muted: #a8aca6;
    --line: rgba(247,246,240,.14);
    --surface: #1b1d1b;
    --soft: #151715;
    --brand: #45bea4;
    --brand-dark: var(--yuntia-people);
    --accent: var(--yuntia-yellow);
    --inventra-glow: var(--yuntia-yellow);
    --violet: #69cfb9;
    --cyan: #67d6be;
    --amber: var(--yuntia-warehouse);
    font-family: var(--yuntia-font);
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background-color: var(--yuntia-ink); background-image: radial-gradient(circle at 12% 8%, rgba(22,140,120,.12), transparent 24%), linear-gradient(rgba(247,246,240,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(247,246,240,.035) 1px, transparent 1px); background-size: auto, 32px 32px, 32px 32px; min-height: 100vh; }
a { color: var(--brand); font-weight: 700; text-decoration: none; }
button, input { font: inherit; }
.app-shell { min-height: 100vh; }
.topbar { position: sticky; z-index: 20; top: 0; height: 76px; padding: 0 clamp(20px, 4vw, 64px); display: flex; align-items: center; justify-content: space-between; background:linear-gradient(105deg, #111 0%, #132c27 62%, #168c78 125%); border-bottom:1px solid rgba(255,196,0,.24); box-shadow:0 10px 28px rgba(0,0,0,.22); }
.brand { display: inline-flex; align-items: center; gap: 12px; color:white; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border:1px solid rgba(51,54,74,0.45); border-radius: 13px 13px 13px 4px; background:linear-gradient(145deg, #1674b9, #07a99a); box-shadow:0 8px 20px rgba(2,21,38,.3), inset 0 1px rgba(51,54,74,0.25); }
.brand-mark svg { width: 29px; height: 29px; overflow: visible; fill: none; stroke:white; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark circle { fill:#79f1e6; stroke:#fff; stroke-width: 1.3; }
.brand-name { display: grid; line-height: 1; }
.brand-name strong { font-size: 20px; letter-spacing: -.035em; }
.brand-name small { margin-top: 5px; color:#7ce7dd; font-size: 8px; font-weight: 900; letter-spacing: .25em; }
.user-menu { display: flex; align-items: center; gap: 18px; color:#dce9f7; font-size: 14px; }
.topnav { display: flex; align-items: center; gap: 6px; margin-right: 10px; }
.topnav a { color:#dce9f7; padding: 8px 11px; border-radius: 9px; font-size: 13px; }
.topnav a:hover { color:white; background:rgba(35,37,50,0.11); }
.topnav a.is-current { color:white; background:rgba(58,213,198,.17); box-shadow:inset 0 -2px #9aeae2; }
.link-button { border: 0; background: transparent; color:#8bdcd5; font-weight: 800; cursor: pointer; padding: 0; }
.page { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 58px 0 72px; }
.auth-page { width: 100%; min-height: calc(100vh - 72px); display: grid; place-items: center; padding: 40px 20px; background:radial-gradient(circle at 15% 15%, rgba(22,140,120,.12), transparent 31%), var(--yuntia-ink); }
.auth-card, .content-card { position: relative; overflow: hidden; width: min(100%, 480px); background: var(--surface); border: 1px solid var(--line); border-radius: 26px 26px 26px 8px; padding: clamp(32px, 5vw, 48px); box-shadow:0 24px 60px rgba(47,135,217,0.13); }
.auth-card::before, .content-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--brand-dark), var(--brand), var(--inventra-glow)); }
.auth-card-wide { width: min(100%, 620px); }
.narrow-card { width: min(100%, 680px); margin: 30px auto; }
.eyebrow { display: flex; align-items: center; gap: 8px; color: var(--brand); text-transform: uppercase; letter-spacing: .14em; font-weight: 900; font-size: 11px; margin-bottom: 10px; }
.eyebrow::before { content: ""; width: 18px; height: 3px; border-radius: 9px; background: linear-gradient(90deg, var(--brand), var(--accent)); }
h1 { font-size: clamp(30px, 5vw, 48px); line-height: 1.05; letter-spacing: -.04em; margin: 0 0 14px; }
.auth-card h1, .content-card h1 { font-size: clamp(28px, 4vw, 38px); }
.lead { color: var(--muted); line-height: 1.6; margin: 0; }
.form-stack { display: grid; gap: 18px; margin-top: 30px; }
.form-stack label { display: grid; gap: 8px; font-size: 14px; font-weight: 800; }
.form-stack input[type="text"], .form-stack input[type="email"], .form-stack input[type="password"] { width: 100%; border:1px solid #343734; border-radius: 12px; padding: 13px 14px; color: var(--ink); background:#1b1d1b; outline: none; }
.form-stack input:focus { border-color: var(--brand); box-shadow:0 0 0 3px rgba(113,170,227,0.14); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.check-row { display: flex !important; align-items: center; font-weight: 600 !important; color: var(--muted); }
.check-row input { width: 17px; height: 17px; accent-color: var(--brand); }
.field-error { color:#e85e54; font-size: 13px; font-weight: 600; }
.form-hint { color: var(--muted); font-size: 13px; margin: -8px 0 0; }
.primary-button, .secondary-button { display: inline-flex; justify-content: center; align-items: center; border-radius: 12px; padding: 13px 18px; font-weight: 900; cursor: pointer; }
.primary-button { border: 1px solid transparent; color:white; background:var(--brand-dark); box-shadow:0 8px 18px rgba(22,140,120,.22); }
.primary-button:hover { background: var(--brand-dark); }
.secondary-button { border: 1px solid var(--line); color: var(--ink); background:#1b1d1b; box-shadow:0 5px 15px rgba(64,126,197,0.07); }
.auth-foot { text-align: center; color: var(--muted); font-size: 14px; margin: 24px 0 0; }
.organization-list { display: grid; gap: 12px; margin-top: 28px; }
.organization-row { width: 100%; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 14px; text-align: left; border: 1px solid var(--line); background:#1b1d1b; border-radius: 15px; padding: 14px; cursor: pointer; color: var(--ink); }
.organization-row:hover { border-color:#343734; background: var(--soft); }
.organization-row strong, .organization-row small { display: block; }
.organization-row small { color: var(--muted); margin-top: 3px; }
.organization-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: var(--brand-dark); background:rgba(84,148,212,0.16); font-weight: 900; }
.arrow { color: var(--brand); font-size: 22px; }
.empty-state { border:1px dashed #343734; border-radius: 14px; padding: 22px; color: var(--muted); line-height: 1.6; }
.dashboard-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.dashboard-hero { position: relative; overflow: hidden; align-items: center; padding: clamp(30px, 5vw, 50px); border-radius: 18px; color:white; background:linear-gradient(118deg, #111 0%, #145248 58%, #168c78 125%); box-shadow:0 22px 45px rgba(0,0,0,.24); }
.dashboard-hero::after { content: ""; position: absolute; width: 310px; height: 310px; right: -120px; top: -190px; border:1px solid rgba(51,54,74,0.17); border-radius: 50%; box-shadow:0 0 0 45px rgba(51,54,74,0.035), 0 0 0 90px rgba(51,54,74,0.025); }
.dashboard-hero > * { position: relative; z-index: 1; }
.dashboard-hero .eyebrow { color:#81e0d7; }
.dashboard-hero .lead { color:#d9e8f5; }
.dashboard-hero .secondary-button { flex: none; border-color:rgba(51,54,74,0.36); background:rgba(35,37,50,0.13); color:white; backdrop-filter: blur(8px); box-shadow: none; }
.dashboard-hero .secondary-button:hover { background:rgba(35,37,50,0.22); }
.metric-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.executive-section { margin: 0 0 42px; }
.executive-head, .risk-panel-head, .module-section-title { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.executive-head { margin-bottom: 18px; }
.executive-head h2, .module-section-title h2 { margin: 2px 0 0; font-size: clamp(25px, 3vw, 34px); }
.executive-head p { margin: 6px 0 0; color: var(--muted); }
.executive-head > a { color: var(--brand); font-weight: 800; }
.dashboard-filters { display: flex; align-items: end; gap: 12px; margin: 0 0 16px; padding: 14px 16px; background:rgba(35,37,50,0.72); border: 1px solid var(--line); border-radius: 14px; }
.dashboard-filters label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 800; }.dashboard-filters select { min-width: 180px; padding: 10px 34px 10px 11px; }.dashboard-filters .secondary-button { min-height: 42px; }.dashboard-filters > a { align-self: center; color: var(--brand); font-size: 13px; font-weight: 800; }
.executive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.executive-metric { --metric-tone:#55a7e8; display: grid; gap: 7px; min-height: 142px; padding: 20px; background:linear-gradient(145deg, #1b1d1b 55%, color-mix(in srgb, var(--metric-tone) 8%, #1b1d1b)); border: 1px solid var(--line); border-top: 4px solid var(--metric-tone); border-radius: 17px 17px 17px 6px; box-shadow:0 8px 24px rgba(23,49,78,.06); transition: transform .18s ease, box-shadow .18s ease; }
.executive-metric:hover { transform: translateY(-3px); box-shadow:0 14px 30px rgba(23,49,78,.11); }
.executive-metric > span { color: var(--muted); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.executive-metric strong { color: var(--ink); font-size: 36px; line-height: 1; }
.executive-metric small { color: var(--muted); line-height: 1.4; }
.executive-metric.tone-critical { --metric-tone:#d26a75; }.executive-metric.tone-attention { --metric-tone:#f8ac44; }.executive-metric.tone-process { --metric-tone:#8063d9; }.executive-metric.tone-field { --metric-tone:#79f8ef; }.executive-metric.tone-travel { --metric-tone:#ffad3d; }.executive-metric.tone-assets { --metric-tone:#4bdfff; }.executive-metric.tone-people { --metric-tone:#55a7e8; }
.risk-panel { margin-top: 16px; padding: 21px; background:rgba(35,37,50,0.96); border: 1px solid var(--line); border-radius: 19px 19px 19px 7px; box-shadow:0 10px 28px rgba(23,49,78,.06); }
.risk-panel-head { align-items: center; margin-bottom: 12px; }.risk-panel-head h3 { margin: 0; font-size: 19px; }.risk-panel-head span { color: var(--muted); font-size: 13px; }
.risk-list { display: grid; gap: 8px; }.risk-row { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 14px; padding: 13px 14px; border-radius: 12px; background:rgba(84,161,212,0.16); }.risk-row:hover { background:rgba(84,163,212,0.16); }.risk-signal { width: 8px; height: 34px; border-radius: 9px; background:#6b91ae; }.risk-row.priority-critical .risk-signal { background:#c43d4b; }.risk-row.priority-attention .risk-signal { background:#d88008; }.risk-row div { display: grid; gap: 3px; }.risk-row small { color: var(--muted); }.risk-row b { color: var(--brand); font-size: 13px; }.risk-empty { display: flex; align-items: center; gap: 12px; padding: 15px; color:#8aebe4; background:rgba(84,212,177,0.16); border-radius: 12px; }.risk-empty > span { font-size: 22px; }.risk-empty div { display: grid; gap: 2px; }.risk-empty small { color: var(--muted); }
.module-section-title { margin: 0 0 16px; }
.activity-strip { display: grid; grid-template-columns: minmax(180px, 1.4fr) repeat(4, 1fr); align-items: stretch; gap: 1px; margin-top: 16px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 15px; }.activity-title, .activity-item { display: grid; align-content: center; gap: 4px; min-height: 84px; padding: 15px 17px; background:#1b1d1b; }.activity-title small, .activity-item span { color: var(--muted); font-size: 12px; }.activity-item strong { color: var(--brand); font-size: 25px; }.activity-item.tone-process strong { color:#8063d9; }.activity-item.tone-field strong { color:#79f8ef; }.activity-item.tone-travel strong { color:#ffad3d; }
.metric-card { --module-color: var(--brand); --module-soft:rgba(84,148,212,0.16); position: relative; overflow: hidden; display: flex; flex-direction: column; grid-column: span 2; min-height: 225px; background:linear-gradient(160deg, #1b1d1b 45%, var(--module-soft) 180%); border: 1px solid var(--line); border-radius: 20px 20px 20px 6px; padding: 25px; box-shadow:0 10px 28px rgba(23, 49, 78, .07); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.metric-card { color: var(--ink); }
.metric-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--module-color), var(--inventra-glow)); }
.metric-card::after { content: ""; position: absolute; width: 78px; height: 78px; right: -43px; bottom: -43px; border: 1px solid color-mix(in srgb, var(--module-color) 30%, transparent); border-radius: 50%; box-shadow: 0 0 0 18px color-mix(in srgb, var(--module-color) 5%, transparent); }
.metric-card:hover { transform: translateY(-4px); border-color:color-mix(in srgb, var(--module-color) 38%, #343734); box-shadow:0 18px 36px rgba(23, 49, 78, .13); }
.metric-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px 14px 14px 4px; background: var(--module-soft); color: var(--module-color); font-size: 11px; font-weight: 900; margin-bottom: 27px; box-shadow:inset 0 0 0 1px rgba(51,54,74,0.7), 0 6px 16px color-mix(in srgb, var(--module-color) 12%, transparent); }
.metric-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.module-number { position: absolute; top: 27px; right: 24px; color:color-mix(in srgb, var(--module-color) 55%, #9aabbc); font-size: 10px; font-weight: 950; letter-spacing: .12em; }
.metric-card strong { font-size: 20px; }
.metric-card p { color: var(--muted); line-height: 1.5; margin: 8px 0 20px; }
.coming { display: flex; justify-content: space-between; align-items: center; margin-top: auto; color: var(--module-color); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .075em; }
.coming b { font-size: 17px; transition: transform .2s ease; }
.metric-card:hover .coming b { transform: translateX(4px); }
.metric-people { --module-color:#5b9fe2; --module-soft:rgba(84,145,212,0.16); }
.metric-processes { --module-color: var(--violet); --module-soft:rgba(119,84,212,0.16); }
.metric-assets { --module-color: var(--cyan); --module-soft:rgba(84,185,212,0.16); }
.metric-expenses { --module-color: var(--amber); --module-soft:rgba(212,157,84,0.16); }
.metric-field { --module-color:#89f0e8; --module-soft:rgba(84,212,183,0.16); }
.metric-assets, .metric-expenses { grid-column: span 3; }
.notice { margin: -18px 0 28px; padding: 13px 16px; border-radius: 12px; background:rgba(84,148,212,0.16); color: var(--brand-dark); font-weight: 700; }

.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 30px; }
.section-head h1 { margin-top: 2px; }
.compact-head { align-items: flex-start; }
.section-actions, .form-actions { display: flex; gap: 12px; align-items: center; }
.back-link { display: inline-block; margin-bottom: 14px; font-size: 13px; }
.data-card, .form-section { position: relative; background:rgba(35,37,50,0.96); border: 1px solid var(--line); border-radius: 20px 20px 20px 7px; box-shadow:0 10px 30px rgba(23, 49, 78, .065); }
.data-card { padding: 24px; }
.data-card h2, .form-section h2 { margin: 0; font-size: 20px; }
.search-bar { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.search-bar input { min-width: 270px; flex: 1; border:1px solid #343734; border-radius: 11px; padding: 12px 14px; outline: none; }
.search-bar input:focus { border-color: var(--brand); box-shadow:0 0 0 3px rgba(113,170,227,0.12); }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { padding: 12px 14px; border-bottom: 1px solid var(--line); color: var(--muted); text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.data-table td { padding: 15px 14px; border-bottom:1px solid #343734; color:#8f9fb3; font-size: 14px; }
.data-table tbody tr:hover { background:rgba(84,135,212,0.16); }
.person-cell { display: flex; align-items: center; gap: 11px; color: var(--ink); }
.person-cell strong, .person-cell small { display: block; }
.person-cell small { margin-top: 3px; color: var(--muted); font-weight: 600; }
.person-avatar, .profile-avatar { display: grid; place-items: center; color:#74aee6; background:linear-gradient(145deg, rgba(84,148,212,0.16), rgba(84,212,212,0.16)); font-weight: 900; }
.person-avatar { width: 39px; height: 39px; border-radius: 11px; font-size: 12px; }
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 11px; font-weight: 900; }
.status-active { color:#8af7ea; background:rgba(84,212,183,0.16); }
.status-leave { color:#f7b568; background:rgba(212,163,84,0.16); }
.status-inactive { color:#909aac; background:rgba(84,135,212,0.16); }
.pagination-row { display: flex; justify-content: space-between; margin-top: 20px; color: var(--muted); font-size: 13px; }
.employee-form { display: grid; gap: 18px; }
.form-section { display: grid; grid-template-columns: 230px 1fr; gap: 30px; padding: 28px; }
.form-section-title { display: flex; gap: 14px; align-items: flex-start; }
.form-section-title > span { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 11px; color: var(--brand); background:rgba(84,145,212,0.16); font-size: 11px; font-weight: 900; }
.form-section-title p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.form-grid-3 { grid-template-columns: repeat(3, 1fr); }
.form-section label { display: grid; gap: 8px; color: var(--ink); font-size: 13px; font-weight: 800; }
.form-section input, .form-section select { width: 100%; border:1px solid #343734; border-radius: 11px; padding: 12px; color: var(--ink); background:#1b1d1b; outline: none; }
.form-section input:focus, .form-section select:focus { border-color: var(--brand); box-shadow:0 0 0 3px rgba(113,170,227,0.12); }
.form-actions { justify-content: flex-end; padding-top: 4px; }
.profile-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-bottom: 30px; }
.profile-avatar { width: 76px; height: 76px; border-radius: 20px; font-size: 22px; }
.profile-title h1 { margin: 2px 0 7px; }
.profile-title p { margin: 0; color: var(--muted); }
.profile-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr); gap: 18px; }
.profile-details h2, .timeline-card h2 { margin-bottom: 24px; }
.details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0; }
.details-grid dt { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.details-grid dd { margin: 7px 0 0; font-weight: 750; }
.timeline { display: grid; }
.timeline-item { display: grid; grid-template-columns: 14px 1fr; gap: 12px; padding-bottom: 22px; }
.timeline-item > span { width: 10px; height: 10px; margin-top: 4px; border:3px solid #343734; border-radius: 50%; background: var(--accent); box-shadow:0 0 0 4px #343734; }
.timeline-item strong { font-size: 14px; }
.timeline-item p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.split-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .7fr); gap: 18px; align-items: start; }
.compact-card { padding: 24px; }
.position-list { display: grid; margin-top: 18px; }
.position-row { display: flex; justify-content: space-between; gap: 20px; padding: 16px 4px; border-bottom:1px solid #343734; }
.position-row strong, .position-row small { display: block; }
.position-row small, .position-row > span { margin-top: 5px; color: var(--muted); font-size: 12px; }
.inline-notice { margin: 15px 0 0; }
.documents-section { margin-top: 42px; }
.documents-head { margin-bottom: 20px; }
.documents-head h2 { margin: 0 0 8px; font-size: 28px; }
.document-list { margin-top: 16px; padding: 8px 20px; }
.document-row { display: grid; grid-template-columns: 48px minmax(160px, 1fr) auto auto; align-items: center; gap: 14px; padding: 18px 2px; border-bottom:1px solid #343734; }
.document-row:last-child { border-bottom: 0; }
.document-row.is-archived { opacity: .66; }
.document-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; color:#66aae6; background:rgba(84,151,212,0.16); font-size: 10px; font-weight: 900; }
.document-main strong { display: block; font-size: 14px; }
.document-main p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.document-expiry { display: grid; justify-items: end; gap: 5px; }
.document-expiry small { color: var(--muted); }
.document-state { border-radius: 999px; padding: 5px 8px; font-size: 10px; font-weight: 900; white-space: nowrap; }
.state-valid { color:#8af7ea; background:rgba(84,212,183,0.16); }
.state-expiring { color:#f6b469; background:rgba(212,164,84,0.16); }
.state-expired { color:#dc6660; background:rgba(212,94,84,0.16); }
.state-archived, .state-no_expiry { color:#919cac; background:rgba(84,135,212,0.16); }
.document-actions { display: grid; justify-items: end; gap: 7px; font-size: 12px; }
.muted-link { color:#8f9cae; font-size: 12px; }
.upload-panel { padding: 0; overflow: hidden; }
.upload-panel summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 19px 22px; cursor: pointer; list-style: none; }
.upload-panel summary::-webkit-details-marker { display: none; }
.upload-panel summary:hover { background:rgba(84,135,212,0.16); }
.upload-panel summary strong, .upload-panel summary small { display: block; }
.upload-panel summary small { margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 500; }
.summary-action { flex: none; border-radius: 10px; padding: 9px 12px; color: var(--brand); background:rgba(84,145,212,0.16); font-size: 12px; font-weight: 900; }
.upload-panel[open] .summary-action { color:#919cab; background:rgba(84,141,212,0.16); }
.document-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 22px; border-top: 1px solid var(--line); background:rgba(84,148,212,0.16); }
.document-form label { display: grid; align-content: start; gap: 8px; color: var(--ink); font-size: 13px; font-weight: 800; }
.document-form input, .document-form select { width: 100%; min-width: 0; border:1px solid #343734; border-radius: 11px; padding: 11px 12px; color: var(--ink); background:#1b1d1b; outline: none; }
.document-form input:focus, .document-form select:focus { border-color: var(--brand); box-shadow:0 0 0 3px rgba(113,170,227,0.12); }
.document-form .field-wide, .document-form .file-field { grid-column: span 2; }
.document-form input[type="file"] { padding: 9px; color: var(--muted); font-size: 12px; }
.document-form-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: end; gap: 10px; }
.document-form-actions .form-hint { margin: 0; line-height: 1.4; }
.document-empty { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 145px; color: var(--muted); }
.document-empty > span { display: grid; place-items: center; width: 54px; height: 54px; flex: none; border-radius: 15px; color:#5ea0de; background:rgba(84,148,212,0.16); font-size: 11px; font-weight: 900; }
.document-empty strong { color: var(--ink); }
.document-empty p { margin: 6px 0 0; font-size: 13px; }
.absence-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; }
.summary-card { display: flex; justify-content: space-between; align-items: center; min-height: 86px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background:#1b1d1b; box-shadow:0 8px 22px rgba(23,49,78,.05); }
.summary-card span { color: var(--muted); font-size: 13px; }
.summary-card strong { font-size: 28px; }
.summary-pending { border-top: 3px solid var(--amber); }
.summary-approved { border-top: 3px solid var(--accent); }
.summary-rejected { border-top:3px solid #dfa6a4; }
.filter-row { display: flex; gap: 7px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.filter-row a { border-radius: 9px; padding: 8px 11px; color: var(--muted); font-size: 12px; }
.filter-row a.is-active { color: var(--brand); background:rgba(84,148,212,0.16); }
.absence-list { display: grid; }
.absence-row { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(250px, 1.25fr) auto minmax(160px, auto); align-items: center; gap: 18px; padding: 20px 4px; border-bottom:1px solid #343734; }
.absence-person { display: flex; align-items: center; gap: 11px; }
.absence-person strong, .absence-person small, .absence-row > div:nth-child(2) small { display: block; }
.absence-person small, .absence-row > div:nth-child(2) small { margin-top: 5px; color: var(--muted); font-size: 12px; }
.absence-type { font-weight: 850; }
.absence-status-pending { color:#f6b469; background:rgba(212,164,84,0.16); }
.absence-status-approved { color:#8af7ea; background:rgba(84,212,183,0.16); }
.absence-status-rejected { color:#dc6660; background:rgba(212,94,84,0.16); }
.review-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; }
.approve-button, .reject-button, .review-actions summary { border: 0; border-radius: 9px; padding: 8px 10px; cursor: pointer; font-size: 11px; font-weight: 900; }
.approve-button { color:#8af7ea; background:rgba(84,212,183,0.16); }
.review-actions summary { color:#dc6660; background:rgba(212,94,84,0.16); list-style: none; }
.review-actions details { position: relative; }
.review-actions details form { position: absolute; z-index: 5; right: 0; top: 38px; width: 250px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background:#1b1d1b; box-shadow:0 15px 35px rgba(23,49,78,.16); }
.review-actions textarea { width: 100%; min-height: 78px; resize: vertical; border:1px solid #343734; border-radius: 8px; padding: 9px; }
.reject-button { width: 100%; margin-top: 7px; color:white; background:#a83c37; }
.reviewed-by { display: grid; justify-items: end; color: var(--muted); font-size: 12px; }
.reviewed-by span { margin-top: 4px; color: var(--ink); }
.absence-form { max-width: 960px; margin: 0 auto; padding: 30px; }
.absence-form > .form-section-title { margin-bottom: 26px; }
.absence-form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.absence-form label { display: grid; gap: 8px; font-size: 13px; font-weight: 800; }
.absence-form input, .absence-form select, .absence-form textarea { width: 100%; border:1px solid #343734; border-radius: 11px; padding: 12px; color: var(--ink); background:#1b1d1b; outline: none; }
.absence-form textarea { resize: vertical; }
.reason-field { grid-column: 1 / -1; }
.absence-form .form-actions { margin-top: 24px; }
.employee-absences { margin-top: 18px; }
.employee-absence-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 16px; }
.employee-absence-head h2 { margin: 0; }
.vacation-balance { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.vacation-balance > div { padding: 15px; background:rgba(84,135,212,0.16); }
.vacation-balance span, .vacation-balance small { display: block; color: var(--muted); font-size: 11px; }
.vacation-balance strong { display: block; margin-top: 7px; font-size: 21px; }
.vacation-balance .balance-available { background:linear-gradient(145deg, rgba(84,212,188,0.16), rgba(84,212,189,0.16)); }
.vacation-balance .balance-available strong { color:#8af7ea; }
.vacation-balance .balance-policy { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 15px; padding: 11px 15px; background:#1b1d1b; }
.vacation-balance .balance-policy span { color: var(--brand); font-weight: 850; }
.employee-absence-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.employee-absence-list > div { display: grid; justify-items: start; gap: 7px; padding: 14px; border-radius: 12px; background:rgba(84,148,212,0.16); }
.employee-absence-list small, .muted-copy { color: var(--muted); }
.balance-adjustment { margin: -5px 0 18px; border:1px dashed #343734; border-radius: 11px; padding: 10px 12px; }
.balance-adjustment summary { color: var(--brand); cursor: pointer; font-size: 12px; font-weight: 850; }
.balance-adjustment form { display: grid; grid-template-columns: 130px 1fr auto; align-items: end; gap: 10px; padding-top: 12px; }
.balance-adjustment label { display: grid; gap: 5px; font-size: 11px; font-weight: 800; }
.balance-adjustment input { width: 100%; border:1px solid #343734; border-radius: 9px; padding: 9px; }
.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.policy-card { background:linear-gradient(145deg, #1b1d1b, rgba(84,148,212,0.16)); }
.policy-card h2 { margin: 0 0 12px; }
.policy-card > p, .settings-copy { color: var(--muted); line-height: 1.55; }
.policy-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0; }
.policy-card dl div { padding: 11px; border-radius: 10px; background:#1b1d1b; }
.policy-card dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.policy-card dd { margin: 6px 0 0; font-size: 13px; font-weight: 850; }
.weekday-form { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; margin-top: 22px; }
.weekday-form label input { position: absolute; opacity: 0; pointer-events: none; }
.weekday-form label span { display: grid; place-items: center; min-height: 43px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 850; }
.weekday-form label input:checked + span { border-color:#a5c3df; color:#71afea; background:rgba(84,148,212,0.16); }
.weekday-form .primary-button, .weekday-form .field-error { grid-column: 1 / -1; margin-top: 8px; }
.holiday-card { margin-bottom: 30px; }
.holiday-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.holiday-head h2 { margin: 0; }
.holiday-form { display: grid; grid-template-columns: 145px minmax(200px, 1fr) auto; align-items: end; gap: 9px; }
.holiday-form label { display: grid; gap: 5px; font-size: 11px; font-weight: 850; }
.holiday-form input { width: 100%; border:1px solid #343734; border-radius: 9px; padding: 9px; }
.holiday-list { display: grid; margin-top: 20px; }
.holiday-list > div { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 13px 3px; border-top:1px solid #343734; color: var(--muted); font-size: 13px; }
.holiday-list strong { display: inline-block; min-width: 105px; color: var(--ink); }
.employee-processes { margin-top: 18px; }
.employee-process-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.employee-process-list > a { display: grid; justify-items: start; gap: 7px; padding: 14px; border:1px solid #343734; border-radius: 12px; color: var(--ink); background:rgba(84,126,212,0.16); }
.employee-process-list small { color: var(--muted); }
.process-type { display: inline-flex; border-radius: 8px; padding: 5px 7px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.type-onboarding { color:#8af7ea; background:rgba(84,212,183,0.16); }
.type-offboarding { color:#efaf74; background:rgba(212,157,84,0.16); }
.process-list { display: grid; }
.process-row { display: grid; grid-template-columns: 42px minmax(220px, 1fr) minmax(180px, .7fr) auto; align-items: center; gap: 16px; padding: 18px 4px; border-bottom:1px solid #343734; color: var(--ink); }
.process-row > .process-type { justify-content: center; }
.process-row strong, .process-row small { display: block; }
.process-row small { margin-top: 5px; color: var(--muted); }
.process-progress > span { display: block; height: 6px; overflow: hidden; border-radius: 999px; background:rgba(84,142,212,0.16); }
.process-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand), var(--accent)); }
.process-hint { margin-top: 18px; }
.process-task-list { display: grid; gap: 12px; }
.process-task { display: grid; grid-template-columns: 44px minmax(0, 1fr) minmax(170px, auto); align-items: start; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background:#1b1d1b; box-shadow:0 8px 24px rgba(23,49,78,.05); }
.process-task.is-complete { background:rgba(84,212,169,0.16); }
.task-check { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--brand); background:rgba(84,145,212,0.16); font-weight: 900; }
.is-complete .task-check { color:#8af7ea; background:rgba(84,212,183,0.16); }
.task-content > div { display: flex; align-items: center; gap: 10px; }
.task-content p { margin: 8px 0; color: var(--muted); font-size: 13px; }
.task-content small { color: var(--muted); }
.task-content blockquote { margin: 12px 0 0; padding: 10px 12px; border-left: 3px solid var(--accent); color:#97a6b9; background:rgba(84,212,194,0.16); font-size: 13px; }
.role-badge { border-radius: 999px; padding: 4px 7px; color:#8c7cc0; background:rgba(119,84,212,0.16); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.task-complete { justify-self: end; }
.task-complete summary { color: var(--brand); cursor: pointer; font-size: 12px; font-weight: 850; }
.task-complete form { display: grid; gap: 8px; width: 270px; margin-top: 10px; }
.task-complete textarea { width: 100%; min-height: 80px; border:1px solid #343734; border-radius: 9px; padding: 9px; resize: vertical; }
.work-order-list { display: grid; }
.work-order-row { display: grid; grid-template-columns: 105px minmax(240px, 1.2fr) minmax(210px, .8fr) auto; align-items: center; gap: 16px; padding: 19px 4px; border-bottom:1px solid #343734; color: var(--ink); }
.work-order-row strong, .work-order-row small { display: block; }
.work-order-row small { overflow: hidden; margin-top: 5px; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.work-order-folio { color: var(--brand); font-size: 12px; font-weight: 900; }
.work-status-assigned { color:#70b1e8; background:rgba(84,148,212,0.16); }
.work-status-in_progress { color:#f6b469; background:rgba(212,164,84,0.16); }
.work-status-completed { color:#8af7ea; background:rgba(84,212,183,0.16); }
.work-status-cancelled { color:#929baa; background:rgba(84,135,212,0.16); }
.work-detail-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 26px; }
.work-instructions { margin-top: 24px; padding: 16px; border-left: 3px solid var(--accent); border-radius: 8px; background:rgba(84,212,191,0.16); }
.work-instructions p { margin: 7px 0 0; color: var(--muted); line-height: 1.55; white-space: pre-line; }
.evidence-form { display: grid; gap: 14px; margin-top: 20px; }
.evidence-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 850; }
.evidence-form input, .evidence-form select { width: 100%; min-width: 0; border:1px solid #343734; border-radius: 10px; padding: 10px; color: var(--ink); background:#1b1d1b; }
.portal-access-card { display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.portal-access-card h2 { margin: 3px 0 0; }
.portal-access-card p { margin: 8px 0 0; }
.portal-access-card form { display: flex; align-items: center; gap: 10px; }
.portal-access-card select { min-width: 290px; border:1px solid #343734; border-radius: 10px; padding: 11px; background:#1b1d1b; }
.field-mobile-page { max-width: 760px; }
.field-mobile-head { margin-bottom: 25px; }
.field-assignment-list { display: grid; gap: 14px; }
.field-assignment { padding: 22px; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); background:#1b1d1b; box-shadow:0 10px 26px rgba(23,49,78,.07); }
.field-assignment-top { display: flex; justify-content: space-between; align-items: center; color: var(--brand); font-size: 12px; font-weight: 900; }
.field-assignment h2 { margin: 18px 0 5px; font-size: 21px; }
.field-assignment p { margin: 0; color: var(--muted); }
.field-place { display: grid; gap: 5px; margin: 18px 0; padding: 14px; border-radius: 12px; background:rgba(84,155,212,0.16); }
.field-place span { color: var(--muted); font-size: 13px; }
.field-open { color: var(--brand); font-size: 13px; font-weight: 900; }
.field-job-hero { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 20px; padding: 24px; border-radius: 20px; color:white; background:linear-gradient(135deg, var(--brand-dark), #217597); }
.field-job-hero h1 { margin: 8px 0 5px; color:white; font-size: 27px; }
.field-job-hero p { margin: 0; color:#d9edf4; }
.field-job-data { display: grid; gap: 18px; }
.field-job-data > div { display: grid; gap: 6px; }
.field-job-data small { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.field-job-data p { margin: 0; color: var(--muted); line-height: 1.55; white-space: pre-line; }
.field-primary-action { margin: 16px 0; }
.field-primary-action button { width: 100%; min-height: 54px; font-size: 15px; }
.field-evidence-card { margin-top: 16px; }
.field-evidence-card > p { color: var(--muted); }
.field-file-button { padding: 14px; border:1px dashed #a7c4dd; border-radius: 11px; color: var(--brand); text-align: center; background:rgba(84,157,212,0.16); cursor: pointer; }
.field-file-button input { margin-top: 9px; background: transparent; }
.field-evidence-list { margin: 25px 0; }
.field-evidence-list > a { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; margin-top: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background:#1b1d1b; }
.field-evidence-list strong, .field-evidence-list small { display: block; }
.field-evidence-list small { margin-top: 4px; color: var(--muted); }
.field-complete-action { padding-top: 16px; border-top: 1px solid var(--line); }
.brand-footer { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 22px 20px 32px; color:#8f9dad; font-size: 11px; }
.brand-footer span { color: var(--brand); font-size: 14px; font-weight: 950; letter-spacing: -.03em; }
.brand-footer small::before { content: "•"; margin-right: 10px; color: var(--accent); }
.access-row { display: flex; align-items: center; gap: 8px; }
.access-row select { border:1px solid #343734; border-radius: 9px; padding: 9px; background:#1b1d1b; }
.invitation-result { display: grid; gap: 7px; margin-top: 0; }
.invitation-result input { width: 100%; border:1px solid #343734; border-radius: 8px; padding: 9px; color: var(--brand-dark); background:#1b1d1b; }
.auth-help { text-align: center; font-size: 13px; }
.security-shortcut { color:#8ce7df; font-size: 12px; }
.notification-shortcut { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color:#72e3d8; background:rgba(50,205,191,.12); }
.notification-shortcut > span { font-size: 13px; }
.notification-shortcut b { position: absolute; top: -5px; right: -6px; min-width: 18px; padding: 3px 5px; border:2px solid #2f8cda; border-radius: 99px; color:white; background:#e05a43; font-size: 9px; text-align: center; }
.notification-list { display: grid; gap: 13px; }
.notification-card { display: grid; grid-template-columns: 5px 1fr; gap: 19px; padding: 22px; border: 1px solid var(--line); border-radius: 19px 19px 19px 6px; background:#1b1d1b; box-shadow:0 9px 25px rgba(23,49,78,.06); }
.notification-card.is-read { opacity: .72; }
.notification-signal { border-radius: 99px; background:#6f9dbf; }
.priority-critical .notification-signal { background:#c94b43; box-shadow:0 0 0 5px #343734; }
.priority-attention .notification-signal { background:#d48a1e; box-shadow:0 0 0 5px #343734; }
.priority-information .notification-signal { background: var(--accent); box-shadow:0 0 0 5px #343734; }
.notification-meta { display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 11px; }
.notification-meta span { font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.notification-card h2 { margin: 8px 0 5px; }
.notification-card p { margin: 0 0 17px; color: var(--muted); }
.notification-preferences { margin-bottom: 18px; padding: 0; }
.notification-preferences summary { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; cursor: pointer; list-style: none; }
.notification-preferences summary strong, .notification-preferences summary small { display: block; }
.notification-preferences summary small { margin-top: 4px; color: var(--muted); }
.notification-preferences > form { display: grid; grid-template-columns: 1fr 180px 2fr auto; align-items: end; gap: 18px; padding: 20px 22px; border-top: 1px solid var(--line); background:rgba(84,161,212,0.16); }
.notification-preferences > form > label:not(.check-row) { display: grid; gap: 7px; font-size: 12px; font-weight: 800; }
.notification-preferences select { border:1px solid #343734; border-radius: 9px; padding: 9px; background:#1b1d1b; }
.notification-preferences fieldset { display: flex; flex-wrap: wrap; gap: 8px 15px; border: 0; padding: 0; }
.notification-preferences legend { margin-bottom: 7px; font-size: 11px; font-weight: 900; }
.security-state { display: flex; align-items: center; gap: 9px; padding: 13px; border-radius: 11px; color:#8af7ea; background:rgba(84,212,182,0.16); font-weight: 800; }
.security-state span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color:white; background:#0b9588; }
.secret-key { margin: 18px 0; padding: 15px; border:1px dashed #a8c6db; border-radius: 10px; color: var(--brand-dark); background:rgba(84,157,212,0.16); font-family: ui-monospace, monospace; font-weight: 800; letter-spacing: .12em; overflow-wrap: anywhere; }
.totp-uri { display: block; overflow-wrap: anywhere; margin: 10px 0; padding: 10px; background:rgba(84,148,212,0.16); }
.recovery-box { margin-top: 0; }
.recovery-box code { display: block; margin-top: 9px; overflow-wrap: anywhere; }
.location-consent { margin-top: 16px; padding: 15px; border:1px solid #343734; border-radius: 13px; background:rgba(84,212,186,0.16); }
.location-consent label { display: flex; align-items: flex-start; gap: 11px; cursor: pointer; }
.location-consent input { width: 19px; height: 19px; flex: none; accent-color:#8af7ea; }
.location-consent strong, .location-consent small { display: block; }
.location-consent small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.location-message { margin: 8px 0 0 30px; color:#f2be74; font-size: 12px; }
.work-locations { margin-top: 18px; }
.work-locations h2 { margin: 4px 0 16px; }
.work-locations > div:last-child { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.work-locations a { display: grid; gap: 5px; padding: 14px; border-radius: 12px; color: var(--ink); background:rgba(84,212,194,0.16); }
.work-locations span, .work-locations small { color: var(--muted); font-size: 12px; }

@media (max-width: 900px) { .document-form { grid-template-columns: 1fr 1fr; } .document-form .field-wide, .document-form .file-field { grid-column: auto; } .document-form-actions { grid-column: 1 / -1; } }
@media (max-width: 1000px) { .absence-row, .process-row, .work-order-row { grid-template-columns: 1fr 1fr; } .review-actions, .reviewed-by { justify-content: start; justify-items: start; } }
@media (max-width: 1120px) { .topnav { max-width: 430px; overflow-x: auto; scrollbar-width: none; } .topnav::-webkit-scrollbar { display: none; } .topnav a { white-space: nowrap; } .user-menu > span { display: none; } }
@media (max-width: 900px) { .metric-grid { grid-template-columns: 1fr 1fr; } .metric-card, .metric-assets, .metric-expenses { grid-column: span 1; } .form-section { grid-template-columns: 1fr; } .form-grid-3 { grid-template-columns: 1fr 1fr; } .profile-grid, .split-grid, .settings-grid { grid-template-columns: 1fr; } .vacation-balance { grid-template-columns: 1fr 1fr; } .holiday-head { align-items: flex-start; flex-direction: column; } .holiday-form { width: 100%; } }
@media (max-width: 900px) { .notification-preferences > form { grid-template-columns: 1fr 1fr; } .notification-preferences fieldset { grid-column: 1 / -1; } }
@media (max-width: 650px) { .topbar { padding: 0 18px; } .user-menu > span, .topnav { display: none; } .page { width: min(100% - 28px, 1180px); padding-top: 36px; } .auth-page { width: 100%; padding: 22px 14px; } .auth-card { border-radius: 18px; } .form-grid, .form-grid-3, .metric-grid, .details-grid, .document-form, .absence-summary, .absence-row, .absence-form-fields, .employee-absence-list, .employee-process-list, .vacation-balance, .policy-card dl, .balance-adjustment form, .holiday-form, .process-row, .process-task, .work-order-row { grid-template-columns: 1fr; } .document-form .field-wide, .document-form .file-field, .document-form-actions, .reason-field { grid-column: auto; } .dashboard-head, .section-head { align-items: flex-start; flex-direction: column; } .section-actions { width: 100%; flex-wrap: wrap; } .search-bar { align-items: stretch; flex-direction: column; } .search-bar input { min-width: 0; } .profile-head { grid-template-columns: auto 1fr; } .profile-head > .status-badge { grid-column: 1 / -1; width: fit-content; } .document-row { grid-template-columns: 42px 1fr; } .document-expiry, .document-actions { grid-column: 2; justify-items: start; } .upload-panel summary small { display: none; } .document-empty { justify-content: flex-start; } .employee-absence-head, .vacation-balance .balance-policy, .work-detail-head, .portal-access-card, .portal-access-card form { align-items: flex-start; flex-direction: column; } .portal-access-card form, .portal-access-card select { width: 100%; min-width: 0; } .task-complete { justify-self: start; width: 100%; } .task-complete form { width: 100%; } }
@media (max-width: 900px) { .executive-grid { grid-template-columns: 1fr 1fr; } .activity-strip { grid-template-columns: 1fr 1fr; }.activity-title { grid-column: 1 / -1; } }
@media (max-width: 650px) { .executive-grid, .activity-strip { grid-template-columns: 1fr; } .activity-title { grid-column: auto; }.executive-head, .risk-panel-head, .dashboard-filters { align-items: stretch; flex-direction: column; } .dashboard-filters select { width: 100%; min-width: 0; }.risk-row { grid-template-columns: 8px 1fr; } .risk-row b { grid-column: 2; } }
.self-hero { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; padding: 27px 30px; color:#fff; background:linear-gradient(118deg,#092b4d,#1769aa 62%,#058b91); border-radius: 22px 22px 22px 7px; box-shadow:0 18px 38px rgba(60,144,218,0.18); }.self-hero .profile-avatar { background:rgba(35,37,50,0.16); border-color:rgba(51,54,74,0.28); color:#fff; }.self-hero .eyebrow { color:#81e0d7; }.self-hero h1 { margin: 2px 0 5px; }.self-hero p { margin: 0; color:#d9e8f5; }
.self-balance-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 18px; }.self-balance-grid > div { display: grid; gap: 7px; min-height: 105px; padding: 18px; background:#1b1d1b; border: 1px solid var(--line); border-radius: 16px 16px 16px 5px; }.self-balance-grid span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }.self-balance-grid strong { font-size: 28px; }.self-balance-grid .balance-available { color:#87f7ee; background:linear-gradient(145deg,#1b1d1b,rgba(84,212,180,0.16)); border-top:4px solid #74e7dc; }.self-balance-grid .balance-policy-name { font-size: 16px; line-height: 1.35; }
.self-service-grid, .manager-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.card-heading { display: flex; justify-content: space-between; margin-bottom: 18px; }.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.self-history { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }.self-history h3, .manager-requests + h3 { margin: 0 0 10px; }.self-history > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom:1px solid #343734; }.self-history > div > span:first-child { display: grid; gap: 3px; }.self-history small { color: var(--muted); }
.self-upload { margin-bottom: 16px; padding: 13px 15px; background:rgba(84,164,212,0.16); border: 1px solid var(--line); border-radius: 12px; }.self-upload summary { color: var(--brand); font-weight: 800; cursor: pointer; }.self-upload form { margin-top: 14px; }.self-documents { display: grid; gap: 8px; }.self-documents > a { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; padding: 12px; background:rgba(84,169,212,0.16); border:1px solid #343734; border-radius: 12px; }.self-documents > a:hover { border-color:#343734; }.self-documents > a > span:nth-child(2) { display: grid; gap: 3px; }.self-documents small { color: var(--muted); }.self-documents b { color: var(--brand); font-size: 12px; }
.manager-section { margin-top: 38px; }.manager-section .section-head { margin-bottom: 16px; }.manager-requests { display: grid; gap: 10px; margin-top: 14px; }.manager-requests article { display: grid; gap: 12px; padding: 14px; background:rgba(84,161,212,0.16); border-radius: 12px; }.manager-requests article > div:first-child { display: grid; gap: 4px; }.manager-requests small { color: var(--muted); }.team-calendar-card { overflow: hidden; }.calendar-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }.calendar-head h3 { margin: 0; }.calendar-head a { display: grid; place-items: center; width: 34px; height: 34px; color: var(--brand); background:rgba(84,163,212,0.16); border-radius: 9px; }.calendar-week, .team-calendar { display: grid; grid-template-columns: repeat(7,1fr); }.calendar-week span { padding: 7px; color: var(--muted); font-size: 11px; font-weight: 900; text-align: center; }.calendar-day { min-height: 68px; padding: 6px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }.calendar-day:nth-child(7n) { border-right: 0; }.calendar-day b { display: block; margin-bottom: 4px; font-size: 11px; }.calendar-day > span { display: block; overflow: hidden; margin-top: 2px; padding: 3px 4px; color:#87f7ee; background:rgba(84,212,184,0.16); border-radius: 5px; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.calendar-day.is-outside { color:#aebdca; background:rgba(84,169,212,0.16); }
@media (max-width: 900px) { .self-balance-grid { grid-template-columns: 1fr 1fr; }.self-service-grid, .manager-grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .self-hero { align-items: flex-start; padding: 22px; }.self-balance-grid, .two-fields { grid-template-columns: 1fr; }.self-documents > a { grid-template-columns: 42px 1fr; }.self-documents > a b { grid-column: 2; }.calendar-day { min-height: 52px; padding: 3px; }.calendar-day > span { font-size: 0; height: 7px; padding: 0; } }
.payroll-self-card { margin-top: 18px; }.payroll-self-list, .receipt-list { display: grid; gap: 8px; }.payroll-self-list > a, .receipt-list > a { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 13px; padding: 13px 14px; background:rgba(84,161,212,0.16); border:1px solid #343734; border-radius: 12px; }.payroll-self-list > a:hover, .receipt-list > a:hover { border-color:#343734; background:rgba(84,199,212,0.16); }.payroll-self-list > a > span:nth-child(2), .receipt-list > a > div { display: grid; gap: 3px; }.payroll-self-list small, .receipt-list small, .receipt-list > a > span:last-child { color: var(--muted); }.payroll-self-list b { color: var(--brand); font-size: 12px; }.payroll-file-icon { display: grid; place-items: center; width: 42px; height: 42px; color:#d26a75; background:rgba(212,84,106,0.16); border-radius: 10px; font-size: 10px; font-weight: 900; }
.payroll-layout { display: grid; grid-template-columns: minmax(290px,.75fr) minmax(0,1.65fr); gap: 18px; align-items: start; }.payroll-upload { position: sticky; top: 94px; }.payroll-upload h2 { margin-bottom: 5px; }.privacy-note { display: grid; gap: 4px; margin-top: 17px; padding: 13px; color:#9df5f0; background:rgba(84,212,185,0.16); border-radius: 11px; }.privacy-note span { color: var(--muted); font-size: 12px; line-height: 1.45; }
@media (max-width: 900px) { .payroll-layout { grid-template-columns: 1fr; }.payroll-upload { position: static; } }
@media (max-width: 650px) { .payroll-self-list > a, .receipt-list > a { grid-template-columns: 42px 1fr; }.payroll-self-list b, .receipt-list > a > span:last-child { grid-column: 2; } }
.org-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 16px; }.org-stats > div { display: grid; gap: 6px; padding: 17px 19px; background:#1b1d1b; border: 1px solid var(--line); border-top:4px solid #73e6de; border-radius: 15px 15px 15px 5px; }.org-stats span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }.org-stats strong { font-size: 29px; }.org-stats .org-stat-warning { border-top-color:#d26a75; color:#d86470; }
.org-search { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 13px; background:rgba(35,37,50,0.76); border: 1px solid var(--line); border-radius: 14px; }.org-search input { flex: 1; }.org-search > a { color: var(--brand); font-weight: 800; }.org-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(270px,.65fr); gap: 18px; align-items: start; }.org-tree-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 18px; }.org-tree-head small { color: var(--muted); }.org-tree, .org-children { list-style: none; margin: 0; padding: 0; }.org-children { position: relative; display: grid; gap: 10px; margin: 10px 0 0 28px; padding-left: 25px; border-left:2px solid #343734; }.org-branch { position: relative; }.org-children > .org-branch::before { content:""; position:absolute; width:25px; left:-25px; top:27px; border-top:2px solid #343734; }.org-branch details > summary { list-style: none; }.org-branch details > summary::-webkit-details-marker { display: none; }.org-person { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 12px; min-height: 68px; padding: 10px 13px; background:linear-gradient(145deg,#1b1d1b,rgba(84,175,212,0.16)); border:1px solid #343734; border-left:4px solid #63e3db; border-radius: 14px 14px 14px 5px; cursor: pointer; }.org-person:hover { border-color:#343734; box-shadow:0 8px 18px rgba(23,49,78,.08); }.org-person.has-warning { border-left-color:#d26a75; }.org-person-copy { display: grid; gap: 2px; }.org-person-copy small, .org-person-copy em { color: var(--muted); font-size: 12px; font-style: normal; }.org-team-count { padding: 6px 9px; color:#87f7ee; background:rgba(84,212,185,0.16); border-radius: 8px; font-size: 11px; font-weight: 800; }.org-manager-form { display: flex; align-items: end; gap: 9px; margin: 7px 0 0 57px; padding: 9px 11px; background:rgba(84,161,212,0.16); border-radius: 10px; }.org-manager-form label { display: grid; flex: 1; gap: 3px; color: var(--muted); font-size: 11px; font-weight: 800; }.org-manager-form select { padding: 8px 30px 8px 9px; }.org-manager-form .secondary-button { min-height: 37px; padding: 8px 12px; }.vacancy-panel { position: sticky; top: 94px; }.vacancy-panel h2 { margin: 3px 0 5px; }.vacancy-list { display: grid; gap: 8px; margin-top: 15px; }.vacancy-list > div { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 10px; padding: 11px; background:rgba(132,84,212,0.16); border:1px solid #343734; border-radius: 11px; }.vacancy-list > div > span:last-child { display: grid; gap: 2px; }.vacancy-list small { color: var(--muted); }.position-code { display: grid; place-items: center; width: 40px; height: 40px; color:#8063d9; background:rgba(122,84,212,0.16); border-radius: 9px; font-size: 9px; font-weight: 900; }
@media (max-width: 900px) { .org-stats { grid-template-columns: 1fr 1fr; }.org-layout { grid-template-columns: 1fr; }.vacancy-panel { position: static; } }
@media (max-width: 650px) { .org-stats { grid-template-columns: 1fr; }.org-search, .org-tree-head, .org-manager-form { align-items: stretch; flex-direction: column; }.org-children { margin-left: 9px; padding-left: 14px; }.org-children > .org-branch::before { width:14px; left:-14px; }.org-person { grid-template-columns: 42px 1fr; }.org-team-count { grid-column: 2; width: fit-content; }.org-manager-form { margin-left: 0; } }
.training-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 16px; }.training-summary a { display: grid; gap: 6px; padding: 17px 19px; background:linear-gradient(145deg,#1b1d1b,rgba(132,84,212,0.16)); border: 1px solid var(--line); border-top:4px solid #af9de7; border-radius: 15px 15px 15px 5px; }.training-summary span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }.training-summary strong { font-size: 29px; }.training-layout { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.7fr); gap: 18px; align-items: start; }.training-side { display: grid; gap: 12px; position: sticky; top: 94px; }.training-side details > summary { cursor: pointer; }.training-side details[open] > summary { margin-bottom: 15px; }.training-list { display: grid; gap: 9px; margin-top: 15px; }.training-row { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px; background:rgba(84,169,212,0.16); border:1px solid #343734; border-radius: 13px; }.training-row > div { display: grid; gap: 3px; }.training-row small, .training-row em { color: var(--muted); font-size: 12px; font-style: normal; }.training-code { display: grid; place-items: center; width: 46px; height: 46px; color:#8063d9; background:rgba(122,84,212,0.16); border-radius: 11px; font-size: 10px; font-weight: 900; }.training-complete { grid-column: 2 / -1; }.training-complete summary { color: var(--brand); font-size: 12px; font-weight: 800; cursor: pointer; }.training-complete form { margin-top: 10px; padding: 13px; background:rgba(84,169,212,0.16); border-radius: 10px; }.self-training-card { margin-top: 18px; }.self-training-list { display: grid; gap: 8px; }.self-training-list article { display: grid; grid-template-columns: 48px 1fr auto auto; align-items: center; gap: 12px; padding: 13px; background:rgba(84,169,212,0.16); border:1px solid #343734; border-radius: 12px; }.self-training-list article > div { display: grid; gap: 3px; }.self-training-list small { color: var(--muted); }.self-training-list a { color: var(--brand); font-size: 12px; font-weight: 800; }.executive-metric.tone-training { --metric-tone:#8063d9; }.activity-item.tone-training strong { color:#8063d9; }
@media (max-width: 900px) { .training-summary { grid-template-columns: 1fr 1fr; }.training-layout { grid-template-columns: 1fr; }.training-side { position: static; } }
@media (max-width: 650px) { .training-summary { grid-template-columns: 1fr; }.training-row, .self-training-list article { grid-template-columns: 46px 1fr; }.training-row > .status-badge, .training-row > .secondary-button, .training-complete, .self-training-list article > .status-badge, .self-training-list article > a { grid-column: 2; width: fit-content; } }
.performance-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }.performance-summary > div { display:grid; gap:6px; padding:17px 19px; background:linear-gradient(145deg,#1b1d1b,rgba(84,135,212,0.16)); border:1px solid var(--line); border-top:4px solid #a0bfe3; border-radius:15px 15px 15px 5px; }.performance-summary span { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }.performance-summary strong { font-size:29px; }.performance-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-bottom:18px; }.performance-actions details > summary { display:grid; gap:3px; cursor:pointer; }.performance-actions summary small { color:var(--muted); font-size:11px; }.performance-actions details[open] > summary { margin-bottom:15px; }.performance-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:18px; align-items:start; }.goal-list { display:grid; gap:9px; }.goal-list article, .self-goals article { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:13px; padding:13px; background:rgba(84,169,212,0.16); border:1px solid #343734; border-radius:12px; }.goal-list article > div:nth-child(2), .self-goals article > div:nth-child(2) { display:grid; gap:3px; }.goal-list small,.goal-list em,.self-goals small { color:var(--muted); font-size:12px; font-style:normal; }.goal-progress { --progress:0%; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:conic-gradient(#1769aa var(--progress),rgba(84,156,212,0.16) 0); position:relative; }.goal-progress::after { content:""; position:absolute; inset:6px; background:#1b1d1b; border-radius:50%; }.goal-progress strong { position:relative; z-index:1; font-size:11px; }.performance-results { position:sticky; top:94px; }.performance-results h2 { margin:3px 0 5px; }.review-summary-list { display:grid; gap:10px; margin-top:15px; }.review-summary-list article { display:grid; gap:10px; padding:13px; background:rgba(84,148,212,0.16); border:1px solid #343734; border-radius:11px; }.review-summary-list article > div:first-child { display:grid; gap:3px; }.review-summary-list small { color:var(--muted); }.review-summary-list dl { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:0; }.review-summary-list dl div { display:grid; gap:3px; padding:8px; background:#1b1d1b; border-radius:8px; }.review-summary-list dt { color:var(--muted); font-size:9px; text-transform:uppercase; }.review-summary-list dd { margin:0; font-weight:900; }.privacy-threshold { color:#8063d9!important; font-weight:800; }.self-performance-card { margin-top:18px; }.self-goals { display:grid; gap:8px; }.self-goals article details { grid-column:2 / -1; }.self-goals article details summary { color:var(--brand); font-size:12px; font-weight:800; cursor:pointer; }.self-goals article form { margin-top:9px; padding:12px; background:rgba(84,164,212,0.16); border-radius:10px; }.pending-review-list { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }.pending-review-list > h3 { margin:0 0 10px; }.pending-review-list > details { margin-bottom:8px; padding:13px; background:rgba(132,84,212,0.16); border:1px solid #343734; border-radius:11px; }.pending-review-list > details > summary { display:flex; justify-content:space-between; gap:12px; cursor:pointer; }.pending-review-list summary span { display:grid; gap:3px; }.pending-review-list summary small { color:var(--muted); }.pending-review-list summary b { color:#8063d9; font-size:12px; }.review-form { display:grid; gap:12px; margin-top:14px; }.rating-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }.executive-metric.tone-performance { --metric-tone:#6999d3; }.activity-item.tone-performance strong { color:#6999d3; }
@media (max-width:900px) { .performance-summary,.performance-actions { grid-template-columns:1fr 1fr; }.performance-layout { grid-template-columns:1fr; }.performance-results { position:static; }.rating-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:650px) { .performance-summary,.performance-actions,.rating-grid { grid-template-columns:1fr; }.goal-list article,.self-goals article { grid-template-columns:54px 1fr; }.goal-list article > .status-badge,.self-goals article details { grid-column:2; }.review-summary-list dl { grid-template-columns:1fr; } }
.recruitment-create,.candidate-create { position:relative; }.recruitment-create > summary,.candidate-create > summary { list-style:none; cursor:pointer; }.recruitment-create > summary::-webkit-details-marker,.candidate-create > summary::-webkit-details-marker { display:none; }.recruitment-popover { position:absolute; z-index:20; top:54px; right:0; width:min(500px,calc(100vw - 32px)); max-height:calc(100vh - 120px); overflow:auto; }.recruitment-popover h2 { margin-bottom:2px; }.compact-form { gap:11px; margin-top:15px; }.compact-form label { gap:5px; font-size:12px; }.recruitment-error { color:#d76572; background:rgba(212,84,98,0.16); }.recruitment-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }.recruitment-summary > div { display:grid; gap:6px; padding:17px 19px; background:linear-gradient(145deg,#1b1d1b,rgba(84,212,212,0.16)); border:1px solid var(--line); border-top:4px solid #63e3db; border-radius:15px 15px 15px 5px; }.recruitment-summary span { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }.recruitment-summary strong { font-size:29px; }.recruitment-summary .summary-ready { border-top-color:#8063d9; }
.vacancy-tabs { display:flex; gap:9px; margin-bottom:15px; padding-bottom:4px; overflow-x:auto; scrollbar-width:thin; }.vacancy-tabs a { display:grid; flex:0 0 205px; gap:2px; padding:12px 14px; color:var(--ink); background:rgba(35,37,50,0.75); border:1px solid var(--line); border-radius:13px 13px 13px 4px; }.vacancy-tabs a.is-active { color:#fff; background:linear-gradient(120deg,#0b385d,#137f91); border-color:transparent; box-shadow:0 8px 20px rgba(40,137,217,0.16); }.vacancy-tabs span,.vacancy-tabs small { color:var(--muted); font-size:10px; }.vacancy-tabs a.is-active span,.vacancy-tabs a.is-active small { color:#bcebe7; }.vacancy-tabs strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.recruitment-vacancy-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; padding:19px 22px; }.recruitment-vacancy-head h2 { margin:2px 0 4px; }.recruitment-vacancy-head p { margin:0; color:var(--muted); }.candidate-drawer { position:absolute; z-index:15; top:49px; right:0; width:min(470px,calc(100vw - 32px)); max-height:calc(100vh - 120px); overflow:auto; padding:22px; background:#1b1d1b; border:1px solid var(--line); border-radius:18px 18px 18px 6px; box-shadow:0 20px 50px rgba(18,47,73,.2); }.candidate-drawer h3 { margin:0; }
.recruitment-pipeline { display:grid; grid-template-columns:repeat(6,minmax(240px,1fr)); gap:12px; padding-bottom:13px; overflow-x:auto; align-items:start; }.pipeline-column { min-height:280px; padding:10px; background:rgba(84,165,212,0.58); border-radius:15px 15px 15px 5px; }.pipeline-column > header { display:flex; align-items:center; justify-content:space-between; padding:4px 5px 11px; color:#96b3cb; font-size:12px; font-weight:900; text-transform:uppercase; }.pipeline-column > header b { display:grid; place-items:center; min-width:24px; height:24px; padding:0 6px; color:#87f7ee; background:#1b1d1b; border-radius:8px; }.stage-interview { background:rgba(114,84,212,0.6); }.stage-offer { background:rgba(84,212,212,0.65); }.stage-hired { background:rgba(84,212,169,0.7); }.stage-rejected { background:rgba(212,84,126,0.7); }.pipeline-cards { display:grid; gap:9px; }.candidate-card { display:grid; gap:11px; padding:14px; background:#1b1d1b; border:1px solid #343734; border-radius:13px 13px 13px 4px; box-shadow:0 5px 14px rgba(23,49,78,.055); }.candidate-card-head { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:9px; }.candidate-card-head > span { display:grid; place-items:center; width:38px; height:38px; color:#87f7ee; background:rgba(84,212,189,0.16); border-radius:10px; font-size:11px; font-weight:900; }.candidate-card-head > div,.candidate-contact { display:grid; gap:2px; min-width:0; }.candidate-card small,.candidate-card p { color:var(--muted); font-size:11px; }.candidate-card p { margin:0; line-height:1.45; }.candidate-contact a { overflow:hidden; color:#55a7e8; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.resume-link { color:#87f7ee; font-size:11px; font-weight:900; }.candidate-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }.candidate-actions .primary-button,.candidate-actions .secondary-button { min-height:34px; padding:7px 10px; font-size:11px; }.link-danger { padding:6px 2px; color:#d46875; background:none; border:0; font-size:11px; font-weight:800; cursor:pointer; }.candidate-operation { border-top:1px solid #343734; padding-top:9px; }.candidate-operation > summary { color:#55a7e8; font-size:11px; font-weight:900; cursor:pointer; }.candidate-operation form { padding:10px; background:rgba(84,169,212,0.16); border-radius:9px; }.interview-list { display:grid; gap:5px; }.interview-list span { display:grid; gap:1px; padding:8px; color:var(--muted); background:rgba(126,84,212,0.16); border-radius:8px; font-size:10px; }.interview-list b { color:#8063d9; }.offer-summary { display:grid; gap:3px; padding:10px; background:rgba(84,212,185,0.16); border-radius:9px; }.offer-summary span { color:#87f7ee; font-size:10px; font-weight:900; text-transform:uppercase; }.offer-summary small { color:#86a7bb; }.hire-operation { padding:10px; background:rgba(84,212,185,0.16); border:0; border-radius:9px; }.pipeline-success { padding:10px; color:#87f7ee; background:rgba(84,212,165,0.16); border-radius:9px; font-size:11px; font-weight:900; }.pipeline-empty { padding:25px 8px; color:#8da0af; font-size:11px; text-align:center; }.recruitment-welcome { display:flex; align-items:center; gap:16px; }.recruitment-welcome > span { display:grid; place-items:center; width:56px; height:56px; color:#87f7ee; background:rgba(84,212,189,0.16); border-radius:14px; font-weight:900; }.recruitment-welcome h2,.recruitment-welcome p { margin:0 0 4px; }
@media (max-width:900px) { .recruitment-summary { grid-template-columns:1fr 1fr; }.recruitment-create { align-self:stretch; }.recruitment-create > summary { text-align:center; }.recruitment-popover { right:auto; left:0; }.recruitment-vacancy-head { align-items:flex-start; flex-direction:column; }.candidate-create { width:100%; }.candidate-create > summary { text-align:center; }.candidate-drawer { right:auto; left:0; } }
@media (max-width:650px) { .recruitment-summary { grid-template-columns:1fr; }.recruitment-popover,.candidate-drawer { position:fixed; inset:86px 14px auto; width:auto; max-height:calc(100vh - 105px); }.recruitment-pipeline { grid-template-columns:repeat(6,85vw); }.recruitment-vacancy-head { padding:17px; } }
.executive-metric.tone-recruitment { --metric-tone:#67eae1; }.activity-item.tone-recruitment strong { color:#67eae1; }

/* Navegación lateral e identidad Inventra Personas */
.app-shell.has-sidebar { display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh; }.app-workspace { min-width:0; min-height:100vh; }.app-sidebar { position:sticky; z-index:45; top:0; display:flex; flex-direction:column; height:100vh; overflow:hidden; color:#d8e8f4; background:linear-gradient(172deg,#111111 0%,#123b34 58%,#168c78 140%); border-right:1px solid rgba(152,236,229,0.2); box-shadow:12px 0 30px rgba(7,36,60,.12); }.sidebar-brand-row { display:flex; align-items:center; min-height:94px; padding:21px 21px 16px; border-bottom:1px solid rgba(51,54,74,0.09); }.sidebar-brand { display:block; }.sidebar-brand img { display:block; width:194px; height:auto; }.sidebar-close { display:none; margin-left:auto; color:#fff; font-size:28px; cursor:pointer; }.side-nav { flex:1; overflow-y:auto; padding:13px 12px 24px; scrollbar-width:thin; scrollbar-color:rgba(102,221,211,.24) transparent; }.nav-group-label { display:block; margin:17px 11px 7px; color:#78b8c4; font-size:9px; font-weight:950; letter-spacing:.17em; text-transform:uppercase; }.side-nav a { display:flex; align-items:center; gap:11px; min-height:42px; margin:2px 0; padding:7px 11px; color:#d7e6f1; border:1px solid transparent; border-radius:11px 11px 11px 4px; font-size:12px; font-weight:800; }.side-nav a > span { display:grid; place-items:center; width:28px; height:28px; flex:none; color:#70d9d1; background:rgba(39,175,170,.12); border-radius:8px; font-size:8px; font-weight:950; letter-spacing:.04em; }.side-nav a:hover { color:#fff; background:rgba(35,37,50,0.07); }.side-nav a.is-current { color:#fff; background:linear-gradient(100deg,rgba(22,140,120,.3),rgba(255,196,0,.1)); border-color:rgba(153,235,228,0.2); box-shadow:inset 3px 0 #ffc400; }.side-nav a.is-current > span { color:#aadff8; background:#65ddd3; }.sidebar-signature { display:flex; align-items:center; gap:9px; padding:15px 20px 20px; color:#8bb2c1; border-top:1px solid rgba(51,54,74,0.08); font-size:9px; line-height:1.4; }.sidebar-signature > span { width:7px; height:7px; flex:none; background:#35d3c4; border-radius:50%; box-shadow:0 0 0 4px rgba(154,233,226,0.1); }.sidebar-toggle { position:fixed; width:1px; height:1px; opacity:0; pointer-events:none; }.sidebar-scrim { display:none; }
.workspace-topbar { height:72px; padding:0 28px; background:rgba(35,37,50,0.94); border-bottom:1px solid #343734; box-shadow:0 7px 22px rgba(61,132,198,0.07); backdrop-filter:blur(16px); }.workspace-context { display:flex; align-items:center; min-width:0; gap:13px; }.workspace-context > div { display:grid; min-width:0; gap:2px; }.workspace-context small,.user-identity small { color:#8e9eae; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.workspace-context strong { display:block; max-width:min(44vw,520px); overflow:hidden; color:#a9d3f5; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }.workspace-context > a { padding:6px 9px; color:#80f7f2; background:rgba(84,212,186,0.16); border-radius:8px; font-size:10px; font-weight:900; }.sidebar-open { display:none; width:35px; height:35px; padding:9px; border:1px solid #343734; border-radius:9px; background:#1b1d1b; cursor:pointer; }.sidebar-open span { display:block; height:2px; margin:3px 0; background:var(--ink); border-radius:2px; }.workspace-topbar .user-menu { gap:13px; color:#89a1b3; }.workspace-topbar .user-identity { display:grid; gap:2px; padding-right:13px; border-right:1px solid #343734; line-height:1.1; }.user-identity strong { max-width:180px; overflow:hidden; color:#a6cce8; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.workspace-topbar .notification-shortcut { color:#77f8ef; background:rgba(84,212,189,0.16); }.workspace-topbar .security-shortcut { color:#6db9e8; font-size:11px; }.workspace-topbar .link-button { color:#80f7f2; font-size:11px; }.header-brand img { display:block; width:215px; height:auto; }.without-sidebar .workspace-topbar { color:#fff; background:var(--yuntia-ink); border-bottom-color:rgba(90,226,214,0.24); }.without-sidebar .workspace-topbar .user-identity small { color:#9fc1d2; }.without-sidebar .workspace-topbar .user-identity strong { color:#fff; }.without-sidebar .workspace-topbar .security-shortcut { color:#cce8ef; }.without-sidebar .workspace-topbar .link-button { color:#79ddd5; }
.has-sidebar .page { width:min(1240px,calc(100% - 48px)); padding-top:40px; }.auth-brand-logo { display:block; width:min(100%,285px); height:auto; margin:0 auto 27px; }
@media (max-width:940px) { .app-shell.has-sidebar { display:block; }.app-sidebar { position:fixed; left:0; width:270px; transform:translateX(-105%); transition:transform .22s ease; }.sidebar-toggle:checked ~ .app-sidebar { transform:translateX(0); }.sidebar-toggle:checked ~ .sidebar-scrim { position:fixed; z-index:40; inset:0; display:block; background:rgba(4,24,42,.48); backdrop-filter:blur(2px); }.sidebar-close,.sidebar-open { display:block; }.workspace-topbar { padding:0 20px; }.workspace-context strong { max-width:45vw; }.has-sidebar .page { width:min(100% - 32px,1240px); } }
@media (max-width:650px) { .workspace-topbar { height:66px; padding:0 14px; }.header-brand img { width:174px; }.workspace-context { gap:8px; }.workspace-context strong { max-width:42vw; font-size:13px; }.workspace-context > a { display:none; }.workspace-topbar .user-identity,.workspace-topbar .security-shortcut { display:none; }.workspace-topbar .user-menu { gap:9px; }.has-sidebar .page { width:min(100% - 24px,1240px); padding-top:28px; }.auth-brand-logo { width:min(100%,240px); margin-bottom:22px; }.without-sidebar .workspace-topbar .user-menu { margin-left:auto; }.without-sidebar .workspace-topbar .user-menu .security-shortcut { display:none; } }
.confidential-chip { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; color:#886dcf; background:rgba(124,84,212,0.16); border:1px solid #343734; border-radius:10px; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }.confidential-chip::before { content:""; width:7px; height:7px; background:#7657c8; border-radius:50%; }.disciplinary-error { color:#d46875; background:rgba(212,84,98,0.16); }.disciplinary-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }.disciplinary-summary > * { display:grid; gap:6px; padding:17px 19px; color:var(--ink); background:linear-gradient(145deg,#1b1d1b,rgba(132,84,212,0.16)); border:1px solid var(--line); border-top:4px solid #b4a3e1; border-radius:15px 15px 15px 5px; }.disciplinary-summary span { color:var(--muted); font-size:11px; font-weight:850; text-transform:uppercase; }.disciplinary-summary strong { font-size:29px; }.disciplinary-layout { display:grid; grid-template-columns:minmax(290px,.72fr) minmax(0,1.7fr); gap:18px; align-items:start; }.disciplinary-create { position:sticky; top:92px; }.disciplinary-create h2 { margin:2px 0 5px; }.disciplinary-main .search-bar select { min-width:170px; }.disciplinary-list { display:grid; gap:9px; }.disciplinary-row { position:relative; display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px; color:var(--ink); background:rgba(84,169,212,0.16); border:1px solid #343734; border-left:4px solid #afc4d4; border-radius:13px 13px 13px 4px; }.disciplinary-row.severity-medium { border-left-color:#eda84f; }.disciplinary-row.severity-high { border-left-color:#d26a75; }.case-folio { display:grid; place-items:center; min-height:42px; padding:7px; color:#886dcf; background:rgba(124,84,212,0.16); border-radius:10px; font-size:10px; font-weight:950; }.disciplinary-row > div:nth-child(2) { display:grid; gap:3px; }.disciplinary-row small,.disciplinary-row em { color:var(--muted); font-size:11px; font-style:normal; }.disciplinary-row p { margin:4px 0; color:#8b9fb1; font-size:12px; line-height:1.4; }.case-state { display:grid; justify-items:end; gap:6px; }.discipline-status-reported { color:#f8c375; background:rgba(212,163,84,0.16); }.discipline-status-in_review { color:#6eb0e6; background:rgba(84,151,212,0.16); }.discipline-status-action_plan { color:#8972ca; background:rgba(124,84,212,0.16); }.discipline-status-closed { color:#8af7ea; background:rgba(84,212,183,0.16); }.discipline-status-voided { color:#909aac; background:rgba(84,135,212,0.16); }
.disciplinary-case-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; }.disciplinary-case-head h1 { margin:3px 0 7px; }.disciplinary-case-head p { margin:0; color:var(--muted); }.disciplinary-case-head > div:last-child { display:grid; justify-items:end; gap:7px; }.disciplinary-case-head > div:last-child small { color:var(--muted); font-size:11px; }.disciplinary-detail-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); align-items:start; gap:18px; }.disciplinary-detail-main,.disciplinary-side { display:grid; gap:18px; }.disciplinary-side { position:sticky; top:92px; }.disciplinary-side details > summary { cursor:pointer; }.disciplinary-side details[open] > summary { margin-bottom:14px; }.case-facts .card-heading time { color:var(--muted); font-size:12px; }.facts-copy { margin:8px 0 22px; color:#9fb8cd; white-space:pre-line; line-height:1.65; }.case-facts dl { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; }.case-facts dl div { padding:12px; background:rgba(84,161,212,0.16); border-radius:10px; }.case-facts dt { color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; }.case-facts dd { margin:5px 0 0; font-size:12px; font-weight:800; }.statement-box { margin-top:16px; padding:15px; color:#94bed7; background:rgba(84,200,212,0.16); border-left:4px solid #74e6df; border-radius:5px 11px 11px 5px; }.statement-box p,.confidential-notes p { margin:7px 0 0; font-size:13px; line-height:1.55; white-space:pre-line; }.confidential-notes { margin-top:12px; padding:13px 15px; background:rgba(132,84,212,0.16); border:1px solid #343734; border-radius:11px; }.confidential-notes summary { color:#886dcf; font-size:12px; font-weight:900; cursor:pointer; }.disciplinary-actions { display:grid; gap:9px; }.disciplinary-actions article { display:grid; grid-template-columns:45px minmax(0,1fr) auto; align-items:start; gap:12px; padding:14px; background:rgba(84,169,212,0.16); border:1px solid #343734; border-radius:12px; }.action-marker { display:grid; place-items:center; width:43px; height:43px; color:#886dcf; background:rgba(124,84,212,0.16); border-radius:10px; font-size:9px; font-weight:950; }.disciplinary-actions article > div:nth-child(2) { display:grid; gap:4px; }.disciplinary-actions small { color:var(--muted); font-size:11px; }.disciplinary-actions p { margin:3px 0; color:#8b9fb1; font-size:12px; line-height:1.45; }.action-badges { display:flex; gap:6px; flex-wrap:wrap; margin-top:4px; }.discipline-ack-pending { color:#f8c375; background:rgba(212,163,84,0.16); }.discipline-ack-acknowledged { color:#8af7ea; background:rgba(84,212,183,0.16); }.discipline-ack-refused { color:#d56774; background:rgba(212,84,98,0.16); }.action-controls { display:grid; justify-items:end; gap:7px; }.action-controls .secondary-button { min-height:34px; padding:7px 10px; font-size:10px; }.action-controls details { position:relative; }.action-controls summary { color:#55a7e8; font-size:10px; font-weight:900; cursor:pointer; }.action-controls details form { position:absolute; z-index:5; right:0; width:270px; padding:13px; background:#1b1d1b; border:1px solid var(--line); border-radius:11px; box-shadow:0 15px 35px rgba(20,48,72,.16); }.disciplinary-evidence-list { display:grid; gap:8px; }.disciplinary-evidence-list a { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:11px; padding:12px; color:var(--ink); background:rgba(84,161,212,0.16); border:1px solid #343734; border-radius:11px; }.disciplinary-evidence-list a > span { display:grid; place-items:center; width:40px; height:40px; color:#d56774; background:rgba(212,84,98,0.16); border-radius:9px; font-size:9px; font-weight:950; }.disciplinary-evidence-list a > div { display:grid; gap:3px; }.disciplinary-evidence-list small { color:var(--muted); }.disciplinary-evidence-list b { color:#55a7e8; font-size:10px; }.case-timeline h2 { margin:2px 0 15px; }.case-timeline > div { display:grid; }.case-timeline article { display:grid; grid-template-columns:10px 1fr; gap:10px; padding-bottom:15px; }.case-timeline article > span { width:9px; height:9px; margin-top:4px; background:#18a9a0; border:2px solid #343734; border-radius:50%; }.case-timeline article > div { display:grid; gap:3px; }.case-timeline small { color:var(--muted); font-size:10px; }.case-timeline p { margin:2px 0; color:#8b9fb1; font-size:11px; line-height:1.4; }
@media (max-width:1050px) { .disciplinary-detail-layout { grid-template-columns:1fr; }.disciplinary-side { position:static; grid-template-columns:1fr 1fr; }.case-timeline { grid-column:1 / -1; } }

/* Centro documental */
.document-center-head { align-items:center; }.document-security-note { display:flex; align-items:center; gap:11px; min-width:245px; padding:12px 15px; color:#9df4f1; background:linear-gradient(135deg,rgba(84,212,189,0.16),rgba(84,157,212,0.16)); border:1px solid #343734; border-radius:14px; }.document-security-note > span { display:grid; place-items:center; width:42px; height:42px; color:white; background:linear-gradient(135deg,#0b6285,#12aaa0); border-radius:11px; font-size:10px; font-weight:950; }.document-security-note div { display:grid; gap:2px; }.document-security-note small { color:#8da2af; font-size:10px; }.notice-error { color:#d7727d; background:rgba(212,84,98,0.16); }.document-compose { margin-bottom:20px; overflow:hidden; border-top:4px solid #6ee5de; }.document-compose .card-heading,.document-center-grid .card-heading,.document-summary-card .card-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; margin-bottom:18px; }.card-heading > div { display:grid; gap:3px; }.card-heading > small { max-width:480px; color:var(--muted); font-size:11px; text-align:right; }.card-heading > b { display:grid; place-items:center; min-width:30px; height:30px; color:#87f7ee; background:rgba(84,212,184,0.16); border-radius:9px; font-size:11px; }.document-compose-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.document-compose-form label,.document-template-column form label,.disciplinary-side form label { display:grid; gap:6px; color:#9eb7cc; font-size:11px; font-weight:900; }.document-compose-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:9px; margin-top:4px; }.document-center-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr); gap:18px; align-items:start; }.document-template-column { display:grid; gap:18px; }.document-issue-list { display:grid; }.document-issue-list > a { display:grid; grid-template-columns:43px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 5px; color:var(--ink); border-bottom:1px solid #343734; }.document-issue-list > a:hover { background:rgba(84,180,212,0.16); }.document-file-mark { display:grid; place-items:center; width:41px; height:41px; color:#fff; background:linear-gradient(135deg,#0b5e88,#10aaa0); border-radius:10px; font-size:9px; font-weight:950; }.document-issue-list a > div { display:grid; gap:4px; min-width:0; }.document-issue-list a > div:last-child { justify-items:end; }.document-issue-list small { color:var(--muted); font-size:10px; }.document-status-generated { color:#55a7e8;background:rgba(84,148,212,0.16) }.document-status-delivered { color:#886dcf;background:rgba(124,84,212,0.16) }.document-status-acknowledged { color:#8af7ea;background:rgba(84,212,183,0.16) }.document-status-refused,.document-status-cancelled { color:#d56774;background:rgba(212,84,98,0.16) }.template-list { display:grid; gap:8px; }.template-list details { padding:12px; background:rgba(84,161,212,0.16); border:1px solid #343734; border-radius:11px; }.template-list summary { display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; }.template-list summary > div { display:grid; gap:3px; }.template-list summary small,.template-list p { color:var(--muted); font-size:10px; }.template-list summary > span { padding:4px 7px; color:#8af7ea; background:rgba(84,212,183,0.16); border-radius:7px; font-size:9px; font-weight:900; }.template-list form,.new-template-panel form,.disciplinary-side form { display:grid; gap:10px; margin-top:13px; }.template-list textarea,.new-template-panel textarea { resize:vertical; }.new-template-panel > summary { color:#82cff4; font-weight:900; cursor:pointer; }.variable-card p { color:var(--muted); font-size:11px; }.variable-card > div { display:grid; grid-template-columns:max-content 1fr; gap:7px 9px; margin-top:13px; }.variable-card code { padding:4px 6px; color:#886dcf; background:rgba(124,84,212,0.16); border-radius:5px; font-size:9px; }.variable-card small { align-self:center; color:#8da1af; font-size:10px; }.document-preview-sheet { width:min(100%,820px); min-height:730px; margin:0 auto; padding:58px 65px; background:#1b1d1b; border:1px solid #343734; box-shadow:0 18px 45px rgba(21,46,69,.12); }.document-preview-sheet header { display:flex; justify-content:space-between; gap:20px; padding-bottom:12px; border-bottom:3px solid #6ee5de; color:#88d1f4; font-size:11px; font-weight:950; }.document-preview-sheet header small { color:#8fa0ad; }.document-preview-sheet h2 { margin:38px 0 25px; color:#afd4f6; font-size:25px; }.document-preview-body { color:#9eb7cc; white-space:pre-line; line-height:1.72; }.document-preview-sheet footer { display:flex; justify-content:space-between; gap:15px; margin-top:70px; padding-top:12px; border-top:1px solid #343734; color:#8ea0ae; font-size:10px; }.preview-warning { width:min(100%,820px); margin:15px auto 0; color:#dbc189; font-size:11px; text-align:center; }.document-detail-head > div:last-child { display:flex; align-items:center; gap:9px; }.document-detail-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); gap:18px; align-items:start; }.document-detail-main { display:grid; gap:18px; }.document-preview-sheet.compact { width:100%; min-height:500px; padding:38px 45px; box-shadow:0 8px 25px rgba(21,46,69,.08); }.document-summary-card dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; }.document-summary-card dl > div { padding:11px; background:rgba(84,161,212,0.16); border-radius:10px; }.document-summary-card dt { color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; }.document-summary-card dd { margin:5px 0 0; color:#a2bfd6; font-size:11px; font-weight:800; }.document-summary-card .checksum-field { grid-column:1 / -1; }.checksum-field dd { overflow-wrap:anywhere; font-family:monospace; font-size:9px; }.ack-row { display:grid; grid-template-columns:42px 1fr; gap:11px; padding:12px 0; border-bottom:1px solid #343734; }.ack-row > span { display:grid; place-items:center; width:40px; height:40px; color:#87f7ee; background:rgba(84,212,183,0.16); border-radius:9px; font-size:9px; font-weight:950; }.ack-row > div { display:grid; gap:3px; }.ack-row small { color:var(--muted); font-size:10px; }.ack-row p { margin:3px 0 0; color:#8b9fb1; font-size:11px; }.disciplinary-side > details > summary { color:#87d1f4; font-weight:900; cursor:pointer; }.legal-hint { margin:10px 0 0; color:#bdaa82; font-size:9px; line-height:1.4; }.danger-panel { border-color:#343734; }.danger-panel > summary { color:#cf6d78!important; }
@media(max-width:1050px){.document-center-grid,.document-detail-layout{grid-template-columns:1fr}.document-template-column{grid-template-columns:1fr 1fr}.variable-card{grid-column:1 / -1}}
@media(max-width:700px){.document-compose-form,.document-template-column,.document-summary-card dl{grid-template-columns:1fr}.document-compose-actions,.document-summary-card .checksum-field{grid-column:auto}.document-compose-actions{align-items:stretch;flex-direction:column}.document-preview-sheet,.document-preview-sheet.compact{padding:28px 22px;min-height:0}.document-issue-list > a{grid-template-columns:40px 1fr}.document-issue-list a > div:last-child{grid-column:2;justify-items:start}.document-detail-head > div:last-child{align-items:flex-start;flex-direction:column}}

/* Invitación automática al portal */
.portal-invitation-card { align-items:stretch; }.portal-invitation-copy { display:grid; align-content:start; gap:5px; }.portal-access-state { display:flex; align-items:center; gap:10px; margin-top:12px; padding:10px 12px; color:#87a2b5; background:rgba(84,169,212,0.16); border:1px solid #343734; border-radius:11px; }.portal-access-state > span { padding:5px 7px; color:#8ea1af; background:rgba(84,159,212,0.16); border-radius:7px; font-size:8px; font-weight:950; }.portal-access-state > div { display:grid; gap:2px; }.portal-access-state small { color:var(--muted); font-size:10px; }.portal-access-state.is-linked { background:rgba(84,212,178,0.16); border-color:#343734; }.portal-access-state.is-linked > span { color:#8af7ea; background:rgba(84,212,177,0.16); }.portal-access-state.is-pending { background:rgba(212,165,84,0.16); border-color:#343734; }.portal-access-state.is-pending > span { color:#f4c16a; background:rgba(212,170,84,0.16); }.portal-invitation-actions { display:grid; align-content:start; gap:10px; min-width:min(100%,390px); }.portal-invitation-actions > form,.portal-manual-link form { display:grid; gap:9px; }.portal-invitation-actions label,.portal-manual-link label { display:grid; gap:5px; color:#93aec2; font-size:10px; font-weight:900; }.confirm-check { grid-template-columns:auto 1fr!important; align-items:start; line-height:1.35; }.confirm-check input { width:auto; margin-top:2px; }.invitation-link-result { display:grid; gap:5px; padding:12px; color:#8af7ea; background:rgba(84,212,174,0.16); border:1px solid #343734; border-radius:11px; }.invitation-link-result small { color:#8fadad; font-size:10px; }.invitation-link-result input { font-size:10px; }.portal-manual-link { padding-top:4px; border-top:1px solid #343734; }.portal-manual-link summary { padding-top:8px; color:#6db9e8; font-size:10px; font-weight:900; cursor:pointer; }.portal-manual-link form { margin-top:10px; padding:11px; background:rgba(84,161,212,0.16); border-radius:10px; }.portal-email-warning { display:grid; gap:4px; padding:12px; color:#f6c473; background:rgba(212,168,84,0.16); border-radius:10px; }.portal-email-warning small { font-size:10px; }.invitation-auth-card { max-width:520px; }.invited-employee { display:flex; align-items:center; gap:12px; margin:17px 0; padding:13px; background:linear-gradient(135deg,rgba(84,212,192,0.16),rgba(84,153,212,0.16)); border:1px solid #343734; border-radius:13px; }.invited-employee > span { display:grid; place-items:center; width:45px; height:45px; color:#fff; background:linear-gradient(135deg,#0a6084,#13aaa0); border-radius:11px; font-size:11px; font-weight:950; }.invited-employee > div { display:grid; gap:3px; }.invited-employee small,.invitation-email,.auth-security-hint { color:var(--muted); font-size:11px; }.invitation-email { padding:10px 12px; background:rgba(84,148,212,0.16); border-radius:9px; line-height:1.5; }.auth-security-hint { display:block; margin-top:15px; text-align:center; }
.portal-invitation-error { padding:10px 12px; color:#d16b7a; background:rgba(212,84,98,0.16); border:1px solid #343734; border-radius:9px; font-size:10px; font-weight:800; }

/* Entregas de correo */
.mail-delivery-head { align-items:center; }.mail-delivery-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }.mail-delivery-summary article { display:flex; align-items:center; gap:12px; padding:16px 18px; background:#1b1d1b; border:1px solid var(--line); border-radius:14px; }.mail-delivery-summary article > span { display:grid; place-items:center; width:40px; height:40px; color:#85f7ef; background:rgba(84,212,185,0.16); border-radius:10px; font-size:9px; font-weight:950; }.mail-delivery-summary article:nth-child(2) > span { color:#55a7e8; background:rgba(84,151,212,0.16); }.mail-delivery-summary article:nth-child(3) > span { color:#d56774; background:rgba(212,84,98,0.16); }.mail-delivery-summary article > div { display:grid; gap:2px; }.mail-delivery-summary strong { color:var(--ink); font-size:22px; }.mail-delivery-summary small,.mail-delivery-table small { display:block; margin-top:3px; color:var(--muted); font-size:9px; }.mail-worker-note { padding:7px 10px; color:#8af7ea; background:rgba(84,212,184,0.16); border-radius:8px; font-size:9px; font-weight:900; }.mail-status { display:inline-flex; padding:5px 8px; border-radius:7px; font-size:9px; font-weight:950; }.mail-status-queued { color:#f7c875; background:rgba(212,164,84,0.16); }.mail-status-sent { color:#8af7ea; background:rgba(84,212,183,0.16); }.mail-status-failed { color:#d56774; background:rgba(212,84,98,0.16); }
@media(max-width:650px){.mail-delivery-summary{grid-template-columns:1fr}.mail-delivery-head{align-items:flex-start}}

/* Configuración inicial de empresa */
.workspace-company-mark { display:grid; place-items:center; width:36px; height:36px; overflow:hidden; color:#89ddf4; background:rgba(84,212,196,0.16); border:1px solid rgba(51,54,74,0.25); border-radius:10px; font-size:9px; font-weight:950; }.workspace-company-mark img { width:100%; height:100%; object-fit:contain; background:#1b1d1b; }.company-settings-head { align-items:center; }.setup-score { display:flex; align-items:center; gap:12px; min-width:230px; padding:14px 17px; color:#fff; background:linear-gradient(135deg,#0b446b,#0795a2); border-radius:15px; box-shadow:0 10px 25px rgba(43,165,218,0.13); }.setup-score > strong { font-size:25px; }.setup-score > span { display:grid; gap:3px; }.setup-score b { font-size:11px; }.setup-score small { color:#bfece8; font-size:9px; }.company-settings-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:18px; align-items:start; }.company-profile-card { border-top:4px solid #6ce5de; }.company-profile-form { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.company-profile-form > label { display:grid; gap:6px; color:#9eb7cc; font-size:11px; font-weight:900; }.company-profile-form input,.company-profile-form select,.company-profile-form textarea { width:100%; border:1px solid #343734; border-radius:11px; padding:11px 12px; color:var(--ink); background:#1b1d1b; }.company-profile-form textarea { resize:vertical; }.wide-field { grid-column:1 / -1; }.company-logo-field { display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:center; gap:13px; padding:13px; background:rgba(84,186,212,0.16); border:1px solid #343734; border-radius:13px; }.company-logo-field > label { display:grid; gap:5px; color:#9eb7cc; font-size:11px; font-weight:900; }.company-logo-field small { color:var(--muted); font-size:9px; }.company-logo-preview { display:grid; place-items:center; width:70px; height:70px; overflow:hidden; color:#fff; background:linear-gradient(135deg,#0b5c82,#11aaa0); border-radius:13px; font-size:14px; font-weight:950; }.company-logo-preview img { width:100%; height:100%; object-fit:contain; background:#1b1d1b; }.setup-checklist { position:sticky; top:85px; }.setup-check { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:10px; padding:11px 2px; color:var(--ink); border-bottom:1px solid #343734; }.setup-check > span { display:grid; place-items:center; width:28px; height:28px; color:#f7c875; background:rgba(212,164,84,0.16); border-radius:8px; font-weight:950; }.setup-check > div { display:grid; gap:2px; }.setup-check small { color:var(--muted); font-size:9px; }.setup-check > b { color:#8ea2ae; }.setup-check.is-complete > span { color:#8af7ea; background:rgba(84,212,183,0.16); }.setup-advice { margin-top:15px; padding:13px; color:#88a3b6; background:rgba(84,177,212,0.16); border-radius:11px; }.setup-advice p { margin:5px 0 0; font-size:10px; line-height:1.5; }
@media(max-width:950px){.company-settings-layout{grid-template-columns:1fr}.setup-checklist{position:static}}
@media(max-width:650px){.company-settings-head{align-items:flex-start}.company-profile-form{grid-template-columns:1fr}.wide-field{grid-column:auto}.company-logo-field{grid-template-columns:60px 1fr}.company-logo-field .confirm-check{grid-column:1 / -1}.company-logo-preview{width:56px;height:56px}}

/* Importación masiva de personas */
.employee-import-head { align-items:center; }.employee-import-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:18px; align-items:start; margin-bottom:18px; }.import-upload-card { border-top:4px solid #75b7e7; }.import-upload-card > form { display:flex; align-items:end; gap:12px; }.import-file-field { flex:1; display:grid; gap:6px; color:#9eb7cc; font-size:11px; font-weight:900; }.import-file-field input { width:100%; padding:10px; border:1px dashed #a8c7db; border-radius:10px; background:rgba(84,173,212,0.16); }.import-file-field small { color:var(--muted); font-size:9px; }.import-rules { margin-top:16px; padding:13px; color:#88a3b6; background:rgba(84,175,212,0.16); border-radius:11px; }.import-rules > span { display:block; margin:5px 0; color:#6db9e8; font-family:ui-monospace,monospace; font-size:10px; }.import-rules p { margin:5px 0 0; font-size:10px; line-height:1.5; }.import-history { display:grid; gap:0; }.import-history-row { display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:10px; padding:10px 2px; color:var(--ink); border-bottom:1px solid #343734; }.import-history-row > span { display:grid; place-items:center; width:29px; height:29px; color:#55a7e8; background:rgba(84,151,212,0.16); border-radius:8px; font-weight:950; }.import-history-row > div { display:grid; gap:2px; min-width:0; }.import-history-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.import-history-row small { color:var(--muted); font-size:9px; }.import-history-row > b { color:#8af7ea; font-size:9px; }.import-preview-card { border-top:4px solid #6ce5de; }.import-preview-head { display:flex; justify-content:space-between; align-items:end; gap:15px; margin-bottom:17px; }.import-preview-head h2 { margin:3px 0; }.import-preview-head p { margin:0; color:var(--muted); font-size:10px; }.import-counts { display:flex; gap:8px; }.import-counts span { padding:8px 10px; border-radius:9px; font-size:9px; }.import-counts strong { margin-right:3px; font-size:14px; }.import-counts .is-valid { color:#8af7ea; background:rgba(84,212,183,0.16); }.import-counts .is-invalid { color:#d56774; background:rgba(212,84,98,0.16); }.import-preview-table tr.has-errors { background:rgba(212,84,84,0.16); }.import-preview-table td strong,.import-preview-table td small { display:block; }.import-preview-table td small { margin-top:3px; color:var(--muted); font-size:9px; }.import-errors { margin:0; padding-left:15px; color:#d56774; font-size:9px; line-height:1.45; }.import-preview-actions { display:flex; justify-content:flex-end; align-items:center; gap:13px; margin-top:17px; }.import-preview-actions > form { display:flex; align-items:center; gap:10px; }.import-preview-actions .confirm-check { max-width:390px; font-size:9px; }.import-blocked { display:grid; gap:2px; padding:10px 12px; color:#cf727d; background:rgba(212,84,98,0.16); border-radius:9px; }.import-blocked span,.import-limit-note { color:var(--muted); font-size:9px; }
@media(max-width:950px){.employee-import-layout{grid-template-columns:1fr}}
@media(max-width:650px){.employee-import-head{align-items:flex-start}.import-upload-card > form,.import-preview-head,.import-preview-actions,.import-preview-actions > form{align-items:stretch;flex-direction:column}.import-counts{width:100%}.import-counts span{flex:1}.import-preview-actions .confirm-check{max-width:none}}

/* Reportes operativos */
.report-filters { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)) auto; align-items:end; gap:12px; margin-bottom:15px; }.report-filters label { display:grid; gap:6px; color:#9eb7cc; font-size:10px; font-weight:900; }.report-filters input,.report-filters select { width:100%; border:1px solid #343734; border-radius:10px; padding:10px; background:#1b1d1b; }.report-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:18px; }.report-metrics article { display:grid; grid-template-columns:36px 1fr; gap:2px 10px; align-items:center; padding:14px; background:#1b1d1b; border:1px solid var(--line); border-radius:13px; }.report-metrics span { grid-row:span 2; display:grid; place-items:center; width:35px; height:35px; color:#8af7ea; background:rgba(84,212,185,0.16); border-radius:9px; font-size:8px; font-weight:950; }.report-metrics strong { font-size:20px; line-height:1; }.report-metrics small { color:var(--muted); font-size:8px; line-height:1.2; }.report-export-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.report-export-grid article { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:13px; border-top:3px solid #6fe6de; }.report-export-grid article > span { display:grid; place-items:center; width:40px; height:40px; color:#55a7e8; background:rgba(84,151,212,0.16); border-radius:10px; font-size:9px; font-weight:950; }.report-export-grid article > div { display:grid; gap:4px; }.report-export-grid h2,.report-export-grid p { margin:0; }.report-export-grid p { color:var(--muted); font-size:10px; line-height:1.4; }.report-privacy-note { display:flex; gap:8px; margin-top:15px; padding:12px 15px; color:#89a2b3; background:rgba(84,177,212,0.16); border-radius:11px; font-size:9px; }.report-privacy-note strong { color:#88d5f4; white-space:nowrap; }
@media(max-width:1000px){.report-filters{grid-template-columns:1fr 1fr}.report-filters button{width:fit-content}.report-metrics{grid-template-columns:repeat(3,1fr)}.report-export-grid{grid-template-columns:1fr}}
@media(max-width:650px){.report-filters,.report-metrics{grid-template-columns:1fr 1fr}.report-filters button{width:100%}.report-export-grid article{grid-template-columns:40px 1fr}.report-export-grid article > a{grid-column:2;width:fit-content}.report-privacy-note{flex-direction:column}}

/* Revisión guiada del piloto */
.company-settings-actions { display:flex; align-items:center; gap:10px; }.pilot-head { align-items:center; }.pilot-progress { display:flex; align-items:center; gap:13px; min-width:235px; padding:13px 16px; color:#fff; background:linear-gradient(135deg,#0b3f66,#087f8d); border-radius:16px; }.pilot-progress > div { --pilot-progress:0%; position:relative; display:grid; place-items:center; width:58px; height:58px; flex:none; background:conic-gradient(#5ee0d4 var(--pilot-progress),rgba(35,37,50,0.16) 0); border-radius:50%; }.pilot-progress > div::after { content:""; position:absolute; inset:6px; background:#0b526f; border-radius:50%; }.pilot-progress > div strong { position:relative; z-index:1; font-size:13px; }.pilot-progress > span { display:grid; gap:3px; }.pilot-progress b { font-size:15px; }.pilot-progress small { color:#bfeae7; font-size:9px; }.pilot-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:18px; align-items:start; }.pilot-automatic { border-top:4px solid #6fe6de; }.pilot-check-list { display:grid; }.pilot-check-item { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:11px; padding:12px 3px; color:var(--ink); border-bottom:1px solid #343734; }.pilot-check-item > span { display:grid; place-items:center; width:32px; height:32px; color:#f5c674; background:rgba(212,164,84,0.16); border-radius:9px; font-weight:950; }.pilot-check-item > div { display:grid; gap:3px; }.pilot-check-item small { color:var(--muted); font-size:9px; }.pilot-check-item > b { color:#55a7e8; font-size:9px; }.pilot-check-item.is-complete > span { color:#8af7ea; background:rgba(84,212,183,0.16); }.pilot-check-item.is-complete > b { color:#8af7ea; }.pilot-manual { position:sticky; top:86px; border-top:4px solid #b4a3e1; }.pilot-manual form { display:grid; gap:14px; }.pilot-manual-list { display:grid; gap:8px; }.pilot-manual-list label { display:grid; grid-template-columns:auto 1fr; gap:9px; align-items:start; padding:10px; background:rgba(84,148,212,0.16); border:1px solid #343734; border-radius:10px; cursor:pointer; }.pilot-manual-list input { width:18px; height:18px; margin-top:2px; accent-color:#67f4e9; }.pilot-manual-list span { display:grid; gap:3px; }.pilot-manual-list small { color:var(--muted); font-size:9px; line-height:1.4; }.pilot-notes { display:grid; gap:6px; color:#9eb7cc; font-size:10px; font-weight:900; }.pilot-notes textarea { width:100%; padding:11px; border:1px solid #343734; border-radius:10px; resize:vertical; }.pilot-ready-note { display:flex; gap:9px; margin-top:15px; padding:13px 16px; color:#89a2b3; background:rgba(84,177,212,0.16); border-radius:11px; font-size:10px; }.pilot-ready-note strong { color:#88d5f4; white-space:nowrap; }
@media(max-width:950px){.pilot-layout{grid-template-columns:1fr}.pilot-manual{position:static}}

/* Comodidad táctil y lectura móvil */
:focus-visible { outline:3px solid rgba(101,228,217,0.42); outline-offset:2px; }
@media(max-width:650px){
    body { -webkit-text-size-adjust:100%; }
    h1 { font-size:clamp(29px,9vw,36px); }
    .page,.has-sidebar .page { padding-bottom:calc(86px + env(safe-area-inset-bottom)); }
    .data-card,.form-section { padding:17px; border-radius:16px 16px 16px 6px; }
    .primary-button,.secondary-button,button,select,input[type="date"],input[type="email"],input[type="text"],input[type="number"],input[type="password"],input[type="search"] { min-height:44px; }
    input,select,textarea { max-width:100%; font-size:16px!important; }
    summary { min-height:44px; display:flex; align-items:center; }
    .section-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .section-actions > a,.section-actions > button { width:100%; min-width:0; padding:11px 9px; font-size:10px; text-align:center; }
    .table-wrap { margin-inline:-17px; padding-inline:17px; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-width:thin; }
    .data-table { min-width:680px; }
    .data-table th { padding:10px; font-size:9px; }.data-table td { padding:12px 10px; font-size:12px; }
    .workspace-company-mark { display:none; }
    .self-hero { gap:13px; padding:18px; }.self-hero .profile-avatar { width:52px; height:52px; border-radius:14px; font-size:16px; }.self-hero h1 { font-size:27px; }
    .self-balance-grid { grid-template-columns:1fr 1fr; gap:8px; }.self-balance-grid > div { min-height:88px; padding:13px; }.self-balance-grid span { font-size:9px; }.self-balance-grid strong { font-size:23px; }.self-balance-grid .balance-policy-name { font-size:12px; }
    .self-service-grid .primary-button,.self-service-grid .secondary-button,.self-upload .secondary-button { width:100%; }
    .field-mobile-page { width:min(100% - 20px,760px)!important; padding-top:22px!important; }
    .field-job-hero { padding:18px; }.field-job-hero h1 { font-size:28px; }
    .field-primary-action { position:sticky; z-index:12; bottom:calc(8px + env(safe-area-inset-bottom)); padding:9px; background:rgba(84,155,212,0.94); border:1px solid #343734; border-radius:14px; backdrop-filter:blur(10px); box-shadow:0 10px 28px rgba(11,45,72,.16); }
    .field-primary-action .primary-button,.field-evidence-card button,.evidence-form button { width:100%; }
    .company-settings-actions { width:100%; align-items:stretch; flex-direction:column; }.setup-score { width:100%; }.company-settings-actions > a { width:100%; }
    .pilot-head { align-items:stretch; }.pilot-progress { width:100%; }.pilot-check-item { grid-template-columns:32px 1fr; }.pilot-check-item > b { grid-column:2; }.pilot-ready-note { flex-direction:column; }.pilot-ready-note strong { white-space:normal; }
}

/* Edición y ciclo de vida del expediente */
.employee-edit-head { align-items:center; }.protected-identity { display:flex; align-items:center; gap:11px; padding:12px 15px; color:#94b4cb; background:rgba(84,165,212,0.16); border:1px solid #343734; border-radius:13px; }.protected-identity > span { padding:8px 10px; color:#fff; background:#0c5d82; border-radius:8px; font-size:11px; font-weight:950; }.protected-identity small { color:#90a0ac; font-size:9px; line-height:1.35; }.employee-edit-form textarea { width:100%; border:1px solid #343734; border-radius:11px; padding:12px; color:var(--ink); background:#1b1d1b; resize:vertical; }.employee-edit-form textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(113,170,227,0.12); outline:none; }.lifecycle-section { border-top:4px solid #edce97; }.lifecycle-editor { display:grid; gap:16px; }.change-reason { grid-column:span 1; }.form-section label small { color:var(--muted); font-size:9px; font-weight:600; }.impact-panel { padding:15px; background:rgba(84,180,212,0.16); border:1px solid #343734; border-radius:13px; }.impact-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.impact-heading > div { display:grid; gap:3px; }.impact-heading small { color:var(--muted); font-size:10px; }.impact-heading > span { padding:6px 9px; color:#f4c375; background:rgba(212,164,84,0.16); border-radius:8px; font-size:9px; font-weight:950; }.impact-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }.impact-grid > div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:2px 7px; padding:9px; color:#8da0af; background:#1b1d1b; border:1px solid #343734; border-radius:9px; }.impact-grid > div > span { grid-row:span 2; display:grid; place-items:center; width:28px; height:28px; color:#8da1af; background:rgba(84,164,212,0.16); border-radius:7px; font-size:8px; font-weight:950; }.impact-grid strong { font-size:16px; line-height:1; }.impact-grid small { grid-column:2; font-size:8px; line-height:1.2; }.impact-grid .has-impact { color:#efad65; background:rgba(212,164,84,0.16); border-color:#343734; }.impact-grid .has-impact > span { color:#e8a95d; background:rgba(212,164,84,0.16); }.lifecycle-checks { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.lifecycle-checks > label,.offboarding-existing { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:9px; padding:11px; background:rgba(84,161,212,0.16); border:1px solid #343734; border-radius:10px; cursor:pointer; }.lifecycle-checks input { width:auto; margin-top:3px; }.lifecycle-checks label span { display:grid; gap:3px; }.lifecycle-checks small,.offboarding-existing small { color:var(--muted); font-size:9px; line-height:1.35; }.offboarding-existing > span { padding:4px 6px; color:#886dcf; background:rgba(122,84,212,0.16); border-radius:6px; font-size:8px; font-weight:950; }.offboarding-existing > div { display:grid; gap:3px; }.profile-head-actions { display:flex; align-items:center; gap:9px; }.profile-head-actions .secondary-button { min-height:38px; padding:9px 12px; font-size:10px; }
@media(max-width:1050px){.impact-grid{grid-template-columns:repeat(3,1fr)}.lifecycle-checks{grid-template-columns:1fr}}
@media(max-width:650px){.employee-edit-head{align-items:flex-start}.impact-grid{grid-template-columns:repeat(2,1fr)}.profile-head-actions{grid-column:1 / -1;align-items:flex-start;flex-direction:column}}

/* Privacidad, términos y derechos de titulares */
.legal-confirm { display:grid!important; grid-template-columns:auto 1fr; align-items:start; gap:9px!important; padding:11px 12px; color:#8faabd!important; background:rgba(84,175,212,0.16); border:1px solid #343734; border-radius:10px; font-size:10px!important; line-height:1.45; cursor:pointer; }.legal-confirm input { width:18px!important; height:18px; min-height:0!important; margin-top:1px; accent-color:#6bf5ec; }.legal-confirm a { color:#73d8f7; font-weight:900; text-decoration:underline; text-decoration-color:#343734; }.brand-footer nav { display:flex; gap:11px; margin-left:8px; }.brand-footer nav a { color:#86a4b6; font-size:8px; font-weight:850; }.legal-page { width:min(100% - 32px,900px)!important; }.legal-document { overflow:hidden; color:#a2c0d6; background:#1b1d1b; border:1px solid #343734; border-radius:22px 22px 22px 7px; box-shadow:0 18px 50px rgba(16,54,78,.09); }.legal-document > header { padding:34px; color:#fff; background:linear-gradient(135deg,#0a3558,#08738c 68%,#0b9d99); }.legal-document h1 { margin:6px 0 8px; color:#fff; font-size:36px; }.legal-document > header p { max-width:700px; margin:0; color:#d7eff1; line-height:1.55; }.legal-document > header > div:last-child { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }.legal-document > header > div:last-child span { padding:6px 9px; color:#dff5f2; background:rgba(35,37,50,0.1); border:1px solid rgba(51,54,74,0.18); border-radius:8px; font-size:9px; font-weight:850; }.legal-draft-warning { display:grid; gap:4px; margin:22px 28px 0; padding:14px 16px; color:#f8cc82; background:rgba(212,168,84,0.16); border-left:4px solid #edcd97; border-radius:10px; }.legal-draft-warning span { font-size:10px; line-height:1.5; }.legal-document > section { padding:23px 30px; border-bottom:1px solid #343734; }.legal-document > section h2 { margin:0 0 9px; color:#b3d7f6; font-size:18px; }.legal-document > section p { margin:7px 0 0; font-size:12px; line-height:1.75; }.legal-document > footer { display:grid; gap:5px; padding:20px 30px; color:#89a2b3; background:rgba(84,184,212,0.16); }.legal-document > footer span { font-size:10px; }.warning-notice { margin-bottom:16px; padding:13px 16px; color:#f4cb84; background:rgba(212,167,84,0.16); border:1px solid #343734; border-radius:11px; font-size:10px; }.warning-notice a { color:#78d3f5; font-weight:900; }.legal-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; margin-bottom:18px; }.legal-summary-card { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:10px 13px; border-top:4px solid #edce97; }.legal-summary-card > span { grid-row:span 2; display:grid; place-items:center; width:40px; height:40px; color:#f7c774; background:rgba(212,164,84,0.16); border-radius:10px; font-size:9px; font-weight:950; }.legal-summary-card h2,.legal-summary-card p { margin:2px 0; }.legal-summary-card > div > small,.legal-summary-card p { color:var(--muted); font-size:8px; line-height:1.35; }.legal-summary-card > a { color:#6ed0f6; font-size:9px; font-weight:900; }.legal-summary-card > form { grid-column:2 / -1; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:9px; border-top:1px solid #343734; }.legal-summary-card > form label { display:flex; align-items:center; gap:7px; color:#89a3b3; font-size:9px; }.legal-summary-card > form input { width:17px; height:17px; accent-color:#6bf5ec; }.legal-summary-card.is-accepted { border-top-color:#5ff4e6; }.legal-summary-card.is-accepted > span { color:#86f8ee; background:rgba(84,212,183,0.16); }.legal-summary-card > strong { color:#8af7ea; font-size:9px; }.privacy-layout { display:grid; grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr); gap:18px; align-items:start; }.privacy-layout textarea,.privacy-layout select { width:100%; border:1px solid #343734; border-radius:10px; padding:11px; background:#1b1d1b; resize:vertical; }.privacy-request-list { display:grid; gap:10px; }.privacy-request-list > article { display:grid; grid-template-columns:1fr auto; gap:7px 12px; padding:14px; background:rgba(84,180,212,0.16); border:1px solid #343734; border-radius:11px; }.privacy-request-list article > div:first-child { display:grid; gap:2px; }.privacy-request-list article > div:first-child span { color:#84f7f0; font-size:9px; font-weight:950; }.privacy-request-list article > div:first-child small,.privacy-request-list article > small { color:var(--muted); font-size:8px; }.privacy-request-list article > p,.privacy-request-list article > small,.privacy-request-list details,.privacy-response { grid-column:1 / -1; }.privacy-request-list article > p { margin:4px 0; color:#91adc0; font-size:10px; line-height:1.5; }.privacy-response { padding:9px 11px; color:#92c2db; background:rgba(84,185,212,0.16); border-radius:8px; font-size:9px; line-height:1.45; }.privacy-request-list summary { color:#72caee; font-size:9px; font-weight:900; cursor:pointer; }.privacy-request-list details form { display:grid; gap:8px; margin-top:9px; }.privacy-principles { display:flex; gap:9px; margin-top:15px; padding:13px 16px; color:#88a4b4; background:rgba(84,191,212,0.16); border-radius:11px; font-size:9px; }.privacy-principles strong { color:#80dff7; }.status-badge { align-self:start; padding:5px 8px; color:#6db8e8; background:rgba(84,161,212,0.16); border-radius:7px; font-size:8px; text-transform:uppercase; }
@media(max-width:850px){.legal-card-grid,.privacy-layout{grid-template-columns:1fr}.legal-summary-card > form{align-items:stretch;flex-direction:column}.legal-summary-card > form button{width:100%}}
@media(max-width:650px){.brand-footer{flex-wrap:wrap}.brand-footer nav{width:100%;justify-content:center;margin:5px 0 0}.legal-page{width:min(100% - 20px,900px)!important}.legal-document > header{padding:25px 20px}.legal-document h1{font-size:30px}.legal-document > section{padding:20px}.legal-draft-warning{margin:16px 16px 0}.legal-document > footer{padding:18px 20px}.legal-summary-card{grid-template-columns:38px 1fr}.legal-summary-card > a,.legal-summary-card > strong{grid-column:2}.privacy-principles{flex-direction:column}}
@media (max-width:900px) { .disciplinary-summary { grid-template-columns:1fr 1fr; }.disciplinary-layout { grid-template-columns:1fr; }.disciplinary-create { position:static; } }
@media (max-width:650px) { .disciplinary-summary,.disciplinary-side { grid-template-columns:1fr; }.disciplinary-case-head { align-items:flex-start; flex-direction:column; }.disciplinary-case-head > div:last-child { justify-items:start; }.disciplinary-main .search-bar select { width:100%; }.disciplinary-row { grid-template-columns:58px 1fr; }.case-state { grid-column:2; justify-items:start; }.case-facts dl { grid-template-columns:1fr; }.disciplinary-actions article { grid-template-columns:43px 1fr; }.action-controls { grid-column:2; justify-items:start; }.action-controls details form { position:static; width:100%; }.disciplinary-evidence-list a { grid-template-columns:40px 1fr; }.disciplinary-evidence-list b { grid-column:2; } }
.executive-metric.tone-disciplinary { --metric-tone:#886dcf; }.activity-item.tone-disciplinary strong { color:#886dcf; }

/* Planes y control modular */
.subscription-head { align-items:center; }.subscription-status { display:inline-flex; align-items:center; padding:9px 13px; color:#8af7ea; background:rgba(84,212,183,0.16); border:1px solid #343734; border-radius:10px; font-size:10px; font-weight:950; text-transform:uppercase; letter-spacing:.05em; }.subscription-status.status-past_due { color:#f6c476; background:rgba(212,164,84,0.16); border-color:#343734; }.subscription-status.status-suspended,.subscription-status.status-cancelled { color:#d56874; background:rgba(212,84,98,0.16); border-color:#343734; }.subscription-notice { display:grid; gap:4px; margin-bottom:18px; }.subscription-notice span { color:#8aa2b2; font-size:10px; }.notice-warning { display:grid; gap:4px; margin-bottom:18px; color:#f8cc82; background:rgba(212,168,84,0.16); border-left:4px solid #edcd97; }.notice-warning span { font-size:10px; }.subscription-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:0; overflow:hidden; border-top:4px solid #64e4db; }.subscription-summary > div { display:grid; gap:5px; min-height:125px; padding:22px; border-right:1px solid #343734; }.subscription-summary > div:last-child { border-right:0; }.subscription-summary span { color:#8da1b0; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }.subscription-summary strong { color:#aad4f4; font-size:22px; }.subscription-summary small { color:var(--muted); font-size:9px; line-height:1.45; }.subscription-modules { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.subscription-modules article { display:grid; align-content:start; gap:7px; min-height:145px; border-top:4px solid #343734; }.subscription-modules article > span { width:max-content; padding:5px 8px; color:#91a0ab; background:rgba(84,157,212,0.16); border-radius:7px; font-size:8px; font-weight:950; text-transform:uppercase; }.subscription-modules article strong { color:#a9ceea; font-size:16px; }.subscription-modules article p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }.subscription-modules article.is-enabled { background:linear-gradient(150deg,#1b1d1b 55%,rgba(84,212,180,0.16)); border-top-color:#55ecdf; }.subscription-modules article.is-enabled > span { color:#8af7ea; background:rgba(84,212,183,0.16); }.subscription-modules article.is-locked { opacity:.72; }.plan-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.plan-card { display:grid; align-content:start; gap:14px; padding:19px; }.plan-card.is-current { border:2px solid #70e6dc; box-shadow:0 12px 30px rgba(56,220,207,0.09); }.plan-card > div > span { color:#85f7ef; font-size:8px; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }.plan-card h3 { margin:5px 0; color:#a9d3f5; font-size:20px; }.plan-card p { margin:0; color:var(--muted); font-size:9px; line-height:1.5; }.plan-card ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }.plan-card li { position:relative; padding-left:14px; color:#8ba6b9; font-size:9px; }.plan-card li::before { content:"✓"; position:absolute; left:0; color:#68f5eb; font-weight:950; }.subscription-help { margin:16px 0 0; padding:13px 15px; color:#89a2b3; background:rgba(84,177,212,0.16); border-radius:11px; font-size:10px; }
@media(max-width:1000px){.subscription-modules{grid-template-columns:1fr 1fr}.plan-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.subscription-head{align-items:flex-start}.subscription-summary,.subscription-modules,.plan-grid{grid-template-columns:1fr}.subscription-summary > div{min-height:auto;border-right:0;border-bottom:1px solid #343734}.subscription-summary > div:last-child{border-bottom:0}}

/* Conservación y depuración controlada */
.retention-head{align-items:center}.retention-principles{display:grid;grid-template-columns:36px 1fr 36px 1fr 36px 1fr;align-items:center;gap:10px;margin-bottom:18px;padding:15px 18px;color:#96b7cc;background:linear-gradient(120deg,rgba(84,212,192,0.16),rgba(84,153,212,0.16));border:1px solid #343734;border-radius:15px}.retention-principles>span{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:linear-gradient(135deg,#0a6081,#10a69c);border-radius:9px;font-size:9px;font-weight:950}.retention-principles>div{display:grid;gap:3px}.retention-principles small{color:#90a1ac;font-size:8px}.retention-policy-card{margin-bottom:18px;border-top:4px solid #64e4db}.retention-policy-card>form{display:grid;gap:15px}.retention-policy-list{display:grid}.retention-policy-list article{display:grid;grid-template-columns:38px minmax(220px,1.15fr) 115px minmax(180px,.9fr) minmax(160px,.8fr);align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #343734}.retention-policy-list article>div{display:grid;gap:4px}.retention-policy-list article>div small{color:var(--muted);font-size:8px;line-height:1.4}.retention-policy-list article>label:not(.retention-switch){display:grid;gap:5px;color:#8ba6b9;font-size:8px;font-weight:900}.retention-policy-list input{width:100%;min-height:38px;padding:8px 9px;border:1px solid #343734;border-radius:9px}.retention-switch input{position:absolute;opacity:0}.retention-switch span{position:relative;display:block;width:36px;height:21px;background:rgba(84,162,212,0.16);border-radius:20px;cursor:pointer}.retention-switch span::after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;background:#1b1d1b;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.18s}.retention-switch input:checked+span{background:#0aa397}.retention-switch input:checked+span::after{transform:translateX(15px)}.retention-action{width:max-content;padding:4px 7px;color:#8f9eae;background:rgba(84,157,212,0.16);border-radius:6px;font-size:7px;text-transform:uppercase}.retention-action.action-delete{color:#d06c78;background:rgba(212,84,98,0.16)}.retention-action.action-anonymize{color:#8f77c5;background:rgba(124,84,212,0.16)}.retention-two-column{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.retention-hold-list,.retention-run-list{display:grid;gap:7px;margin-top:14px}.retention-hold-list article,.retention-run-list a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:11px;color:var(--ink);background:rgba(84,180,212,0.16);border:1px solid #343734;border-radius:10px}.retention-hold-list article>div{display:grid;gap:3px}.retention-hold-list small{color:var(--muted);font-size:8px}.retention-run-list a{grid-template-columns:40px 1fr auto}.retention-run-list a>span{display:grid;place-items:center;width:38px;height:38px;color:#87ebf4;background:rgba(84,212,198,0.16);border-radius:9px;font-size:9px;font-weight:950}.retention-run-list a>div{display:grid;gap:3px}.retention-run-list small{color:var(--muted);font-size:8px}.retention-run-list a>b{color:#55a7e8;font-size:8px}.retention-run-list a.is-current{border-color:#88e3dc;box-shadow:inset 3px 0 #6ee5dd}.retention-run-detail{margin-top:18px;border-top:4px solid #b4a3e1}.retention-approval{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;padding:14px 16px;background:rgba(84,199,212,0.16);border-radius:11px}.retention-approval p{display:grid;gap:3px;margin:0}.retention-approval p span{color:var(--muted);font-size:9px}.retention-approval.is-danger{background:rgba(212,84,84,0.16);border:1px solid #343734}.retention-approval.is-danger label{display:flex;align-items:center;gap:7px;color:#c49198;font-size:9px}.retention-approval.is-danger input{padding:9px;border:1px solid #343734;border-radius:8px}.retention-legal-note{display:flex;gap:10px;margin-top:15px;padding:14px 16px;color:#8aa3b2;background:rgba(84,180,212,0.16);border-radius:11px;font-size:9px;line-height:1.5}.retention-legal-note strong{color:#86ddf5;white-space:nowrap}
@media(max-width:1050px){.retention-policy-list article{grid-template-columns:38px 1fr 110px}.retention-policy-list article>label:nth-last-child(-n+2){grid-column:2 / -1}.retention-two-column{grid-template-columns:1fr}.retention-principles{grid-template-columns:34px 1fr}}
@media(max-width:650px){.retention-head{align-items:flex-start}.retention-head form,.retention-head button{width:100%}.retention-policy-list article{grid-template-columns:34px 1fr}.retention-policy-list article>label:not(.retention-switch){grid-column:1 / -1}.retention-principles{grid-template-columns:32px 1fr;padding:13px}.retention-approval,.retention-approval.is-danger,.retention-approval.is-danger label{align-items:stretch;flex-direction:column}.retention-approval button{width:100%}.retention-legal-note{flex-direction:column}.retention-legal-note strong{white-space:normal}}
.retention-badges{display:flex;flex-wrap:wrap;gap:5px}.retention-review-state{width:max-content;padding:4px 7px;color:#f4c475;background:rgba(212,164,84,0.16);border-radius:6px;font-size:7px;text-transform:uppercase}.retention-review-state.state-reviewed{color:#8af7ea;background:rgba(84,212,183,0.16)}.retention-review-confirm{max-width:850px}

/* Selector táctil tipo píldora (evidencia de campo, categoría de gasto) */
.pill-picker { display: flex; flex-wrap: wrap; gap: 8px; }
.pill-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pill-picker label { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); font-size: 14px; font-weight: 600; cursor: pointer; }
.pill-picker input:checked + label { border-color: var(--brand); background: rgba(181,171,252,.14); color: var(--brand); }
.pill-picker input:focus-visible + label { outline: 3px solid rgba(181,171,252,.42); outline-offset: 2px; }

/* Barra de pestañas inferior - acceso rápido de autoservicio en móvil */
.mobile-tabbar { display: none; }
@media (max-width: 650px) {
    .mobile-tabbar.has-tabs { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 6px 10px calc(6px + env(safe-area-inset-bottom)); background: rgba(27,29,43,.92); backdrop-filter: blur(14px); border-top: 1px solid var(--line); }
    .mobile-tabbar a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 44px; padding: 6px 0; color: var(--muted); font-size: 11px; font-weight: 700; text-decoration: none; }
    .mobile-tabbar a > span:first-child { width: 20px; height: 2px; border-radius: 2px; background: transparent; }
    .mobile-tabbar a.is-current { color: var(--brand); }
    .mobile-tabbar a.is-current > span:first-child { background: var(--brand); }
}
/* Inventra Hub · identidad central */
.inventra-sso-button{display:grid;grid-template-columns:42px 1fr auto;gap:12px;width:100%;margin-top:26px;text-align:left;background:var(--yuntia-yellow);color:var(--yuntia-ink);box-shadow:0 8px 22px rgba(255,196,0,.14)}
.inventra-sso-button:hover{background:#e6b000}
.inventra-sso-button>span:nth-child(2){display:grid;gap:2px}.inventra-sso-button small{color:#343633;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.inventra-sso-button b{font-size:20px}
.inventra-sso-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--yuntia-ink);background:var(--yuntia-paper);border-radius:11px 11px 11px 4px;font-size:11px;font-weight:950;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0 0;color:#8190a0;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#dbe4ec}
.hub-selector-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px;padding:11px 13px;color:#dfe8ff;background:linear-gradient(110deg,#102b55,#315be8 65%,#7557d1);border-radius:13px 13px 13px 5px}.hub-selector-brand>span{display:grid;place-items:center;width:36px;height:36px;color:#183c8d;background:#fff;border-radius:10px 10px 10px 3px;font-size:10px;font-weight:950}.hub-selector-brand>div{display:grid;gap:2px}.hub-selector-brand small{color:#bfe9ff;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.hub-selector-brand strong{font-size:14px}.inventra-hub-selector::before{background:linear-gradient(90deg,#102b55,#315be8,#7657d6,#3bd6c7)}
.hub-global-logout{padding:8px 11px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(121,241,230,.3);border-radius:9px;font-size:10px;font-weight:850;cursor:pointer}.hub-global-logout:hover{background:rgba(121,241,230,.15)}
@media(max-width:760px){.hub-global-logout{font-size:0}.hub-global-logout::after{content:"Hub";font-size:9px}.inventra-sso-button{grid-template-columns:38px 1fr auto}}
@media(max-width:380px){.auth-card{padding:24px}.inventra-sso-button{grid-template-columns:minmax(0,1fr) auto}.inventra-sso-mark{display:none}.inventra-sso-button small{font-size:9px;letter-spacing:.02em}}
@media(max-width:650px){.auth-page .form-stack input[type="email"],.auth-page .form-stack input[type="password"],.auth-page .form-stack input[type="text"]{font-size:16px;min-height:48px}}
