/* Additive shell. All original panels, selectors and event handlers remain in place. */
:root { --company-header-height:72px; }
body.company-shell { padding-top:var(--company-header-height); }
.company-header { position:fixed;top:0;left:0;right:0;height:var(--company-header-height);z-index:1000;display:flex;align-items:center;gap:30px;padding:0 25px;background:#fff;border-bottom:1px solid #dbe4f1;box-shadow:0 3px 14px #173d8008; }
.company-brand { display:flex;align-items:center;gap:10px;min-width:222px;color:#213551; }
.company-brand-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#2563eb;color:#fff; }
.company-brand-icon svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8; }
.company-brand strong { font-size:16px;white-space:nowrap; }
.company-tabs { height:100%;display:flex;gap:5px;align-items:stretch; }
.company-tab { min-width:128px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 21px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#53647b;font-size:14px;font-weight:700;cursor:pointer; }
.company-tab svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.company-tab:hover { background:#f3f7fe;color:#1d4ed8; }
.company-tab[aria-selected="true"] { background:#f0f5ff;color:#1d4ed8;border-bottom-color:#2563eb; }
.company-caption { margin-left:auto;color:#657894;font-size:12px;white-space:nowrap; }
.company-header button:focus-visible { outline:2px solid #2563eb;outline-offset:-5px; }
.company-navigation-shortcut { border:1px solid #d5e0ef;background:#f3f7fc;color:#365980;border-radius:8px;padding:8px 12px;font-size:12px;white-space:nowrap;cursor:pointer; }
body.company-shell .sidebar,body.company-shell.hr-page-active .sidebar { top:var(--company-header-height);height:calc(100vh - var(--company-header-height)); }
/* HR uses a clipped layout that begins below the fixed company header. Its sticky
   sidebar must be positioned from that layout's top, not offset by the header twice. */
body.company-shell.hr-page-active .layout { height:calc(100vh - var(--company-header-height)); }
body.company-shell.hr-page-active .sidebar { top:0; }
body.company-shell.hr-page-active .main { height:calc(100vh - var(--company-header-height)); }
body.company-shell .sidebar > .brand { display:none; }
.company-side-title { font-weight:750;font-size:15px;padding:1px 10px 13px;color:#24354f; }
body[data-company-workspace="commerce"] [data-company-scope="wecom"],body[data-company-workspace="wecom"] [data-company-scope="commerce"] { display:none!important; }
body[data-company-workspace="wecom"] .sidebar .workspace-store { display:none; }
body.company-interview { overflow:hidden; }
body.company-interview > .layout { visibility:hidden;pointer-events:none; }
body.company-interview > .chat-mask,body.company-interview > .chat-drawer,body.company-interview > dialog { display:none!important; }
.company-interview-host { display:none;position:fixed;inset:var(--company-header-height) 0 0;background:#edf2f9;z-index:900; }
body.company-interview .company-interview-host { display:block; }
.company-interview-placeholder { max-width:550px;margin:100px auto;padding:28px;border:1px solid #dbe4f1;border-radius:14px;background:#fff;text-align:center; }
.company-interview-placeholder h2 { color:#213551; }
.company-interview-placeholder p { line-height:1.7;color:#61738b; }
@media(max-width:900px) { .company-header{gap:12px;padding:0 15px}.company-brand{min-width:190px}.company-tab{min-width:104px;padding:0 12px}.company-caption{display:none} }
@media(max-width:620px) { :root{--company-header-height:108px}.company-header{align-items:flex-start;flex-wrap:wrap;gap:0;padding-top:10px}.company-brand{width:100%;height:35px}.company-tabs{height:63px;width:100%}.company-tab{flex:1;min-width:0;font-size:13px}.company-interview-placeholder{margin:45px 16px}.company-side-title{display:none} }
@media(prefers-reduced-motion:no-preference) { .company-tab{transition:background-color .16s,color .16s} }
/* Departure final-confirmation controls share the existing HR workspace styles. */
.departure-confirm-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:16px 0; }
.departure-confirm-toolbar[hidden] { display:none; }
.departure-confirm-toolbar button, .departure-confirm-progress button { min-height:44px; }
.departure-confirm-toolbar span { color:var(--muted, #687790); }
.departure-row.departure-confirm-row { grid-template-columns:44px 1.3fr .8fr 1fr .8fr .8fr 1.5fr; }
.departure-confirm-row input[type="checkbox"] { width:22px; height:22px; cursor:pointer; }
.departure-confirm-progress { margin-top:24px; }
.departure-confirm-progress [role="status"] { line-height:1.7; }
.departure-confirm-batch { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid #e1e8f3; }
.departure-confirm-job { display:grid; grid-template-columns:minmax(100px, 1fr) minmax(100px, .8fr) minmax(180px, 3fr) auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid #e1e8f3; overflow-wrap:anywhere; }
.departure-confirm-progress details { margin-top:16px; }
.departure-confirm-progress summary { cursor:pointer; padding:10px 0; }
.departure-motion-table { position:relative; overflow-anchor:none; }
.departure-completed-ghost { position:absolute; z-index:2; pointer-events:none; box-sizing:border-box; background:linear-gradient(100deg,#e9f8f0,#f5fbf8); color:#164c38; box-shadow:inset 3px 0 #27976c; transform-origin:left center; }
.departure-success-mark { display:inline-flex; align-items:center; gap:7px; color:#176b4a; font-weight:600; white-space:nowrap; }
.departure-success-mark svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.departure-completion-notice { min-height:24px; margin:0 0 10px; color:#176b4a; font-size:14px; }
.departure-completion-notice[hidden] { display:block; visibility:hidden; }
@media (prefers-reduced-motion:reduce) { .departure-completed-ghost { transform:none; } }
@media (max-width:800px) { .departure-confirm-job { grid-template-columns:1fr 1fr; } .departure-confirm-job span:nth-child(3) { grid-column:1 / -1; } }
