/* TalentFlow HR / Aura integration. Shared tokens are in ui/tokens.css.
   No fixed text heights. Tables alone scroll horizontally. Breakpoints match the guide. */
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font-family:var(--font-ui);font-size:.875rem;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}
h1,h2,h3,p,dl{margin-top:0}h1,h2,h3{font-weight:600;overflow-wrap:anywhere}h1{font-size:2.125rem;line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}h2{font-size:1.125rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:12px}h3{font-size:.9375rem;line-height:1.45;margin-bottom:8px}p{margin-bottom:16px}small{font-size:.75rem}strong,b{font-weight:600}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:500;line-height:1.4;text-align:center;overflow-wrap:anywhere;transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}button:hover,.button:hover{border-color:#b6c5f2;background:var(--primary-soft)}button:active{background:var(--button-primary)}button:disabled{opacity:.55;cursor:not-allowed}button.primary,.button.primary{background:var(--button-primary);border-color:var(--button-primary-active);color:var(--primary-ink);box-shadow:0 2px 6px #4567e812}button.primary:hover,.button.primary:hover{background:var(--button-primary-hover);border-color:var(--button-primary-active)}button.primary:active,.button.primary:active{background:var(--button-primary-active)}button.violet,.button.violet{background:var(--button-violet);border-color:var(--button-violet-active);color:var(--violet-ink);box-shadow:0 2px 6px #7657c812}button.violet:hover,.button.violet:hover{background:var(--button-violet-hover);border-color:var(--button-violet-active)}button.violet:active,.button.violet:active{background:var(--button-violet-active)}.ghost{background:transparent}.danger{color:var(--danger)}a{color:var(--primary);text-decoration:none;overflow-wrap:anywhere}a:hover{text-decoration:underline}a.button:hover{text-decoration:none}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--primary);outline-offset:3px}input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid var(--border);border-radius:9px;background:white;color:var(--text);padding:11px 12px;line-height:1.5}select{white-space:normal;word-break:normal}textarea{resize:vertical;min-height:116px}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.85}label{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:16px;font-size:.8125rem;color:var(--text-secondary);font-weight:500}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--primary)}.tf-icon{width:20px;height:20px;display:block;flex:0 0 auto}span[data-icon]{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.icon-button{width:44px;padding:10px;flex:0 0 44px}.muted,.count-label{color:var(--text-secondary)}.eyebrow{font-size:.6875rem;letter-spacing:.12em;line-height:1.55;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.skip{position:fixed;left:16px;top:-100px;z-index:1000;padding:12px;background:var(--surface);border-radius:8px}.skip:focus{top:12px}
/* Shell */
.app{display:flex;min-height:100vh}.sidebar{width:208px;flex:0 0 208px;padding:24px 12px 16px;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;background:linear-gradient(150deg,#eaf1fc 0%,#f0f3fc 60%,#edf2fc 100%);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:0}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.035em;color:var(--text);font-size:1rem;line-height:1.25;margin:0 4px 24px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:.5rem;font-weight:500;letter-spacing:.08em;line-height:1.6;color:var(--text-secondary);margin-top:5px}.brandmark{display:inline-flex;width:38px;height:38px;border-radius:11px;align-items:center;justify-content:center;background:linear-gradient(140deg,#5cb5ff,#4567e8 75%);box-shadow:inset 0 0 0 1px #ffffff4d,0 4px 10px #4567e81a;color:white;flex:0 0 auto}.brandmark svg{width:28px;height:28px}.space{display:flex;align-items:center;gap:8px;padding:10px 10px;margin-bottom:24px;min-width:0;font-size:.75rem;color:var(--text-secondary)}#tenant-name{overflow-wrap:anywhere}.tenant-dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px;background:var(--primary)}.nav-caption{font-size:.625rem;letter-spacing:.1em;color:var(--text-secondary);margin:0 12px 12px}#nav{display:grid;gap:4px}#nav button{border:0;background:transparent;box-shadow:none;display:flex;justify-content:flex-start;text-align:left;gap:10px;width:100%;font-size:.8125rem;color:var(--text-secondary);padding:11px 12px;min-height:44px}#nav button:hover{background:#e5ebfc}#nav button.active{background:#e1e9ff;color:#304fc2;font-weight:600}.nav-icon{display:flex;flex:0 0 20px}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-bottom a{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 12px;color:var(--text-secondary);font-size:.75rem}.sidebar-bottom a:hover{color:var(--primary);text-decoration:none}.sidebar-note{border:1px solid #ffffff;background:linear-gradient(145deg,#ffffffb3,#e5edfc);border-radius:12px;padding:16px 12px;margin:4px 0 16px}.sidebar-note p{font-size:.8125rem;line-height:1.45;margin:0 0 14px;font-weight:500}.sidebar-note span{font-size:.6875rem;color:var(--text-secondary)}.env-pill{font-size:.625rem;display:flex;gap:6px;align-items:center;margin:16px 12px 0;color:var(--text-secondary)}.env-pill span{width:6px;height:6px;border-radius:50%;background:var(--success)}.surface{flex:1;min-width:0;background:radial-gradient(ellipse at top right,#eceaff99,transparent 50%)}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border);background:#f3f6fdeb}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--text-secondary);min-width:0;flex:1}.breadcrumbs strong{font-weight:500;overflow-wrap:anywhere}.breadcrumbs .tf-icon{width:14px;height:14px}.search-trigger{flex:0 1 300px;justify-content:flex-start;background:#ffffffb3;color:var(--text-secondary);font-size:.75rem;border:1px solid #ffffffd9;white-space:nowrap}.search-trigger kbd{margin-left:auto;font:inherit;font-size:.625rem;color:var(--text-secondary);background:#f1f4fb;padding:2px 4px;border-radius:4px}.topbar-actions{display:flex;align-items:center;gap:12px;min-width:0}.global-request{font-size:.8125rem}.user-menu{display:flex;align-items:center;gap:8px;min-width:0}.user-info{max-width:156px;min-width:0}.user-info strong{display:block;font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}.user-info small{display:block;color:var(--text-secondary);font-size:.6875rem}.user-menu .ghost{font-size:.6875rem;padding:8px;max-width:88px} .avatar{display:inline-flex;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:600;align-items:center;justify-content:center}.compact-search,.mobile-sections,.mobile-nav{display:none}.workspace-columns{display:grid;grid-template-columns:minmax(0,1fr);max-width:1740px;margin:0 auto}.center-column{min-width:0}main{padding:28px 24px 32px;min-width:0;margin:0 auto;max-width:1320px}footer{display:flex;justify-content:space-between;gap:16px;padding:0 24px 24px;font-size:.6875rem;color:var(--text-secondary);flex-wrap:wrap}footer span{min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.page-head>div:first-child{min-width:0;flex:1}.page-head p:not(.eyebrow){font-size:.8125rem;color:var(--text-secondary);margin-bottom:0;max-width:680px}.page-head .actions{justify-content:flex-end;max-width:45%}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.actions:empty{display:none}.context{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid #c9d6fb;background:var(--primary-soft);border-radius:12px;margin-bottom:24px}.context>span{min-width:0;overflow-wrap:anywhere}
/* Home / dashboard: data, not text in images */
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px;align-items:center;margin-bottom:24px}.home-intro h1{max-width:580px}.home-intro p:not(.eyebrow){color:var(--text-secondary);font-size:.875rem;margin:0;max-width:520px}.home-intro .eyebrow{letter-spacing:0;font-size:.8125rem;font-weight:400;color:var(--text-secondary);margin-bottom:12px}.hero-art{height:156px;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(110deg,#e6eafd 20%,transparent 75%),url('/ui/landscape.webp') right center/auto 100% no-repeat,#dce6f8;padding:20px 16px}.hero-art p{font-size:.8125rem!important;max-width:124px;line-height:1.5;color:#324877!important;font-weight:500}.hero-art:after{content:'';display:block;width:20px;height:2px;background:#6c85b2;margin-top:12px}.mobile-home-action{display:none}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.stat{min-width:0;padding:18px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}button.stat{display:block;text-align:left;width:100%;font-weight:400}.stat-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.stat-top .tf-icon{width:18px;height:18px}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;background:var(--primary-soft);color:var(--primary);border-radius:9px}.stat p{font-size:.75rem;line-height:1.5;color:var(--text-secondary);margin:0}.stat strong{display:block;font-weight:600;font-size:1.625rem;letter-spacing:-.035em;line-height:1.25;font-variant-numeric:tabular-nums}.stat small{display:block;color:var(--text-secondary);font-size:.6875rem;margin-top:8px;line-height:1.5}.stat .count-label{font-size:.875rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel.pad{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:1rem;margin:0;min-width:0}.panel-head .text-link{font-size:.75rem}.panel-head small{color:var(--text-secondary)}.text-link{color:var(--primary);border-color:transparent;background:transparent;padding:8px 10px}.text-link:hover{background:var(--primary-soft)}.home-profile{margin-bottom:24px}.profile-body{display:flex;gap:24px;padding:24px 20px;align-items:center}.profile-identity{display:flex;align-items:center;gap:16px;flex:1;min-width:180px}.profile-avatar{width:64px;height:64px;flex-basis:64px;font-size:1.375rem;background:linear-gradient(140deg,#e4ebff,#f0e9ff);color:var(--primary)}.profile-identity>div{min-width:0}.profile-identity h3{font-size:1rem;margin-bottom:4px}.profile-identity p{font-size:.8125rem;color:var(--text-secondary);margin-bottom:8px;overflow-wrap:anywhere}.profile-identity .badge{font-size:.6875rem}.profile-facts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;flex:1.8;min-width:0;border-left:1px solid var(--border);padding-left:24px}.profile-facts dt{font-size:.6875rem;color:var(--text-secondary);margin-bottom:6px}.profile-facts dd{font-size:.8125rem;line-height:1.5;margin:0;overflow-wrap:anywhere}.home-requests{margin-bottom:24px}.home-lower{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}.service-tile{display:flex;text-align:left;align-items:flex-start;justify-content:flex-start;gap:10px;padding:14px;min-height:94px}.service-tile>span:last-child{min-width:0}.service-tile strong{display:block;font-size:.8125rem;margin-bottom:5px}.service-tile small{display:block;font-size:.6875rem;line-height:1.5;font-weight:400;color:var(--text-secondary)}.service-tile .stat-icon{width:30px;height:30px;flex-basis:30px}.balance-card{padding:20px}.balance-numbers{display:flex;align-items:baseline;gap:8px}.balance-numbers strong{font-size:1.875rem;line-height:1.3}.balance-numbers span{font-size:.8125rem;color:var(--text-secondary)}.balance-track{height:12px;background:var(--background);display:flex;border-radius:6px;overflow:hidden;margin:20px 0}.balance-segment{flex-basis:0}.balance-used{background:var(--primary)}.balance-reserved{background:var(--violet)}.balance-available{background:#c3d4ff}.balance-legend{display:grid;gap:10px;font-size:.8125rem}.balance-legend>div{display:flex;align-items:center;gap:8px}.balance-legend strong{margin-left:auto}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px}.help-small{font-size:.6875rem;color:var(--text-secondary);margin:16px 0 0}.adaptation-link{display:flex;align-items:flex-start;text-align:left;justify-content:flex-start;border:0;border-radius:0;background:transparent;width:100%;padding:16px 20px;gap:12px}.adaptation-link>span:last-child{min-width:0}.adaptation-link strong{display:block;font-size:.8125rem}.adaptation-link small{display:block;color:var(--text-secondary);font-weight:400;margin-top:4px}.status-icon{border:1px solid #c4d1ee;border-radius:7px;width:26px;height:26px;flex:0 0 26px;display:flex;align-items:center;justify-content:center;color:var(--primary);background:var(--primary-soft)}.status-icon.done{background:var(--button-primary);border-color:var(--button-primary-active);color:var(--primary-ink)}
/* Existing feature screens */
.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:24px}.grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px;margin-bottom:0}.kv dt{color:var(--text-secondary);font-size:.75rem;margin-bottom:6px}.kv dd{font-size:.875rem;margin:0;overflow-wrap:anywhere}.kv .wide{grid-column:1/-1}.row{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap}.row:last-child{border-bottom:0}.row strong{font-size:.8125rem;overflow-wrap:anywhere}.row small{display:block;color:var(--text-secondary);font-size:.75rem;margin-top:5px;overflow-wrap:anywhere}.row p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.row-main{flex:1;min-width:min(100%,120px);overflow-wrap:anywhere}.person{display:flex;gap:12px;align-items:center;flex:1;min-width:160px;max-width:100%}.person>div{min-width:0}.person strong{font-size:.875rem;overflow-wrap:anywhere}.person small{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:4px;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;font-size:.6875rem;font-weight:500;line-height:1.5;background:#eef1f6;color:var(--text-secondary);white-space:normal;overflow-wrap:anywhere;max-width:100%}.badge.Approved,.badge.Completed,.badge.Published,.badge.DirectorSigned,.badge.green{background:#e6f5ed;color:var(--success)}.badge.Submitted,.badge.AwaitingPlan,.badge.AwaitingDocuments,.badge.orange{background:#fff4db;color:var(--warning)}.badge.Rejected,.badge.red{background:#fcecf0;color:var(--danger)}.badge.blue,.badge.InProgress{background:var(--primary-soft);color:#304fc2}.badge.Planned,.badge.ManagerSigned,.badge.violet{background:var(--violet-soft);color:var(--violet)}.chip{display:inline-flex;border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:.75rem;color:var(--text-secondary)}.notice{padding:14px 16px;background:#f4f6fc;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);font-size:.8125rem;line-height:1.65;margin:20px 0;overflow-wrap:anywhere}.notice.tight{margin:0 0 20px}.dashboard-error{border-color:#e7bcc4;background:#fff7f8;color:var(--text)}.dashboard-error strong{color:var(--danger)}.dashboard-error button{margin-left:8px}tr.task-overdue td{background:#fff4f4}tr.task-overdue td:first-child{background:#fff4f4}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.filter-bar label{margin:0;min-width:180px;flex:0 1 220px}.empty{padding:28px 20px;text-align:center;color:var(--text-secondary);font-size:.875rem;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;max-width:100%;border-radius:0 0 16px 16px;overscroll-behavior-x:contain}table{width:100%;min-width:680px;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left;font-size:.8125rem}th{background:#f1f5fc;padding:12px 16px;font-weight:500;color:var(--text-secondary);font-size:.75rem;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}td{padding:16px;border-bottom:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere}tr:last-child td{border-bottom:none}th:first-child,td:first-child{width:29%;position:sticky;left:0;z-index:1;background:var(--surface)}th:first-child{background:#f1f5fc}tr:hover td{background:#f9faff}td small{display:block;color:var(--text-secondary);margin-top:5px;font-size:.75rem}.link-button{border:0;background:transparent;color:var(--primary);padding:4px 0;min-height:44px;text-align:left;justify-content:flex-start}.toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar label{margin:0;flex:1;min-width:150px}.toolbar>button{align-self:flex-end}.segmented{display:flex;gap:4px;background:#e9eefb;padding:4px;border-radius:10px;max-width:100%;flex-wrap:wrap}.segmented button{border-color:transparent;background:transparent;font-size:.8125rem;padding:8px 14px}.segmented button.selected{background:var(--surface);box-shadow:0 2px 5px #17213d0d;color:var(--primary)}.count-label{font-size:.75rem}.pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--text-secondary);padding:16px 20px;border-top:1px solid var(--border)}.pager button{font-size:.75rem}.items{display:grid;gap:16px;min-width:0}.item-card{padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);min-width:0}.item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.item-top h3{margin:0;min-width:0}.item-card p{font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary)}.item-card .actions{margin-top:16px}.item-card .actions button{font-size:.8125rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:28px 0 16px}.section-title h2{margin:0;font-size:1.125rem}.plain-list{padding-left:20px;margin:0}.plain-list li{margin-bottom:12px}code,.pre{font-family:var(--font-mono);font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f2f5fb;border-radius:8px;padding:12px;max-width:100%}.progress{height:6px;background:#e9eefb;border-radius:6px;overflow:hidden;margin-top:12px}.progress:before{content:'';display:block;width:25%;height:100%;background:var(--primary)}.progress.AwaitingReport:before{width:50%}.progress.ReportSubmitted:before{width:75%}.progress.Completed:before{width:100%}
/* Contextual assistant. Local scenarios; no model or external delivery. */
.context-panel{display:none;min-width:0;padding:20px 16px 24px 0}.assistant-card{border:1px solid var(--border);background:linear-gradient(150deg,#ffffff 0%,#f8f7ff 100%);border-radius:16px;min-width:0;padding:20px 16px}.assistant-title{display:flex;align-items:center;gap:8px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border);color:var(--violet)}.assistant-title strong{font-size:.875rem}.assistant-title .badge{margin-left:auto;font-size:.625rem}.assistant-welcome{margin-bottom:20px}.assistant-sparkle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--violet-soft);color:var(--violet);margin-bottom:16px}.assistant-sparkle .tf-icon{width:28px;height:28px}.assistant-welcome h2{font-size:1rem;margin-bottom:8px}.assistant-welcome p{font-size:.8125rem;color:var(--text-secondary);margin-bottom:0}.assistant-actions{display:grid;gap:10px}.assistant-actions button{justify-content:flex-start;text-align:left;font-size:.8125rem;padding:12px;gap:10px}.assistant-actions .tf-icon{color:var(--violet);width:18px;height:18px}.context-note{border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:20px;background:#fff}.context-note h3{font-size:.8125rem;margin-bottom:12px}.context-note p{font-size:.75rem;color:var(--text-secondary);margin:0 0 12px;overflow-wrap:anywhere}.context-note p:last-child{margin-bottom:0}.assistant-disclaimer{font-size:.6875rem;color:var(--text-secondary);margin:20px 0 0;line-height:1.65}.assistant-page{max-width:720px}.assistant-page .assistant-card{padding:24px}.assistant-page .assistant-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.context-log{display:grid;gap:16px;margin-top:20px}.context-log h3{font-size:.8125rem;margin-bottom:0}.activity-item{display:flex;align-items:flex-start;gap:10px}.activity-item .stat-icon{width:28px;height:28px;flex-basis:28px}.activity-item .tf-icon{width:16px;height:16px}.activity-item>div{min-width:0}.activity-item strong{font-size:.75rem;display:block;overflow-wrap:anywhere}.activity-item small{font-size:.6875rem;display:block;color:var(--text-secondary);margin-top:4px}.section-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section-picker button{justify-content:flex-start;text-align:left;font-size:.8125rem}.search-results{display:grid;gap:8px;margin-top:16px}.search-results button{justify-content:flex-start;text-align:left}.search-results small{display:block;color:var(--text-secondary);font-weight:400}.search-results .tf-icon{color:var(--primary)}.skeleton-panel{height:180px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(100deg,#edf1f8 20%,#f9fbfe 40%,#edf1f8 60%);background-size:200% 100%;animation:shimmer 1.8s linear infinite;margin-bottom:20px}.loading-caption{color:var(--text-secondary);font-size:.875rem}.error-panel{padding:24px;border:1px solid #e7bcc4;border-radius:16px;background:#fff}.error-panel h2{color:var(--danger)}.error-panel p{overflow-wrap:anywhere}
/* Dialogs */
dialog{width:min(680px,calc(100% - 40px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-overlay);overflow:auto}dialog::backdrop{background:#17213d55;backdrop-filter:blur(3px)}#modal-form{padding:24px} .modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.modal-head>div{min-width:0}.modal-head h2{font-size:1.5rem;line-height:1.3;margin:0;overflow-wrap:anywhere}.modal-head .eyebrow{font-size:.625rem;margin-bottom:8px}.modal-head .close{flex:0 0 44px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}#modal-body{overflow-wrap:anywhere;min-width:0}#modal-body>h2{font-variant-numeric:tabular-nums}#modal-body .kv{padding:16px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.error{color:var(--danger);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;margin:16px 0}.error:empty{display:none}.toast{position:fixed;bottom:24px;right:24px;z-index:100;max-width:min(460px,calc(100vw - 40px));padding:16px 20px;background:var(--text);color:#fff;border-radius:12px;box-shadow:var(--shadow-overlay);font-size:.875rem;overflow-wrap:anywhere}
/* Login */
.login-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-story{padding:48px clamp(32px,5vw,80px);background:linear-gradient(150deg,#e4ecff,#f0edff);display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story>.brand{margin-bottom:100px}.login-story h1{font-size:clamp(2.125rem,3.8vw,3.875rem);font-weight:600}.login-story>p{max-width:390px;color:var(--text-secondary);font-size:.9375rem}.login-story small{margin-top:auto;padding-top:80px;color:var(--text-secondary);position:relative}.login-story-art{position:absolute;width:240px;height:240px;right:-40px;bottom:-20px;background:linear-gradient(135deg,#c7d5f4,#b8bdf0);border-radius:40% 60% 25% 55%;transform:rotate(-20deg);opacity:.6}.login-card{width:100%;max-width:490px;margin:auto;padding:48px 32px}.login-card>.brandmark{display:none}.login-card>h1{font-size:1.875rem}.login-card>p.muted{margin-bottom:32px}.login-card form{display:grid;gap:4px}.login-card button.primary{width:100%;margin-top:8px}.login-card .notice{font-size:.75rem;margin-top:24px}
@keyframes shimmer{to{background-position:-200% 0}}
@media(min-width:1400px){.assistant-sidebar-visible .workspace-columns{grid-template-columns:minmax(0,1fr) 288px}.assistant-sidebar-visible .context-panel{display:block}.assistant-sidebar-visible main{padding-right:24px}.home-intro{grid-template-columns:minmax(0,1fr) 192px}}
@media(min-width:1800px){.home-intro{grid-template-columns:minmax(0,1fr) 240px}.hero-art{height:168px}}
@media(max-width:1439px){.topbar{gap:12px}.search-trigger{flex-basis:240px}.breadcrumbs>span:first-child{display:none}.topbar-actions{gap:8px}.user-info{max-width:115px}}
@media(min-width:768px) and (max-width:1199px){.sidebar{width:76px;flex-basis:76px;padding:20px 10px;align-items:center}.brand{margin:0 0 32px}.brand-name,.space,.nav-caption,.sidebar-note,.env-pill{display:none}#nav button{width:52px;justify-content:center;padding:12px}#nav button>span:not(.nav-icon){display:none}.sidebar-bottom a{width:52px;padding:12px;justify-content:center}.sidebar-bottom a>span:not([data-icon]){display:none}.sidebar-bottom{margin-top:auto}.breadcrumbs{display:none}.search-trigger{flex-basis:270px;flex-grow:1}.user-info{display:none}.global-request{font-size:.75rem}.home-intro h1{font-size:1.875rem}.profile-body{flex-wrap:wrap}.profile-facts{padding-left:0;border-left:0;flex-basis:100%;border-top:1px solid var(--border);padding-top:20px}}
@media(min-width:768px) and (max-width:999px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-intro{grid-template-columns:minmax(0,1fr) 168px}.hero-art{height:148px}.grid,.grid.equal{grid-template-columns:1fr}.home-lower{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr}.page-head{flex-wrap:wrap}.page-head .actions{max-width:100%;justify-content:flex-start}.user-menu .ghost{max-width:76px}}
@media(max-width:767px){.sidebar{display:none}.app{display:block}.surface{width:100%}.topbar{min-height:72px;padding:12px 20px;gap:12px;flex-wrap:wrap}.breadcrumbs{display:none}.topbar:before{content:'TalentFlow HR';font-weight:600;letter-spacing:-.025em;font-size:1rem;color:var(--text);flex:1}.topbar-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.search-trigger,.global-request,.notification-button,.user-info{display:none}.mobile-sections,.compact-search{display:inline-flex}.user-menu{gap:0}.user-menu .avatar{display:none}.user-menu .ghost{font-size:0;width:44px;max-width:44px;padding:10px;border:0;background:var(--primary-soft);color:var(--primary)}.user-menu .ghost:after{content:'↗';font-size:1.125rem}.workspace-columns{display:block}main{padding:24px 20px 32px}.center-column{padding-bottom:76px}.page-head{display:block;margin-bottom:24px}.page-head .eyebrow{font-size:.625rem}.page-head h1,h1{font-size:1.75rem;letter-spacing:-.035em}.page-head .actions{margin-top:16px;max-width:100%;justify-content:flex-start}.page-head p:not(.eyebrow){font-size:.875rem}.home-intro{display:block;margin-bottom:20px}.home-intro h1{font-size:1.75rem;margin-bottom:12px}.home-intro .hero-art{margin-top:20px;height:128px;background-size:auto 100%;background-position:right center}.hero-art p{max-width:220px;max-width:min(55%,220px);font-size:.875rem!important}.mobile-home-action{display:flex;margin-top:20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat{padding:16px 12px}.stat strong{font-size:1.5rem}.stat-top{gap:8px;flex-wrap:wrap}.stat small{font-size:.75rem}.stat-top p{font-size:.8125rem}.stat-icon{width:30px;height:30px;flex-basis:30px}.home-profile,.home-requests{margin-bottom:20px}.profile-body{padding:20px;flex-direction:column;align-items:stretch;gap:20px}.profile-identity{min-width:0}.profile-avatar{width:52px;height:52px;flex-basis:52px;font-size:1.125rem}.profile-facts{padding-left:0;border-left:0;border-top:1px solid var(--border);padding-top:20px;grid-template-columns:1fr;gap:16px}.profile-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}.profile-facts dt{font-size:.75rem;margin:0}.profile-facts dd{font-size:.8125rem}.grid,.grid.equal,.home-lower{grid-template-columns:1fr;gap:20px;margin-bottom:20px}.panel-head{padding:16px;gap:10px}.panel-head h2{font-size:1rem}.panel-head .text-link{padding:6px 0}.panel.pad{padding:20px}.service-grid{padding:16px;gap:12px}.service-tile{padding:12px;flex-direction:column}.service-tile strong{font-size:.8125rem}.service-tile small{font-size:.75rem}.kv{grid-template-columns:1fr;padding:20px}.kv .wide{grid-column:auto}.row{padding:16px;gap:12px}.row .actions{width:100%}.row-main{min-width:0;flex-basis:130px}.row .person{flex-basis:100%}.context{align-items:flex-start;flex-wrap:wrap}.item-card{padding:16px}.item-top{flex-direction:column}.section-title{align-items:flex-start}.section-title h2{font-size:1.125rem}.toolbar{align-items:flex-start;gap:12px}.toolbar label{min-width:120px}.toolbar>button{width:100%}.segmented{width:100%}.segmented button{flex:1;padding:8px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid .wide{grid-column:auto}input,select,textarea{font-size:1rem}input[type=file]{font-size:.8125rem}.pager{padding:16px}footer{display:block;padding:0 20px 24px;font-size:.6875rem}footer span{display:block;margin-bottom:8px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 20px max(8px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--border);box-shadow:0 -4px 20px #17213d05;z-index:20}.mobile-nav button{display:flex;flex-direction:column;gap:4px;padding:8px 4px;min-height:58px;border:0;background:transparent;color:var(--text-secondary);font-size:.75rem}.mobile-nav button.active{background:var(--primary-soft);color:var(--primary)}.assistant-page .assistant-actions{grid-template-columns:1fr}.assistant-page .assistant-card{padding:20px}.toast{left:20px;right:20px;bottom:96px;max-width:none}.section-picker{grid-template-columns:1fr}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:16px}#modal-form{padding:20px}.modal-head{gap:12px;margin-bottom:20px}.modal-head h2{font-size:1.25rem}.modal-head .eyebrow{font-size:.5625rem}.modal-actions{gap:8px;flex-wrap:wrap}.modal-actions button{flex:1;min-width:100px;font-size:.875rem}.modal-actions .primary{flex:2}.login-wrap{display:block;min-height:100dvh}.login-story{display:none}.login-card{padding:40px 20px;max-width:480px}.login-card>.brandmark{display:flex;margin-bottom:32px}.login-card h1{font-size:1.75rem}}
@media(max-width:359px){.topbar{padding-inline:20px}.topbar:before{font-size:.875rem}.topbar-actions{gap:4px}.compact-search{display:none}.stat strong{font-size:1.375rem}.service-grid{grid-template-columns:1fr}.service-tile{flex-direction:row;align-items:flex-start}.profile-facts>div{grid-template-columns:1fr;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.sidebar,.topbar,.context-panel,.mobile-nav,.skip,dialog,.toast,.actions,.global-request{display:none!important}.app,.workspace-columns,.surface{display:block}.center-column{padding:0}main{padding:0}.panel,.item-card{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible}table{min-width:0}body{background:white}}

.balance-track{width:100%;display:block}.balance-used{fill:var(--primary)}.balance-reserved{fill:var(--violet)}.balance-available{fill:#c3d4ff}

.user-menu .ghost{display:inline-flex;gap:6px}.user-menu .ghost .tf-icon{display:none}
@media(max-width:767px){.user-menu .ghost:after{content:none}.user-menu .ghost .tf-icon{display:block}.user-menu .ghost .switch-label{display:none}th:first-child,td:first-child{width:154px}.desktop-title-break{display:none}}
.table-hint{display:none;color:var(--text-secondary);font-size:.75rem;margin:0;padding:10px 16px;border-bottom:1px solid var(--border)}
@media(max-width:999px){.table-hint{display:block}}
/* Text-only zoom and exceptionally long names must reflow, not be masked. */
p,dt,dd,.nav-caption{overflow-wrap:anywhere}.topbar{flex-wrap:wrap}.search-trigger{min-width:0;white-space:normal}.search-trigger>span:not([data-icon]){min-width:0}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.hero-art{height:auto;min-height:156px}.hero-art p{overflow-wrap:anywhere}
@media(min-width:1800px){.hero-art{height:auto;min-height:168px}}
@media(min-width:768px) and (max-width:999px){.hero-art{height:auto;min-height:148px}}
@media(max-width:767px){.home-intro .hero-art{height:auto;min-height:128px}}
.stat,.stat strong,small{overflow-wrap:anywhere}
/* Three actual adaptation milestones: plan, report, verification. */
.progress.AwaitingPlan:before{width:0}.progress.AwaitingReport:before{width:33.333%}.progress.ReportSubmitted:before{width:66.667%}.progress.Completed:before{width:100%}

.select-value{display:block;max-width:100%;font-size:.8125rem;color:var(--text-secondary);font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.select-value[hidden]{display:none!important}.title-field{min-height:92px}
.local-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;min-width:0;border:1px solid var(--border);border-radius:10px;padding:12px;margin:16px 0}.local-roles label{flex-direction:row;align-items:center;min-height:44px;margin:0}.local-roles input{flex:0 0 20px}

.assistant-visible .mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.assistant-title .assistant-hide{margin-left:auto;border:0;background:transparent;color:var(--text-secondary)}.preference-check{flex-direction:row;align-items:center;gap:12px;min-height:44px}
