:root{--color-primary:#ff0462;--color-primary-hover:#d90354;--color-primary-soft:#fff0f5;--color-primary-muted:#ff04621f;--color-prios-red:#e4002b;--color-success:#0f9f6e;--color-success-soft:#e8f8f2;--color-warning:#d97706;--color-warning-soft:#fff7ed;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-soft:#fef2f2;--color-info:#2563eb;--color-info-soft:#eff6ff;--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-elevated:#fff;--color-text:#1a1d23;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--main:var(--color-primary);--muted:var(--color-text-muted);--dark:var(--color-text);--bg:var(--color-bg);--card-bg:var(--color-surface);--shadow:#1a1d230f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--shadow-sm:0 1px 2px #1a1d230d;--shadow-md:0 4px 14px #1a1d2314;--shadow-lg:0 12px 32px #1a1d231f;--duration-fast:.15s;--duration-normal:.22s;--duration-slow:.35s;--ease-out:cubic-bezier(.22, 1, .36, 1);--font-family-sans:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", Meiryo, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--font-size-10:10px;--font-size-11:11px;--font-size-12:12px;--font-size-13:13px;--font-size-15:15px;--font-size-18:18px;--font-size-22:22px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;font-family:var(--font-family-sans);line-height:1.55;font-weight:var(--font-weight-regular);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;font-family:var(--font-family-sans)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-width:320px;min-height:100vh;font-family:var(--font-family-sans);font-size:var(--font-size-13);font-weight:var(--font-weight-regular);background:var(--color-bg);margin:0}body,button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}img{max-width:100%;display:block}#root{min-height:100vh;font-family:var(--font-family-sans)}h1,h2,h3,p{margin:0}.page-shell{min-height:100vh}.auth-page{isolation:isolate;min-height:100vh;font-family:var(--font-family-sans);justify-content:center;align-items:center;display:flex;position:relative;overflow-x:hidden}.auth-animated-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-animated-bg__wash{background:radial-gradient(120% 90% at 8% 0,#f1f1f1 0%,#0000 46%),radial-gradient(80% 70% at 55% 42%,#b0b0b0 0%,#0000 58%),linear-gradient(135deg,#f1f1f1 0%,#777 48%,#242424 78%,#161616 100%);position:absolute;inset:0}.auth-animated-bg__diagonal{clip-path:polygon(0 38%,100% 0,100% 100%,0 100%);background:#fff;height:48%;position:absolute;bottom:-4%;left:-8%;right:-8%}.auth-shell{z-index:1;background:0 0;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px 16px 28px;display:flex;position:relative}.auth-frame{background:#d6d6d68c;border:1px solid #ffffff47;border-radius:4px;width:min(650px,100vw - 32px);padding:22px}.auth-card{z-index:2;width:100%;box-shadow:none;background:#fff;border:1px solid #ececec;border-radius:2px;padding:40px 36px 32px;position:relative}.auth-branding{text-align:center;margin-bottom:8px}.auth-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-logo{object-fit:contain;border-radius:0;width:auto;max-width:220px;height:72px;margin:8px auto 28px;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);color:var(--main);margin-bottom:8px}.auth-branding h1{font-size:var(--font-size-22);color:var(--dark);margin-bottom:8px}.auth-branding p{color:var(--muted)}.field-label{font-weight:var(--font-weight-semibold);color:#334155}.auth-page .field-label,.auth-shell .field-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-13);color:#4b4b4b;text-align:left}.auth-form input,.auth-form select,.modal-form input,.modal-form select{color:#0f172a;background:#f8fafc;border:1px solid #dbe5f0;border-radius:12px;width:100%;padding:12px 14px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-page .auth-form,.auth-shell .auth-form{gap:8px;width:100%;max-width:420px;margin:0 auto}.auth-page .auth-form input,.auth-shell .auth-form input{color:#222;background:#fff;border:1px solid #d1d5db;border-radius:4px;height:44px;padding:8px 12px}.auth-page .auth-form input:focus,.auth-shell .auth-form input:focus{outline-offset:1px;border-color:#c2410c;outline:2px solid #c2410c}.password-row{gap:10px;display:flex}.auth-page .password-row,.auth-shell .password-row{display:block;position:relative}.password-row input{flex:1}.auth-page .password-row input,.auth-shell .password-row input{width:100%;padding-right:44px}.auth-eye-button{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-eye-button:hover,.auth-eye-button:focus-visible{color:#374151}.auth-login-button{color:#fff;width:260px;max-width:100%;height:42px;font-size:var(--font-size-15);font-weight:var(--font-weight-bold);cursor:pointer;background:#172a4f;border:none;border-radius:4px;margin:18px auto 8px;display:block}.auth-login-button:hover{background:#122444}.auth-login-button:focus-visible{outline-offset:2px;outline:2px solid #172a4f}.auth-login-button:disabled{opacity:.75;cursor:wait}.primary-button,.secondary-button,.ghost-button,.text-button{border:none;border-radius:999px;padding:10px 16px;transition:transform .18s,box-shadow .18s}.primary-button{background:var(--color-primary);color:#fff;font-weight:var(--font-weight-bold);box-shadow:0 10px 30px #ff046238}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.text-button:hover{transform:translateY(-1px)}.primary-button:hover{background:var(--color-primary-hover)}.secondary-button{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.ghost-button{color:#475569;white-space:nowrap;background:#f8fafc}.text-button{color:var(--main);background:0 0;padding:4px 8px}.primary-button:disabled{opacity:.75;cursor:wait}.form-error{color:#dc2626;font-size:var(--font-size-15)}.auth-footer{flex-direction:column;align-items:center;gap:14px;margin-top:12px;display:flex}.auth-footer a{color:#4b5563;font-weight:var(--font-weight-medium);font-size:var(--font-size-13);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-role-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.auth-role-links__sep{color:#9ca3af}.auth-legal{color:#9ca3af;font-size:var(--font-size-12);text-align:center;margin:20px 0 0}.app-shell{background:#f8fafc;min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#111827 0%,#1f2937 100%);flex-direction:column;gap:20px;width:270px;padding:24px 18px;display:flex}.sidebar-header{padding-bottom:8px}.brand-pill{background:#ffffff14;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.brand-pill strong{font-weight:var(--font-weight-extrabold)}.brand-mark{width:42px;height:42px;font-weight:var(--font-weight-extrabold);background:linear-gradient(135deg,#ff0462 0%,#ff4d83 100%);border-radius:14px;place-items:center;display:grid}.brand-pill p{color:#ffffffa6;font-size:var(--font-size-13)}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.nav-item{color:#fffc;font-weight:var(--font-weight-medium);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;transition:background .2s;display:flex}.nav-item:hover{background:var(--color-primary-muted);color:#fff}.nav-item.active{background:var(--color-primary);color:#fff}.nav-icon{background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.sidebar-footer{color:#ffffffb3;font-size:var(--font-size-13);background:#ffffff0f;border-radius:14px;margin-top:auto;padding:14px}.content-area{flex-direction:column;flex:1;display:flex}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.topbar-left,.topbar-right{align-items:center;gap:12px;display:flex}.topbar-logo{object-fit:contain;border-radius:14px;width:auto;height:46px}.icon-button{color:#334155;background:#f8fafc;border:none;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.user-chip{background:#fff;border:none;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:flex;box-shadow:0 8px 20px #0f172a0f}.avatar{color:#fff;width:32px;height:32px;font-weight:var(--font-weight-bold);background:linear-gradient(135deg,#ff0462 0%,#ff4d83 100%);border-radius:50%;place-items:center;display:grid}.user-menu{position:relative}.dropdown-menu{background:#fff;border-radius:14px;flex-direction:column;min-width:180px;padding:8px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 45px #0f172a1f}.dropdown-menu button{text-align:left;background:0 0;border:none;border-radius:10px;padding:10px 12px}.dropdown-menu button:hover{background:#f8fafc}.main-content{flex-direction:column;flex:1;gap:20px;padding:28px;display:flex}.hero-banner,.panel-card,.summary-card,.placeholder-panel{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 24px 60px #0f172a0f}.hero-banner{background:linear-gradient(135deg,#fff0f6 0%,#eef6ff 100%);padding:28px}.hero-banner h2{font-size:var(--font-size-22);color:#111827;margin:8px 0 10px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.summary-card,.dashboard-card{padding:18px 20px}.summary-card p,.card-label{color:var(--muted);font-size:var(--font-size-15)}.summary-card h3,.dashboard-card h3{font-size:var(--font-size-22);color:var(--dark);margin-top:8px}.dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px}.accent-pink{background:linear-gradient(135deg,#fff2f7 0%,#ffe7ef 100%)}.accent-blue{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.accent-green{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%)}.accent-purple{background:linear-gradient(135deg, var(--color-primary-soft) 0%, #ffe4ee 100%)}.panel-card{padding:22px}.panel-header,.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.table-shell{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:12px 10px}th{color:#64748b;font-size:var(--font-size-13);text-transform:uppercase;letter-spacing:.08em}.status-pill,.match-pill{font-size:var(--font-size-13);font-weight:var(--font-weight-bold);border-radius:999px;padding:6px 10px;display:inline-flex}.status-pill.active,.status-pill.completed{background:var(--color-success-soft);color:#166534}.status-pill.pending,.status-pill.inprogress,.status-pill.partial{background:var(--color-warning-soft);color:#92400e}.status-pill.disabled,.status-pill.failed{background:var(--color-danger-soft);color:var(--color-danger)}.match-pill{color:#be185d;background:#fdf2f8}.action-group{flex-wrap:wrap;gap:6px;display:flex}.modal-overlay{z-index:20;background:#0f172a8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:24px;width:min(100%,460px);padding:24px;box-shadow:0 20px 60px #0f172a2e}.modal-form{flex-direction:column;gap:12px;margin-top:12px;display:flex}.modal-form label{color:#334155;font-weight:var(--font-weight-semibold);flex-direction:column;gap:6px;display:flex}.modal-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.danger{color:#b91c1c;background:#fee2e2}.empty-state{text-align:center;color:#475569;padding:36px 24px}.empty-state h3{color:#0f172a;margin-bottom:8px}.mobile-only,.sidebar-backdrop{display:none}@media (width<=960px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{flex-direction:column}.sidebar{z-index:20;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-103%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:15;background:#0f172a5c;display:block;position:fixed;inset:0}.mobile-only{display:inline-grid}}@media (width<=640px){.main-content{padding:16px}.auth-frame{padding:14px}.auth-card{padding:24px}.topbar{flex-wrap:wrap;gap:12px;padding:16px}.summary-grid{grid-template-columns:1fr}.panel-header,.page-header{flex-direction:column;align-items:flex-start}.password-row{flex-direction:column}.auth-page .auth-login-button,.auth-shell .auth-login-button{width:100%}.auth-page .auth-logo,.auth-shell .auth-logo{height:56px;margin-bottom:20px}}.job-search-page{flex-direction:column;gap:20px;display:flex}.search-panel h3{color:var(--dark);margin:0}.filter-section-heading{margin-bottom:12px}.filter-section-heading h4,.filter-section h4{color:#0f172a;font-size:var(--font-size-15);margin:0 0 8px}.filter-hint{font-size:var(--font-size-12);color:#64748b;font-weight:var(--font-weight-medium);margin-top:4px;display:block}.keyword-rows{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.keyword-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(0,22%) minmax(0,50%) minmax(0,28%) auto;align-items:end;gap:8px;min-width:0;padding:10px 12px;display:grid}.keyword-row>*{min-width:0}.filter-field{flex-direction:column;gap:6px;display:flex}.filter-field-grow{min-width:0}.filter-field input:not([type=checkbox]):not([type=radio]),.filter-field select,.sort-control select,.input-with-suffix input{color:#0f172a;width:100%;font-size:var(--font-size-13);background:#fff;border:1px solid #dbe5f0;border-radius:10px;padding:8px 10px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;display:grid}.filter-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-field-span{grid-column:1/-1}.filter-section{margin-bottom:12px}.filter-field-checkbox{align-items:center;gap:10px;margin-bottom:12px;display:flex}.filter-field-checkbox input[type=checkbox]{width:18px;height:18px}.feature-bar{margin:0 0 14px}.feature-bar.feature-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px}.feature-bar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.feature-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feature-chip-row{flex-wrap:wrap;flex:280px;gap:8px;min-width:0;display:flex}.feature-chip{color:#172a4f;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);cursor:pointer;background:#fff;border:1px solid #cfd6e2;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;line-height:1.2;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.feature-chip:hover{background:#f8fafc;border-color:#94a3b8}.feature-chip.is-selected{color:#172a4f;box-shadow:none;background:#eef2f8;border-color:#172a4f}.favorites-toggle{color:#172a4f;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cfd6e2;border-radius:4px;flex:none;align-self:center;align-items:center;gap:8px;padding:6px 10px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.favorites-toggle:hover{background:#f8fafc;border-color:#94a3b8}.favorites-toggle.is-on{color:#172a4f;background:#eef2f8;border-color:#172a4f}.favorites-toggle-text{white-space:nowrap}.favorites-toggle-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.favorites-toggle-input:focus-visible+.favorites-toggle-switch{outline-offset:2px;outline:2px solid #f472b673}.favorites-toggle-switch{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:42px;height:22px;transition:background .15s;position:relative}.favorites-toggle.is-on .favorites-toggle-switch{background:var(--color-primary,#ec4899)}.favorites-toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0f172a2e}.favorites-toggle.is-on .favorites-toggle-knob{transform:translate(20px)}.favorites-toggle-state{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.04em;color:#64748b;text-align:center;min-width:1.6rem}.favorites-toggle.is-on .favorites-toggle-state{color:#9d174d}@media (width<=767px){.feature-toolbar-row{flex-direction:column;align-items:stretch}.favorites-toggle{justify-content:space-between;align-self:stretch;width:100%}}.admin-features-panel{flex-direction:column;gap:16px;display:flex}.admin-feature-create-card,.admin-feature-list-card{margin-bottom:0}.admin-feature-card-header{margin-bottom:20px}.admin-feature-card-header h3{color:var(--dark);margin:0 0 6px}.admin-feature-card-header .muted-copy{font-size:var(--font-size-13);margin:0;line-height:1.5}.admin-feature-form{flex-direction:column;gap:24px;display:flex}.admin-feature-section{flex-direction:column;gap:12px;display:flex}.admin-feature-section-title{font-size:var(--font-size-15);font-weight:var(--font-weight-bold);color:#0f172a;margin:0}.admin-feature-section-hint{font-size:var(--font-size-13);max-width:72ch;margin:0;line-height:1.5}.admin-feature-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-feature-field-grid--basic .admin-feature-field--desc{grid-column:1/-1}.admin-feature-field{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-feature-label{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:#334155}.admin-feature-form input,.admin-feature-form select{color:#0f172a;width:100%;font-size:var(--font-size-15);background:#f8fafc;border:1px solid #dbe5f0;border-radius:12px;min-height:42px;padding:10px 12px}.admin-feature-form input:focus,.admin-feature-form select:focus{outline-offset:1px;background:#fff;border-color:#f472b6;outline:2px solid #ec489959}.admin-feature-form input:disabled{opacity:.72;cursor:not-allowed}.admin-feature-members-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.admin-feature-member-search{grid-template-columns:minmax(0,1fr) minmax(140px,180px) auto;align-items:center;gap:10px;display:grid}.admin-feature-members-empty{margin:4px 0 0}.admin-feature-list--hits,.admin-feature-list--selected{margin-top:4px}.admin-feature-form-footer{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:16px}.admin-feature-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.feature-confirm-modal{width:min(100%,520px)}.feature-confirm-subheading{font-size:var(--font-size-15);font-weight:var(--font-weight-bold);color:#0f172a;margin:16px 0 8px}.feature-confirm-dl{gap:8px;margin:0;display:grid}.feature-confirm-dl>div{font-size:var(--font-size-13);grid-template-columns:minmax(0,1fr) minmax(0,max-content);align-items:baseline;column-gap:1rem;display:grid}.feature-confirm-dl dt{color:#64748b}.feature-confirm-dl dd{font-weight:var(--font-weight-semibold);color:#0f172a;text-align:right;justify-self:end;margin:0}.feature-confirm-members{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:#0f172a;margin:0}@media (width<=767px){.admin-feature-field-grid,.admin-feature-member-search{grid-template-columns:minmax(0,1fr)}}.admin-feature-form label{font-size:var(--font-size-13);flex-direction:column;gap:4px;display:flex}.admin-feature-list{margin:0;padding:0;list-style:none}.admin-feature-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.admin-feature-actions{flex-shrink:0;gap:8px;display:flex}.filter-section-more{border-top:1px dashed #e2e8f0;max-height:1200px;padding-top:8px;transition:max-height .25s;overflow:hidden}.more-filters-toggle{margin-bottom:10px}.prefecture-select{flex-direction:column;gap:6px;display:flex;position:relative}.prefecture-trigger{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe5f0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;padding:9px 12px;display:flex}.prefecture-trigger.has-value{background:#fff7fb;border-color:#f9a8c9}.prefecture-popover{z-index:40;border:1px solid var(--color-border);width:min(560px,100vw - 32px);max-width:min(560px,100vw - 32px);max-height:min(420px,70vh);box-shadow:var(--shadow-md,0 10px 30px #0f172a1f);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.location-selector-overlay{z-index:120;background:#0f172a85;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.location-selector-modal{background:#fff;border:1px solid #dbe5f0;border-radius:8px;flex-direction:column;width:min(920px,100vw - 32px);max-height:min(100vh - 48px,640px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0f172a2e}.location-selector-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.location-selector-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:14px 16px 10px}.location-selector-title{color:#172a4f;font-size:var(--font-size-16);font-weight:var(--font-weight-bold);margin:0}.location-selector-panes{border-bottom:1px solid #e2e8f0;flex:auto;grid-template-columns:minmax(120px,24%) minmax(160px,27%) minmax(240px,49%);min-height:0;display:grid;overflow:hidden}.location-selector-pane{background:#fafbfd;border-right:1px solid #e2e8f0;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.location-selector-pane:last-child{border-right:0}.location-selector-pane-title{color:#64748b;font-size:var(--font-size-12);font-weight:var(--font-weight-bold);background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;margin:0;padding:10px 12px}.location-region-list{flex:1;margin:0;padding:6px;list-style:none;overflow-y:auto}.location-region-item{color:#334155;text-align:left;width:100%;font-size:var(--font-size-13);cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;border-radius:4px;padding:8px 10px}.location-region-item.is-active{color:#172a4f;font-weight:var(--font-weight-semibold);background:#eef2f8;border-left-color:#172a4f}.location-prefecture-list{flex:1;min-height:0;padding:6px;overflow-y:auto}.location-selector-pane--municipality{flex-direction:column;min-height:0;display:flex;overflow:hidden}.location-municipality-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.location-municipality-prefecture-all{background:#fafbfd;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:6px 6px 4px}.location-municipality-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 6px 6px;overflow-y:auto}.location-municipality-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2px 10px;display:grid}.location-prefecture-row{border-radius:4px;align-items:center;gap:4px;padding:2px 4px;display:flex}.location-prefecture-row.is-focused{background:#eef2f8}.location-prefecture-row.is-selected .location-prefecture-label{color:#172a4f;font-weight:var(--font-weight-semibold)}.location-prefecture-option{cursor:pointer;min-width:0;font-size:var(--font-size-13);flex:1;align-items:center;gap:8px;padding:4px 2px;display:flex}.location-prefecture-option input[type=checkbox],.location-municipality-option input[type=checkbox]{accent-color:#172a4f;cursor:pointer;flex:none;width:16px;height:16px}.location-prefecture-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.location-prefecture-focus{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;width:28px;height:28px;font-size:16px;line-height:1}.location-prefecture-focus:hover{background:#e2e8f0}.location-municipality-option{min-width:0;font-size:var(--font-size-12);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;display:flex}.location-municipality-option--all{font-weight:var(--font-weight-semibold);grid-column:1/-1}.location-municipality-option.is-selected{color:#172a4f;font-weight:var(--font-weight-semibold);background:#eef2f8}.location-municipality-label{overflow-wrap:anywhere;word-break:break-word;min-width:0;line-height:1.35}.location-municipality-count{color:#64748b;font-weight:var(--font-weight-normal);flex:none}.location-pane-empty,.location-pane-status{color:#64748b;font-size:var(--font-size-13);margin:0;padding:16px 12px}.location-pane-status--error{color:#b91c1c}.location-selector-chips{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:6px;max-height:72px;padding:8px 12px;display:flex;overflow-y:auto}.location-selector-chip{color:#334155;font-size:var(--font-size-11);background:#f1f5f9;border-radius:4px;align-items:center;padding:3px 8px;display:inline-flex}.location-selector-footer{background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.location-selector-footer-left,.location-selector-footer-right{align-items:center;gap:10px;min-width:0;display:flex}.location-selector-footer-right{flex:none}.location-selector-count{color:#64748b;font-size:var(--font-size-12);white-space:nowrap}.location-selector-matching-block{flex-direction:column;gap:2px;min-width:0;display:flex}.location-selector-matching-label{color:#64748b;font-size:var(--font-size-11);white-space:nowrap}.location-selector-matching-count{color:#172a4f;font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);white-space:nowrap}.location-selector-matching-count.is-loading{color:#64748b;font-weight:var(--font-weight-normal)}.location-clear-button{color:#64748b;font-size:var(--font-size-13);cursor:pointer;background:0 0;border:0;padding:6px 4px;text-decoration:underline}.location-cancel-button{color:#172a4f;min-width:96px;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);cursor:pointer;background:#fff;border:1px solid #172a4f;border-radius:4px;padding:8px 14px}.location-confirm-button{color:#fff;min-width:96px;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);cursor:pointer;background:#172a4f;border:1px solid #172a4f;border-radius:4px;padding:8px 14px}.location-selector-trigger.has-value{background:#f8fafc;border-color:#94a3b8}@media (width<=820px){.location-selector-panes{grid-template-columns:minmax(100px,24%) minmax(130px,26%) minmax(160px,50%)}}@media (width<=640px){.location-selector-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.location-selector-body{min-height:0}.location-selector-panes{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;min-height:0}.location-selector-pane{border-bottom:1px solid #e2e8f0;border-right:0;max-height:160px}.location-selector-pane--municipality{min-height:0;max-height:none}.location-municipality-scroll{overflow-y:auto}.location-municipality-list{grid-template-columns:minmax(0,1fr)}.location-selector-pane:last-child{border-bottom:0}.location-selector-footer{flex-direction:column;align-items:stretch}.location-selector-footer-left,.location-selector-footer-right{justify-content:space-between}}.prefecture-search{border:1px solid #dbe5f0;border-radius:8px;width:100%;padding:8px 10px}.prefecture-regions{flex-direction:column;gap:12px;max-height:280px;display:flex;overflow:auto}.prefecture-region-title{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:#64748b;margin:0 0 6px}.prefecture-options{grid-template-columns:repeat(3,max-content);justify-content:start;gap:6px 14px;display:grid}.prefecture-option{font-size:var(--font-size-13);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:4px 8px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.prefecture-option input[type=checkbox]{appearance:none;box-sizing:border-box;cursor:pointer;vertical-align:middle;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border:2px solid #94a3b8;border-radius:4px;flex:none;width:16px;height:16px;margin:0;padding:0}.prefecture-option input[type=checkbox]:checked{border-color:var(--color-primary,#ff0462);background-color:var(--color-primary,#ff0462);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E")}.prefecture-option input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #ff046273}.prefecture-option-label,.prefecture-option span{white-space:nowrap;line-height:1.2}.prefecture-option.selected{background:var(--color-primary-soft,#fff1f5);color:var(--color-primary-hover,#db0858);font-weight:var(--font-weight-semibold);border-color:#ff046247}.prefecture-actions{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.prefecture-actions .primary-button{background:#ff0462;border-color:#ff0462}.municipality-sections{border-top:1px solid #e2e8f0;flex-direction:column;gap:8px;max-height:180px;padding-top:8px;display:flex;overflow-y:auto}.municipality-section{border:1px solid #e2e8f0;border-radius:8px;min-width:0;margin:0;padding:8px}.municipality-section-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.municipality-section-title{color:#475569;min-width:0;font-size:var(--font-size-12);font-weight:var(--font-weight-bold)}.municipality-clear-button{color:#64748b;font-size:var(--font-size-11);cursor:pointer;background:0 0;border:0;flex:none;padding:2px 4px;text-decoration:underline}.municipality-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;display:grid}.municipality-option{color:#334155;min-width:0;font-size:var(--font-size-12);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:3px 4px;display:flex}.municipality-option.selected{background:var(--color-primary-soft,#fff1f5);color:var(--color-primary-hover,#db0858);font-weight:var(--font-weight-semibold)}.municipality-option input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-primary,#ff0462);flex:none}.municipality-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.municipality-option-count{color:#64748b;font-weight:var(--font-weight-normal);flex:none}.municipality-empty{color:#64748b;font-size:var(--font-size-12)}.municipality-clear-all{flex:none}@media (width<=720px){.prefecture-options{grid-template-columns:repeat(2,max-content)}.municipality-options{grid-template-columns:minmax(0,1fr)}}@media (width<=420px){.prefecture-options{grid-template-columns:max-content}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.input-with-suffix{align-items:center;gap:8px;display:flex}.input-suffix{color:#64748b;font-size:var(--font-size-13);white-space:nowrap}.search-actions{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:8px;padding-top:14px;display:flex}.search-actions-compact{flex-wrap:wrap}.search-actions-primary{flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;display:flex}.search-match-label{font-size:var(--font-size-12);color:#64748b;font-weight:var(--font-weight-semibold);margin:0}.search-match-count{font-size:var(--font-size-18);font-weight:var(--font-weight-bold);color:#0f172a;margin:0}.search-submit{background:#ff0462;border-color:#ff0462;min-width:140px}.job-search-stack{flex-direction:column;gap:16px;width:100%;display:flex}.search-conditions-card{width:100%}.search-conditions-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.search-conditions-body{min-width:0}.job-search-results-area{width:100%;min-width:0}.search-results.is-updating{opacity:.88}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-bottom:16px;display:flex}.results-count{color:#334155;font-size:var(--font-size-15);font-weight:var(--font-weight-semibold);white-space:nowrap;flex:auto;min-width:0;margin:0}.results-header-controls{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:12px 16px;display:flex}.results-toolbar-control{white-space:nowrap;flex:none;align-items:center;gap:8px;min-width:0;display:inline-flex}.results-toolbar-label{color:#475569;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);white-space:nowrap;writing-mode:horizontal-tb;flex-shrink:0}.results-header-controls select{color:#0f172a;width:auto;min-width:5.5rem;max-width:11rem;font-size:var(--font-size-13);background:#fff;border:1px solid #dbe5f0;border-radius:10px;flex:none;padding:8px 10px}.page-size-control select{min-width:4.5rem;max-width:5.5rem}.page-size-suffix{white-space:nowrap}@media (width<=720px){.results-header{flex-direction:column;align-items:stretch}.results-header-controls{justify-content:flex-start;width:100%}}@media (width<=520px){.results-header-controls{flex-direction:column;align-items:stretch;gap:10px}.results-toolbar-control{white-space:normal;grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr);align-items:center;gap:8px 10px;display:grid}.page-size-control{grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) auto}.results-header-controls select{width:100%;max-width:none}}.sort-control{align-items:center;gap:10px;display:flex}.job-card-list{flex-direction:column;gap:12px;display:flex}.job-card{min-width:0;max-width:100%;min-height:360px;transition:box-shadow var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:#fcfaf7;border:1px solid #e1e5ea;border-radius:4px;flex-direction:column;padding:12px 14px;display:flex;box-shadow:0 1px 2px #172a4f0a}.job-card:hover{border-color:#cfd6e2;box-shadow:0 2px 8px #172a4f0f}.job-card-body{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.job-card-content{min-width:0}.job-card-media{background:#f1f5f9;border:1px solid #e1e5ea;border-radius:8px;justify-content:center;align-self:stretch;align-items:center;width:100%;height:100%;min-height:220px;display:flex;overflow:hidden}.job-card-media img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.job-card-media.is-dummy{background:#f1f5f9}.job-card-image{background:#f1f5f9;border-radius:8px;flex-shrink:0;width:64px;height:64px;overflow:hidden}.job-card-image img{object-fit:cover;width:100%;height:100%;display:block}.job-card-image-placeholder{color:#94a3b8;border:1px dashed #cbd5e1;place-items:center;display:grid}.job-card-image-svg{width:28px;height:28px}.job-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:0 16px;min-width:0;display:grid}.job-card-badges{flex-wrap:wrap;grid-area:1/1;align-self:start;gap:6px;min-width:0;display:flex}.canonical-fee-box{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.job-card-fee{flex:none;grid-area:1/2/span 3;align-self:start;min-width:120px;max-width:155px}.canonical-fee-box--direct .canonical-fee-row--primary,.canonical-fee-box--sharing .canonical-fee-row--primary{background:var(--color-prios-red);color:#fff}.canonical-fee-box--unknown .canonical-fee-row--primary{color:#334155;background:#f1f3f5}.canonical-fee-row{border:1px solid #0000;border-radius:3px;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:6px 8px;display:flex}.canonical-fee-row--secondary{color:#334155;background:#f1f3f5}.canonical-fee-label{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);white-space:nowrap;flex:0 auto;line-height:1.3}.canonical-fee-value{min-width:0;font-size:var(--font-size-18);font-weight:var(--font-weight-extrabold);overflow-wrap:anywhere;text-align:right;line-height:1.15}.canonical-fee-row--secondary .canonical-fee-value{font-size:var(--font-size-15);font-weight:var(--font-weight-bold)}.canonical-fee-sharing-badge,.canonical-fee-inline-badge{border:1px solid var(--color-prios-red);color:var(--color-prios-red);font-size:var(--font-size-10);font-weight:var(--font-weight-bold);background:#fff;border-radius:3px;align-self:flex-start;align-items:center;padding:2px 6px;line-height:1.3;display:inline-flex}.canonical-fee-inline-badge{margin-right:4px}.favorite-heart-button{color:#94a3b8;width:40px;height:40px;font-size:var(--font-size-18);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;flex-shrink:0;place-items:center;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.favorite-heart-button:hover{color:var(--color-primary);border-color:#f9a8c9}.favorite-heart-button.is-favorite{color:var(--color-primary);background:#fff1f5;border-color:#f9a8c9}.favorite-heart-button:disabled{opacity:.6;cursor:wait}.favorite-action-button{color:#475569;font-weight:var(--font-weight-semibold);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.favorite-action-button.is-favorite{color:var(--color-primary);background:#fff1f5;border-color:#f9a8c9}.favorite-action-button .favorite-heart{font-size:var(--font-size-15)}.job-detail-favorite-row{margin-top:12px}.favorites-page{flex-direction:column;gap:16px;display:flex}.favorites-page-header{margin-bottom:0}.favorites-empty .primary-button{margin-top:12px;text-decoration:none;display:inline-flex}.favorites-job-list{flex-direction:column;gap:12px;display:flex}.source-badge,.category-badge,.fee-chip,.tag-chip,.remote-chip{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);border-radius:4px;align-items:center;padding:3px 8px;line-height:1.3;display:inline-flex}.tag-chip{color:#334155;font-weight:var(--font-weight-semibold);background:#fff;border:1px solid #d7dee8}.source-badge{color:#fff;background:#172a4f}.closed-job-badge{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.02em;color:#172a4f;white-space:nowrap;background:#eef1f6;border:1px solid #c5cedc;border-radius:4px;flex:none;align-items:center;padding:3px 8px;line-height:1.3;display:inline-flex}.closed-job-badge--compact{font-size:10px;line-height:1.2;font-weight:var(--font-weight-semibold);padding:1px 5px}.job-detail-closed-notice{color:#334155;font-size:var(--font-size-13);background:#f5f7fa;border:1px solid #c5cedc;border-radius:4px;margin:0 0 10px;padding:8px 10px;line-height:1.45}.job-table-title-with-status{flex-wrap:wrap;align-items:center;gap:4px 6px;width:100%;min-width:0;max-width:100%;max-height:2.7em;display:flex;overflow:hidden}.job-table-title-with-status .job-table-title-text{flex:auto;min-width:0}.source-badge.source-prios{color:#fff;background:#e4002b}.source-badge.source-jobins{color:#fff;background:#2563eb}.source-badge.source-cbank{color:#fff;background:#16a34a}.source-badge.source-circus{color:#fff;background:#ea580c}.source-badge.source-anavi{color:#fff;background:#7c3aed}.source-badge.source-mfg{color:#fff;background:#0d9488}.source-badge.source-unknown{color:#fff;background:#64748b}.source-inline{font-weight:var(--font-weight-bold)}.source-inline.source-anavi{color:#7c3aed}.source-inline.source-jobins{color:#2563eb}.source-inline.source-cbank{color:#16a34a}.source-inline.source-circus{color:#ea580c}.source-inline.source-prios{color:#e4002b}.source-inline.source-mfg{color:#0d9488}.source-inline.source-unknown{color:#64748b}.category-badge,.category-badge.soft{color:#334155;font-weight:var(--font-weight-semibold);background:#fff;border:1px solid #d7dee8}.job-card-title{max-width:none;font-size:var(--font-size-15);line-height:1.45;font-weight:var(--font-weight-bold);color:#172a4f;overflow-wrap:anywhere;grid-area:2/1;margin:8px 0 0}.job-card-company{color:#475569;font-weight:var(--font-weight-semibold);font-size:var(--font-size-13);overflow-wrap:anywhere;grid-area:3/1;margin:3px 0 0}.job-card-main{grid-template-columns:minmax(0,45fr) minmax(0,55fr);align-items:start;gap:12px 24px;display:grid}.job-card-facts-col{flex-direction:column;gap:8px;min-width:0;display:flex}.job-card-facts{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:5px 12px;min-width:0;display:grid}.job-card-facts .job-card-salary-preview,.job-card-facts .job-card-experience-preview{-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.job-card-tags--facts{max-width:100%;margin:0}.job-card-secondary{border-left:1px solid #eef1f5;flex-direction:column;gap:8px;min-width:0;padding-left:16px;display:flex}.job-card-section-label{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.02em;color:#64748b;margin:0 0 4px}.job-card-preview{min-width:0}.job-card-description-scroll{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#9ca3af #f3f4f6;background:#fff;border:1px solid #e5e7eb;border-radius:3px;max-height:160px;padding:8px 10px;overflow:hidden auto}.job-card-description-scroll:focus-visible{outline-offset:2px;outline:2px solid #172a4f}.job-card-description-scroll::-webkit-scrollbar{width:9px}.job-card-description-scroll::-webkit-scrollbar-track{background:#f3f4f6}.job-card-description-scroll::-webkit-scrollbar-thumb{background:#9ca3af;border:2px solid #f3f4f6;border-radius:6px}.job-card-description-scroll::-webkit-scrollbar-thumb:hover{background:#6b7280}.job-card-description-text{font-size:var(--font-size-12);color:#334155;line-height:1.65;font-weight:var(--font-weight-regular)}.job-card-description-text.readable-text{max-width:none}.job-card-description-text .readable-text-line{font-weight:var(--font-weight-regular)}.job-card-description-text .readable-text-heading{font-weight:var(--font-weight-bold)}.job-card-preview-text{white-space:pre-line;overflow-wrap:anywhere;word-break:break-word;font-size:var(--font-size-12);color:#334155;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.job-card-preview-text.is-clamp-3{-webkit-line-clamp:3;line-clamp:3}.job-card-requirements{flex-direction:column;gap:8px;min-width:0;display:flex}.job-card-req-group{min-width:0}.job-card-req-label{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);color:#475569;letter-spacing:.02em;margin:0 0 2px}.job-card-req-text{white-space:pre-line;overflow-wrap:anywhere;word-break:break-word;max-height:4.8em;font-size:var(--font-size-12);color:#334155;scrollbar-width:thin;margin:0;line-height:1.6;overflow:auto}.job-card-extras{flex-direction:column;gap:6px;min-width:0;display:flex}.job-meta-item{font-size:var(--font-size-13);color:#1e293b;grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:8px;line-height:1.45;display:grid}.job-meta-item>span:last-child{overflow-wrap:anywhere;min-width:0}.job-meta-label{font-size:var(--font-size-11);letter-spacing:.02em;color:#64748b;font-weight:var(--font-weight-bold);padding-top:1px}.job-card-fees,.job-card-tags{flex-wrap:wrap;gap:6px;display:flex}.job-card-dup-note{font-size:var(--font-size-12);color:#9a3412;font-weight:var(--font-weight-semibold);margin:0;line-height:1.45}.fee-chip{color:#c2410c;background:#fff7ed}.job-card .tag-chip,.job-card .tag-chip.soft{color:#334155;font-weight:var(--font-weight-semibold);background:#fff;border:1px solid #d7dee8}.remote-chip{color:#0e7490;background:#ecfeff}.job-card-footer{color:#64748b;font-size:var(--font-size-12);border-top:1px solid #eceff3;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:8px;display:flex}.job-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.job-card .favorite-action-button{color:#172a4f;font-size:var(--font-size-12);border-color:#cfd6e2;border-radius:4px;padding:6px 10px}.job-card .favorite-action-button.is-favorite{color:#c2410c;background:#fff8f5;border-color:#f3c6b5}.job-id-ref{color:#64748b;font-size:var(--font-size-12);margin:0}.search-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.pagination-pages{gap:6px;display:flex}.pagination-page{color:#334155;min-width:36px;height:36px;font-weight:var(--font-weight-semibold);background:#fff;border:1px solid #dbe5f0;border-radius:10px}.pagination-page.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-state{text-align:center;padding:28px 16px}.search-state h3{margin-bottom:8px}.search-state-actions{margin-top:12px}.job-card-skeleton{min-height:120px}.skeleton-line{background:linear-gradient(90deg,#f1f5f9 0%,#fce7f3 50%,#f1f5f9 100%) 0 0/200% 100%;border-radius:8px;width:60%;height:12px;margin-bottom:10px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-line.wide{width:85%;height:16px}.skeleton-line.medium{width:45%}@media (width<=1024px){.job-card{min-height:0}.job-card-main{grid-template-columns:1fr}.job-card-secondary{border-top:1px solid #eef1f5;border-left:none;padding-top:10px;padding-left:0}.job-card-title{max-width:none}.job-card-description-scroll{max-height:240px}}@media (width<=960px){.keyword-row,.filter-grid,.job-card-main,.job-card-facts,.job-card-header{grid-template-columns:1fr}.job-card-badges{grid-area:1/1}.job-card-fee{text-align:left;grid-area:2/1;max-width:none;margin-top:10px}.job-card-title{grid-area:3/1}.job-card-company{grid-area:4/1}.job-card-body{flex-direction:column;display:flex}.job-card-footer{flex-direction:column;align-items:stretch}.job-card-actions{justify-content:stretch}.job-card-actions .favorite-action-button,.job-card-detail-link{text-align:center;flex:auto;justify-content:center}.job-card-media{aspect-ratio:16/10;flex:none;order:-1;width:100%;max-width:none;height:auto;min-height:180px}.job-card-image{width:56px;height:56px}}@keyframes skeleton-pulse{0%{opacity:1;background-position:100% 0}50%{opacity:.72}to{opacity:1;background-position:-100% 0}}@keyframes auth-card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.dashboard-shell{background:var(--color-bg);flex-direction:column;gap:20px;min-height:100vh;padding:28px 32px 48px;display:flex}.page-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted-copy{color:var(--color-text-muted);font-size:var(--font-size-13)}.stats-error{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.admin-analytics{flex-direction:column;gap:20px;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-top:3px solid var(--color-primary);padding:16px 18px}.kpi-card p{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold)}.kpi-card h3{font-size:var(--font-size-22);color:var(--color-text);margin-top:8px}.kpi-skeleton{border-top-color:#f9a8c9}.admin-two-col,.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:280px;padding:18px}.chart-card h3{font-size:var(--font-size-15);margin-bottom:12px}.chart-body{width:100%;height:260px}.chart-tooltip{border:1px solid var(--color-border);box-shadow:var(--shadow-md);background:#fff;border-radius:10px;padding:8px 10px}.source-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.source-row-top{font-size:var(--font-size-13);justify-content:space-between;gap:12px;margin-bottom:6px;display:flex}.source-row-top span{color:var(--color-text-muted)}.source-bar{background:var(--color-primary-muted);border-radius:999px;height:7px;overflow:hidden}.source-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;display:block}.ca-summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.ca-summary-kpi{border:1px solid var(--color-border);border-top:3px solid var(--color-primary);background:#fff;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:78px;padding:12px 14px;display:flex}.ca-summary-kpi p{color:var(--color-text-muted);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);margin:0;line-height:1.3}.ca-summary-kpi strong{font-size:var(--font-size-22);color:var(--color-text);margin-top:8px;line-height:1.1;display:block}.subpanel-title{font-size:var(--font-size-15);margin:8px 0 10px}.recent-ca-table{flex-direction:column;gap:0;display:flex}.recent-ca-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 120px 140px;align-items:center;gap:8px;padding:10px 0;display:grid}.recent-ca-head{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:var(--color-text-muted);padding-top:0}.recent-ca-account{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-weight:var(--font-weight-semibold);overflow:hidden}.recent-ca-status{justify-content:center;align-items:center;display:flex}.recent-ca-date{text-align:right;white-space:nowrap}.recent-ca-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recent-ca-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.lang-switch{background:var(--color-primary-soft);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.lang-switch button{color:var(--color-text-muted);font-weight:var(--font-weight-bold);font-size:var(--font-size-12);background:0 0;border:none;border-radius:999px;padding:4px 10px}.lang-switch button.active{background:var(--color-primary);color:#fff}.lang-sep{color:var(--color-text-subtle);font-size:var(--font-size-11)}.toast-viewport{z-index:80;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{pointer-events:auto;min-width:240px;max-width:380px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.toast-success{border-color:var(--color-success);background:var(--color-success-soft)}.toast-error{border-color:var(--color-danger);background:var(--color-danger-soft)}.toast-info{border-color:var(--color-info);background:var(--color-info-soft)}.toast-close{font-size:var(--font-size-15);color:var(--color-text-muted);background:0 0;border:none;line-height:1}.confirm-dialog{width:min(100%,420px)}.confirm-dialog p{color:var(--color-text-muted);margin-top:8px}.danger-button{background:var(--color-danger);color:#fff;font-weight:var(--font-weight-bold);border:none;border-radius:999px;padding:10px 16px}.danger-button:hover{background:var(--color-danger-hover)}.auth-card-top{justify-content:flex-end;margin-bottom:4px;display:flex}.role-badge,.role-pill{background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.04em;border-radius:999px;align-items:center;padding:2px 8px;display:inline-flex}.sidebar-footer .role-pill{background:var(--color-primary-muted);color:#fff}.job-search-layout,.job-search-page,.job-search-stack{flex-direction:column;gap:16px;width:100%;display:flex}.job-search-page.job-search-stack{gap:12px;width:calc(100% - 96px);max-width:960px;margin-left:auto;margin-right:auto}@media (width>=1100px){.job-search-layout,.job-search-page,.job-search-stack{flex-direction:column;grid-template-columns:none;display:flex}.job-search-layout .search-panel,.job-search-page .search-panel,.search-conditions-card{width:100%;position:static}}.sync-source-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px;display:grid}@media (width>=640px){.sync-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.sync-source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.sync-source-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;min-width:0;height:100%;padding:16px;display:flex}.sync-source-card.health-healthy{border-top:3px solid #10b981}.sync-source-card.health-interrupted,.sync-source-card.health-failed{border-top:3px solid #f59e0b}.sync-source-card.health-running{border-top:3px solid var(--color-primary)}.sync-source-card-top{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sync-source-card-top strong{flex:auto;min-width:0}.sync-source-card-top .status-pill{flex-shrink:0}.sync-source-dl{flex:1;gap:8px;margin:0;display:grid}.sync-source-dl>div{font-size:var(--font-size-13);grid-template-columns:minmax(max-content,auto) minmax(0,1fr);align-items:baseline;column-gap:1rem;display:grid}.sync-source-dl dt{color:#64748b;text-align:left;-webkit-hyphens:none;hyphens:none;white-space:nowrap}.sync-source-dl dd{font-weight:var(--font-weight-semibold);color:#0f172a;text-align:right;white-space:normal;overflow-wrap:break-word;word-break:normal;justify-self:stretch;min-width:0;margin:0}.sync-history-toggle-row{margin-top:14px}.sync-row-dev td{color:#64748b}.status-pill.interrupted,.status-pill.incomplete{color:#c2410c;background:#fff7ed}.primary-soft,.hero-banner{background:linear-gradient(135deg, var(--color-primary-soft) 0%, #eef6ff 100%)}@media (width<=960px){.admin-two-col,.charts-grid,.ca-summary-stats,.filter-grid,.filter-grid-primary,.keyword-row{grid-template-columns:1fr}.search-conditions-toggle{display:inline-flex}.dashboard-shell{padding:16px}.job-card-image{width:56px;height:56px}.job-card-media{aspect-ratio:16/10;flex:none;width:100%;height:auto;min-height:180px}.recent-ca-row{grid-template-columns:minmax(0,1fr) 88px 110px;gap:6px}}@media (width>=961px){.search-conditions-toggle{display:none}}.job-detail-page{flex-direction:column;gap:14px;width:calc(100% - 80px);min-width:0;max-width:1220px;margin-left:auto;margin-right:auto;display:flex}.job-detail-back{color:#172a4f;font-weight:var(--font-weight-bold);font-size:var(--font-size-13);border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:6px 2px;text-decoration:none;display:inline-flex}.job-detail-back:hover,.job-detail-back:focus-visible{color:#0f1f3d;outline-offset:2px;outline:2px solid #172a4f;text-decoration:underline}.job-card-title-link{color:inherit;border-radius:4px;text-decoration:none}.job-card-title-link:hover{color:#0f1f3d;text-decoration:underline}.job-card-title-link:focus-visible{outline-offset:2px;outline:2px solid #172a4f}.job-card-detail-link{color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-12);background:#172a4f;border:1px solid #172a4f;border-radius:4px;justify-content:center;align-items:center;margin-left:0;padding:7px 14px;line-height:1.2;text-decoration:none;display:inline-flex}.job-card-detail-link:hover,.job-card-detail-link:focus-visible{outline-offset:2px;background:#0f1f3d;border-color:#0f1f3d;outline:2px solid #172a4f;text-decoration:none}.job-detail-page .panel-card,.job-detail-page .job-detail-section,.job-detail-page .job-detail-hero{background:#fff;border:1px solid #e1e5ea;border-radius:4px;box-shadow:0 1px 2px #172a4f0a}.job-detail-hero{flex-direction:column;gap:16px;padding:20px 22px;display:flex}.job-detail-hero-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 20px;display:grid}.job-detail-hero-main{min-width:0}.job-detail-meta-line{font-size:var(--font-size-12);color:#64748b;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px;display:flex}.job-detail-number{font-weight:var(--font-weight-bold);letter-spacing:.02em;color:#475569}.job-detail-ref{color:#64748b}.job-detail-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.job-detail-title{font-size:var(--font-size-18);line-height:1.35;font-weight:var(--font-weight-extrabold);color:#172a4f;overflow-wrap:anywhere;margin:0 0 6px}.job-detail-company{font-size:var(--font-size-13);font-weight:var(--font-weight-medium);color:#334155;overflow-wrap:anywhere;margin:0 0 6px}.job-detail-updated{font-size:var(--font-size-12);color:#64748b;margin:0}.job-detail-fee{flex:none;min-width:7.5rem;max-width:12rem}.job-detail-fee .canonical-fee-value{font-size:var(--font-size-22)}.job-detail-fee .canonical-fee-row--secondary .canonical-fee-value{font-size:var(--font-size-15)}.job-detail-summary-facts{border:1px solid #eceff3;border-radius:4px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid;overflow:hidden}.job-detail-summary-facts .job-detail-row{background:#fff;border-bottom:1px solid #eceff3;margin:0;padding:10px 12px}.job-detail-summary-facts .job-detail-row:nth-last-child(-n+2){border-bottom:none}.job-detail-hero-actions{flex-wrap:wrap;gap:8px;display:flex}.job-detail-hero-media{max-width:420px}.job-detail-hero-media .job-card-media{aspect-ratio:16/10;background:#f8fafc;border:1px solid #e1e5ea;border-radius:4px;width:100%;height:auto;min-height:160px;overflow:hidden}.job-detail-hero-media .job-card-media.is-dummy{display:none}.job-detail-hero-media .job-card-media img{object-fit:contain;object-position:center;width:100%;height:100%}.job-detail-tabs{background:0 0;border-bottom:1px solid #e1e5ea;gap:4px;padding-bottom:0;display:flex}.job-detail-tabs button{appearance:none;font-weight:var(--font-weight-bold);font-size:var(--font-size-13);color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px}.job-detail-tabs button.is-active{color:#172a4f;border-bottom-color:#f97316}.job-detail-tabs button:focus-visible{outline-offset:2px;outline:2px solid #172a4f}.job-detail-sections{flex-direction:column;gap:12px;display:flex}.job-detail-section{padding:16px 18px}.job-detail-section h2{font-size:var(--font-size-15);font-weight:var(--font-weight-extrabold);color:#172a4f;border-bottom:1px solid #eceff3;margin:0 0 12px;padding-bottom:8px}.job-detail-subhead{font-size:var(--font-size-13);font-weight:var(--font-weight-bold);color:#334155;margin:16px 0 8px}.job-detail-dl{border:1px solid #eceff3;border-radius:4px;gap:0;margin:0;display:grid;overflow:hidden}.job-detail-row{background:#fff;border-bottom:1px solid #eceff3;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:10px 14px;padding:10px 12px;display:grid}.job-detail-row:nth-child(odd) dt{background:0 0}.job-detail-row:last-child{border-bottom:none}.job-detail-row dt{font-weight:var(--font-weight-bold);color:#64748b;font-size:var(--font-size-12);margin:0;line-height:1.5}.job-detail-row dd{color:#1e293b;font-size:var(--font-size-13);overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.65}.pre-wrap,.job-detail-prewrap{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.8;font-size:var(--font-size-13);color:#1e293b;margin:0}.readable-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.8;font-size:var(--font-size-13);color:#1e293b;flex-direction:column;margin:0;display:flex}.readable-text-line{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-weight:var(--font-weight-regular);margin:0}.readable-text-heading{font-weight:var(--font-weight-bold);color:#172a4f;margin-top:12px}.readable-text-line.readable-text-heading:first-child{margin-top:0}.readable-text-item{padding-left:2px}.readable-text-gap{height:10px}.job-detail-section .readable-text{max-width:58rem}.job-detail-text-block{margin-bottom:14px}.job-detail-text-block h3{font-size:var(--font-size-13);font-weight:var(--font-weight-bold);color:#334155;margin:0 0 6px}.job-detail-empty{color:#94a3b8;font-size:var(--font-size-13);margin:0}.job-detail-salary-rich{font-size:var(--font-size-13)}.job-detail-salary-summary{font-size:var(--font-size-12);color:#64748b;margin:10px 0 0}.job-detail-fee-rule{margin-bottom:12px}.job-detail-dup-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.job-detail-dup-item{background:#fafbfc;border:1px solid #e1e5ea;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.job-detail-dup-item>div{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.job-table-source{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.job-table-source .source-badge{max-width:100%}.job-detail-dup-fee{font-size:var(--font-size-12);color:#9a3412;font-weight:var(--font-weight-semibold);margin-top:0;display:inline}.job-detail-dup-link{white-space:nowrap;font-weight:var(--font-weight-bold);color:#172a4f;font-size:var(--font-size-12);text-decoration:none}.job-detail-dup-link:hover,.job-detail-dup-link:focus-visible{text-decoration:underline}.job-detail-dup-warning{color:#9a3412;font-weight:var(--font-weight-bold);font-size:var(--font-size-13)}.job-detail-dup-primary-note{font-size:var(--font-size-13);color:#475569;margin:0}.job-detail-ops{border-left:3px solid #f97316}.job-detail-skeleton .skeleton-line{background:linear-gradient(90deg,#eee,#f7f7f7,#eee);border-radius:4px;max-width:70%;height:12px;margin:10px 0}.job-detail-skeleton .skeleton-line.wide{max-width:100%;height:80px}.job-detail-status h1{font-size:var(--font-size-18);color:#172a4f;margin-top:0}.job-detail-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.job-detail-page .favorite-action-button{color:#172a4f;border-color:#cfd6e2;border-radius:4px}.job-detail-page .favorite-action-button.is-favorite{color:#c2410c;background:#fff8f5;border-color:#f3c6b5}@media (width<=960px){.job-detail-page{width:100%;max-width:none;margin-left:0;margin-right:0}.job-detail-hero-top{grid-template-columns:1fr}.job-detail-fee{text-align:left;max-width:none}.job-detail-summary-facts{grid-template-columns:1fr}.job-detail-summary-facts .job-detail-row:nth-last-child(-n+2){border-bottom:1px solid #eceff3}.job-detail-summary-facts .job-detail-row:last-child{border-bottom:none}.job-detail-hero-media{max-width:none}.job-detail-row{grid-template-columns:1fr;gap:4px}.job-detail-dup-item{flex-direction:column;align-items:flex-start}}@media (width<=640px){.job-detail-hero,.job-detail-section{padding:14px}}.admin-notify{position:relative}.admin-notify-bell{border:1px solid var(--color-border);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.admin-notify-bell:hover{border-color:var(--color-brand,#ff0462)}.admin-notify-badge{color:#fff;min-width:18px;height:18px;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);text-align:center;background:#ff0462;border-radius:999px;padding:0 4px;line-height:18px;position:absolute;top:-4px;right:-4px}.admin-notify-panel{z-index:40;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;width:min(420px,92vw);max-height:min(70vh,560px);display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a1f}.admin-notify-panel-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-notify-filters{gap:6px;display:flex}.admin-notify-filters button{border:1px solid var(--color-border);font-size:var(--font-size-12);cursor:pointer;background:0 0;border-radius:8px;padding:4px 8px}.admin-notify-filters button.is-active{color:#ff0462;border-color:#ff0462}.admin-notify-list{flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.admin-notify-empty{color:var(--color-text-muted);text-align:center;margin:16px 8px}.admin-notify-item{border:1px solid var(--color-border);background:var(--color-bg,#fff);border-radius:10px;padding:10px 12px}.admin-notify-item.is-unread{border-color:#ff046259}.admin-notify-item h4{font-size:var(--font-size-15);margin:4px 0 6px}.admin-notify-item p{font-size:var(--font-size-13);color:var(--color-text-muted);margin:0}.admin-notify-item-top{font-size:var(--font-size-12);color:var(--color-text-muted);justify-content:space-between;gap:8px;display:flex}.admin-notify-type{font-weight:var(--font-weight-semibold);color:#ff0462}.admin-notify-meta{font-size:var(--font-size-12);grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0 0;display:grid}.admin-notify-meta dt{color:var(--color-text-muted)}.admin-notify-meta dd{word-break:break-all;margin:0}.admin-notify-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.admin-notify-actions .secondary-button{font-size:var(--font-size-12);padding:4px 10px}.admin-notify-state{font-size:var(--font-size-12);color:var(--color-text-muted)}.database-backup-card{margin-bottom:16px}.database-backup-card.is-due{border-color:#d9770673}.backup-warning{color:#b45309;font-size:var(--font-size-13);margin:6px 0 0}.backup-dl{margin-top:8px}.backup-actions{margin-top:12px}.backup-success{color:#0f9f6e;font-size:var(--font-size-13);margin-top:10px}.backup-error{color:#b91c1c;font-size:var(--font-size-13);margin-top:10px}.admin-app-shell .sidebar .nav-item{cursor:pointer;width:100%;font:inherit;text-align:left;color:inherit;background:0 0;border:none;align-items:center;gap:10px;text-decoration:none;display:flex}.sidebar-nav-group{border-top:1px solid #94a3b840;margin-top:12px;padding-top:12px}.sidebar-nav-label{font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted,#64748b);margin:0 0 8px;padding:0 12px}.nav-item-nested{font-size:var(--font-size-13);padding-left:28px!important}.status-pill.scraper-status.completed{color:#15803d;background:#16a34a1f}.status-pill.scraper-status.running,.status-pill.scraper-status.starting{color:#172a4f;background:#172a4f1a}.status-pill.scraper-status.failed{color:#b91c1c;background:#b91c1c1f}.status-pill.scraper-status.waiting{color:#b45309;background:#d9770624}.status-pill.scraper-status.not-configured{color:#475569;background:#64748b26}.scraper-global-banner{background:#172a4f0f;border:1px solid #172a4f2e;border-radius:12px;margin-bottom:16px;padding:14px 16px}.scraper-global-banner.is-waiting-login{background:#d977061a;border-color:#b4530947}.scraper-global-banner-main{align-items:flex-start;gap:12px;display:flex}.scraper-global-banner-dot{background:#172a4f;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.scraper-global-banner.is-waiting-login .scraper-global-banner-dot{background:#b45309}.scraper-global-banner-title{color:#172a4f;margin:0;font-weight:600}.scraper-global-banner-sub{color:#5b6472;font-size:var(--font-size-13,13px);margin:4px 0 0}.scraper-source-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.scraper-source-title-block{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scraper-source-action-row{flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;display:flex}.scraper-refresh-button{flex-shrink:0}.scraper-primary-action:disabled,.scraper-primary-action.is-disabled-state:disabled{opacity:.55;cursor:not-allowed}.scraper-running-chip{color:#172a4f;background:#172a4f14;border:1px solid #172a4f2e;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:600;display:inline-flex}.scraper-running-spinner{border:2px solid #172a4f40;border-top-color:#172a4f;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite scraper-spin}@keyframes scraper-spin{to{transform:rotate(360deg)}}.scraper-rescrape-counter{color:#172a4f;background:#f8fafc;border:1px solid #172a4f1f;border-radius:12px;align-items:flex-start;gap:10px;min-width:min(240px,100%);padding:10px 12px;display:flex}.scraper-rescrape-counter.is-waiting{background:#172a4f0a}.scraper-rescrape-counter.is-ready{background:#16a34a14;border-color:#16a34a38}.scraper-rescrape-counter.is-compact{min-width:min(220px,100%)}.scraper-rescrape-counter-icon{color:#172a4f;margin-top:2px}.scraper-rescrape-counter-label{letter-spacing:.02em;text-transform:uppercase;color:#64748b;margin:0;font-size:11px}.scraper-rescrape-counter-main{color:#172a4f;margin:2px 0 0;font-size:15px;font-weight:700}.scraper-rescrape-counter-sentence{color:#334155;margin:2px 0 0;font-size:13px}.scraper-rescrape-counter-support{color:#64748b;margin:4px 0 0;font-size:12px}.scraper-eligibility-counter-wrap{margin-top:12px}.scraper-disabled-reason,.scraper-cbank-note,.scraper-rescrape-note,.scraper-manual-start-note{margin:0 0 16px}.scraper-disabled-reason{color:#334155;background:#64748b1a;border-radius:10px;padding:8px 12px;font-size:13px}.scraper-rescrape-today{color:#15803d;font-weight:600}.scraper-action-available{color:var(--prios-navy,#172a4f);font-weight:600}.scraper-action-disabled{color:#5b6472}.scraper-overview-intro{max-width:52rem;margin:0 0 16px}.scraper-overview-grid{align-items:start}.scraper-overview-grid .scraper-overview-card{color:inherit;background:#fff;border:1px solid #0f172a14;gap:0;height:auto;min-height:0;padding:12px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}.scraper-overview-grid .scraper-overview-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.scraper-overview-grid .scraper-overview-card.is-global-active{border-color:#172a4f59;box-shadow:0 0 0 1px #172a4f1f}.scraper-overview-grid .scraper-overview-card.is-unavailable:not(.is-global-active){opacity:.78}.scraper-overview-grid .scraper-overview-card.tone-failed{border-color:#b91c1c38}.scraper-overview-grid .scraper-overview-card.tone-waiting{border-color:#b4530947}.scraper-overview-grid .scraper-overview-card.tone-locked{border-color:#172a4f33}.scraper-overview-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.scraper-overview-card-head h3{min-width:0;margin:0}.scraper-overview-head-badges{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.scraper-overview-dl{flex:0 auto;gap:6px;margin:0}.scraper-overview-history-empty{flex-direction:column;align-items:stretch;gap:2px;display:flex!important}.scraper-overview-history-empty dt{white-space:nowrap}.scraper-overview-history-msg{overflow-wrap:break-word;word-break:normal;line-height:1.35;text-align:left!important;font-weight:var(--font-weight-medium)!important;color:#64748b!important;white-space:normal!important}.scraper-overview-running{color:#172a4f;margin:8px 0 0;font-size:12px;font-weight:600}.scraper-overview-card-footer{flex:none;justify-content:flex-end;margin-top:12px;padding-top:0;display:flex}.scraper-overview-open-btn{color:#fff;white-space:nowrap;background:#172a4f;border:1px solid #172a4f38;border-radius:6px;justify-content:center;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.scraper-overview-card:hover .scraper-overview-open-btn{background:#1e3a66}.scraper-tone-chip{color:#475569;background:#64748b1f;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.scraper-tone-chip.tone-ready,.scraper-tone-chip.tone-success{color:#15803d;background:#16a34a1f}.scraper-tone-chip.tone-running{color:#172a4f;background:#172a4f1a}.scraper-tone-chip.tone-waiting{color:#b45309;background:#d9770624}.scraper-tone-chip.tone-failed{color:#b91c1c;background:#b91c1c1f}.scraper-tone-chip.tone-locked,.scraper-tone-chip.tone-blocked{color:#334155;background:#172a4f14}.scraper-modal-dl{gap:8px;margin:12px 0;display:grid}.scraper-modal-dl dt{font-size:var(--font-size-12);color:var(--color-muted,#64748b)}.scraper-modal-dl dd{font-weight:var(--font-weight-semibold);margin:0}.scraper-modal-no-queue{margin-top:0}.scraper-error-panel{background:#fee2e259;border-color:#b91c1c40}.scraper-manual-login{background:#fff7edd9;border-color:#b453094d}.scraper-action-required-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#b45309;margin:0 0 6px;font-size:11px;font-weight:700}.scraper-manual-login-active{color:#9a3412;margin:10px 0 0;font-weight:600}.scraper-kpi-grid,.scraper-panels-grid{margin-bottom:16px}.scraper-panels-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.scraper-run-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0;display:grid}.scraper-run-metric dt{font-size:var(--font-size-12);color:var(--color-muted,#64748b)}.scraper-run-metric dd{font-size:var(--font-size-22);font-weight:var(--font-weight-bold);margin:4px 0 0}.scraper-progress-bar-wrap{align-items:center;gap:12px;margin-bottom:12px;display:flex}.scraper-progress-bar{background:#94a3b840;border-radius:999px;flex:1;height:10px;overflow:hidden}.scraper-progress-fill{background:linear-gradient(90deg,#172a4f,#2563eb);border-radius:999px;height:100%;transition:width .3s}.scraper-progress-bar.indeterminate .scraper-progress-fill.indeterminate{width:35%;animation:1.4s ease-in-out infinite scraper-indeterminate}@keyframes scraper-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.scraper-progress-percent{min-width:3ch;font-weight:var(--font-weight-bold)}@media (width<=768px){.scraper-source-header{flex-direction:column}.scraper-source-action-row,.scraper-rescrape-counter{width:100%}}.admin-topbar{flex-wrap:wrap;align-items:center;gap:16px}.admin-topbar .topbar-left{align-items:center;gap:12px;display:flex}.admin-topbar .topbar-right{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.admin-main{flex-direction:column;gap:18px;display:flex}.admin-section-view{flex-direction:column;gap:16px;display:flex}.admin-overview-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-overview-meta{margin-top:12px}.admin-notifications-page .panel-header{align-items:flex-start}.admin-notify-list-page{max-height:none}.job-table-title-link{color:inherit;font-weight:var(--font-weight-bold);text-decoration:none}.job-table-title-link:hover{color:var(--color-primary);text-decoration:underline}.ca-recent-jobs-desktop{width:100%;min-width:0;overflow:visible}.ca-recent-jobs-mobile{min-width:0;display:none}.ca-recent-jobs-table{--ca-recent-row-content-height:60px;table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.ca-recent-jobs-table col.col-title{width:21%}.ca-recent-jobs-table col.col-company{width:14%}.ca-recent-jobs-table col.col-location,.ca-recent-jobs-table col.col-employment{width:12%}.ca-recent-jobs-table col.col-salary{width:15%}.ca-recent-jobs-table col.col-source,.ca-recent-jobs-table col.col-fee{width:13%}.ca-recent-jobs-table th,.ca-recent-jobs-table td{vertical-align:middle;font-size:var(--font-size-13);min-width:0;padding:0 8px;line-height:1.35}.ca-recent-jobs-table tbody tr{height:var(--ca-recent-row-content-height)}.ca-recent-jobs-table tbody td{height:var(--ca-recent-row-content-height);max-height:var(--ca-recent-row-content-height);vertical-align:middle;overflow:hidden}.ca-recent-jobs-table th{text-transform:none;letter-spacing:normal;white-space:nowrap;font-weight:var(--font-weight-bold);color:#64748b;font-size:var(--font-size-12);height:auto;max-height:none;padding:8px}.ca-recent-jobs-cell-inner,.ca-recent-jobs-singleline-cell-inner{box-sizing:border-box;width:100%;min-width:0;height:var(--ca-recent-row-content-height);min-height:var(--ca-recent-row-content-height);max-height:var(--ca-recent-row-content-height);justify-content:flex-start;align-items:center;margin:0;display:flex;overflow:hidden}.ca-recent-jobs-table .job-table-title-link{width:100%;min-width:0;max-width:100%;color:inherit;text-decoration:none;display:block}.ca-recent-jobs-table .cell-title .job-table-title-text,.ca-recent-jobs-table .cell-company .job-table-company-text,.ca-recent-jobs-table .cell-employment .job-table-employment-text{-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:normal;-webkit-box-orient:vertical;width:100%;min-width:0;max-height:2.7em;line-height:1.35;display:-webkit-box;overflow:hidden}.ca-recent-jobs-table .job-table-oneline{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:keep-all;width:100%;min-width:0;line-height:1.35;display:block;overflow:hidden}.ca-recent-jobs-table .cell-location,.ca-recent-jobs-table .cell-salary,.ca-recent-jobs-table .cell-fee,.ca-recent-jobs-table .cell-source{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:keep-all;overflow:hidden}.ca-recent-jobs-table .cell-location{white-space:nowrap;text-overflow:ellipsis;max-width:0;overflow:hidden}.ca-recent-jobs-table .cell-source{text-align:left}.ca-recent-jobs-table .source-badge{box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;min-width:0;max-width:100%;height:20px;display:inline-flex;overflow:hidden}.ca-recent-job-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:12px 14px}.ca-recent-job-card+.ca-recent-job-card{margin-top:10px}.ca-recent-job-card-source{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.ca-recent-job-card-title{font-size:var(--font-size-15);line-height:1.35;font-weight:var(--font-weight-bold);overflow-wrap:anywhere;margin:0 0 4px}.ca-recent-job-card-title .job-table-title-link{color:inherit}.ca-recent-job-card-company{color:#64748b;font-size:var(--font-size-13);overflow-wrap:anywhere;margin:0 0 10px}.ca-recent-job-card-facts{gap:6px;margin:0;display:grid}.ca-recent-job-card-fact{grid-template-columns:minmax(4.5rem,34%) 1fr;align-items:start;gap:8px;min-width:0;display:grid}.ca-recent-job-card-fact dt{color:#64748b;font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);margin:0}.ca-recent-job-card-fact dd{font-size:var(--font-size-13);overflow-wrap:anywhere;word-break:normal;margin:0}.ca-recent-job-location{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=768px){.ca-recent-jobs-desktop{display:none}.ca-recent-jobs-mobile{display:block}}.recent-ca-head>span:nth-child(2),.recent-ca-status{justify-content:flex-start;align-items:center;min-height:28px;display:flex}.recent-ca-head>span:nth-child(3),.recent-ca-date{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;min-height:28px;display:flex}.admin-ca-table td:nth-child(2),.admin-ca-table th:nth-child(2){text-align:left;vertical-align:middle;width:120px}.admin-ca-table td:nth-child(3),.admin-ca-table th:nth-child(3){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle;width:140px}.admin-ca-table .status-pill{justify-content:center;align-items:center;min-width:64px;display:inline-flex}.source-verification-id{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.source-verification-id code{font-family:inherit;font-size:var(--font-size-13);border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;padding:4px 8px}.source-copy-btn{font-size:var(--font-size-13);padding:6px 12px}.source-verification-actions{margin-top:12px}.source-verification-actions .secondary-button{text-decoration:none;display:inline-flex}.app-shell--ca{background:#f5f6f8;align-items:flex-start}.app-shell--ca .sidebar--ca{z-index:30;color:#fff;background:#172a4f;border-right:1px solid #122444;flex:0 0 244px;align-self:flex-start;gap:16px;width:244px;height:100vh;max-height:100vh;padding:16px 12px 18px;position:sticky;top:0;overflow:hidden auto}.sidebar--ca .sidebar-header--ca{border-bottom:1px solid #ffffff1f;padding:4px 4px 12px}.sidebar-logo-link{justify-content:center;align-items:center;min-height:48px;text-decoration:none;display:flex}.sidebar--ca .sidebar-logo-link{box-sizing:border-box;background:#fff;border:1px solid #ffffff59;border-radius:6px;width:100%;padding:8px 12px}.sidebar--ca .sidebar-logo{object-fit:contain;object-position:center center;width:auto;max-width:168px;height:36px;display:block}.sidebar--ca .sidebar-nav--ca{gap:4px;padding:8px 0 0}.sidebar--ca .sidebar-nav-group{border-top:1px solid #ffffff1f;margin-top:10px;padding-top:10px}.sidebar--ca .sidebar-nav-label{color:#ffffff8c;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0 10px 6px}.sidebar--ca .nav-item{color:#ffffffeb;font-size:var(--font-size-13);font-weight:var(--font-weight-medium);border-radius:4px;gap:10px;padding:8px 12px}.sidebar--ca .nav-item:hover{color:#fff;background:#ffffff14}.sidebar--ca .nav-item.active{color:#172a4f;font-weight:var(--font-weight-bold);background:#fff}.sidebar--ca .nav-icon-svg{flex:0 0 18px;width:18px;height:18px}.sidebar--ca .sidebar-footer--ca{color:#ffffffb3;background:0 0;border-top:1px solid #ffffff1f;border-radius:0;margin-top:auto;padding:10px 12px 0}.sidebar--ca .sidebar-footer--ca .role-pill{color:#fff;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.06em;background:#ffffff1f;border-radius:3px;margin:10px 0 0;padding:2px 8px;display:inline-flex}.content-area--ca{background:#f5f6f8;flex:1;min-width:0;min-height:100vh}.topbar--ca{z-index:40;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-bottom:1px solid #e5e7eb;min-height:56px;padding:8px 20px;position:sticky;top:0;box-shadow:0 1px 2px #172a4f0f}.topbar--ca .topbar-logo{display:none}.topbar--ca .topbar-title-block .eyebrow{font-size:var(--font-size-11);color:#6b7280;margin:0}.topbar--ca .topbar-title-block h2{font-size:var(--font-size-18);font-weight:var(--font-weight-semibold);color:#172a4f;margin:0}.topbar--ca .icon-button{background:#f5f6f8;border-radius:4px;width:36px;height:36px}.topbar--ca .user-chip{box-shadow:none;background:#f5f6f8;border:1px solid #d1d5db;border-radius:6px;padding:4px 8px 4px 4px}.topbar--ca .avatar{width:28px;height:28px;font-size:var(--font-size-12);background:#334155;border-radius:4px}.topbar--ca .user-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:var(--font-size-12);color:#334155;overflow:hidden}.topbar--ca .role-badge{color:#475569;font-size:var(--font-size-10);font-weight:var(--font-weight-semibold);background:#e2e8f0;border-radius:4px}.topbar--ca .lang-switch--ca{background:#fff;border:1px solid #d1d5db;border-radius:6px;gap:0;padding:0;overflow:hidden}.topbar--ca .lang-switch--ca .lang-sep{display:none}.topbar--ca .lang-switch--ca button{color:#475569;font-weight:var(--font-weight-semibold);font-size:var(--font-size-12);border-radius:0;padding:5px 10px;line-height:1.2}.topbar--ca .lang-switch--ca button+button{border-left:1px solid #d1d5db}.topbar--ca .lang-switch--ca button.active{color:#fff;background:#172a4f}.topbar--ca .topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.topbar--ca .dropdown-menu{z-index:50;border-radius:4px;box-shadow:0 8px 24px #172a4f1f}.main-content--ca{background:#f5f6f8;padding:24px 32px 36px}.ca-page-frame{width:calc(100% - 80px);min-width:0;max-width:1220px;margin-left:auto;margin-right:auto}.favorites-page.ca-page-frame{width:calc(100% - 96px);max-width:960px}.ca-dashboard-page{flex-direction:column;gap:14px;display:flex}.ca-dashboard-intro{min-width:0;padding:4px 2px 2px}.ca-dashboard-title{color:#172a4f;font-size:var(--font-size-22);font-weight:var(--font-weight-bold);white-space:nowrap;overflow-wrap:normal;word-break:keep-all;margin:0;line-height:1.35}.ca-dashboard-lead{color:#64748b;font-size:var(--font-size-13);max-width:46rem;margin:6px 0 0;line-height:1.55}.summary-grid--ca{align-items:stretch;gap:10px}.ca-dashboard-page .dashboard-card,.ca-dashboard-page .panel-card--ca{box-shadow:none;background:#fff;border:1px solid #e1e5ea;border-radius:6px}.ca-dashboard-page .dashboard-card{flex-direction:column;justify-content:flex-start;min-height:0;padding:12px 14px;display:flex}.ca-dashboard-page .dashboard-card.accent-neutral,.ca-dashboard-page .dashboard-card.accent-pink,.ca-dashboard-page .dashboard-card.accent-blue,.ca-dashboard-page .dashboard-card.accent-green,.ca-dashboard-page .dashboard-card.accent-purple{background:#fff}.ca-dashboard-page .dashboard-card .card-label{color:#64748b;font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);margin:0;line-height:1.3}.ca-dashboard-page .dashboard-card-value{color:#172a4f;font-size:var(--font-size-22);font-weight:var(--font-weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 2px;line-height:1.1}.ca-dashboard-page .dashboard-card-detail{color:#94a3b8;font-size:var(--font-size-11);line-height:1.35}.ca-dashboard-page .dashboard-status-card{box-shadow:none;cursor:default;pointer-events:none;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;flex-direction:column;justify-content:flex-start;min-width:0;min-height:0;padding:12px 14px;display:flex}.ca-dashboard-page .dashboard-status-card .card-label{color:#64748b;font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);margin:0}.ca-dashboard-page .dashboard-status-badge{color:#475569;font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);background:#fff;border:1px solid #cbd5e1;border-radius:4px;align-items:center;margin-top:6px;padding:3px 9px;line-height:1.3;display:inline-flex}.ca-dashboard-page .dashboard-status-hint{color:#94a3b8;font-size:var(--font-size-11);margin-top:4px;line-height:1.35;display:block}.ca-dashboard-page .dashboard-card.is-disabled{opacity:.78;cursor:default}.ca-dashboard-page .dashboard-card.is-disabled .dashboard-card-value{color:#64748b;font-size:var(--font-size-15);font-weight:var(--font-weight-semibold)}.ca-dashboard-page .panel-card--ca{padding:16px 18px}.ca-dashboard-page .panel-header h3{color:#172a4f;font-size:var(--font-size-15);font-weight:var(--font-weight-bold);margin:0}.sidebar--ca .nav-item--disabled{color:#ffffff7a;font-size:var(--font-size-13);cursor:not-allowed;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:10px;padding:8px 12px;display:flex}.sidebar--ca .nav-item--disabled:hover,.sidebar--ca .nav-item--disabled.active{color:#ffffff7a;background:0 0}.sidebar--ca .nav-item-text{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:inline-flex}.sidebar--ca .nav-coming-soon{color:#ffffffb3;font-size:var(--font-size-10);font-weight:var(--font-weight-bold);letter-spacing:.02em;white-space:nowrap;border:1px solid #ffffff47;border-radius:3px;align-items:center;padding:1px 6px;line-height:1.3;display:inline-flex}.placeholder-panel--coming-soon .placeholder-status-badge{color:#64748b;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);border:1px solid #d0d7e2;border-radius:3px;margin-top:12px;padding:2px 8px;display:inline-flex}.topbar--ca .topbar-title-block{min-width:0}.topbar--ca .topbar-title-block h2{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:keep-all;overflow:hidden}.job-search-page .search-conditions-card{background:#fff;border:1px solid #d9dee7;border-radius:4px;padding:14px 16px 12px;box-shadow:0 1px 2px #172a4f0d}.job-search-page .search-conditions-header{border-bottom:1px solid #eceff3;margin-bottom:10px;padding-bottom:8px}.job-search-page .search-conditions-header h3{font-size:var(--font-size-15);color:#172a4f;margin:2px 0 0}.job-search-page .search-conditions-toggle{color:#172a4f;box-shadow:none;background:#fff;border:1px solid #cfd6e2;border-radius:4px;transform:none}.source-filter-row{border-bottom:1px solid #eceff3;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;padding:0 0 8px;display:flex}.source-filter-label{color:#172a4f;min-width:5.5rem;font-size:var(--font-size-12);font-weight:var(--font-weight-bold);flex:none}.source-filter-options{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.source-option{color:#334155;font-size:var(--font-size-13);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.source-option input[type=checkbox]{cursor:pointer;flex:none;width:14px;height:14px;margin:0}.source-option input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #172a4f73}.source-option-swatch{background:#cbd5e1;border-radius:1px;flex:none;width:8px;height:8px}.source-option.is-selected{color:#172a4f;font-weight:var(--font-weight-semibold)}.source-swatch-anavi{background:#7c3aed}.source-swatch-jobins{background:#2563eb}.source-swatch-cbank{background:#16a34a}.source-swatch-circus{background:#ea580c}.keyword-rows--circus{grid-template-columns:5.5rem minmax(0,1fr);gap:4px 8px;margin-bottom:8px;display:grid}.keyword-rows-heading{grid-area:1/1;padding-top:10px}.keyword-rows-label{color:#172a4f;font-size:var(--font-size-12);font-weight:var(--font-weight-bold)}.keyword-rows--circus .keyword-row{background:0 0;border:none;border-radius:0;grid-column:2;grid-template-columns:minmax(170px,200px) minmax(0,1fr) minmax(210px,240px) auto;align-items:center;gap:6px;padding:0;display:grid}.keyword-rows--circus .filter-field{gap:0}.job-search-page .filter-field{gap:4px}.job-search-page .filter-field input:not([type=checkbox]):not([type=radio]),.job-search-page .filter-field select,.job-search-page .input-with-suffix input,.job-search-page .results-header-controls select{box-sizing:border-box;height:36px;min-height:36px;font-size:var(--font-size-13);background:#fff;border:1px solid #cfd6e2;border-radius:4px;padding:0 10px;line-height:1.3}.job-search-page .keyword-add,.job-search-page .keyword-remove{color:#172a4f;background:#fff;border:1px solid #cfd6e2;border-radius:4px;height:36px;min-height:36px;transform:none}.job-search-page .keyword-remove{width:32px;padding:0}.job-search-page .keyword-add{font-size:var(--font-size-12);grid-column:2;justify-self:start;margin-top:2px;padding:0 12px}.job-search-page .search-filters .feature-toolbar{background:#fafbfc;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:8px;padding:8px 10px}.job-search-page .search-filters .feature-bar-header{margin-bottom:6px}.job-search-page .search-filters .feature-toolbar-row{align-items:center;gap:8px}.job-search-page .feature-chip,.job-search-page .favorites-toggle{font-size:var(--font-size-12);border-radius:4px;padding:4px 10px}.job-search-page .feature-chip-row{gap:6px}.job-search-page .feature-chip:hover,.job-search-page .favorites-toggle:hover{background:#f8fafc;border-color:#cfd6e2}.job-search-page .feature-chip.is-selected,.job-search-page .favorites-toggle.is-on{color:#172a4f;box-shadow:none;background:#eef2f8;border-color:#172a4f}.job-search-page .favorites-toggle.is-on .favorites-toggle-switch{background:#172a4f}.job-search-page .favorites-toggle-input:focus-visible+.favorites-toggle-switch{outline-color:#172a4f}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-bottom:6px;display:grid}.filter-row-salary{flex-wrap:wrap;align-items:flex-end;gap:6px 10px;display:flex}.filter-row-label{color:#172a4f;font-size:var(--font-size-12);font-weight:var(--font-weight-bold);flex:0 0 5.5rem;padding-bottom:10px}.salary-range-controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.salary-range-controls .filter-field{flex:none;min-width:120px;max-width:150px}.salary-range-sep{color:#64748b;padding-bottom:8px}.job-search-page .filter-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-bottom:2px}.job-search-page .filter-grid{gap:6px 10px}.job-search-page .filter-section .filter-field>select,.job-search-page .filter-section .filter-field>input:not([type=checkbox]):not([type=radio]),.job-search-page .filter-section .filter-field>.input-with-suffix,.job-search-page .filter-section .prefecture-trigger{width:100%;max-width:320px}.job-search-page .filter-section-more .filter-field>select,.job-search-page .filter-section-more .filter-field>input:not([type=checkbox]):not([type=radio]),.job-search-page .filter-section-more .filter-field>.input-with-suffix{max-width:240px}.job-search-page .prefecture-trigger{box-sizing:border-box;height:36px;min-height:36px;font-size:var(--font-size-13);border:1px solid #cfd6e2;border-radius:4px;align-items:center;padding:0 10px;display:inline-flex}.job-search-page .prefecture-trigger.has-value{background:#fff;border-color:#172a4f}.search-actions--circus{border-top:1px solid #eceff3;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:grid}.circus-more-btn,.search-actions--circus .search-clear-btn{color:#172a4f;min-height:36px;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);box-shadow:none;background:#fff;border:1px solid #c5cddb;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;display:inline-flex;transform:none}.search-actions--circus .search-clear-btn{justify-self:end}.search-actions--circus .search-submit{color:#fff;min-width:min(320px,100%);min-height:42px;font-size:var(--font-size-13);font-weight:var(--font-weight-bold);box-shadow:none;background:#f97316;border:none;border-radius:3px;justify-self:center;padding:8px 22px;transform:none}.search-actions--circus .search-submit:hover{background:#ea580c;transform:none}.job-search-page,.location-selector-overlay{--search-action-navy:#172a4f;--search-action-navy-hover:#122444;--search-action-navy-focus:#172a4f73}.job-search-page .search-primary-action,.location-selector-modal .search-primary-action{border:1px solid var(--search-action-navy);background:var(--search-action-navy);color:#fff;min-height:36px;font-size:var(--font-size-13);font-weight:var(--font-weight-bold);box-shadow:none;cursor:pointer;border-radius:3px;padding:8px 18px;transform:none}.job-search-page .search-primary-action:hover,.location-selector-modal .search-primary-action:hover{background:var(--search-action-navy-hover);transform:none}.job-search-page .search-primary-action:focus-visible,.location-selector-modal .search-primary-action:focus-visible{outline:2px solid var(--search-action-navy-focus);outline-offset:2px}.job-search-page .search-primary-action:disabled{opacity:.55;cursor:not-allowed}.job-search-page .search-secondary-action,.location-selector-modal .search-secondary-action{border:1px solid var(--search-action-navy);min-height:36px;color:var(--search-action-navy);font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);box-shadow:none;cursor:pointer;background:#fff;border-radius:3px;padding:8px 18px;transform:none}.job-search-page .search-secondary-action:hover,.location-selector-modal .search-secondary-action:hover{background:#f8fafc;transform:none}.job-search-page .search-secondary-action:focus-visible,.location-selector-modal .search-secondary-action:focus-visible{outline:2px solid var(--search-action-navy-focus);outline-offset:2px}.job-search-page .search-clear-action,.location-selector-modal .search-clear-action{color:#64748b;min-height:36px;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);box-shadow:none;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:8px 12px;transform:none}.job-search-page .search-clear-action:hover,.location-selector-modal .search-clear-action:hover{color:#334155;background:#f1f5f9;transform:none}.job-search-page .search-clear-action:focus-visible,.location-selector-modal .search-clear-action:focus-visible{outline:2px solid var(--search-action-navy-focus);outline-offset:2px}.job-search-page .search-actions--circus .search-submit.search-primary-action{background:var(--search-action-navy);border-color:var(--search-action-navy);box-shadow:none}.job-search-page .search-actions--circus .search-submit.search-primary-action:hover{background:var(--search-action-navy-hover)}.job-search-page .prefecture-option input[type=checkbox]{accent-color:var(--search-action-navy)}.job-search-page .prefecture-option input[type=checkbox]:checked{border-color:var(--search-action-navy);background-color:var(--search-action-navy)}.job-search-page .prefecture-option input[type=checkbox]:focus-visible{outline-color:var(--search-action-navy-focus)}.job-search-page .prefecture-option.selected{color:var(--search-action-navy);background:#eef2f7;border-color:#172a4f47}.job-search-page .prefecture-actions .search-primary-action{background:var(--search-action-navy);border-color:var(--search-action-navy)}.location-region-select-all{cursor:pointer;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:#334155;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;display:flex}.location-region-select-all.is-selected{color:var(--search-action-navy,#172a4f)}.location-region-select-all input[type=checkbox]{width:16px;height:16px;accent-color:var(--search-action-navy,#172a4f);cursor:pointer;margin:0}.location-region-select-all-label{line-height:1.3}.job-search-page .search-results.panel-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.results-header--circus{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px 10px;margin:0 0 10px;padding:4px 0;display:grid}.results-count-block{min-width:0}.results-header--circus .results-count{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);color:#334155;font-variant-numeric:tabular-nums}.results-range{font-size:var(--font-size-12);color:#6b7280;margin:2px 0 0}.results-header--circus .search-pagination,.search-pagination.results-pagination{justify-content:center;margin:0}.results-header--circus .results-header-controls{justify-content:flex-end}.job-search-page .search-pagination{gap:4px}.job-search-page .pagination-pages{gap:2px}.job-search-page .pagination-page,.job-search-page .pagination-nav-btn{color:#334155;min-width:28px;height:28px;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);background:0 0;border:none;border-radius:50%;padding:0 6px}.job-search-page .pagination-page.active{color:#111827;background:#e5e7eb}.job-search-page .pagination-nav-btn:disabled{opacity:.35}@media (width<=1200px){.job-search-page.job-search-stack,.favorites-page.ca-page-frame{width:calc(100% - 64px)}}@media (width<=1100px){.keyword-rows--circus .keyword-row{flex-wrap:wrap;display:flex}.keyword-rows--circus .keyword-target-field{flex:0 0 180px}.keyword-rows--circus .keyword-input-field{flex:240px;min-width:0}.keyword-rows--circus .keyword-mode-field{flex:0 0 200px}.job-search-page .keyword-remove{flex:0 0 32px}.results-header--circus,.search-actions--circus{grid-template-columns:1fr;justify-items:stretch}.search-actions--circus .search-submit,.search-actions--circus .search-clear-btn,.circus-more-btn{justify-self:stretch;width:100%;min-width:0}.results-header--circus .results-header-controls{justify-content:flex-start}}@media (width<=960px){.job-search-page.job-search-stack{width:100%;max-width:none;margin-left:0;margin-right:0}.favorites-page.ca-page-frame{width:100%;max-width:none}.app-shell--ca{align-items:stretch}.app-shell--ca .sidebar--ca{z-index:50;align-self:auto;width:244px;height:100vh;max-height:none;position:fixed;top:0;bottom:0;left:0}.app-shell--ca .sidebar-backdrop{z-index:45}.main-content--ca{padding:16px 20px 28px}.ca-page-frame{width:100%;max-width:none}.ca-dashboard-title{white-space:normal;font-size:var(--font-size-18)}.hero-banner h2{font-size:var(--font-size-18)}.job-detail-title,.topbar--ca .topbar-title-block h2{font-size:var(--font-size-15)}.summary-grid--ca{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar--ca .topbar-logo--mobile{border-radius:0;height:32px;display:block}.keyword-rows--circus{grid-template-columns:1fr}.keyword-rows-heading{grid-area:auto;padding-top:0}.keyword-rows--circus .keyword-row,.job-search-page .keyword-add{grid-column:auto}.keyword-rows--circus .keyword-row{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.keyword-rows--circus .keyword-target-field,.keyword-rows--circus .keyword-input-field,.keyword-rows--circus .keyword-mode-field{flex:none}.job-search-page .keyword-remove{flex:none;align-self:flex-start}.filter-row{grid-template-columns:1fr}}@media (width<=640px){.main-content--ca{padding:12px 14px 24px}.summary-grid--ca{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ca-dashboard-page .dashboard-card,.ca-dashboard-page .dashboard-status-card{min-width:0;padding:9px 10px}.ca-dashboard-page .dashboard-card .card-label,.ca-dashboard-page .dashboard-status-card .card-label{font-size:var(--font-size-11);overflow-wrap:anywhere;line-height:1.3}.ca-dashboard-page .dashboard-card-value{font-size:var(--font-size-18);margin:3px 0 1px}.ca-dashboard-page .dashboard-card-detail,.ca-dashboard-page .dashboard-status-hint{font-size:var(--font-size-10);overflow-wrap:anywhere}.ca-dashboard-page .dashboard-status-badge{font-size:var(--font-size-10);margin-top:5px;padding:2px 7px}.topbar--ca{gap:8px;padding:8px 12px}.topbar--ca .lang-switch--ca button{font-size:var(--font-size-11);padding:4px 8px}.topbar--ca .user-chip-name{max-width:110px}.job-card{min-height:0;padding:12px}.source-filter-row{flex-direction:column;align-items:flex-start;gap:8px}.filter-row-salary{flex-direction:column;align-items:stretch}.salary-range-sep{text-align:center;padding:0}}.admin-app-shell{background:#f5f6f8;align-items:flex-start;min-height:100vh}.admin-app-shell .sidebar--admin{z-index:30;color:#fff;background:#172a4f;border-right:1px solid #122444;flex:0 0 244px;align-self:flex-start;gap:16px;width:244px;height:100vh;max-height:100vh;padding:16px 12px 18px;position:sticky;top:0;overflow:hidden auto}.admin-app-shell .sidebar-header--admin{border-bottom:1px solid #ffffff1f;padding:4px 4px 12px}.admin-app-shell .sidebar-logo-link--admin{box-sizing:border-box;background:#fff;border:1px solid #ffffff59;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:8px 12px;display:flex}.admin-app-shell .sidebar-logo-link--admin .sidebar-logo{object-fit:contain;object-position:center center;width:auto;max-width:168px;height:36px;display:block}.admin-app-shell .sidebar-nav--admin{gap:4px;padding:8px 0 0}.admin-app-shell .sidebar-nav-group{border-top:1px solid #ffffff1f;margin-top:10px;padding-top:10px}.admin-app-shell .sidebar-nav-label{color:#ffffff8c;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase;margin:0 10px 6px;padding:0}.admin-app-shell .nav-item{color:#ffffffeb;font-size:var(--font-size-13);font-weight:var(--font-weight-medium);border-radius:4px;gap:10px;padding:8px 12px}.admin-app-shell .nav-item:hover{color:#fff;background:#ffffff14}.admin-app-shell .nav-item.active{color:#172a4f;font-weight:var(--font-weight-bold);background:#fff}.admin-app-shell .nav-item-nested{font-size:var(--font-size-12);padding-left:20px!important}.admin-app-shell .sidebar-footer--admin{color:#ffffffb3;background:0 0;border-top:1px solid #ffffff1f;border-radius:0;margin-top:auto;padding:10px 12px 0}.admin-app-shell .sidebar-footer--admin .role-pill{color:#fff;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);letter-spacing:.06em;background:#ffffff1f;border-radius:3px;margin:10px 0 0;padding:2px 8px;display:inline-flex}.admin-app-shell .content-area{flex:1;min-width:0}.admin-app-shell .admin-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-bottom:1px solid #e2e8f0;gap:12px;padding:14px 24px}.admin-app-shell .admin-topbar .eyebrow{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:var(--font-size-11);font-weight:var(--font-weight-bold);margin-bottom:2px}.admin-app-shell .admin-topbar h2{font-size:var(--font-size-22);font-weight:var(--font-weight-semibold);color:#172a4f;margin:0;line-height:1.25}.admin-app-shell .admin-main{background:#f5f6f8;min-width:0;padding:20px 24px 32px}.admin-app-shell .admin-user-chip{color:#334155;font-size:var(--font-size-13);font-weight:var(--font-weight-medium);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px}.admin-app-shell .admin-user-chip .role-badge{color:#475569;font-size:var(--font-size-10);font-weight:var(--font-weight-semibold);background:#e2e8f0;border-radius:4px}.admin-app-shell .panel-card,.admin-app-shell .chart-card{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:16px}.admin-app-shell .kpi-card{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-top-width:3px;border-radius:6px;padding:14px 16px}.admin-app-shell .kpi-card.accent-pink,.admin-app-shell .kpi-card.accent-purple{background:#fff;border-top-color:#172a4f}.admin-app-shell .kpi-card.accent-blue{background:#fff;border-top-color:#2563eb}.admin-app-shell .kpi-card.accent-green{background:#fff;border-top-color:#0f9f6e}.admin-app-shell .kpi-card p{font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);color:#64748b}.admin-app-shell .kpi-card h3{font-size:var(--font-size-22);font-weight:var(--font-weight-bold);color:#172a4f}.admin-app-shell .ca-summary-kpi{background:#fff;border-top-color:#172a4f;border-radius:6px;padding:12px 14px}.admin-app-shell .ca-summary-kpi p{font-size:var(--font-size-12)}.admin-app-shell .ca-summary-kpi strong{font-size:var(--font-size-22);color:#172a4f}.admin-app-shell .source-bar{background:#e2e8f0}.admin-app-shell .source-bar-fill{background:#2563eb}.admin-app-shell .primary-button{box-shadow:none;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);background:#172a4f;border-radius:6px}.admin-app-shell .primary-button:hover{background:#122444;transform:none}.admin-app-shell .secondary-button{color:#334155;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);background:#fff;border:1px solid #d1d5db;border-radius:6px}.admin-app-shell .secondary-button:hover{background:#f8fafc;transform:none}.admin-app-shell .ghost-button{font-size:var(--font-size-13);border:1px solid #e2e8f0;border-radius:6px}.admin-app-shell .text-button{color:#172a4f;font-size:var(--font-size-13);font-weight:var(--font-weight-semibold)}.admin-app-shell .table-shell{min-width:0}.admin-app-shell .table-shell table{width:100%;min-width:0}.admin-app-shell th{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);text-transform:none;letter-spacing:normal;color:#64748b;background:#f8fafc;padding:10px 8px}.admin-app-shell td{font-size:var(--font-size-13);vertical-align:top;padding:10px 8px}.admin-app-shell .sync-source-card{border-radius:6px;min-width:0;padding:14px}.admin-app-shell .sync-source-card.health-running{border-top-color:#2563eb}.admin-app-shell .sync-source-card-top strong,.admin-app-shell .scraper-overview-card-head h3{font-size:var(--font-size-15);font-weight:var(--font-weight-semibold);color:#172a4f}.admin-app-shell .sync-source-dl dt{font-size:var(--font-size-11);font-weight:var(--font-weight-bold)}.admin-app-shell .sync-source-dl dd{font-size:var(--font-size-13);font-weight:var(--font-weight-medium)}.admin-app-shell .scraper-progress-fill{background:linear-gradient(90deg,#172a4f,#2563eb)}.admin-app-shell .scraper-progress-bar.indeterminate .scraper-progress-fill.indeterminate{background:#172a4f}.admin-app-shell .scraper-global-banner{background:#172a4f0f;border:1px solid #172a4f2e;border-radius:8px}.admin-app-shell .scraper-manual-login{background:#fffbeb;border-left:3px solid #d97706}.admin-app-shell .scraper-source-header h2{font-size:var(--font-size-18);font-weight:var(--font-weight-semibold);color:#172a4f;margin:0 0 8px}.admin-app-shell .admin-feature-form input,.admin-app-shell .admin-feature-form select,.admin-app-shell .modal-form input,.admin-app-shell .modal-form select{font-size:var(--font-size-13);border:1px solid #d1d5db;border-radius:4px}.admin-app-shell .admin-feature-label,.admin-app-shell .modal-form label{font-size:var(--font-size-12);font-weight:var(--font-weight-bold);color:#334155}.admin-app-shell .admin-notify-bell{background:#fff;border:1px solid #e2e8f0;border-radius:6px}.admin-app-shell .admin-notify-bell:hover{background:#f8fafc}.admin-app-shell .chart-card h3,.admin-app-shell .panel-header h3{font-size:var(--font-size-15);font-weight:var(--font-weight-semibold);color:#172a4f}.admin-app-shell .admin-two-col,.admin-app-shell .charts-grid{gap:14px}.admin-app-shell .admin-analytics{gap:16px}.admin-app-shell .kpi-grid{gap:12px}.lang-switch--admin-login,.lang-switch--ca-login{background:#fff;border:1px solid #d1d5db;border-radius:6px;gap:0;padding:0;overflow:hidden}.lang-switch--admin-login .lang-sep,.lang-switch--ca-login .lang-sep{display:none}.lang-switch--admin-login button,.lang-switch--ca-login button{color:#475569;font-weight:var(--font-weight-semibold);font-size:var(--font-size-12);cursor:pointer;background:0 0;border-radius:0;padding:5px 12px;line-height:1.2}.lang-switch--admin-login button+button,.lang-switch--ca-login button+button{border-left:1px solid #d1d5db}.lang-switch--admin-login button.active,.lang-switch--ca-login button.active{color:#fff;background:#172a4f}.auth-shell.admin .auth-login-button{background:#172a4f}.auth-shell.admin .auth-login-button:hover{background:#122444}.auth-shell.admin .auth-login-button:focus-visible{outline-offset:2px;outline:2px solid #172a4f}.confirm-overlay{background:#0f172a66}.modal-card.confirm-dialog{border:1px solid #e2e8f0;border-radius:8px;width:min(100%,420px);max-width:min(420px,100vw - 32px);padding:20px 22px;box-shadow:0 12px 32px #172a4f24}.confirm-dialog h3{font-size:var(--font-size-18);font-weight:var(--font-weight-semibold);color:#172a4f;margin:0}.confirm-dialog p{font-size:var(--font-size-13);color:#64748b;margin-top:8px;line-height:1.5}.confirm-dialog .ghost-button,.confirm-dialog .danger-button,.confirm-dialog .primary-button{font-size:var(--font-size-13);font-weight:var(--font-weight-semibold);border-radius:6px}@media (width<=1024px){.admin-app-shell .admin-two-col,.admin-app-shell .charts-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.admin-app-shell .admin-topbar{padding:12px 16px}.admin-app-shell .admin-topbar h2{font-size:var(--font-size-18)}.admin-app-shell .admin-main{padding:16px}.admin-app-shell .page-header-actions{justify-content:flex-start;width:100%}.admin-app-shell .ca-summary-stats{grid-template-columns:1fr}.admin-app-shell .recent-ca-row{grid-template-columns:minmax(0,1fr);gap:4px}.admin-app-shell .recent-ca-head{display:none}.admin-app-shell .sync-source-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.admin-app-shell .admin-user-chip span:not(.avatar):not(.role-badge){text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.lang-switch--admin-login button,.lang-switch--ca-login button{padding:5px 10px}}@media (width<=960px){.admin-app-shell .sidebar--admin{z-index:20;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-103%)}.admin-app-shell .sidebar--admin.open{transform:translate(0)}}
