@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.app-layout{width:100%;min-height:100vh;background:var(--bg)}.app-layout-wordmark{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;flex-shrink:0}.app-layout-header-mobile{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);min-height:56px}.app-layout-header-left{display:flex;align-items:center;gap:var(--space-2);min-width:0}.app-layout-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.app-layout-back-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:20px;color:var(--ink);text-decoration:none;flex-shrink:0}.app-layout-title-mobile{font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.app-layout-menu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--ink);cursor:pointer;flex-shrink:0}.app-layout-menu-btn:hover{background:var(--surface-alt)}.app-layout-menu-icon{position:relative}.app-layout-menu-icon,.app-layout-menu-icon:before,.app-layout-menu-icon:after{display:block;width:20px;height:2px;border-radius:1px;background:currentColor}.app-layout-menu-icon:before,.app-layout-menu-icon:after{content:"";position:absolute}.app-layout-menu-icon:before{transform:translateY(-6px)}.app-layout-menu-icon:after{transform:translateY(6px)}.app-layout-menu-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--danger);border:2px solid var(--surface)}.app-layout-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#26201973}.app-layout-drawer{position:fixed;top:0;right:0;bottom:0;z-index:31;display:flex;flex-direction:column;width:min(80vw,320px);padding:var(--space-3) var(--space-5) var(--space-5);box-sizing:border-box;background:var(--surface);box-shadow:var(--shadow-pop);overflow-y:auto;animation:app-layout-drawer-in var(--transition-base)}@keyframes app-layout-drawer-in{0%{transform:translate(100%)}}.app-layout-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;margin-bottom:var(--space-5)}.app-layout-drawer-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-right:calc(-1 * var(--space-2));background:transparent;border:none;border-radius:var(--radius-md);color:var(--ink);font-size:18px;cursor:pointer}.app-layout-drawer-close:hover{background:var(--surface-alt)}.app-layout-drawer-nav{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.app-layout-drawer-link{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--text-body-size);font-weight:500;color:var(--ink-soft);text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast)}.app-layout-drawer-link:hover{color:var(--ink);background:var(--surface-alt)}.app-layout-drawer-link.active{color:var(--accent-ink);background:var(--surface-alt)}.app-layout-drawer-logout{margin-top:var(--space-5);background:transparent;border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--ink);font-family:inherit;font-size:var(--text-small-size);font-weight:600;padding:var(--space-2) var(--space-4);min-height:44px;cursor:pointer;transition:background-color var(--transition-fast)}.app-layout-drawer-logout:hover{background:var(--surface-alt)}.app-layout-nav-badge{display:inline-block;background:var(--danger);color:var(--ink-inverse);border-radius:var(--radius-pill);padding:2px 7px;font-size:var(--text-tiny-size);font-weight:600;line-height:1.4}.app-layout-topbar{display:none}.page-container{width:100%;padding:var(--space-5);box-sizing:border-box}.page-container-header{display:none;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.page-container-title{font-family:var(--font-display);font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:600;color:var(--ink)}.page-container-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}@media(min-width:768px){.app-layout-header-mobile,.app-layout-drawer-root{display:none}.app-layout-topbar{display:flex;align-items:center;gap:var(--space-8);height:64px;padding:0 var(--space-8);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.app-layout-nav{display:flex;align-items:center;gap:var(--space-6);flex:1}.app-layout-nav-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-body-size);font-weight:500;color:var(--ink-soft);text-decoration:none;padding:var(--space-3) 0;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.app-layout-nav-link:hover{color:var(--ink)}.app-layout-nav-link.active{color:var(--accent-ink);border-bottom-color:var(--accent)}@media(pointer:coarse){.app-layout-nav-link,.app-layout-logout-btn{min-height:44px}}.app-layout-logout-btn{background:transparent;border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--ink);font-family:inherit;font-size:var(--text-small-size);font-weight:600;padding:var(--space-2) var(--space-4);min-height:40px;cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0}.app-layout-logout-btn:hover{background:var(--surface-alt)}.page-container{padding:var(--space-8)}.page-container-header{display:flex}}.page-container--narrow{max-width:var(--width-narrow);margin:0 auto}.page-container--chat{max-width:var(--width-chat);margin:0 auto}.page-container--wide{max-width:var(--width-wide);margin:0 auto}.page-container--detail{max-width:var(--width-detail);margin:0 auto}.consent-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#faf7f3e6;z-index:10;padding:24px}.consent-lock-card{text-align:center;max-width:320px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-6)}.consent-lock-icon{font-size:2.5rem;margin-bottom:12px}.consent-lock-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:8px;color:var(--ink)}.consent-lock-desc{font-size:.9rem;color:var(--ink-soft);line-height:1.4;margin-bottom:20px}.consent-lock-btn{min-height:44px}.dashboard-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.dashboard-summary-item{display:inline-flex;align-items:baseline;gap:var(--space-2);color:var(--ink-soft);text-decoration:none;border-radius:var(--radius-sm)}a.dashboard-summary-item--action{color:var(--accent-ink)}a.dashboard-summary-item--action:hover .dashboard-summary-text{text-decoration:underline}a.dashboard-summary-item--action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dashboard-summary-count{font-family:var(--font-display);font-size:var(--text-h3-size);line-height:1;font-weight:600;color:var(--accent-ink)}.dashboard-summary-count--muted{color:var(--ink)}.dashboard-summary-text{font-size:var(--text-body-size)}.dashboard-summary-text--calm{color:var(--muted)}.dashboard-summary-divider{color:var(--border-strong)}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-strong);color:var(--ink-inverse);font-size:var(--text-tiny-size);font-weight:700;line-height:1}.request-list{display:flex;flex-direction:column;gap:var(--space-3)}.request-card{position:relative;transition:box-shadow var(--transition-fast)}.request-card:hover{box-shadow:var(--shadow-pop)}.request-card--actionable,.request-card--highlighted{border:1px solid var(--accent)}.request-card-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.request-card-open{padding:0;margin:0;background:none;border:none;font-family:inherit;font-weight:600;font-size:var(--text-body-size);color:var(--ink);text-align:left;cursor:pointer;overflow-wrap:anywhere}.request-card-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg)}.request-card-open:focus-visible{outline:none}.request-card-open:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.request-card-badges{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.request-card-meta{font-size:var(--text-small-size);color:var(--muted);margin-top:var(--space-1)}.request-card-preview{font-size:var(--text-small-size);color:var(--ink-soft);margin:var(--space-2) 0 0}.request-card-timestamp{font-size:var(--text-tiny-size);color:var(--muted);margin:var(--space-2) 0 0}.request-card-actions{position:relative;z-index:1;display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}@media(pointer:coarse){.request-card-actions{gap:var(--space-3)}}.request-card-accepted{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);padding:var(--space-3);background:var(--success-soft);border-radius:var(--radius-sm)}.request-card-accepted-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--success);color:var(--ink-inverse);font-size:var(--text-small-size);font-weight:700;line-height:1;transform-origin:center;animation:accepted-check-pop var(--transition-base) ease-out}@keyframes accepted-check-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.request-card-accepted-check{animation:none}}.request-card-accepted-text{font-size:var(--text-small-size);color:var(--success);font-weight:500}.request-card-accepted-open{margin-left:auto;padding:0;background:none;border:none;font-family:inherit;font-size:var(--text-small-size);font-weight:600;color:var(--accent-ink);cursor:pointer;border-radius:var(--radius-sm)}.request-card-accepted-open:hover{text-decoration:underline}.request-card-accepted-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.request-skeleton .skeleton-line:first-child{width:45%;height:1em}.request-skeleton .skeleton-line:last-child{width:30%;margin-bottom:0}.dashboard-section{margin-bottom:var(--space-8);scroll-margin-top:var(--space-10)}.dashboard-section:last-child{margin-bottom:0}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.dashboard-section-header h2{margin:0}.dashboard-section .loading{min-height:96px}.dashboard-section-count{flex-shrink:0;padding:2px 10px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-tiny-size);font-weight:600}.dashboard-section--muted .dashboard-section-header h2{font-size:var(--text-h3-size);line-height:var(--text-h3-line);color:var(--muted)}.dashboard-section--muted .request-card{box-shadow:none;border:1px solid var(--border)}.dashboard-section--muted .request-card:hover{box-shadow:var(--shadow-card)}.dashboard-section-more{display:inline-block;margin-top:var(--space-4);font-size:var(--text-small-size);font-weight:600;color:var(--accent-ink);text-decoration:none;border-radius:var(--radius-sm)}.dashboard-section-more:hover{text-decoration:underline}.request-section-wrap{position:relative}.request-section-wrap--locked{min-height:220px}.dashboard-greeting{font-family:var(--font-display);font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:600;color:var(--ink);margin-bottom:var(--space-5);overflow-wrap:anywhere;text-wrap:balance}@media(min-width:768px){.dashboard-greeting{font-size:var(--text-h3-size);line-height:var(--text-h3-line);color:var(--ink-soft);margin-top:calc(-1 * var(--space-2))}}.candidate-dashboard{display:grid;grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.candidate-dashboard{grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"requests profile" "portfolio profile" "outbox profile";column-gap:var(--space-6);align-items:start}.candidate-dashboard .dashboard-requests{grid-area:requests}.candidate-dashboard .dashboard-profile{grid-area:profile}.candidate-dashboard .dashboard-portfolio{grid-area:portfolio}.candidate-dashboard>.dashboard-section--muted{grid-area:outbox}}@media(min-width:1200px){.candidate-dashboard{grid-template-columns:minmax(0,1fr) 300px;column-gap:var(--space-10)}}.candidate-dashboard--onboarding{max-width:var(--width-detail)}@media(min-width:768px){.candidate-dashboard--onboarding{grid-template-columns:minmax(0,1fr);grid-template-areas:none}.candidate-dashboard--onboarding .dashboard-requests,.candidate-dashboard--onboarding .dashboard-profile,.candidate-dashboard--onboarding .dashboard-portfolio,.candidate-dashboard--onboarding>.dashboard-section--muted{grid-area:auto}}.profile-status-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.profile-status{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-body-size);font-weight:500;color:var(--ink);margin:0}.profile-status-dot{flex-shrink:0;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--success)}.profile-status--hidden .profile-status-dot{background:var(--warning)}.profile-status-link{font-size:var(--text-small-size);font-weight:600;color:var(--accent-ink);text-decoration:none;border-radius:var(--radius-sm)}.profile-status-link:hover{text-decoration:underline}.profile-nudge{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);width:100%;padding-top:var(--space-3);border-top:1px solid var(--border)}.profile-nudge-text{font-size:var(--text-small-size);line-height:1.5;color:var(--ink-soft);margin:0;text-wrap:pretty}.profile-status-card .btn,.portfolio-empty .btn{width:auto}.profile-status-card .empty-state-heading,.portfolio-empty .empty-state-heading{text-align:left}.profile-status-card .empty-state-body,.portfolio-empty .empty-state-body{text-align:left;margin-bottom:var(--space-1);max-width:60ch}.portfolio-strip{display:flex;gap:var(--space-3);margin:0;padding:0 0 var(--space-2);list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.portfolio-strip>li{flex:0 0 auto;scroll-snap-align:start}.portfolio-tile{display:block;width:132px;aspect-ratio:1;border-radius:var(--radius-md);background:var(--surface-alt);overflow:hidden}.portfolio-tile--photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-base)}.portfolio-tile--photo:hover img{transform:scale(1.04)}@media(prefers-reduced-motion:reduce){.portfolio-tile--photo:hover img{transform:none}}.portfolio-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}@media(min-width:768px){.portfolio-tile{width:156px}}.listing-skeleton .skeleton-line:nth-child(1){width:60%;height:1.1em;margin-bottom:var(--space-3)}.listing-skeleton .skeleton-line:nth-child(2){width:40%}.listing-skeleton-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.listing-skeleton-actions .skeleton{height:40px;width:96px;border-radius:var(--radius-md)}.job-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:768px){.job-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.listing-card-row{display:flex;align-items:center;gap:var(--space-2)}.listing-card-title-row{justify-content:space-between;margin-bottom:var(--space-2)}.listing-card-title{font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:600;color:var(--ink);flex:1}.listing-card-meta{margin-bottom:var(--space-3);gap:var(--space-3)}.listing-meta-city,.listing-meta-skills{font-size:var(--text-small-size);color:var(--muted)}.listing-card-actions{gap:var(--space-2);flex-wrap:wrap}.listing-edit-btn{margin-right:auto}.close-confirmation{margin-top:var(--space-3);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-3)}.close-confirmation-text{font-size:var(--text-small-size);color:var(--ink);margin-bottom:var(--space-3);line-height:1.5}.close-confirmation-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.close-confirm-btn{background:var(--danger);border-color:var(--danger)}.close-confirm-btn:hover:not(:disabled){background:var(--danger);opacity:.85}.consent-subtitle{color:var(--ink-soft);font-size:var(--text-body-size);line-height:1.5;margin-bottom:var(--space-6)}.consent-toggles{display:flex;flex-direction:column;gap:var(--space-4)}.consent-toggle-item{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;min-height:44px;transition:box-shadow var(--transition-fast)}.consent-toggle-item:has(input:checked){box-shadow:var(--shadow-pop)}.consent-toggle-item input[type=checkbox]{min-width:20px;min-height:20px;margin-top:2px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.consent-toggle-label{font-family:var(--font-display);font-weight:600;color:var(--ink);margin-bottom:4px}.consent-toggle-desc{color:var(--ink-soft);font-size:var(--text-small-size);line-height:1.5}.consent-submit-btn{margin-top:var(--space-6);width:100%}.quick-select-step-back{display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--text-small-size);font-weight:600;color:var(--accent);padding:var(--space-2) 0;margin-bottom:var(--space-3)}.quick-select-step-back:hover{color:var(--accent-strong)}.quick-select-cards{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.quick-select-card{padding:var(--space-5);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;background:var(--surface);min-height:72px;font-family:inherit;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;box-sizing:border-box}.quick-select-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-card)}.quick-select-card.selected{border-color:var(--accent);background:var(--accent-soft)}.quick-select-card:disabled{opacity:.6;cursor:not-allowed}.quick-select-card h3{font-size:var(--text-h3-size);color:var(--ink);margin:0 0 var(--space-1)}.quick-select-card.selected h3{color:var(--accent-ink)}.quick-select-card p{font-size:var(--text-small-size);color:var(--muted);margin:0}.quick-select-loading{margin-top:var(--space-3);font-size:var(--text-small-size);color:var(--muted);text-align:center}@media(min-width:768px){.quick-select-cards{grid-template-columns:1fr 1fr}}.chat-bubble-wrapper{display:flex;align-items:flex-end;gap:8px;margin-bottom:8px;max-width:100%}.assistant-wrapper{flex-direction:row}.user-wrapper{flex-direction:row-reverse}.chat-bubble{max-width:80%;padding:12px 16px;border-radius:var(--radius-lg);word-wrap:break-word;font-size:var(--text-body-size);line-height:1.5}.chat-bubble.user{background:var(--ink);color:var(--ink-inverse);border-bottom-right-radius:4px}.chat-bubble.assistant{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);border-bottom-left-radius:4px}.chat-bubble-avatar{font-size:20px;line-height:1;flex-shrink:0;margin-bottom:4px}@media(min-width:768px){.chat-bubble{max-width:70%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.streaming-cursor{display:inline-block;margin-left:2px;animation:blink 1s step-start infinite;font-weight:300;color:var(--muted)}@media(prefers-reduced-motion:reduce){.streaming-cursor{animation:none}}.section-progress{padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.section-progress-label{font-weight:600;font-size:var(--text-body-size);color:var(--ink);margin-bottom:8px}.section-progress-bar{display:flex;gap:4px;height:4px}.section-progress-segment{flex:1;border-radius:var(--radius-sm);background:var(--surface-alt);transition:background var(--transition-base)}.section-progress-segment.active{background:var(--accent)}.app-layout:has(.interview-chat-page){display:flex;flex-direction:column;height:100dvh;overflow:hidden}.app-layout:has(.interview-chat-page) .app-layout-header-mobile,.app-layout:has(.interview-chat-page) .app-layout-topbar{flex-shrink:0}.app-layout:has(.interview-chat-page) .page-container{flex:1;min-height:0;display:flex;overflow:hidden}.interview-chat-page{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;margin:calc(-1 * var(--space-5));background:var(--bg);overflow:hidden}.chat-loading{flex:1;display:flex;align-items:center;justify-content:center;font-size:var(--text-body-size);color:var(--muted)}.chat-messages{flex:1;overflow-y:auto;min-height:0;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;max-width:var(--width-chat);width:100%;margin:0 auto;box-sizing:border-box}.chat-skip-button{width:100%;padding:var(--space-2);margin-bottom:var(--space-2);background:transparent;border:1.5px solid var(--border);color:var(--ink-soft);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-small-size);font-family:inherit;transition:background-color var(--transition-fast),border-color var(--transition-fast);box-sizing:border-box}.chat-skip-button:hover:not(:disabled){background:var(--surface-alt);border-color:var(--border-strong)}.chat-skip-button:disabled{opacity:.5;cursor:not-allowed}.chat-input-row{display:flex;gap:var(--space-2);max-width:100%;box-sizing:border-box}.chat-input{flex:1;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-pill);font-size:16px;font-family:inherit;color:var(--ink);background:var(--surface);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-width:0;box-sizing:border-box}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input:disabled{opacity:.7;background:var(--surface-alt)}@media(min-width:768px){.interview-chat-page{margin:calc(-1 * var(--space-8))}.chat-messages{padding:var(--space-6) var(--space-8)}.chat-bottom-bar{padding:var(--space-4) var(--space-8);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}}.profile-summary-intro{font-size:var(--text-body-size);color:var(--ink-soft);margin-bottom:var(--space-3)}.ai-legend{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-tiny-size);color:var(--muted);padding:var(--space-2) var(--space-3);background:var(--surface-alt);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.profile-card{margin-bottom:var(--space-4)}.profile-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.profile-card-header h3{color:var(--ink)}.edit-btn{flex-shrink:0}.skill-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--accent-soft);border-radius:var(--radius-pill);font-size:var(--text-small-size);color:var(--accent-ink)}.skill-chip .ai-marker{font-size:var(--text-tiny-size)}.skill-chip .level-badge{font-size:var(--text-tiny-size);color:var(--accent-ink);opacity:.75}.station-item{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.station-item:last-child{border-bottom:none}.station-name{font-size:var(--text-body-size);font-weight:600;color:var(--ink)}.station-role{font-size:var(--text-small-size);color:var(--ink-soft)}.station-timeframe{font-size:var(--text-tiny-size);color:var(--muted)}.trait-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.trait-chip{display:inline-block;padding:var(--space-2) var(--space-3);background:var(--surface-alt);border-radius:var(--radius-pill);font-size:var(--text-small-size);color:var(--ink-soft)}.bio-text{font-size:var(--text-body-size);color:var(--ink);line-height:1.5}.placeholder-text-profile{font-size:var(--text-small-size);color:var(--muted);font-style:italic}.profile-actions{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.profile-actions-hint{background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--text-small-size);color:var(--muted);text-align:center;padding:var(--space-2)}.profile-actions-hint:hover{color:var(--ink-soft)}.skills-section-heading{color:var(--ink);margin-bottom:var(--space-3);margin-top:var(--space-5)}.skills-section-heading:first-of-type{margin-top:0}.editable-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.editable-chip-level{font-size:var(--text-tiny-size);color:var(--accent-ink);opacity:.75;margin-left:2px}.skills-empty-hint{font-size:var(--text-small-size);color:var(--muted);font-style:italic}.level-selectors{margin-bottom:var(--space-4)}.level-selector-row{margin-bottom:var(--space-2)}.level-selector-label{font-size:var(--text-small-size);color:var(--muted);margin-bottom:var(--space-1)}.category-chip{padding:var(--space-2) var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-tiny-size);cursor:pointer;background:var(--surface);color:var(--ink-soft);font-family:inherit;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.category-chip:hover{border-color:var(--border-strong)}.category-chip.active{background:var(--accent-strong);color:var(--ink-inverse);border-color:var(--accent-strong)}.skills-search-input{margin-bottom:var(--space-3)}.taxonomy-list{border:1px solid var(--border);border-radius:var(--radius-md);max-height:240px;overflow-y:auto;background:var(--surface)}.taxonomy-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);cursor:pointer;transition:background-color var(--transition-fast)}.add-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-small-size);cursor:pointer;color:var(--accent);font-family:inherit;transition:background-color var(--transition-fast)}.add-btn:hover{background:var(--accent-soft)}.level-selector{display:flex;gap:var(--space-1)}.level-btn{padding:var(--space-1) var(--space-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-tiny-size);cursor:pointer;background:var(--surface);color:var(--ink-soft);font-family:inherit;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.level-btn.active{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}.skills-error{margin-top:var(--space-3)}.skills-save-area{margin-top:var(--space-5)}.empty-taxonomy{padding:var(--space-4);text-align:center;font-size:var(--text-small-size);color:var(--muted)}@media(min-width:768px){.taxonomy-list{max-height:360px}}.stations-editor-content{display:flex;flex-direction:column;gap:var(--space-3)}.station-form-card{display:flex;flex-direction:column}.station-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.remove-station-btn{background:none;border:none;cursor:pointer;color:var(--danger);font-size:var(--text-small-size);padding:var(--space-2) 0 0;font-family:inherit;align-self:flex-start}.remove-station-btn:hover{text-decoration:underline}.stations-actions{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}@media(max-width:480px){.station-form-row{grid-template-columns:1fr}}.values-selector-chips{display:flex;flex-wrap:wrap;gap:8px}.values-chip{min-height:32px;padding:6px var(--space-4);font-size:var(--text-small-size);font-weight:400;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);cursor:pointer;font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.values-chip:hover:not(:disabled){border-color:var(--accent)}.values-chip.active{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--ink-inverse)}.values-chip.suggested{border-style:dashed;border-color:var(--accent)}.values-chip:disabled{opacity:.45;cursor:not-allowed}.values-selector-hint{display:block;margin-top:var(--space-2);font-size:var(--text-small-size);color:var(--muted)}.traits-section{margin-bottom:var(--space-4)}.traits-section h3,.bio-section h3{color:var(--ink);margin-bottom:var(--space-3)}.editable-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.editable-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--accent-soft);border-radius:var(--radius-pill);font-size:var(--text-small-size);color:var(--accent-ink)}.editable-chip .remove-btn{background:none;border:none;cursor:pointer;font-size:var(--text-body-size);color:var(--accent-ink);opacity:.6;padding:0 0 0 var(--space-1);line-height:1}.editable-chip .remove-btn:hover{color:var(--danger);opacity:1}.traits-empty-hint{font-size:var(--text-small-size);color:var(--muted);font-style:italic}.add-trait-row{display:flex;gap:var(--space-2)}.add-trait-row .input-field{flex:1}.add-trait-btn{padding:var(--space-3) var(--space-4);background:var(--surface-alt);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-small-size);cursor:pointer;color:var(--accent);font-family:inherit;white-space:nowrap;transition:background-color var(--transition-fast)}.add-trait-btn:hover{background:var(--border)}.bio-section{margin-bottom:var(--space-4)}.bio-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-body-size);font-family:inherit;color:var(--ink);background:var(--surface);outline:none;resize:vertical;min-height:100px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.bio-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.personality-save-area{margin-top:var(--space-5)}@media(min-width:768px){.bio-textarea{min-height:150px}}.celebration-shell{width:100%;max-width:100%;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6);text-align:center}.celebration-icon-circle{display:flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:var(--radius-pill);background:var(--accent-soft);margin-bottom:var(--space-6)}.celebration-icon{font-size:56px;line-height:1}.celebration-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;font-size:var(--text-h1-size);line-height:var(--text-h1-line);color:var(--ink);margin-bottom:var(--space-2)}.celebration-subtitle{font-size:var(--text-body-size);color:var(--ink-soft);margin-bottom:var(--space-10);line-height:1.5;max-width:360px}.celebration-actions{width:100%;max-width:320px}.visibility-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#26201980;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.visibility-popup{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-6);max-width:400px;width:100%;text-align:center}.visibility-popup h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;font-size:var(--text-h3-size);line-height:var(--text-h3-line);color:var(--ink);margin:0 0 var(--space-3)}.visibility-popup p{font-size:var(--text-small-size);color:var(--ink-soft);line-height:1.5;margin:0 0 var(--space-5)}.visibility-popup-actions{display:flex;flex-direction:column;gap:var(--space-2)}@media(min-width:768px){.celebration-title{font-size:var(--text-h1-size-desktop);line-height:var(--text-h1-line-desktop)}}.onboarding-subtitle{font-size:var(--text-small-size);font-weight:400;color:var(--ink-soft);margin:0 0 var(--space-6);line-height:1.5}.onboarding-card{margin-bottom:var(--space-5)}.onboarding-card h3,.input-group{margin-bottom:var(--space-4)}.input-label{display:block;font-size:var(--text-small-size);font-weight:600;color:var(--ink);margin-bottom:var(--space-2)}.required-marker{color:var(--danger);margin-left:2px}.input-field--error{border-color:var(--danger)}.textarea-field{min-height:80px;resize:vertical;font-family:inherit}.field-error{display:block;font-size:var(--text-tiny-size);font-weight:400;color:var(--danger);margin-top:var(--space-1)}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.form-actions{padding:var(--space-2) 0 var(--space-6)}.job-form-content{padding-bottom:var(--space-2)}.job-form-card{margin-bottom:var(--space-5)}.job-form-card h3,.input-group{margin-bottom:var(--space-4)}.input-group--last{margin-bottom:0}.job-description-textarea{resize:vertical;min-height:100px}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.category-chip{min-height:32px;padding:6px var(--space-4);font-size:var(--text-small-size);font-weight:400;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);cursor:pointer;font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.category-chip:hover{border-color:var(--accent)}.category-chip.active{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--ink-inverse)}.salary-range{display:flex;align-items:center;gap:var(--space-2)}.salary-range .input-field{flex:1}.salary-separator{font-size:var(--text-body-size);color:var(--ink-soft);flex-shrink:0}.location-fields{display:flex;flex-direction:column;gap:var(--space-2)}.selected-skills{margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.selected-skill-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.selected-skill-row .editable-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px var(--space-3);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-small-size);color:var(--ink)}.selected-skill-row .remove-btn{background:none;border:none;cursor:pointer;font-size:var(--text-h3-size);color:var(--ink-soft);padding:0 0 0 var(--space-1);line-height:1}.selected-skill-row .remove-btn:hover{color:var(--danger)}.min-level-selector{display:flex;gap:var(--space-1)}.min-level-btn{min-height:32px;padding:0 var(--space-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-small-size);font-weight:400;cursor:pointer;background:var(--surface);color:var(--ink-soft);font-family:inherit;transition:background var(--transition-fast),color var(--transition-fast)}.min-level-btn.active{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}.skill-search-field{margin-bottom:var(--space-3)}.category-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.taxonomy-list{border:1px solid var(--border);border-radius:var(--radius-md);max-height:240px;overflow-y:auto}.taxonomy-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--surface-alt);cursor:pointer;-webkit-user-select:none;user-select:none}.taxonomy-item:last-child{border-bottom:none}.taxonomy-item:hover{background:var(--surface-alt)}.taxonomy-item-name{font-size:var(--text-body-size);color:var(--ink)}.add-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:4px var(--space-3);font-size:var(--text-small-size);cursor:pointer;color:var(--accent);font-family:inherit}.add-btn:hover{background:var(--surface-alt)}.empty-taxonomy{padding:var(--space-4);text-align:center;color:var(--ink-soft);font-size:var(--text-body-size)}.job-form-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding-bottom:var(--space-6)}.success-message{font-size:var(--text-small-size);color:var(--success);background:var(--success-soft);border:1px solid var(--success);border-radius:var(--radius-sm);padding:10px var(--space-3);margin-top:var(--space-2);margin-bottom:var(--space-4)}@media(min-width:768px){.job-form-actions{flex-direction:row}.job-form-actions .btn{flex:1}.location-fields{flex-direction:row;gap:var(--space-2)}}.candidate-search-page{position:relative}.candidate-search-subtitle{padding:0;margin:-8px 0 var(--space-4)}.candidates-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:768px){.candidates-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.candidates-grid{grid-template-columns:repeat(3,1fr)}}.candidate-card{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast);display:flex;flex-direction:column}.candidate-card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.candidate-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.candidate-name{font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:600;color:var(--ink)}.candidate-city{font-size:var(--text-small-size);color:var(--muted)}.candidate-card-cta{margin-top:auto;width:100%}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.portfolio-tile{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;border-radius:var(--radius-md);border:none;padding:0;overflow:hidden;background:var(--surface-alt);cursor:pointer}.portfolio-tile img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-tile-add{border:1.5px dashed var(--border);background:var(--surface);color:var(--muted)}.portfolio-tile-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.portfolio-tile-add:disabled{cursor:default}.portfolio-tile-plus{font-size:32px;line-height:1}.portfolio-tile-spinner{width:24px;height:24px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:portfolio-spin .8s linear infinite}@keyframes portfolio-spin{to{transform:rotate(360deg)}}.portfolio-file-input{display:none}.portfolio-counter{text-align:center;font-size:var(--text-tiny-size);color:var(--muted);margin-bottom:var(--space-4)}.portfolio-detail-modal{max-width:420px}.portfolio-detail-image{width:100%;max-height:320px;object-fit:contain;border-radius:var(--radius-md);background:var(--surface-alt);margin-bottom:var(--space-4)}.portfolio-detail-categories{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.portfolio-category-chip{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.portfolio-category-chip.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.portfolio-view-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.portfolio-view-tile{position:relative;display:block;aspect-ratio:1 / 1;border-radius:var(--radius-md);border:none;padding:0;overflow:hidden;background:var(--surface-alt);cursor:pointer}.portfolio-view-tile img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-detail-category-label{display:inline-block;margin-bottom:var(--space-2)}.portfolio-detail-caption{font-size:var(--text-small-size);color:var(--ink-soft);margin:0}.my-profile-portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.my-profile-portfolio-thumb{aspect-ratio:1 / 1;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-alt)}.my-profile-portfolio-thumb img{width:100%;height:100%;object-fit:cover;display:block}.candidate-detail-content{padding-bottom:var(--space-8)}.candidate-detail-layout{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.candidate-detail-main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.candidate-detail-card:not(:last-child){margin-bottom:0}@media(min-width:1024px){.candidate-detail-layout{grid-template-columns:1fr 320px;align-items:start}.candidate-detail-side{position:sticky;top:calc(64px + var(--space-6))}}.candidate-score-breakdown{text-align:center}.score-breakdown-total{font-family:var(--font-display);font-size:var(--text-h1-size);font-weight:600;color:var(--accent);margin-bottom:var(--space-3);line-height:1.1}.score-breakdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-bottom:var(--space-4)}.candidate-section-heading{margin-bottom:var(--space-3)}.candidate-skills-list{display:flex;flex-direction:column;gap:var(--space-1)}.candidate-skill-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.candidate-skill-row:last-child{border-bottom:none}.candidate-skill-name{font-size:var(--text-body-size);color:var(--ink)}.candidate-station-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.candidate-station-row:last-child{border-bottom:none}.candidate-station-employer{font-size:var(--text-body-size);font-weight:600;color:var(--ink);display:block}.candidate-station-role{font-size:var(--text-small-size);color:var(--muted)}.candidate-station-years{font-size:var(--text-small-size);color:var(--muted);margin-left:var(--space-2)}.candidate-bio{font-size:var(--text-small-size);font-weight:400;line-height:1.6;color:var(--ink)}.candidate-no-data{font-size:var(--text-small-size);color:var(--ink-soft);font-style:italic}.incomplete-indicator{display:block;margin-bottom:var(--space-2);font-size:var(--text-tiny-size);color:var(--warning)}.contact-btn{margin-top:var(--space-4);width:100%}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#26201980;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.modal-content{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-pop)}.modal-content h3{margin:0 0 var(--space-4)}.modal-summary{background:var(--surface-alt);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4)}.modal-candidate-name{font-weight:600;margin:0 0 var(--space-1);color:var(--ink)}.modal-candidate-skills,.modal-match-score{font-size:var(--text-small-size);color:var(--ink-soft);margin:0 0 2px}.modal-label{display:block;font-weight:500;margin-bottom:var(--space-2);font-size:var(--text-small-size);color:var(--ink)}.modal-textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-small-size);font-family:inherit;resize:vertical;box-sizing:border-box;color:var(--ink);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.modal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-char-count{font-size:var(--text-tiny-size);color:var(--muted);margin-top:var(--space-1);text-align:right}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.modal-actions .btn{flex:1}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);background:var(--success);color:var(--ink-inverse);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-small-size);z-index:200;animation:toast-in .3s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.job-board-page{position:relative}.search-filters{margin-bottom:var(--space-5)}.filter-label{font-size:var(--text-small-size);font-weight:600;color:var(--ink);margin-bottom:var(--space-2);display:block}.radius-slider-presets{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-1)}.radius-preset-btn{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);color:var(--ink);font-size:var(--text-small-size);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.radius-preset-btn:hover{border-color:var(--accent)}.radius-preset-btn.active{background:var(--accent-strong);color:var(--ink-inverse);border-color:var(--accent-strong)}.jobs-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:768px){.jobs-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.jobs-grid{grid-template-columns:repeat(3,1fr)}}.job-card{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast);display:flex;flex-direction:column}.job-card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.match-score-headline{font-size:var(--text-h2-size);font-weight:600;color:var(--accent);font-family:var(--font-display);margin-bottom:var(--space-2)}.match-score-bar-container{height:6px;border-radius:var(--radius-pill);background:var(--surface-alt);margin-bottom:var(--space-3)}.match-score-bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent);transition:width .3s ease}.job-card-title{margin-bottom:var(--space-1)}.job-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.job-card-salon{font-size:var(--text-small-size);font-weight:600;color:var(--ink-soft)}.job-card-city{font-size:var(--text-small-size);color:var(--muted)}.match-subscores{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.match-subscore-item{font-size:var(--text-small-size);color:var(--ink-soft)}.candidate-skill-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.skill-chip-overflow{background:transparent;border:1px dashed var(--border-strong);color:var(--muted)}.search-empty-state{margin:var(--space-6) 0}.load-more-btn{width:100%;margin-top:var(--space-4)}.job-card-cta{margin-top:auto;width:100%}.job-detail-content{padding-bottom:var(--space-8)}.job-detail-layout{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.job-detail-main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.job-detail-side{display:flex;flex-direction:column;gap:var(--space-5)}@media(min-width:1024px){.job-detail-layout{grid-template-columns:1fr 320px;align-items:start}.job-detail-side{position:sticky;top:calc(64px + var(--space-6))}}.job-section-heading{margin-bottom:var(--space-3)}.job-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.job-facts{margin-bottom:var(--space-3)}.job-fact{font-size:var(--text-small-size);color:var(--ink-soft);margin-bottom:var(--space-1)}.job-description{font-size:var(--text-small-size);font-weight:400;line-height:1.6;color:var(--ink);white-space:pre-line}.salon-name{font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:600;color:var(--ink);margin-bottom:var(--space-2)}.job-score-breakdown{text-align:center}.score-breakdown-total{font-family:var(--font-display);font-size:var(--text-h1-size);font-weight:600;color:var(--accent);margin-bottom:var(--space-1);line-height:1.1}.score-breakdown-caption{font-size:var(--text-small-size);color:var(--muted);margin-bottom:var(--space-3)}.score-breakdown-bar-container{height:8px;border-radius:var(--radius-pill);background:var(--surface-alt);margin-bottom:var(--space-4)}.score-breakdown-bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent);transition:width .3s ease}.score-breakdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.score-breakdown-cell{display:flex;flex-direction:column;align-items:center;text-align:center}.score-breakdown-icon{font-size:var(--text-h2-size);margin-bottom:var(--space-1)}.score-breakdown-value{font-size:var(--text-body-size);font-weight:600;color:var(--ink)}.score-breakdown-label{font-size:var(--text-small-size);color:var(--muted)}.job-skills-list{display:flex;flex-direction:column;gap:var(--space-1)}.job-skill-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.job-skill-row:last-child{border-bottom:none}.job-skill-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-pill);font-size:var(--text-tiny-size);font-weight:700;flex-shrink:0}.job-skill-row--matched .job-skill-indicator{background:var(--success-soft);color:var(--success)}.job-skill-row--unmatched .job-skill-indicator{background:var(--surface-alt);color:var(--muted)}.job-skill-name{font-size:var(--text-body-size);color:var(--ink);flex:1}.job-skill-row--unmatched .job-skill-name{color:var(--muted)}.job-skill-level{flex-shrink:0}.search-loading{text-align:center;padding:var(--space-8) 0;font-size:var(--text-body-size);color:var(--ink-soft)}.job-contact-card{display:flex;flex-direction:column;gap:var(--space-3)}.job-contact-hint{font-size:var(--text-small-size);line-height:var(--text-small-line);color:var(--ink-soft);margin:0}.job-contact-form{display:flex;flex-direction:column;gap:var(--space-2)}.job-contact-textarea{width:100%;box-sizing:border-box;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;line-height:1.4;color:var(--ink);background:var(--surface);outline:none;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.job-contact-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.job-contact-counter{font-size:var(--text-tiny-size);color:var(--muted);margin:0}.job-contact-actions{display:flex;gap:var(--space-2)}.job-contact-success{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.job-contact-success-text{font-size:var(--text-small-size);line-height:var(--text-small-line);color:var(--success);margin:0}.inbox-relative-wrap{position:relative}.inbox-list{display:flex;flex-direction:column;gap:var(--space-3)}@media(min-width:768px){.inbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}}.request-detail-relative-wrap{position:relative}.request-detail-section{margin-bottom:var(--space-4)}.request-detail-lead{font-family:var(--font-display);font-size:var(--text-h3-size);line-height:var(--text-h3-line);color:var(--ink);margin:0 0 var(--space-4)}.request-detail-section h3{margin:0 0 var(--space-2);color:var(--ink)}.request-detail-message{background:var(--surface-alt);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-body-size);line-height:1.5;color:var(--ink-soft)}.request-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5);margin-bottom:var(--space-4)}.request-actions .btn{flex:1}.request-share-hint{margin-top:var(--space-5);font-size:.85rem;color:var(--text-secondary)}.contact-info-section{background:var(--success-soft);margin-top:var(--space-5)}.contact-info-section h3,.contact-info-section a{color:var(--success)}.request-skill-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.request-skill-tag{background:var(--accent-soft);color:var(--accent-ink)}.request-detail-info{font-size:var(--text-body-size);color:var(--ink-soft);line-height:1.5}.request-detail-info p{margin:0 0 var(--space-1)}.app-layout:has(.chat-page){display:flex;flex-direction:column;height:100dvh;overflow:hidden}.app-layout:has(.chat-page) .app-layout-header-mobile,.app-layout:has(.chat-page) .app-layout-topbar{flex-shrink:0}.app-layout:has(.chat-page) .page-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.app-layout:has(.chat-page) .page-container-header{flex-shrink:0;margin-bottom:0;padding:var(--space-5) var(--space-5) var(--space-4)}.chat-page{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;background:var(--bg);overflow:hidden}.chat-page-subheader{flex-shrink:0;padding:var(--space-2) var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);color:var(--muted);font-size:var(--text-small-size);line-height:var(--text-small-line);text-align:center}.chat-page-loading,.chat-page-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--text-body-size);text-align:center;padding:var(--space-8) var(--space-4)}.chat-page-messages{flex:1;overflow-y:auto;min-height:0;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;max-width:var(--width-chat);width:100%;margin:0 auto;box-sizing:border-box}.chat-msg-wrapper{display:flex;flex-direction:column;align-items:flex-start;max-width:80%;margin-bottom:var(--space-3)}.chat-msg-wrapper--own{align-self:flex-end;align-items:flex-end}.chat-msg-bubble{padding:12px 16px;border-radius:var(--radius-lg);word-wrap:break-word;white-space:pre-wrap;font-size:var(--text-body-size);line-height:1.5;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);border-bottom-left-radius:4px}.chat-msg-bubble--own{background:var(--ink);color:var(--ink-inverse);box-shadow:none;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:4px}.chat-msg-meta{margin-top:var(--space-1);font-size:var(--text-tiny-size);line-height:var(--text-tiny-line);color:var(--muted);padding:0 var(--space-1)}.chat-msg-read{color:var(--accent)}.chat-offline-banner{background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-small-size);color:var(--warning);flex-shrink:0}.chat-error-banner{display:flex;justify-content:space-between;align-items:center;background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-small-size);color:var(--danger);flex-shrink:0}.chat-error-dismiss{background:none;border:none;color:var(--danger);cursor:pointer;font-size:16px;padding:0 0 0 var(--space-2);line-height:1}.chat-bottom-bar{flex-shrink:0;background:var(--surface);border-top:1px solid var(--border);padding:var(--space-3) var(--space-5);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));box-sizing:border-box}.chat-bottom-bar-inner{max-width:var(--width-chat);width:100%;margin:0 auto}.chat-input-row{display:flex;gap:var(--space-2);align-items:flex-end;max-width:100%;box-sizing:border-box}.chat-page-input{flex:1;padding:var(--space-3) var(--space-4);border:1.5px solid var(--border);border-radius:var(--radius-lg);font-size:16px;font-family:inherit;line-height:1.4;color:var(--ink);background:var(--surface);outline:none;resize:none;max-height:120px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-width:0;box-sizing:border-box}.chat-page-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-page-input:disabled{opacity:.7;background:var(--surface-alt)}.chat-send-button{padding:var(--space-3) var(--space-5);background:var(--accent-strong);color:var(--ink-inverse);border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-body-size);font-family:inherit;font-weight:600;white-space:nowrap;transition:background-color var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.chat-send-button:hover:not(:disabled){background:var(--accent-ink);transform:translateY(-1px)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(min-width:768px){.app-layout:has(.chat-page) .page-container-header{padding:var(--space-8) var(--space-8) var(--space-5)}.chat-page-messages{padding:var(--space-6) var(--space-8)}.chat-page-subheader{padding:var(--space-3) var(--space-8)}.chat-bottom-bar{padding:var(--space-4) var(--space-8);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.chat-msg-wrapper{max-width:70%}}.settings-section{margin-bottom:var(--space-6)}.settings-section-title{color:var(--ink);margin:0 0 var(--space-1)}.settings-section-desc{font-size:var(--text-small-size);color:var(--ink-soft);margin:0 0 var(--space-4);line-height:1.5}.visibility-options{display:flex;flex-direction:column;gap:var(--space-2)}.visibility-option{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.visibility-option--selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.visibility-radio{margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.visibility-option-content{display:flex;flex-direction:column;gap:2px}.visibility-option-label{font-weight:600;font-size:var(--text-body-size);color:var(--ink)}.visibility-option-desc{font-size:var(--text-small-size);color:var(--muted);line-height:1.4}.settings-save-btn{margin-top:var(--space-4);width:auto}.danger-zone{border:1.5px solid var(--danger-soft)}.danger-zone-title{color:var(--danger)}.btn-danger{background:var(--danger);color:var(--ink-inverse);border:none;padding:12px 24px;border-radius:var(--radius-md);font-size:var(--text-small-size);font-weight:600;cursor:pointer;min-height:44px;font-family:var(--font-body);width:auto;transition:opacity var(--transition-fast)}.btn-danger:hover:not(:disabled){opacity:.88}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-box{background:var(--danger-soft);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4)}.delete-confirm-text{margin-bottom:var(--space-3);color:var(--danger);font-size:var(--text-small-size)}.delete-password-input{width:100%;margin-bottom:var(--space-3);box-sizing:border-box}.delete-confirm-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.consent-settings-toggles{display:flex;flex-direction:column;gap:var(--space-3)}.consent-setting-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;min-height:44px;transition:box-shadow var(--transition-fast)}.consent-setting-item:has(input:checked){box-shadow:var(--shadow-pop);border-color:var(--accent)}.consent-setting-item input[type=checkbox]{min-width:20px;min-height:20px;margin-top:2px;accent-color:var(--accent);flex-shrink:0}.consent-setting-label{font-weight:600;display:block;color:var(--ink);margin-bottom:2px}.consent-setting-desc{color:var(--ink-soft);font-size:var(--text-small-size)}.my-profile-empty-hint h3{color:var(--ink);margin-bottom:var(--space-2)}.my-profile-empty-hint p{font-size:var(--text-small-size);color:var(--ink-soft);margin-bottom:var(--space-3)}.my-profile-fields{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.my-profile-field{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.my-profile-field:last-child{border-bottom:none}.my-profile-field dt{font-size:var(--text-small-size);color:var(--muted);flex-shrink:0}.my-profile-field dd{font-size:var(--text-body-size);color:var(--ink);margin:0;text-align:right}.my-profile-form{display:flex;flex-direction:column;gap:var(--space-3)}.my-profile-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-small-size);color:var(--ink-soft);flex:1}.my-profile-form-row{display:flex;gap:var(--space-3)}.my-profile-bio-textarea{resize:vertical;min-height:120px;font-family:inherit}.my-profile-form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}:root{--ink: #262019;--ink-soft: #52483e;--muted: #756859;--ink-inverse: #ffffff;--bg: #faf7f3;--surface: #ffffff;--surface-alt: #f3ede6;--border: #e7dfd6;--border-strong: #d4c8ba;--accent: #b0674b;--accent-strong: #96523a;--accent-soft: #f6e7e0;--accent-ink: #7c4430;--success: #3d7a4e;--success-soft: #e4f1e7;--danger: #b3402f;--danger-soft: #fbeae6;--warning: #9a6b1f;--warning-soft: #f8efd9;--shadow-card: 0 1px 2px rgba(38, 32, 25, .05), 0 4px 16px rgba(38, 32, 25, .06);--shadow-pop: 0 4px 12px rgba(38, 32, 25, .1), 0 12px 32px rgba(38, 32, 25, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-display: "Fraunces Variable", "Fraunces", Georgia, serif;--font-body: "Outfit Variable", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-h1-size: 28px;--text-h1-line: 34px;--text-h2-size: 22px;--text-h2-line: 28px;--text-h3-size: 17px;--text-h3-line: 24px;--text-body-size: 15px;--text-body-line: 22px;--text-small-size: 13px;--text-small-line: 18px;--text-tiny-size: 12px;--text-tiny-line: 16px;--text-h1-size-desktop: 36px;--text-h1-line-desktop: 42px;--width-narrow: 560px;--width-chat: 720px;--width-wide: 1040px;--width-detail: 840px;--breakpoint-desktop: 768px;--breakpoint-large: 1200px;--transition-fast: .15s ease-out;--transition-base: .2s ease-out}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--frame-bg: var(--surface);--primary: var(--ink);--secondary: var(--ink-soft);--light-bg: var(--surface-alt);font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink);background-color:var(--bg)}h1,h2,.splash-title{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}h1{font-size:var(--text-h1-size);line-height:var(--text-h1-line)}h2{font-size:var(--text-h2-size);line-height:var(--text-h2-line)}h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;font-size:var(--text-h3-size);line-height:var(--text-h3-line)}html,body{overflow-x:hidden}input,select,textarea{max-width:100%;box-sizing:border-box}button,.btn,a.btn{min-height:44px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background-color:var(--bg)}#root{width:100%}.app-shell{width:100%;max-width:100%;min-height:100vh;background:var(--surface);display:flex;flex-direction:column;position:relative}.screen-header{display:flex;align-items:center;padding:8px 20px 12px;gap:12px}.screen-header .back-btn{font-size:22px;cursor:pointer;background:none;border:none;color:var(--ink);padding:4px 0;line-height:1;flex-shrink:0;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.screen-header h2{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--ink)}.screen-content{flex:1;padding:0 20px 20px;overflow-y:auto}.container-narrow,.container-chat,.container-wide,.container-detail{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}.container-narrow{max-width:var(--width-narrow)}.container-chat{max-width:var(--width-chat)}.container-wide{max-width:var(--width-wide)}.container-detail{max-width:var(--width-detail)}.input-group{margin-bottom:16px}.input-group label{display:block;font-size:var(--text-small-size);font-weight:500;color:var(--muted);margin-bottom:6px}.input-field{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-body-size);font-family:inherit;color:var(--ink);background:var(--surface);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-field::placeholder{color:var(--muted)}.input-hint{display:block;font-size:var(--text-tiny-size);color:var(--muted);margin-top:4px}.btn{padding:14px;border-radius:var(--radius-md);font-size:var(--text-body-size);font-weight:600;width:100%;border:none;cursor:pointer;font-family:var(--font-body);transition:opacity var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--ink-inverse)}.btn-primary:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-secondary{background:transparent;border:1.5px solid var(--border);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--surface-alt)}.btn-accent{background:var(--accent-strong);color:var(--ink-inverse)}.btn-accent:hover:not(:disabled){background:var(--accent-ink);transform:translateY(-1px)}.btn-small{width:auto;padding:8px 16px;font-size:var(--text-small-size);min-height:40px}@media(pointer:coarse){.btn-small{min-height:44px}}.divider{height:1px;background:var(--border);margin:16px 0}.error-message{font-size:var(--text-small-size);color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px}.auth-link{text-align:center;font-size:var(--text-body-size);color:var(--muted);margin-top:4px}.auth-link a,.auth-link strong{color:var(--ink);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.role-cards{display:flex;flex-direction:column;gap:16px;margin-top:8px}.role-card{border:2px solid var(--border);border-radius:var(--radius-lg);padding:32px 20px;text-align:center;cursor:pointer;background:var(--surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);width:100%}.role-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-2px)}.role-card .role-icon-circle{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-pill);background:var(--accent-soft);margin:0 auto 12px}.role-card .role-icon{font-size:32px;line-height:1}.role-card h3{font-size:18px;color:var(--ink);margin-bottom:6px}.role-card p{font-size:var(--text-small-size);color:var(--muted)}.checkbox-group{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin-bottom:20px}.checkbox-group input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.checkbox-group label{font-size:var(--text-small-size);color:var(--muted);cursor:pointer;line-height:1.4}.splash-shell{width:100%;max-width:100%;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px}.splash-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.splash-icon-circle{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--radius-pill);background:var(--accent-soft);margin-bottom:24px}.splash-icon{font-size:44px;line-height:1}.splash-title{font-size:var(--text-h1-size);font-weight:600;color:var(--ink);margin-bottom:8px}.splash-subtitle{font-size:var(--text-body-size);color:var(--ink-soft);margin-bottom:48px}.splash-actions{display:flex;flex-direction:column;gap:12px;width:100%}.screen-subtitle{font-size:var(--text-body-size);color:var(--ink-soft);padding:0 20px;margin-bottom:20px;margin-top:-4px}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5)}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--surface-alt);color:var(--ink-soft);border-radius:var(--radius-pill);padding:4px 12px;font-size:var(--text-tiny-size);font-weight:500}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--text-tiny-size);font-weight:600}.status-badge--draft{background:var(--surface-alt);color:var(--ink-soft)}.status-badge--pending{background:var(--accent-soft);color:var(--accent-ink)}.status-badge--active,.status-badge--accepted,.status-badge--success{background:var(--success-soft);color:var(--success)}.status-badge--closed,.status-badge--declined,.status-badge--danger{background:var(--danger-soft);color:var(--danger)}.status-badge--warning{background:var(--warning-soft);color:var(--warning)}.empty-state,.empty-state-icon{text-align:center}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--accent-soft);font-size:28px;margin:0 auto 16px}.empty-state-heading{font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:600;color:var(--ink);margin:0 0 8px}.empty-state-body{font-size:var(--text-small-size);font-weight:400;color:var(--ink-soft);margin:0 0 24px;line-height:1.5}.empty-state>.empty-state-body:last-child{margin-bottom:0}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:var(--text-body-size)}.skeleton{background:linear-gradient(100deg,var(--surface-alt) 30%,var(--border) 50%,var(--surface-alt) 70%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line{height:.72em;margin:.35em 0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--surface-alt)}}.section-error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-md)}.section-error-text{font-size:var(--text-small-size);color:var(--ink);line-height:1.5;margin:0}.forgot-password-row{display:flex;justify-content:flex-end;margin-top:-8px;margin-bottom:16px}.forgot-password-link{font-size:var(--text-tiny-size);color:var(--accent);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}@media(min-width:768px){.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8) var(--space-6)}.auth-card-wrap{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);padding:var(--space-10) var(--space-8);box-sizing:border-box}.auth-card-wrap .screen-header,.auth-card-wrap .screen-subtitle,.auth-card-wrap .screen-content{max-width:100%;margin:0;padding:0}.auth-card-wrap .screen-header{margin-bottom:var(--space-4)}.auth-card-wrap .screen-subtitle{margin-bottom:var(--space-5)}}@media(min-width:768px){body{padding:0;align-items:stretch;background:var(--bg)}h1{font-size:var(--text-h1-size-desktop);line-height:var(--text-h1-line-desktop)}.app-shell{max-width:100%;min-height:100vh;border-radius:0;box-shadow:none;background:var(--bg)}.splash-shell{max-width:100%;min-height:100vh;border-radius:0;box-shadow:none;background:var(--bg);padding:0}.celebration-shell{max-width:100%;min-height:100vh;border-radius:0;box-shadow:none;background:var(--bg)}.screen-header{max-width:var(--width-narrow);margin-left:auto;margin-right:auto;width:100%;padding:20px 32px 16px;box-sizing:border-box}.screen-subtitle{max-width:var(--width-narrow);margin-left:auto;margin-right:auto;width:100%;padding:0 32px;box-sizing:border-box}.screen-content{max-width:var(--width-narrow);margin-left:auto;margin-right:auto;width:100%;padding:0 32px 40px;box-sizing:border-box}.splash-content{max-width:440px;margin:0 auto;padding:56px 40px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop)}.role-cards{flex-direction:row;gap:16px}.role-card{flex:1}.btn{font-size:16px}}@media(min-width:1200px){.screen-header,.screen-subtitle,.screen-content{max-width:var(--width-chat)}}
