:root{--bg:#f4f5fa;--surface:#fff;--surface-raised:#eef0f7;--surface-sunken:#f8f9fc;--border:#e3e6f0;--border-strong:#ccd1e0;--scrim:#23273a61;--surface-blur:#ffffffe0;--text:#565b70;--text-muted:#878da3;--text-strong:#23273a;--accent:#5c62b8;--accent-hover:#4b51a3;--accent-soft:#5c62b81a;--accent-border:#5c62b852;--on-accent:#fff;--ok:#33805c;--ok-bg:#4aa0741f;--ok-border:#4aa07452;--warn:#96681f;--warn-bg:#d4a03e29;--warn-border:#d4a03e6b;--danger:#a94a4a;--danger-bg:#c864641f;--danger-border:#c864644d;--info:#31718f;--info-bg:#5096b91f;--info-border:#5096b952;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-full:999px;--shadow-sm:0 1px 2px #23273a0f;--shadow-md:0 6px 18px #23273a14;--shadow-lg:0 18px 44px #23273a29;--ff:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.9375rem;--fs-lg:clamp(1.0625rem, .98rem + .4vw, 1.1875rem);--fs-xl:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--sidebar-w:272px;--bottom-nav-h:60px;--tap:44px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--ff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--ff);-webkit-tap-highlight-color:transparent;min-height:100svh}#root{min-height:100svh}h1,h2,h3{color:var(--text-strong);font-weight:650;line-height:1.25}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent-hover)}ul{list-style:none}:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.lucide{vertical-align:-.22em;stroke-width:2px;flex:none;width:1.15em;height:1.15em}.job-meta span,.candidature-meta span,.stats span,.last-run span,.search-date,.search-stats,.weather-mini-card strong,.weather-day-card strong,.weather-icon,.postule-offline{align-items:center;gap:var(--sp-1);display:inline-flex}h1>.lucide,h2>.lucide,h3>.lucide{margin-right:var(--sp-1);color:var(--accent)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn,.prepare-btn,.copy-btn,.postule-btn,.annuler-btn,.back-btn,.download-btn,.weather-location-btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-raised);color:var(--text-strong);font-size:var(--fs-sm);text-align:center;cursor:pointer;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover,.prepare-btn:hover,.copy-btn:hover,.postule-btn:hover,.annuler-btn:hover,.back-btn:hover,.download-btn:hover,.weather-location-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.btn:active,.prepare-btn:active,.postule-btn:active,.download-btn:active{transform:scale(.985)}.btn:disabled,.prepare-btn:disabled,.copy-btn:disabled,.postule-btn:disabled,.annuler-btn:disabled{opacity:.55;cursor:default;transform:none}.prepare-btn,.btn--primary{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-hover)}.prepare-btn:hover,.btn--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.postule-btn,.btn--success,.download-btn.primary{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok)}.postule-btn:hover,.btn--success:hover,.download-btn.primary:hover{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}.annuler-btn,.back-btn,.btn--ghost{border-color:var(--border);color:var(--text-muted);background:0 0;font-weight:500}.annuler-btn:hover,.back-btn:hover,.btn--ghost:hover{color:var(--text-strong);background:var(--surface)}.annuler-btn,.btn--sm{min-height:34px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn--block{width:100%}.chip,.badge,.badge-postuler,.badge-peut-etre,.badge-passer,.badge-applied,.badge-applied-small,.badge-agency,.badge-relance-due,.optional-badge{align-items:center;gap:var(--sp-1);border-radius:var(--r-full);background:var(--surface-raised);color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;padding:.2rem .6rem;font-weight:700;display:inline-flex}.badge-postuler{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.badge-peut-etre{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.badge-passer{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.badge-applied,.badge-applied-small{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.badge-agency{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.badge-relance-due{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.optional-badge{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-hover)}.panel,.cv-generator-panel,.manual-cv-progress,.manual-cv-result,.manual-cv-form{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.manual-cv-form input,.manual-cv-form textarea,.weather-search input{width:100%;min-height:var(--tap);padding:var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-strong);font:inherit;font-size:var(--fs-md)}.manual-cv-form input:focus,.manual-cv-form textarea:focus,.weather-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.manual-cv-form input:disabled,.manual-cv-form textarea:disabled{opacity:.6}.prepare-message,.cv-feedback,.backend-warning{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.5}.prepare-message.success,.cv-feedback.success{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.prepare-message.error,.cv-feedback.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.backend-warning{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn);margin-bottom:var(--sp-4)}.backend-warning code{background:color-mix(in srgb, var(--warn) 18%, transparent);border-radius:4px;padding:.1rem .35rem;font-family:ui-monospace,Consolas,monospace;font-size:.95em}.cv-feedback{justify-content:space-between;align-items:center;gap:var(--sp-3);margin:var(--sp-3) 0;display:flex}.cv-feedback a{color:inherit;white-space:nowrap;font-weight:700}.prepare-message{margin-top:var(--sp-3)}.app-layout{min-height:100svh}.main-content{padding:var(--sp-4) var(--sp-4) calc(var(--bottom-nav-h) + var(--safe-b) + var(--sp-6) + var(--tap))}.sidebar{display:none}.bottom-nav{z-index:30;height:calc(var(--bottom-nav-h) + var(--safe-b));padding-bottom:var(--safe-b);border-top:1px solid var(--border);background:var(--surface-blur);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav-item{color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.625rem;font-weight:600;display:flex;position:relative}.bottom-nav-item .nav-icon{font-size:1.15rem;line-height:1}.bottom-nav-item.active{color:var(--text-strong)}.bottom-nav-item.active:before{content:"";background:var(--accent);border-radius:0 0 2px 2px;width:28px;height:2px;position:absolute;top:0}.nav-count{border-radius:var(--r-full);background:var(--accent);min-width:17px;color:var(--on-accent);text-align:center;padding:0 4px;font-size:.625rem;line-height:17px;position:absolute;top:4px;left:55%}.fab{right:var(--sp-4);bottom:calc(var(--bottom-nav-h) + var(--safe-b) + var(--sp-3));z-index:25;min-height:48px;padding:0 var(--sp-4);border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-sm);box-shadow:var(--shadow-lg);cursor:pointer;border:0;font-weight:700;position:fixed}.fab:disabled{background:var(--surface-raised);color:var(--text-muted);cursor:default}.more-backdrop{z-index:40;background:var(--scrim);border:0;position:fixed;inset:0}.more-sheet{inset:auto 0 calc(var(--bottom-nav-h) + var(--safe-b)) 0;z-index:41;max-height:68svh;padding:var(--sp-4) var(--sp-4) var(--sp-5);border-top:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-lg);position:fixed;overflow-y:auto}.more-sheet:before{content:"";width:40px;height:4px;margin:0 auto var(--sp-4);border-radius:var(--r-full);background:var(--border-strong);display:block}.more-sheet h2{margin:var(--sp-4) 0 var(--sp-2);color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.more-sheet h2:first-of-type{margin-top:0}.search-btn{width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-1);border-radius:var(--r-sm);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:2px;display:flex}.search-btn:hover{background:var(--surface-raised)}.search-btn.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--text-strong)}.search-date{font-size:var(--fs-sm);font-weight:650}.search-stats{color:var(--text-muted);font-size:var(--fs-xs)}.search-btn.active .search-stats{color:var(--accent-hover)}.manual-cv-nav{border-color:var(--accent-border)}.last-run{margin-bottom:var(--sp-4);color:var(--text-muted);font-size:var(--fs-xs);line-height:1.6}.last-run .postuler{color:var(--ok)}.last-run .peut-etre{color:var(--warn)}.sidebar-divider{height:1px;margin:var(--sp-4) 0;background:var(--border);border:0}.search-header{margin-bottom:var(--sp-4)}.search-header h1,.candidatures-list h1,.candidature-detail h1,.agencies-list h1{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}.stats{gap:var(--sp-2);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.stats .postuler{color:var(--ok)}.stats .peut-etre{color:var(--warn)}.tabs{gap:var(--sp-2);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);scrollbar-width:none;scroll-snap-type:x proximity;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;scroll-snap-align:start;background:0 0;flex:none;font-weight:600;display:inline-flex}.tab:hover{border-color:var(--border-strong);color:var(--text-strong)}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tab .badge{background:color-mix(in srgb, var(--text-strong) 8%, transparent);color:inherit;padding:0 .4rem;font-size:.6875rem}.tab.active .badge{background:#ffffff38}.job-list,.candidatures-list,.agencies-list{gap:var(--sp-3);flex-direction:column;display:flex}.candidatures-list>h1,.agencies-list>header{margin-bottom:var(--sp-1)}.job-card{padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.job-card:before{content:"";background:var(--border-strong);height:3px;position:absolute;inset:0 0 auto}.job-card.postuler:before{background:var(--ok)}.job-card.peut-etre:before{background:var(--warn)}.job-card.passer:before{background:var(--danger)}.job-card.agency-card:before{background:var(--info)}.job-card.is-applied:before{background:var(--ok)}.job-card.postuler{background:linear-gradient(180deg, var(--ok-bg) 0%, transparent 90px), var(--surface)}.job-card.peut-etre{background:linear-gradient(180deg, var(--warn-bg) 0%, transparent 90px), var(--surface)}.job-card.agency-card{background:linear-gradient(180deg, var(--info-bg) 0%, transparent 90px), var(--surface)}.job-card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.job-card.clickable:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md)}.job-card.clickable:active{transform:scale(.995)}.job-excerpt{margin-top:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.card-top{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.card-badges{gap:var(--sp-2);flex-wrap:wrap;display:flex}.job-score{color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;font-weight:700}.job-score strong{color:var(--text-strong);font-size:var(--fs-md)}.job-header h3{font-size:var(--fs-lg);line-height:1.3}.job-company{margin-top:var(--sp-1);color:var(--text-strong);font-size:var(--fs-md);font-weight:600}.job-meta{gap:var(--sp-1) var(--sp-3);margin-top:var(--sp-2);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.meta-applied{color:var(--ok);font-weight:600}.job-analysis-details{margin-top:var(--sp-3);border-top:1px solid var(--border);padding-top:var(--sp-3)}.job-analysis-details>summary{align-items:center;gap:var(--sp-2);min-height:32px;color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;font-weight:600;list-style:none;display:flex}.job-analysis-details>summary::-webkit-details-marker{display:none}.job-analysis-details>summary:after{content:"▾";margin-left:auto;transition:transform .15s}.job-analysis-details[open]>summary:after{transform:rotate(180deg)}.job-analysis{margin-top:var(--sp-2);color:var(--text);font-size:var(--fs-sm);line-height:1.6}.job-points{margin-top:var(--sp-3);font-size:var(--fs-sm)}.job-points strong{color:var(--ok);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.job-points.warning strong{color:var(--warn)}.job-points ul{margin-top:var(--sp-2);gap:var(--sp-1);display:grid}.job-points li{padding-left:var(--sp-4);color:var(--text);line-height:1.5;position:relative}.job-points li:before{content:"";background:var(--ok);border-radius:50%;width:4px;height:4px;position:absolute;top:.55em;left:4px}.job-points.warning li:before{background:var(--warn)}.prepare-actions,.postule-actions,.agency-actions,.cv-actions,.postule-zone{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.prepare-actions>.prepare-btn,.job-card .job-link{flex:100%}.job-link{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-strong);font-size:var(--fs-sm);font-weight:600;text-decoration:none;display:inline-flex}.job-link:hover{border-color:var(--accent);background:var(--accent-soft)}.candidature-detail h2{margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-lg)}.candidature-meta{gap:var(--sp-3);margin-bottom:var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.back-btn{margin-bottom:var(--sp-4)}.postule-applied{align-items:center;gap:var(--sp-2);display:flex}.postule-error{color:var(--danger);font-size:var(--fs-xs)}.postule-offline{color:var(--text-muted);font-size:var(--fs-xs);font-style:italic}.lettre-content{max-height:65svh;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken);color:var(--text);font-family:inherit;font-size:var(--fs-md);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;overflow-y:auto}.cv-generator-panel{margin-top:var(--sp-5)}.cv-generator-heading{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.candidature-detail .cv-generator-heading h2{margin:0}.cv-generator-help{margin:var(--sp-3) 0;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6}.cv-generator-note{color:var(--warn);font-size:var(--fs-xs)}.cv-generator-panel h3{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-md)}.cv-review{gap:var(--sp-2);margin-bottom:var(--sp-4);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.cv-review span{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-sunken);color:var(--text);padding:.25rem .65rem}.cv-assessment{gap:var(--sp-3);margin:var(--sp-4) 0;padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken);display:grid}.cv-assessment-heading,.cv-assessment-grid,.cv-assessment-control,.cv-assessment-score{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.cv-assessment-heading h3{margin:var(--sp-1) 0 0}.cv-assessment-status,.cv-assessment-control strong{border-radius:var(--r-full);font-size:var(--fs-xs);padding:.25rem .65rem}.cv-assessment-status.ready,.cv-assessment-control strong.pass{background:var(--ok-bg);color:var(--ok)}.cv-assessment-status.review,.cv-assessment-control strong.review{background:var(--warn-bg);color:var(--warn)}.cv-assessment-status.blocked,.cv-assessment-control strong.fail{background:var(--danger-bg);color:var(--danger)}.cv-assessment-grid{align-items:stretch}.cv-assessment-controls,.cv-assessment-scores{gap:var(--sp-2);flex:280px;display:grid}.cv-assessment-control,.cv-assessment-score{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.cv-assessment-score strong{color:var(--text-strong);font-size:var(--fs-lg)}.cv-assessment-score small{color:var(--text-muted)}.cv-assessment-alerts{padding:var(--sp-3);border:1px solid var(--warn-border);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-sm)}.cv-assessment-alerts ul{margin:var(--sp-2) 0 0 var(--sp-4)}@media (width<=680px){.cv-assessment-grid{flex-direction:column;align-items:stretch}.cv-assessment-heading{align-items:flex-start}}.manual-cv-view{gap:var(--sp-4);display:grid}.manual-cv-header{padding:var(--sp-5) var(--sp-4);border:1px solid var(--accent-border);border-radius:var(--r-lg);background:linear-gradient(140deg, var(--accent-soft), transparent 70%), var(--surface)}.manual-cv-kicker{color:var(--accent-hover);font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;font-weight:800}.manual-cv-header h1{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-xl)}.manual-cv-header p{max-width:68ch;color:var(--text);font-size:var(--fs-md);line-height:1.6}.manual-cv-fields{gap:var(--sp-3);display:grid}.manual-cv-form label{gap:var(--sp-2);color:var(--text-strong);font-size:var(--fs-sm);font-weight:650;display:grid}.manual-cv-form label>span,.manual-cv-description small{color:var(--text-muted);font-size:var(--fs-xs);font-weight:500}.manual-cv-description{margin-top:var(--sp-4)}.manual-cv-description strong{color:var(--accent-hover);font-size:var(--fs-xs)}.manual-cv-description textarea{resize:vertical;min-height:220px;line-height:1.6}.manual-cv-description small{justify-self:end}.manual-cv-submit-row{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.manual-cv-submit{flex:100%}.manual-cv-submit-row>span{color:var(--text-muted);font-size:var(--fs-xs)}.manual-cv-progress h2,.manual-cv-result h2{font-size:var(--fs-lg)}.manual-cv-progress ol{gap:var(--sp-3);margin-top:var(--sp-4);list-style:none;display:grid}.manual-cv-progress li{align-items:center;gap:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);display:flex}.manual-cv-progress li strong{border:1px solid var(--border-strong);width:1.75rem;height:1.75rem;font-size:var(--fs-xs);border-radius:50%;flex:none;place-items:center;display:grid}.manual-cv-progress li.done{color:var(--text-strong)}.manual-cv-progress li.done strong{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.manual-cv-progress li.active{color:var(--warn)}.manual-cv-progress li.active strong{border-color:var(--warn)}.manual-cv-result{border-color:var(--ok-border);background:linear-gradient(140deg, var(--ok-bg), transparent 70%), var(--surface)}.manual-cv-result h2{margin:var(--sp-1) 0}.manual-cv-result p{color:var(--text-muted);font-size:var(--fs-sm)}.manual-cv-message{margin:0}.weather-view h2,.weather-section h2{margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-lg)}.weather-search{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.weather-search input{flex:200px}.weather-current{gap:var(--sp-4);padding:var(--sp-5) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(140deg, var(--accent-soft), transparent 70%), var(--surface);box-shadow:var(--shadow-md);display:grid}.weather-place{color:var(--text-strong);font-size:var(--fs-lg);font-weight:700}.weather-place span,.weather-updated{color:var(--text-muted);font-size:var(--fs-sm);font-weight:400}.weather-main{align-items:center;gap:var(--sp-4);display:flex}.weather-icon{color:var(--accent);font-size:3.5rem;line-height:1}.weather-temp{color:var(--text-strong);font-size:clamp(2.75rem,2rem + 4vw,3.5rem);font-weight:800;line-height:1}.weather-desc{margin-top:var(--sp-1);color:var(--accent-hover);font-size:var(--fs-sm)}.weather-metrics{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weather-metrics span,.weather-mini-card,.weather-day-card{padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken)}.weather-metrics span{color:var(--text);font-size:var(--fs-xs);text-align:center}.weather-hourly{gap:var(--sp-2);padding-bottom:var(--sp-2);scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:108px;grid-auto-flow:column;display:grid;overflow-x:auto}.weather-hourly::-webkit-scrollbar{display:none}.weather-mini-card{gap:var(--sp-1);scroll-snap-align:start;flex-direction:column;min-height:128px;display:flex}.weather-mini-card span,.weather-mini-card small,.weather-day-card span{color:var(--text-muted);font-size:var(--fs-xs)}.weather-mini-card strong{color:var(--text-strong);font-size:var(--fs-md)}.weather-daily{gap:var(--sp-2);display:grid}.weather-day-card{align-items:center;gap:var(--sp-2) var(--sp-3);grid-template-columns:84px 1fr;display:grid}.weather-day-card strong{color:var(--text-strong);font-size:var(--fs-sm)}.loading,.empty-state{padding:var(--sp-6) var(--sp-4);color:var(--text-muted);text-align:center}.empty-state h2{margin-bottom:var(--sp-2);font-size:var(--fs-lg)}@media (width>=768px){.bottom-nav,.fab,.more-sheet,.more-backdrop{display:none}.app-layout{display:flex}.sidebar{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);height:100svh;padding:var(--sp-4);border-right:1px solid var(--border);background:var(--surface);display:block;position:sticky;top:0;overflow-y:auto}.sidebar h2{margin:var(--sp-4) 0 var(--sp-2);color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.launch-search-btn{width:100%;margin-bottom:var(--sp-3);border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.launch-search-btn:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:var(--on-accent)}.main-content{min-width:0;max-width:920px;padding:var(--sp-6);flex:1}.job-card{padding:var(--sp-5)}.prepare-actions>.prepare-btn,.job-card .job-link,.manual-cv-submit{flex:none}.manual-cv-fields{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr))}.manual-cv-header,.manual-cv-form{padding:var(--sp-5)}.weather-hourly{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));grid-auto-flow:row;overflow-x:visible}.weather-day-card{grid-template-columns:96px 1fr 96px 88px}}@media (width>=1200px){.main-content{max-width:1180px;padding:var(--sp-6) calc(var(--sp-6) * 1.5)}.job-list,.candidatures-list{align-items:start;gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.candidatures-list>h1,.candidatures-list>.backend-warning,.candidatures-list>.empty-state,.job-list>.empty-state{grid-column:1/-1}.candidature-detail .lettre-content{max-width:78ch}.weather-current{align-items:center;column-gap:var(--sp-6);grid-template-columns:auto 1fr}.weather-current>:first-child{grid-column:1/-1}}@media (width>=1600px){.main-content{max-width:1360px}}
