:root{--brand-blue: #5b83b7;--brand-blue-deep: #315f92;--brand-blue-ink: #223f63;--brand-blue-soft: #eef5ff;--brand-orange: #ff970f;--brand-orange-strong: #d87400;--brand-orange-soft: #fff7ec;--bg-app: #f3f6fb;--bg-surface: #ffffff;--bg-sidebar: #0b2038;--bg-sidebar-active: #214b7d;--text-primary: #17202a;--text-muted: #60718a;--text-sidebar: #f7fbff;--border-soft: #dfe7f2;--accent: #315f92;--accent-strong: #223f63;--danger-bg: #fff0f0;--danger-text: #9f1d2f;--radius-sm: 6px;--radius-md: 8px;--shadow-soft: 0 14px 34px rgba(30, 62, 98, .08);--font-main: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-main)}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell-root{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.shell-sidebar{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:linear-gradient(180deg,#0e2e4ec7,#06182cf5),var(--bg-sidebar);color:var(--text-sidebar);padding:32px 18px 20px}.brand-block{display:block}.system-logo{display:block;max-width:100%;object-fit:contain}.system-logo-sidebar{width:208px;height:auto}.system-logo-login{width:min(100%,330px);height:auto}.system-logo-portal{width:230px;height:auto}.brand-title,.brand-subtitle,.header-title,.header-subtitle,.module-toolbar h1,.module-toolbar p{margin:0}.brand-title{font-weight:800}.brand-subtitle,.header-subtitle,.module-toolbar p{color:var(--text-muted)}.brand-subtitle{color:#d7e5f7}.nav-list{display:grid;align-content:start;gap:8px;margin-top:34px}.nav-link{min-height:46px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;padding:0 14px;border-radius:var(--radius-md);color:#f7fbffd1;font-weight:800;text-decoration:none}.nav-link:hover{background:#ffffff1f}.nav-link.is-active{background:var(--bg-sidebar-active);color:#fff;box-shadow:inset 3px 0 0 var(--brand-orange)}.sidebar-account{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}.sidebar-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--bg-sidebar-active);color:#fff;font-size:.82rem;font-weight:900}.sidebar-account strong,.sidebar-account span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account span{margin-top:3px;color:#f7fbffb3;font-size:.82rem}.shell-main{min-width:0;display:grid;grid-template-rows:72px 1fr;background:var(--bg-app)}.shell-header{display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fffffff5;border-bottom:1px solid var(--border-soft)}.header-title{font-weight:800}.breadcrumb{display:inline-flex;align-items:center;gap:8px;color:#8291a7;font-size:.86rem;font-weight:800}.breadcrumb strong{color:var(--brand-blue-ink)}.content-area{min-width:0;padding:36px 46px 48px}.directory-page{width:min(100%,1440px);display:grid;gap:22px;margin:0 auto}.directory-hero{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:24px;padding-top:6px}.directory-hero-copy{min-width:0}.section-kicker{display:block;margin-bottom:8px;color:#2f6fe8;font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.directory-hero h1,.directory-hero p,.directory-count span{margin:0}.directory-hero h1{color:var(--brand-blue-ink);font-size:2rem;line-height:1.12}.directory-hero p{margin-top:8px;color:var(--text-muted);font-weight:700}.directory-stats{display:grid;grid-template-columns:repeat(2,minmax(220px,315px));gap:16px;margin-top:28px}.stat-card{min-height:90px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:16px 18px;background:var(--bg-surface)}.stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-md);background:#eaf2ff;color:#2f6fe8}.stat-icon-secondary{background:#f1ecff;color:#7b61d9}.stat-card strong,.stat-card span{display:block}.stat-card strong{color:var(--brand-blue-ink);font-size:1.55rem;line-height:1}.stat-card span{margin-top:5px;color:var(--text-muted);font-size:.9rem;font-weight:800}.refresh-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 16px;background:#fff;color:var(--brand-blue-ink);font-weight:900}.refresh-button:hover{border-color:#bfd0e5;background:#f8fbff}.directory-panel{min-width:0;display:grid;gap:16px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:20px;background:var(--bg-surface);box-shadow:var(--shadow-soft)}.directory-controls{min-width:0;display:grid;grid-template-columns:minmax(260px,1fr) 170px 170px 82px;gap:10px;border-bottom:1px solid var(--border-soft);padding-bottom:16px}.directory-search{width:100%;min-width:0;height:46px;grid-column:auto;border-color:#dbe5f1;background:#fbfdff}.select-control,.site-control{min-width:0;height:46px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #dbe5f1;border-radius:var(--radius-md);padding:0 10px;background:#fbfdff;color:#8ba0b8}.select-control select,.site-control input,.page-size-select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--brand-blue-ink)}.page-size-select{height:46px;border:1px solid #dbe5f1;border-radius:var(--radius-md);padding:0 10px;background:#fbfdff;font-weight:800}.directory-count{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8a9bb0;font-size:.85rem;font-weight:800}.person-list{min-width:0;display:grid;gap:10px}.person-row{min-width:0;min-height:96px;display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(220px,.85fr) max-content;align-items:center;gap:22px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:14px 18px;background:#fff}.person-row:hover{border-color:#cbd8e8;background:#fbfdff}.person-identity{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px}.person-photo{width:52px;height:52px}.person-identity strong,.person-identity span,.person-contact span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-identity strong{display:block;color:var(--brand-blue-ink);font-weight:900}.person-identity span,.person-contact span{color:#7c8ca3;font-size:.86rem;font-weight:700}.person-line,.person-contact span{display:flex;align-items:center;gap:6px}.person-contact{min-width:0;display:grid;gap:6px}.person-contact svg,.person-line svg,.person-trailing svg{flex:0 0 auto;color:#9aadc4}.person-trailing{display:inline-flex;align-items:center;gap:14px;color:#a6b4c5}.person-position-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 10px;background:#fff;color:var(--brand-blue-deep);font-size:.84rem;font-weight:900;white-space:nowrap}.person-position-button:hover:not(:disabled){border-color:#c5d4e6;background:#f5f9ff}.person-position-button:disabled{color:#9caabd}.position-preview{display:grid;gap:14px;border:1px solid #cddcef;border-radius:var(--radius-md);padding:16px;background:#f8fbff}.position-preview-heading h2,.position-preview-heading p{margin:0}.position-preview-heading h2{color:var(--brand-blue-ink);font-size:1.25rem}.position-preview-heading p,.position-preview-muted{margin-top:4px;color:var(--text-muted);font-weight:800}.position-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.position-preview-grid div{min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:10px;background:#fff}.position-preview-grid span,.position-preview-grid strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-preview-grid span{color:#8393a8;font-size:.78rem;font-weight:900}.position-preview-grid strong{margin-top:4px;color:var(--brand-blue-ink)}.directory-empty{display:grid;place-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fbfdff}.module-panel{width:100%;min-width:0;min-height:calc(100vh - 120px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 1fr auto;gap:16px;background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:20px}.module-toolbar{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:16px}.module-toolbar h1{font-size:1.55rem}.toolbar-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.search-control{width:min(38vw,360px);min-width:220px;height:40px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 10px;background:#fff;color:var(--text-muted)}.search-control input{width:100%;min-width:0;border:0;outline:0;color:var(--text-primary)}.search-control.directory-search{width:100%;min-width:0;height:46px;grid-column:auto;border-color:#dbe5f1;background:#fbfdff}.toolbar-actions select,.filter-control input{height:40px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);padding:0 10px}.filter-control input{width:150px;min-width:0}.filter-control{display:contents}.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;color:var(--text-primary)}.icon-button:hover{border-color:#b8c8da;background:#f4f8fd}.source-strip{min-width:0;min-height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:8px 10px;color:var(--text-muted);background:#f4f8fd}.source-strip svg,.error-state svg{flex:0 0 auto}.fields-strip{min-height:38px;display:flex;align-items:center;gap:10px;border:1px solid #c7d8ed;border-radius:var(--radius-md);padding:8px 10px;background:var(--brand-blue-soft);color:var(--brand-blue-deep)}.fields-strip strong{flex:0 0 auto}.fields-strip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#526f95}.error-state{min-height:44px;display:flex;align-items:center;gap:10px;border:1px solid #f0bcc4;border-radius:var(--radius-md);padding:10px 12px;background:var(--danger-bg);color:var(--danger-text)}.table-wrap{min-width:0;overflow:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md)}.records-table{width:100%;min-width:1120px;border-collapse:collapse}.records-table th,.records-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top}.records-table th{position:sticky;top:0;background:#f3f7fc;color:#36506f;font-size:.78rem;text-transform:uppercase}.records-table td span,.records-table td strong{display:block}.records-table td span{margin-top:3px;color:var(--text-muted)}.employee-photo,.client-logo{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--brand-blue-soft);color:var(--brand-blue-deep);font-weight:800}.employee-photo img,.client-logo img{width:100%;height:100%;display:block;object-fit:cover}.assigned-employees{min-width:220px;display:grid;gap:8px}.assigned-employee{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px}.assigned-employee-photo{width:32px;height:32px;border-radius:var(--radius-sm);font-size:.68rem}.assigned-employee strong,.assigned-employee span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-employees-empty{min-height:32px;display:inline-flex;align-items:center;gap:7px;color:var(--text-muted)}.status-pill{width:fit-content;max-width:160px;min-height:26px;display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;background:var(--brand-blue-soft);color:var(--brand-blue-deep);overflow-wrap:anywhere}.empty-cell{height:120px;text-align:center;color:var(--text-muted)}.table-footer{min-width:0;min-height:42px;display:flex;align-items:center;justify-content:space-between;color:var(--text-muted)}.table-footer-actions-only{justify-content:flex-end}.pager-actions{display:flex;gap:8px}.portal-module-stack{display:grid;gap:18px}.records-table tbody tr{transition:background .15s ease,box-shadow .15s ease}.records-table tbody tr.clickable-row{cursor:pointer}.records-table tbody tr.clickable-row:hover{background:#f8fbff}.records-table tbody tr.is-selected{background:#edf5ff;box-shadow:inset 3px 0 0 var(--brand-orange)}.row-action-button{min-height:34px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 10px;background:#fff;color:var(--text-primary);font-weight:800}.row-action-button:hover{border-color:#b8c8da;background:#f4f8fd}.row-action-button-icon{width:36px;min-width:36px;justify-content:center;gap:0;padding:0;color:var(--brand-blue-deep)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#5b83b71a,#f3f6fbf2),var(--bg-app)}.login-panel{width:min(100%,460px);display:grid;gap:18px;border:1px solid var(--border-soft);border-radius:12px;padding:0;background:var(--bg-surface);box-shadow:0 24px 70px #223f6329;overflow:hidden}.login-brand{display:grid;gap:18px;padding:28px 32px 8px}.login-logo-wrap{display:grid;place-items:center;border-radius:var(--radius-md);padding:18px;background:#5b83b7}.login-title-block{text-align:center}.login-title-block h1,.login-title-block p{margin:0}.login-title-block h1{color:var(--brand-blue-ink);font-size:1.35rem;line-height:1.15}.login-title-block p{margin-top:7px;color:var(--text-muted);font-size:.95rem;font-weight:700}.login-brand p,.portal-client p,.portal-client span{margin:0}.login-brand p,.portal-client span{color:var(--text-muted)}.login-field{display:grid;gap:8px;padding:0 32px;color:var(--brand-blue-ink);font-size:.92rem;font-weight:900}.login-input-wrap{min-width:0;height:46px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;width:100%;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 12px;background:#f7faff;color:#8ba0b8}.login-field input{width:100%;min-width:0;border:0;background:transparent;color:var(--text-primary);outline:0;font-size:.98rem;font-weight:800}.login-field input::placeholder{color:#97a8bd;font-weight:700}.login-input-wrap:focus-within,.search-control:focus-within,.select-control:focus-within,.site-control:focus-within,.page-size-select:focus,.toolbar-actions select:focus,.filter-control input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #5b83b733}.primary-button,.logout-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-md);padding:0 14px;font-weight:800}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong)}.login-panel>.primary-button{min-height:48px;margin:4px 32px 32px;font-size:1rem}.login-panel>.error-state{margin:0 32px}.portal-root{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr;background:var(--bg-app)}.portal-header{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:24px;border-bottom:1px solid rgba(255,255,255,.18);padding:16px 24px;background:#5b83b7}.portal-brand{min-width:0}.portal-right{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:14px}.portal-client{width:min(48vw,510px);min-width:320px;display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:16px}.portal-client-copy{min-width:0;text-align:right}.portal-client-logo{width:112px;height:64px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:var(--radius-md);padding:8px;background:#fffffff0;color:var(--brand-blue-deep);font-weight:900}.portal-client-logo img{width:100%;height:100%;display:block;object-fit:contain}.portal-client p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:900;color:#fff}.portal-client span{display:block;margin-top:3px;color:#ffffffd1;font-size:.92rem;font-weight:800}.logout-button{flex:0 0 auto;border:1px solid rgba(255,255,255,.55);background:#ffffff1f;color:#fff}.logout-button:hover{background:#fff3}.portal-nav{min-height:54px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border-soft);padding:0 24px;background:#f4f8fd}.portal-nav-item{min-height:36px;display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius-md);padding:0 12px;color:var(--text-muted);font-weight:800}.portal-nav-item.is-active{background:var(--brand-blue-soft);color:var(--brand-blue-deep);box-shadow:inset 0 -2px 0 var(--brand-orange)}.portal-content{min-width:0;padding:24px}.contracts-list-panel{min-height:calc(100vh - 190px)}.contract-detail-page{display:grid;gap:18px}.contract-detail-hero{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:18px}.back-button{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 12px;background:#fff;color:var(--brand-blue-ink);font-weight:900}.back-button:hover{border-color:#c5d4e6;background:#f8fbff}.contract-detail-heading h1,.contract-detail-heading p,.positions-master-header h2,.positions-master-header span,.position-detail-header h2,.position-detail-header p,.guards-panel-header h3,.guards-panel-header span{margin:0}.contract-detail-heading{min-width:0;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:14px;text-align:right}.contract-detail-heading .section-kicker{flex:0 0 auto;margin:0;white-space:nowrap}.contract-detail-heading h1{flex:0 0 auto;color:var(--brand-blue-ink);font-size:1.55rem;line-height:1;white-space:nowrap}.contract-detail-heading p{min-width:0;max-width:320px;overflow:hidden;border-left:1px solid #cbd8e8;padding-left:14px;color:var(--text-muted);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.contract-section-tabs{min-width:0;display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--border-soft)}.contract-section-tab{min-width:max-content;min-height:46px;display:inline-flex;align-items:center;gap:8px;border:0;border-bottom:3px solid transparent;padding:0 3px;background:transparent;color:var(--text-muted);font-weight:900}.contract-section-tab:hover{color:var(--brand-blue-ink)}.contract-section-tab.is-active{border-bottom-color:var(--brand-blue-deep);color:var(--brand-blue-deep)}.contract-section-tab small{min-width:24px;border-radius:999px;padding:2px 7px;background:#eaf2fc;color:var(--brand-blue-ink);font-size:.74rem;text-align:center}.account-executives-panel{min-width:0;display:grid;gap:16px}.account-executives-header{min-width:0;display:flex;align-items:center;justify-content:space-between}.account-executives-heading{min-width:0;display:flex;align-items:center;gap:11px}.account-executives-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:var(--radius-md);background:#eaf3ff;color:var(--brand-blue-deep)}.account-executives-heading h2,.account-executives-heading span{margin:0}.account-executives-heading h2{color:var(--brand-blue-ink);font-size:1.08rem;line-height:1.25}.account-executives-heading div>span{display:block;margin-top:3px;color:var(--text-muted);font-size:.82rem;font-weight:800}.account-executive-list{min-width:0;display:grid;gap:10px}.account-executive-row{min-width:0;min-height:100px;display:grid;grid-template-columns:30px 82px minmax(240px,1fr) minmax(190px,.52fr) 104px 48px;align-items:stretch;overflow:hidden;border:1px solid #e2e9f2;border-radius:var(--radius-md);background:#fff;box-shadow:0 3px 12px #26374e0a}.account-executive-row.is-primary{border-color:#9ec3ed;box-shadow:0 5px 18px #3168a31c}.account-executive-photo{width:66px;height:66px;align-self:center;justify-self:center;display:grid;place-items:center;overflow:hidden;border:3px solid #ffffff;border-radius:50%;background:#dfeaf7;box-shadow:0 0 0 1px #d4dfeb;color:var(--brand-blue-ink);font-size:.82rem;font-weight:900}.account-executive-photo img{width:100%;height:100%;object-fit:cover}.account-executive-status{display:flex;align-items:center;justify-content:center;padding:8px 0;background:#4b97e8;color:#fff;font-size:.76rem;font-weight:900;writing-mode:vertical-rl;transform:rotate(180deg)}.account-executive-identity,.account-executive-assignment{min-width:0;align-self:center;padding:16px}.account-executive-identity strong,.account-executive-identity span,.account-executive-assignment span{display:block}.account-executive-identity strong{overflow:hidden;color:#24364c;font-size:1rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.account-executive-identity span{margin-top:5px;color:#8b99aa;font-weight:800}.account-executive-assignment{display:grid;gap:8px;border-left:1px solid #edf1f6}.account-executive-assignment span{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden;color:#53657a;font-size:.85rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.account-executive-assignment svg{flex:0 0 auto;color:#8da7c4}.account-executive-date{position:relative;min-width:0;display:grid;align-content:center;justify-items:center;border-left:1px solid #edf1f6;color:#64768a;text-align:center}.account-executive-date svg{position:absolute;top:9px;right:9px;color:#9bb0c8}.account-executive-date span,.account-executive-date strong,.account-executive-date small{display:block}.account-executive-date span{font-size:.68rem;font-weight:800}.account-executive-date strong{margin-top:1px;color:#4b97e8;font-size:1.45rem;line-height:1}.account-executive-date small{margin-top:4px;color:#53657a;font-size:.68rem;font-weight:850}.account-executive-star{display:grid;place-items:center;color:#4b97e8}.account-executive-star:not(.is-primary){color:#9bb6d4}.account-executives-loading{min-height:180px;display:grid;place-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;color:var(--text-muted);font-weight:800}.contacts-panel{min-width:0;display:grid;gap:16px}.contacts-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px}.contacts-heading{min-width:0;display:flex;align-items:center;gap:11px}.contacts-heading-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:var(--radius-md);background:#eaf3ff;color:var(--brand-blue-deep)}.contacts-heading h2,.contacts-heading span{margin:0}.contacts-heading h2{color:var(--brand-blue-ink);font-size:1.08rem;line-height:1.25}.contacts-heading div>span{display:block;margin-top:3px;color:var(--text-muted);font-size:.82rem;font-weight:800}.contacts-search{width:min(340px,100%);min-width:240px;background:#fff}.contacts-list{min-width:0;display:grid;gap:9px}.contact-row{min-width:0;min-height:92px;display:grid;grid-template-columns:68px minmax(230px,1fr) minmax(260px,.78fr) max-content;align-items:center;gap:14px;border:1px solid #e2e9f2;border-radius:var(--radius-md);padding:11px 16px 11px 12px;background:#fff;box-shadow:0 3px 12px #26374e0a}.contact-row:hover{border-color:#bfd2e8;box-shadow:0 5px 17px #3168a314}.contact-photo{width:58px;height:58px;display:grid;place-items:center;overflow:hidden;border:3px solid #ffffff;border-radius:50%;background:#dfeaf7;box-shadow:0 0 0 1px #d4dfeb;color:var(--brand-blue-ink);font-size:.78rem;font-weight:900}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-identity,.contact-channels{min-width:0;display:grid;gap:6px}.contact-identity strong{overflow:hidden;color:#24364c;font-size:.98rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.contact-identity span,.contact-channels>span,.contact-channels a{min-width:0;display:flex;align-items:center;gap:7px;overflow:hidden;color:#64768a;font-size:.83rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.contact-identity svg,.contact-channels svg{flex:0 0 auto;color:#8da7c4}.contact-channels{border-left:1px solid #edf1f6;padding-left:18px}.contact-channels a:hover{color:var(--brand-blue-deep)}.contact-channels a span{overflow:hidden;text-overflow:ellipsis}.contact-status{align-self:center;border-radius:999px;padding:6px 10px;background:#eaf4ff;color:#3278bc;font-size:.73rem;font-weight:900}.contacts-loading{min-height:180px;display:grid;place-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;color:var(--text-muted);font-weight:800}.signed-contracts-panel{min-width:0;display:grid;gap:16px}.signed-contracts-heading{min-width:0;display:flex;align-items:center;gap:11px}.signed-contracts-heading-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:var(--radius-md);background:#eaf3ff;color:var(--brand-blue-deep)}.signed-contracts-heading h2,.signed-contracts-heading span{margin:0}.signed-contracts-heading h2{color:var(--brand-blue-ink);font-size:1.08rem;line-height:1.25}.signed-contracts-heading div>span{display:block;margin-top:3px;color:var(--text-muted);font-size:.82rem;font-weight:800}.signed-contracts-master-detail{min-width:0;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:18px}.signed-contracts-master,.signed-contract-detail{min-width:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-soft)}.signed-contracts-list{display:grid;align-content:start;max-height:calc(100vh - 380px);min-height:300px;overflow:auto}.signed-contract-item{min-width:0;min-height:104px;display:grid;grid-template-columns:38px minmax(0,1fr) max-content;align-items:center;gap:10px;border:0;border-bottom:1px solid #edf1f6;border-left:3px solid transparent;padding:12px 12px 12px 9px;background:#fff;color:#53657a;text-align:left}.signed-contract-item:last-child{border-bottom:0}.signed-contract-item:hover{background:#f7faff}.signed-contract-item.is-active{border-left-color:var(--brand-blue-deep);background:#eef5fe}.signed-contract-item-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-md);background:#eaf3ff;color:#4f82b8}.signed-contract-item-copy{min-width:0;display:grid;gap:5px}.signed-contract-item-copy strong,.signed-contract-item-copy span,.signed-contract-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signed-contract-item-copy strong{color:#24364c;font-size:.88rem}.signed-contract-item-copy span{display:flex;align-items:center;gap:6px;color:#64768a;font-size:.75rem;font-weight:800}.signed-contract-item-copy svg{flex:0 0 auto;color:#8da7c4}.signed-contract-item-copy small{color:#94a2b3;font-size:.72rem;font-weight:800}.signed-contract-status{min-width:max-content;border-radius:999px;padding:5px 8px;font-size:.69rem;font-weight:900}.signed-contract-status.is-signed-active{background:#e6f6ef;color:#237a5a}.signed-contract-status.is-signed-inactive{background:#eef1f5;color:#6b7889}.signed-contract-status.is-signed-unknown{background:#fff4dd;color:#90630c}.signed-contract-detail{min-height:610px}.signed-contract-detail-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px}.signed-contract-detail-header h3,.signed-contract-detail-header p{margin:0}.signed-contract-detail-header h3{margin-top:4px;color:var(--brand-blue-ink);font-size:1.1rem}.signed-contract-detail-header p{margin-top:5px;color:var(--text-muted);font-size:.82rem;font-weight:800}.signed-contract-detail-actions{display:flex;align-items:center;gap:9px}.signed-contract-open-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;border:1px solid #bed1e7;border-radius:var(--radius-md);padding:0 10px;background:#fff;color:var(--brand-blue-deep);font-size:.8rem;font-weight:900}.signed-contract-open-button:hover{background:#f2f7fd}.signed-contract-observation{margin:0 18px 16px;border-left:3px solid #8ab2dd;padding-left:10px;color:#64768a;font-size:.84rem}.signed-contract-preview{min-width:0;min-height:530px;display:grid;overflow:hidden;border-top:1px solid #e7edf4;background:#f3f6fa}.signed-contract-preview iframe,.signed-contract-preview>img{width:100%;height:530px;border:0;object-fit:contain;background:#fff}.signed-contract-preview-empty{min-height:530px;display:grid;align-content:center;justify-items:center;gap:8px;padding:24px;color:#91a0b2;text-align:center}.signed-contract-preview-empty svg{margin-bottom:4px;color:#8eabc9}.signed-contract-preview-empty strong{color:#4f6074;font-size:.95rem}.signed-contract-preview-empty span{max-width:360px;font-size:.82rem;font-weight:750}.signed-contracts-loading{min-height:280px;display:grid;place-items:center;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;color:var(--text-muted);font-weight:800}.contract-dashboard{min-width:0;display:grid;gap:12px}.dashboard-toolbar{min-width:0;display:flex;justify-content:flex-end}.dashboard-year-picker{height:42px;display:grid;grid-template-columns:40px 76px 40px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;box-shadow:0 3px 12px #26374e0a}.dashboard-year-picker button{display:grid;place-items:center;color:var(--brand-blue-deep)}.dashboard-year-picker button:hover:not(:disabled){background:#edf5ff}.dashboard-year-picker button:disabled{color:#b6c1ce;cursor:default}.dashboard-year-value{display:grid;place-content:center;border-right:1px solid var(--border-soft);border-left:1px solid var(--border-soft);text-align:center}.dashboard-year-value small,.dashboard-year-value strong{display:block}.dashboard-year-value small{color:#8c9bad;font-size:.62rem;font-weight:850;line-height:1}.dashboard-year-value strong{margin-top:3px;color:var(--brand-blue-ink);font-size:1rem;line-height:1}.dashboard-chart-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-chart-card{min-width:0;display:grid;grid-template-rows:auto 280px;gap:14px;border:1px solid #e7ecf2;border-radius:var(--radius-md);padding:16px;background:#fff;box-shadow:0 3px 12px #26374e0a}.dashboard-chart-card-wide{grid-column:1 / -1}.dashboard-monthly-card{grid-template-rows:auto 320px}.dashboard-monthly-canvas{height:320px}.dashboard-chart-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.dashboard-chart-title{min-width:0;display:flex;align-items:center;gap:10px}.dashboard-chart-title h2{min-width:0;margin:0;color:#26364a;font-size:1rem;line-height:1.25}.dashboard-chart-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:var(--radius-md);background:#eef5fe;color:#4f82d8}.dashboard-chart-metric{flex:0 0 auto;text-align:right}.dashboard-chart-metric strong,.dashboard-chart-metric span{display:block}.dashboard-chart-metric strong{color:#26364a;font-size:1.35rem;line-height:1}.dashboard-chart-metric span{margin-top:4px;color:#93a1b3;font-size:.72rem;font-weight:850}.dashboard-chart-canvas{position:relative;min-width:0;width:100%;height:280px}.dashboard-chart-canvas .recharts-text,.dashboard-chart-canvas .recharts-legend-item-text{letter-spacing:0}.dashboard-chart-canvas .recharts-legend-item-text{color:#5e6d80!important;font-size:.78rem;font-weight:800}.dashboard-quantity-visual{min-width:0;min-height:280px;display:grid;place-content:center;justify-items:center;gap:7px;color:#26364a;text-align:center}.dashboard-quantity-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:5px;border-radius:50%;background:#eef5fe;color:#4f82d8}.dashboard-quantity-visual strong{font-size:4rem;line-height:1}.dashboard-quantity-visual>span:last-child{color:#93a1b3;font-size:.84rem;font-weight:850}.dashboard-donut-total{position:absolute;top:45%;left:50%;display:grid;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.dashboard-donut-total strong{color:#26364a;font-size:1.85rem;line-height:1}.dashboard-donut-total span{margin-top:4px;color:#93a1b3;font-size:.74rem;font-weight:850}.dashboard-chart-empty,.dashboard-loading{min-height:280px;display:grid;place-items:center;color:var(--text-muted);font-weight:800;text-align:center}.dashboard-loading{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff}.contract-master-detail{min-width:0;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.positions-master,.position-detail-panel{min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-soft)}.positions-master{display:grid;gap:14px;padding:16px}.positions-master-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.positions-master-header h2{color:var(--brand-blue-ink);font-size:1.15rem}.positions-master-header span,.guards-panel-header span{display:block;margin-top:4px;color:var(--text-muted);font-size:.84rem;font-weight:800}.positions-search{width:100%;min-width:0}.positions-search-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px}.administrative-site-filter,.administrative-site-filter-button{position:relative}.administrative-site-filter-button.is-active{border-color:var(--brand-blue-deep);background:var(--brand-blue-soft);color:var(--brand-blue-deep)}.administrative-site-filter-button.is-active:after{position:absolute;top:5px;right:5px;width:6px;height:6px;border:1px solid #ffffff;border-radius:50%;background:var(--accent);content:""}.administrative-site-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:230px;max-height:280px;display:grid;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:6px;background:#fff;box-shadow:0 16px 34px #1e3e6229}.administrative-site-menu-title{padding:8px 9px 7px;color:#7a8ba0;font-size:.72rem;font-weight:900;text-transform:uppercase}.administrative-site-menu button{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:var(--radius-sm);padding:0 9px;color:#40536a;font-size:.84rem;font-weight:800;text-align:left}.administrative-site-menu button:hover,.administrative-site-menu button.is-selected{background:#edf5ff;color:var(--brand-blue-deep)}.administrative-site-menu button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.administrative-site-menu button svg{flex:0 0 auto}.position-master-list{display:grid;grid-auto-rows:minmax(158px,auto);align-content:start;gap:8px;max-height:calc(100vh - 420px);min-height:240px;overflow:auto;padding-right:2px}.position-master-item{min-width:0;min-height:158px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:0;align-items:stretch;border:1px solid #e8edf3;border-radius:var(--radius-md);padding:0;overflow:hidden;background:#f7f8fa;color:var(--text-primary);text-align:left}.position-master-item:hover{border-color:#cbd8e8;background:#f8fbff}.position-master-item.is-active{border-color:#bdd2ea;background:var(--brand-blue-soft);box-shadow:0 0 0 1px #315f9214}.position-master-copy{min-width:0;display:grid;align-content:start;gap:3px;padding:11px 13px 11px 10px}.position-master-topline{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px;align-items:start}.position-master-location,.position-master-name,.position-master-meta,.position-master-client,.position-master-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-master-location{color:#2f8cec;font-size:.84rem;font-weight:850}.position-master-code{color:#8993a0;font-size:1.12rem;font-weight:850;line-height:1}.position-master-name{color:var(--text-primary);font-size:.94rem;font-weight:900;line-height:1.18}.position-master-meta{color:var(--text-muted);font-size:.82rem;font-weight:750}.position-master-client{display:-webkit-box;overflow:hidden;color:#707b88;font-size:.8rem;font-weight:750;line-height:1.2;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.position-master-address{display:-webkit-box;overflow:hidden;color:#39485a;font-size:.8rem;font-weight:750;line-height:1.25;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.position-master-rate{min-width:0;overflow:hidden;color:var(--text-primary);font-size:.8rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.position-billing-status{min-height:158px;display:grid;place-items:center;padding:7px 4px;color:#fff;font-size:.64rem;font-weight:900;line-height:1;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.position-billing-status.is-billing-active{background:#18855f}.position-billing-status.is-billing-additional{background:#d9860b}.position-billing-status.is-billing-fixed{background:#356a9f}.position-billing-status.is-billing-inactive{background:#b6424b}.position-billing-status.is-billing-unknown{background:#7b8796}.position-detail-panel{display:grid;gap:18px;padding:18px}.position-detail-header{min-width:0;display:flex;align-items:start;justify-content:space-between;gap:16px}.position-detail-header h2{color:var(--brand-blue-ink);font-size:1.45rem}.position-detail-header p{margin-top:5px;color:var(--text-muted);font-weight:800}.position-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.position-detail-grid div{min-width:0;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:12px;background:#fbfdff}.position-detail-grid span,.position-detail-grid strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-detail-grid span{color:#8393a8;font-size:.78rem;font-weight:900}.position-detail-grid strong{margin-top:5px;color:var(--brand-blue-ink)}.position-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border-soft);padding-bottom:10px}.position-tab{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);padding:0 12px;background:transparent;color:var(--text-muted);font-weight:900}.position-tab:hover{background:#f8fbff;color:var(--brand-blue-ink)}.position-tab.is-active{border-color:#bdd2ea;background:var(--brand-blue-soft);color:var(--brand-blue-ink)}.position-tab small{min-width:24px;border-radius:999px;padding:2px 7px;background:#fff;color:var(--brand-blue-ink);font-size:.75rem;font-weight:900;text-align:center}.position-tab-panel{min-width:0}.guards-panel{display:grid;gap:12px}.guards-panel-header h3{color:var(--brand-blue-ink);font-size:1.05rem}.guards-list{display:grid;gap:10px}.guards-master-detail{min-width:0;display:grid;grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:18px;align-items:start}.guards-master{min-width:0;display:grid;gap:12px}.guards-master .guards-list{max-height:640px;overflow-y:auto;padding-right:3px}.guards-detail{min-width:0;min-height:280px;border-left:1px solid var(--border-soft);padding-left:18px}.guards-detail-empty{min-height:280px;display:grid;place-content:center;justify-items:center;gap:7px;padding:24px;color:var(--text-muted);text-align:center}.guards-detail-empty svg{margin-bottom:4px;color:#8ba5c3}.guards-detail-empty strong{color:var(--brand-blue-ink);font-size:1rem}.guards-detail-empty span{max-width:320px;font-size:.86rem;font-weight:750;line-height:1.4}.guard-card{width:100%;min-width:0;min-height:82px;display:grid;grid-template-columns:52px minmax(0,1fr) minmax(180px,.7fr) 20px;align-items:center;gap:14px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:12px;background:#fff;color:var(--text-primary);font:inherit;text-align:left}.guard-card:hover{border-color:#bfd0e5;background:#f8fbff}.guard-card.is-selected{border-color:#a9c5e4;background:var(--brand-blue-soft);box-shadow:inset 3px 0 0 var(--brand-blue-deep)}.guards-master .guard-card{min-height:76px;grid-template-columns:44px minmax(0,1fr) 18px;gap:10px;padding:10px}.guards-master .person-photo{width:44px;height:44px}.guards-master .guard-card-contact{grid-column:2 / 3}.guards-master .guard-card .guard-card-action{grid-column:3;grid-row:1}.guard-card-main,.guard-card-contact{min-width:0;display:grid;gap:5px}.guard-card-main strong,.guard-card-main span,.guard-card-contact span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guard-card-main strong{color:var(--brand-blue-ink);font-weight:900}.guard-card-main span,.guard-card-contact span{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.86rem;font-weight:800}.guard-card svg{flex:0 0 auto;color:#9aadc4}.guard-card .guard-card-action{color:#8ca2bb}.employee-detail-panel{min-width:0;display:grid;gap:16px}.employee-detail-heading{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr) max-content;align-items:center;gap:14px;border-bottom:1px solid var(--border-soft);padding-bottom:16px}.employee-detail-photo{width:64px;height:64px}.employee-detail-heading>div:nth-child(2),.employee-detail-heading h3,.employee-detail-heading p{min-width:0}.employee-detail-heading h3,.employee-detail-heading p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.employee-detail-heading h3{margin-top:3px;color:var(--brand-blue-ink);font-size:1.2rem}.employee-detail-heading p{margin-top:4px;color:var(--text-muted);font-weight:800}.employee-detail-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-soft);padding-bottom:10px}.employee-detail-tab{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);padding:0 12px;background:transparent;color:var(--text-muted);font-weight:900}.employee-detail-tab:hover{background:#f8fbff;color:var(--brand-blue-ink)}.employee-detail-tab.is-active{border-color:#bdd2ea;background:var(--brand-blue-soft);color:var(--brand-blue-ink)}.employee-information-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.employee-information-field{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:2px 10px;border-bottom:1px solid var(--border-soft);padding:13px 2px}.employee-information-icon{width:32px;height:32px;display:grid;grid-row:1 / 3;place-items:center;border-radius:var(--radius-md);background:var(--brand-blue-soft);color:var(--brand-blue-deep)}.employee-information-field>span:not(.employee-information-icon),.employee-information-field strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-information-field>span:not(.employee-information-icon){color:#8393a8;font-size:.75rem;font-weight:900}.employee-information-field strong{color:var(--brand-blue-ink);font-size:.9rem}.employee-schedule-panel{min-width:0;display:grid;gap:14px}.schedule-year-control{width:max-content;display:grid;grid-template-columns:36px 76px 36px;align-items:center;gap:8px}.schedule-year-control .icon-button{width:36px;height:36px}.schedule-year-control strong{color:var(--brand-blue-ink);font-size:1.02rem;text-align:center}.employee-schedule-layout{min-width:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start}.schedule-months{display:grid;gap:7px}.schedule-month-button{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);padding:0 10px;background:#f3f5f8;color:#7c8998;font-weight:850;text-align:left}.schedule-month-button.has-data{color:var(--brand-blue-ink)}.schedule-month-button:hover{border-color:#cbd8e8;background:#f8fbff}.schedule-month-button.is-active{border-color:var(--brand-blue-deep);background:var(--brand-blue-deep);color:#fff}.schedule-month-button.is-empty:not(.is-active){color:#a5afba}.schedule-calendar-region{min-width:0;display:grid;gap:10px}.schedule-period-heading{min-width:0;display:flex;align-items:end;justify-content:space-between;gap:12px}.schedule-period-heading span,.schedule-period-heading strong{display:block}.schedule-period-heading span{color:var(--text-muted);font-size:.78rem;font-weight:850}.schedule-period-heading strong{margin-top:3px;color:var(--brand-blue-ink);font-size:1.02rem}.schedule-period-heading .schedule-loading{color:var(--brand-blue-deep)}.schedule-table-scroll{min-width:0;overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff}.schedule-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.schedule-table th,.schedule-table td{border-right:1px solid #e2e7ee;border-bottom:1px solid #e2e7ee}.schedule-table tr:last-child th,.schedule-table tr:last-child td{border-bottom:0}.schedule-table th:last-child,.schedule-table td:last-child{border-right:0}.schedule-position-column,.schedule-position-cell{position:sticky;left:0;z-index:2;width:190px;min-width:190px;max-width:190px;background:#fff;text-align:left}.schedule-position-column{z-index:3;height:56px;padding:0 12px;color:var(--text-muted);font-size:.76rem;text-transform:uppercase}.schedule-position-cell{height:70px;padding:10px 12px;vertical-align:middle}.schedule-position-cell strong,.schedule-position-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-position-cell strong{color:var(--brand-blue-ink);font-size:.84rem}.schedule-position-cell span{margin-top:4px;color:var(--text-muted);font-size:.75rem;font-weight:750}.schedule-day-heading,.schedule-day-cell{width:48px;min-width:48px;max-width:48px;text-align:center}.schedule-day-heading{height:56px;background:#f8fafc;color:#46586d;font-size:.72rem}.schedule-day-heading span,.schedule-day-heading strong{display:block}.schedule-day-heading strong{margin-top:3px;color:var(--text-primary);font-size:.9rem}.schedule-day-heading.is-sunday,.schedule-day-cell.is-sunday{background:#fff0d8}.schedule-day-cell{height:70px;padding:6px 2px;background:#fff;vertical-align:middle}.schedule-day-cell strong,.schedule-day-cell span{display:block}.schedule-day-cell strong{color:var(--text-primary);font-size:.8rem}.schedule-day-cell span{margin-top:5px;color:#52647a;font-size:.72rem;font-weight:850}.schedule-day-cell.is-off{background:#f2f4f7}.schedule-day-cell.is-leave{background:#eaf4ff}.schedule-day-cell.is-empty{color:#b2bbc5}.schedule-empty-state{min-height:180px;display:grid;place-items:center;border:1px dashed #cdd8e5;border-radius:var(--radius-md);padding:20px;color:var(--text-muted);font-weight:800;text-align:center}.novelties-list{display:grid;gap:10px}.novelty-card{min-width:0;display:grid;gap:10px;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:14px;background:#fff}.novelty-card-header{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;align-items:start}.novelty-card-header div,.novelty-card-header strong,.novelty-card-header span,.novelty-card p,.novelty-meta span{min-width:0}.novelty-card-header strong{display:block;overflow:hidden;color:var(--brand-blue-ink);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.novelty-card-header span{display:block;margin-top:4px;overflow:hidden;color:var(--text-muted);font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.novelty-sequence{border-radius:999px;padding:5px 9px;background:var(--brand-blue-soft);color:var(--brand-blue-ink);font-size:.78rem;font-weight:900}.novelty-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-primary);font-weight:750;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.novelty-meta{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.novelty-meta span{display:inline-flex;align-items:center;gap:6px;overflow:hidden;color:var(--text-muted);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.novelty-meta svg{flex:0 0 auto;color:#9aadc4}@media(max-width:1180px){.directory-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.directory-search{grid-column:1 / -1}.person-row{grid-template-columns:minmax(260px,1fr)}.person-trailing{justify-content:space-between}.position-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-master-detail{grid-template-columns:1fr}.account-executive-row{grid-template-columns:28px 74px minmax(220px,1fr) minmax(165px,.5fr) 96px 44px}.position-master-list{max-height:min(560px,60vh)}.position-detail-grid,.novelty-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:840px){.shell-root{grid-template-columns:1fr}.shell-sidebar{min-height:auto;display:block;padding:14px}.sidebar-account{display:none}.nav-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;margin-top:14px}.shell-header{padding:14px 16px}.content-area{padding:14px}.directory-page{gap:16px}.directory-hero{grid-template-columns:1fr}.directory-stats{grid-template-columns:1fr;margin-top:20px}.directory-panel{padding:14px}.directory-controls{grid-template-columns:1fr}.person-row{grid-template-columns:1fr;gap:12px}.person-trailing{justify-content:space-between}.position-preview-grid{grid-template-columns:1fr}.login-brand{padding:22px 20px 6px}.login-field{padding:0 20px}.login-panel>.primary-button{margin:2px 20px 22px}.login-panel>.error-state{margin:0 20px}.dashboard-chart-grid,.position-detail-grid,.novelty-card-header,.novelty-meta,.guard-card{grid-template-columns:1fr}.contract-section-tabs{gap:18px}.contacts-header{display:grid;grid-template-columns:1fr}.contacts-search{width:100%;min-width:0}.contact-row{grid-template-columns:60px minmax(0,1fr) max-content;grid-template-rows:auto auto;align-items:start;gap:9px 12px;padding:12px}.contact-photo{grid-column:1;grid-row:1 / -1;width:54px;height:54px}.contact-identity{grid-column:2;grid-row:1}.contact-identity strong{white-space:normal}.contact-channels{grid-column:2 / -1;grid-row:2;border-top:1px solid #edf1f6;border-left:0;padding-top:9px;padding-left:0}.contact-status{grid-column:3;grid-row:1}.signed-contracts-master-detail{grid-template-columns:1fr}.signed-contracts-list{max-height:330px;min-height:0}.signed-contract-detail{min-height:520px}.signed-contract-detail-header{display:grid;padding:14px}.signed-contract-detail-actions{justify-content:space-between}.signed-contract-preview,.signed-contract-preview-empty{min-height:430px}.signed-contract-preview iframe,.signed-contract-preview>img{height:430px}.account-executive-row{grid-template-columns:26px 68px minmax(0,1fr) 42px;grid-template-rows:auto auto auto;padding-right:10px}.account-executive-status{grid-column:1;grid-row:1 / -1}.account-executive-photo{grid-column:2;grid-row:1 / -1}.account-executive-identity,.account-executive-assignment,.account-executive-date{grid-column:3}.account-executive-identity{grid-row:1;padding:12px 12px 7px}.account-executive-identity strong{white-space:normal}.account-executive-assignment{grid-row:2;border-left:0;padding:0 12px 7px}.account-executive-date{grid-row:3;display:flex;align-items:center;justify-content:flex-start;gap:5px;border-left:0;padding:0 12px 12px;text-align:left}.account-executive-date svg{position:static}.account-executive-date strong{margin:0 0 0 3px;font-size:.78rem}.account-executive-date small{margin:0;font-size:.72rem}.account-executive-star{grid-column:4;grid-row:1 / -1}.dashboard-chart-card{grid-template-rows:auto 260px;padding:14px}.dashboard-monthly-card{grid-template-rows:auto 280px}.dashboard-chart-canvas{height:260px}.dashboard-monthly-canvas{height:280px}.dashboard-quantity-visual{min-height:260px}.dashboard-chart-title h2{font-size:.94rem}.position-detail-header{display:grid}.guards-master-detail{grid-template-columns:1fr}.guards-master .guards-list{max-height:340px}.guards-detail{min-height:0;border-top:1px solid var(--border-soft);border-left:0;padding-top:18px;padding-left:0}.guard-card{grid-template-columns:52px minmax(0,1fr) 20px}.guard-card-contact{grid-column:2 / 3}.guard-card .guard-card-action{grid-column:3;grid-row:1}.employee-detail-heading{grid-template-columns:56px minmax(0,1fr)}.employee-detail-photo{width:56px;height:56px}.employee-detail-heading>.status-pill{grid-column:2;width:max-content}.employee-information-grid,.employee-schedule-layout{grid-template-columns:1fr}.schedule-months{grid-auto-flow:column;grid-auto-columns:132px;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x proximity}.schedule-month-button{scroll-snap-align:center}.schedule-position-column,.schedule-position-cell{width:160px;min-width:160px;max-width:160px}.directory-count{align-items:flex-start;flex-direction:column}.module-panel{min-height:calc(100vh - 170px);padding:14px}.module-toolbar{grid-template-columns:1fr;align-items:stretch}.toolbar-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 76px 40px}.search-control{width:100%;min-width:0;grid-column:1 / -1}.filter-control input,.toolbar-actions select{width:100%;min-width:0}.fields-strip{align-items:flex-start;flex-direction:column}.fields-strip span{white-space:normal;overflow-wrap:anywhere}.portal-header{grid-template-columns:1fr;align-items:stretch;padding:14px}.portal-brand,.portal-right,.portal-client{justify-self:stretch}.portal-right{display:grid;grid-template-columns:minmax(0,1fr)}.portal-client{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 86px;padding:10px}.portal-client-logo{width:86px;height:54px}.system-logo-portal,.system-logo-sidebar{width:210px}.logout-button{width:100%}.portal-nav,.portal-content{padding-left:14px;padding-right:14px}}@media(max-width:560px){.contract-detail-hero{grid-template-columns:1fr;gap:12px}.contract-detail-heading{width:100%;justify-self:stretch;gap:8px}.contract-detail-heading .section-kicker{font-size:.64rem}.contract-detail-heading h1{font-size:1.2rem}.contract-detail-heading p{flex:1 1 auto;padding-left:8px;font-size:.78rem}}
