.tm-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center}.tm-backdrop{position:absolute;inset:0;background:var(--overlay-bg)}.tm-shell{position:relative;z-index:var(--z-raised);background:var(--bg);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-3);width:100%;max-width:460px;max-height:min(88vh,780px);padding:0;display:flex;flex-direction:column;margin:0 16px}.tm-head{display:flex;align-items:flex-start;gap:12px;flex-shrink:0;padding:24px 28px 4px}.tm-body{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0;overflow-y:auto;padding:20px 28px}.tm-head-copy{min-width:0;flex:1;padding-top:1px}.tm-eyebrow{font-size:var(--text-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.tm-title-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tm-title{margin:4px 0 0;font-size:var(--text-lg);font-weight:var(--fw-medium);letter-spacing:-.01em}.tm-remove-photo{font-size:var(--text-xs);color:var(--muted);text-decoration:underline;text-underline-offset:2px;background:none;border:none;padding:0;cursor:pointer;white-space:nowrap}.tm-remove-photo:hover:not(:disabled){color:var(--ink-3)}.tm-remove-photo:disabled{opacity:.6;cursor:default}.tm-close-btn{width:28px;padding:0;flex-shrink:0}.tm-avatar-wrap{position:relative;flex-shrink:0}.tm-avatar-edit{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;padding:0;border-radius:50%;background:var(--brand);color:var(--ink-on-dark);border:0;box-shadow:0 0 0 2px var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer}.tm-avatar-edit:disabled{opacity:.6;cursor:default}.tm-label{font-size:var(--text-sm);color:var(--ink-3);font-weight:var(--fw-medium);display:block;margin-bottom:5px}.tm-role-list{display:flex;flex-direction:column;gap:6px}.tm-role-row{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border-radius:var(--r-md);text-align:left;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.tm-role-row-on{border:1px solid var(--brand-line);background:var(--brand-soft)}.tm-role-row-off{border:1px solid var(--line);background:var(--surface)}.tm-role-row-off:hover{border-color:var(--muted-2)}.tm-role-dot{width:15px;height:15px;border-radius:50%;flex-shrink:0;margin-top:2px;box-sizing:border-box}.tm-role-row-on .tm-role-dot{border:1px solid var(--brand);box-shadow:inset 0 0 0 3px var(--brand);background:var(--surface)}.tm-role-row-off .tm-role-dot{border:1px solid var(--muted-2);background:var(--surface)}.tm-role-copy{min-width:0}.tm-role-row-title{display:block;font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--ink)}.tm-role-row-on .tm-role-row-title{color:var(--brand)}.tm-role-row-desc{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:2px;line-height:1.4}.tm-mode-seg{width:100%;margin-bottom:16px}.tm-mode-btn{flex:1}.tm-eyebrow-co{font-weight:var(--fw-regular);text-transform:none;margin-left:6px;letter-spacing:0}.tm-pw-check-label{position:relative;display:flex;align-items:center;gap:8px;font-size:var(--text-base);cursor:pointer}.tm-pw-reset-input{margin-top:8px}.tm-check-input{position:absolute;opacity:0;width:0;height:0}.tm-check-box{width:16px;height:16px;border-radius:4px;border:1px solid var(--muted-2);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--ink-on-dark);flex-shrink:0;transition:background var(--dur-fast),border-color var(--dur-fast)}.tm-check-box svg{opacity:0}.tm-check-box-on{background:var(--brand);border-color:var(--brand)}.tm-check-box-on svg{opacity:1}.tm-check-input:focus-visible+.tm-check-box{outline:2px solid var(--brand);outline-offset:2px}.tm-jobs-label{font-size:var(--text-sm);color:var(--ink-3);font-weight:var(--fw-medium);margin-bottom:8px}.tm-jobs-label-opt{color:var(--muted);font-weight:var(--fw-regular)}.tm-jobs-empty{font-size:var(--text-base);color:var(--muted)}.tm-error{font-size:var(--text-sm);color:var(--danger);padding:8px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);margin:0 28px;flex-shrink:0}.tm-actions{display:flex;gap:8px;justify-content:flex-end;flex-shrink:0;padding:16px 28px 24px;border-top:1px solid var(--line);margin-top:4px}.tm-method-note{font-size:var(--text-xs);color:var(--muted);margin-top:6px}.tm-effective-permissions{border-top:1px solid var(--line);padding-top:14px}.tm-eff-head{justify-content:space-between;gap:10px}.tm-eff-head,.tm-eff-toggle{display:flex;align-items:center}.tm-eff-toggle{gap:6px}.tm-eff-chev{display:inline-block;font-size:var(--text-2xs);color:var(--muted);transition:transform var(--dur-base) var(--ease-out-quart,ease)}.tm-eff-chev-open{transform:rotate(-180deg)}.tm-eff-fix{color:var(--brand-2)}.tm-effective-permissions-body{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding-right:2px}.tm-effective-grant-card{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;background:var(--surface-2,var(--surface))}.tm-effective-grant-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.tm-effective-grant-role{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--ink-2)}.tm-effective-grant-scope{font-size:var(--text-xs);color:var(--muted)}.tm-effective-grant-card .perm-chip-groups{display:block;-moz-column-count:2;column-count:2;-moz-column-gap:16px;column-gap:16px}.tm-effective-grant-card .perm-chip-group{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:10px}.tm-effective-grant-card .perm-chip-group-title{padding-bottom:4px;border-bottom:1px solid var(--line)}.perm-chip-groups{display:flex;flex-direction:column;gap:10px}.perm-chip-group{display:flex;flex-direction:column;gap:6px}.perm-chip-group-title{font-size:var(--text-2xs);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.perm-chip-row{display:flex;flex-wrap:wrap;gap:6px}.perm-chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-medium);background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-3);white-space:nowrap}.perm-empty,.perm-toggle{font-size:var(--text-sm)}.perm-toggle{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border-radius:var(--r-full);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast);white-space:nowrap}.perm-toggle-on{border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand);animation:permTogglePop .16s ease-out}.perm-toggle-off{border:1px solid var(--line);background:var(--surface);color:var(--ink-3)}.perm-toggle-off:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted-2)}.perm-toggle-on:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-line);filter:brightness(.97)}.perm-toggle:active:not(:disabled){transform:translateY(1px)}.perm-toggle:disabled{cursor:default;opacity:.55}@keyframes permTogglePop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}.tm-staffing-row{display:flex;gap:12px;flex-wrap:wrap}.tm-staffing-field{flex:1 1 190px;min-width:0}.tm-staffing-field .tm-label{min-height:30px}.tm-field-note{font-size:var(--text-xs);margin-top:5px;line-height:1.4}.tm-photo-input{display:none}.tm-photo-err{margin-top:4px;font-size:var(--text-xs)}.tm-repair-report{margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-soft);display:flex;flex-direction:column;gap:4px}.tm-repair-line{font-size:var(--text-xs);line-height:1.5;color:var(--muted)}.tm-repair-fixed{color:var(--ok)}.tm-repair-warn{color:var(--warn)}.upload-layout{padding:0 24px 32px;display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}@media (max-width:900px){.upload-layout{grid-template-columns:1fr;padding:0 16px 32px}}@media (max-width:640px){.upload-layout{padding:0 12px 24px}}.upload-main-col{display:grid;gap:14px}.upload-done-banner{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl)}.upload-done-banner-left{display:flex;align-items:center;gap:10px}.upload-done-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upload-done-msg{font-size:var(--text-md);font-weight:var(--fw-medium)}.upload-done-detail{font-size:var(--text-sm);color:var(--muted)}.upload-step-card-p{padding:22px}.upload-step-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.upload-step-title{font-size:var(--text-lg);font-weight:var(--fw-medium)}.upload-step-eyebrow-mb{margin-bottom:3px}.upload-clear-btn,.upload-manual-btn{font-size:var(--text-sm);color:var(--muted)}.upload-no-jobs{padding:20px;background:var(--bg-soft);border-radius:var(--r-md);font-size:var(--text-base);color:var(--muted);text-align:center;border:1px solid var(--line)}.upload-jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.upload-job-dot-row{display:flex;align-items:center;gap:7px}.upload-job-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--upload-dot-color)}.upload-job-status-lbl{font-size:var(--text-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--upload-dot-color)}.upload-job-check{margin-left:auto;color:var(--ink)}.upload-job-title{font-size:var(--text-base);font-weight:var(--fw-medium);letter-spacing:-.01em;line-height:1.3}.upload-job-desc{font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-dropzone-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:var(--r-md);margin-bottom:12px;background:var(--upload-icon-bg);color:var(--upload-icon-color)}.upload-dropzone-title{font-size:var(--text-lg);font-weight:var(--fw-medium);margin-bottom:4px}.upload-dropzone-sub{font-size:var(--text-sm);color:var(--muted);margin-bottom:14px}.upload-dropzone-pills{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.upload-dropzone-btn-row{margin-top:14px}.upload-list-hdr{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.upload-list-title{font-size:var(--text-md);font-weight:var(--fw-medium)}.upload-list-sub{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.upload-list-clear-btn{font-size:var(--text-sm);color:var(--muted)}.upload-file-cell{display:flex;align-items:center;gap:10px}.upload-file-cell,.upload-file-name-wrap{min-width:0;overflow:hidden}.upload-file-name{font-size:var(--text-base);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{font-size:var(--text-xs);color:var(--muted)}.upload-error-msg{font-size:var(--text-xs);color:var(--danger);margin-top:3px;line-height:1.4}.upload-cand-cell,.upload-job-name-cell{font-size:var(--text-base);color:var(--ink-3)}.upload-job-name-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-cand-link{color:var(--ai);font-weight:var(--fw-medium)}.upload-sidebar{display:grid;gap:12px;position:sticky;top:24px}.upload-sidebar-card{padding:18px}.upload-scoring-eyebrow{margin-bottom:10px}.upload-selected-dot-row{display:flex;align-items:center;gap:7px;margin-bottom:8px}.upload-selected-title{font-size:var(--text-md);font-weight:var(--fw-medium);letter-spacing:-.01em;margin-bottom:6px}.upload-selected-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.5}.upload-view-btn{margin-top:10px;font-size:var(--text-sm)}.upload-no-selection{font-size:var(--text-base);color:var(--muted);line-height:1.5}.upload-howto-card{padding:20px}.upload-howto-eyebrow{margin-bottom:14px}.upload-howto-steps{display:grid;gap:14px}.upload-howto-step{display:flex;gap:12px;align-items:flex-start}.upload-howto-num{font-size:var(--text-sm);font-weight:var(--fw-strong);color:var(--ink-3);flex-shrink:0;padding-top:1px}.upload-howto-num-ai{color:var(--ai)}.upload-howto-step-title{font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--ink);margin-bottom:2px}.upload-howto-step-desc{font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.upload-job-btn{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--r-md);cursor:pointer;text-align:left;transition:border-color var(--dur-fast),background var(--dur-fast);border:1px solid var(--line);background:var(--surface)}.upload-job-btn-active{border-color:var(--ink);background:var(--bg-soft)}.upload-job-btn:not(.upload-job-btn-active):hover{border-color:var(--line-strong)}.wt-pad{padding:20px 28px;min-height:0}.wt-left-pane{display:flex;flex-direction:column;gap:6px}.wt-pane-label{font-size:var(--text-2xs);font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.wt-card{display:block;width:100%;text-align:left;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);cursor:pointer;transition:border-color var(--dur-base),box-shadow var(--dur-base),background var(--dur-base)}.wt-card-on{background:var(--ai-soft);border-color:var(--ai-line);box-shadow:var(--ai-glow)}.wt-card-off{background:var(--surface);border-color:var(--line);box-shadow:none}.wt-card-title{font-size:var(--text-md);font-weight:var(--fw-medium);color:var(--ink);margin-bottom:5px}.wt-card-meta{display:flex;align-items:center;gap:6px}.wt-card-preset{font-size:var(--text-xs);padding:1px 7px;border-radius:var(--r-full)}.wt-card-count{font-size:var(--text-sm);color:var(--ink-3)}.wt-new-btn{display:block;width:100%;padding:11px 14px;border:1px dashed var(--line-strong);border-radius:var(--r-md);cursor:pointer;text-align:center;color:var(--ink-3);font-size:var(--text-base);font-weight:var(--fw-medium);background:transparent;transition:border-color var(--dur-base),color var(--dur-base)}.wt-new-btn:hover{border-color:var(--ai-line);color:var(--ai)}.wt-editor-card{padding:20px 22px}.wt-editor-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:16px}.wt-editor-name-col{flex:1}.wt-editing-label{font-size:var(--text-2xs);font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.wt-name-input{font-size:var(--text-2xl);font-family:var(--font-sans);font-weight:var(--fw-medium);color:var(--ink);background:transparent;border:1px solid transparent;border-radius:var(--r-xs);padding:2px 6px;margin-left:-6px;outline:none;width:100%;transition:border-color var(--dur-base),box-shadow var(--dur-base)}.wt-name-input:hover:not(:focus){border-color:var(--line)}.wt-name-input:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus-ring)}.wt-editor-actions{display:flex;gap:6px;align-items:center;padding-top:28px;flex-shrink:0}.wt-del-btn{color:var(--danger)}.wt-divider,.wt-save-banner{margin-bottom:18px}.wt-save-banner{padding:14px 18px;border-radius:var(--r-md);border:1px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);display:flex;align-items:center;gap:12px}.wt-save-banner-text{flex:1;font-size:var(--text-md)}.wt-save-banner-btn{flex-shrink:0}.wt-criteria-list{display:flex;flex-direction:column;gap:8px}.wt-criteria-list>div:focus-visible{outline:2px solid var(--ai);outline-offset:-2px;border-radius:var(--r-md)}.wt-add-btn{margin-top:12px;width:100%}.wt-empty-card{padding:48px;text-align:center;color:var(--muted);font-size:var(--text-md)}@media (max-width:640px){.wt-editor-card,.wt-pad{padding:16px}.wt-editor-head{flex-direction:column;align-items:stretch;gap:10px}.wt-editor-actions{padding-top:0;flex-wrap:wrap}.wt-name-input{font-size:var(--text-xl)}.wt-empty-card{padding:32px 20px}}.lib-page-wrap{padding:20px 28px 28px}@media (max-width:640px){.lib-page-wrap{padding:16px 16px 24px}}