:root{--paper:#f3efe6;--paper-2:#e8e1d3;--ink:#1c1914;--ink-soft:#5c574e;--forest:#1d4f3e;--forest-2:#14382c;--leaf:#2f6d56;--gold:#8d6a24;--gold-soft:#f3e6c8;--card:#fffcf7;--line:#d8d0c2;--danger:#8e2a2a;--danger-soft:#f8e7e4;--warn:#8a5a12;--ok:#1d4f3e;--radius:18px;--shadow:0 1px 2px #1c19140d, 0 10px 28px #1c19140f;--font:"Source Sans 3", "Source Sans Pro", "Segoe UI", sans-serif;--serif:Newsreader, "Iowan Old Style", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font);margin:0;font-size:1.05rem;line-height:1.5}#root{min-height:100vh}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 .4em;font-weight:550;line-height:1.2}h1{font-size:clamp(1.8rem,4vw,2.7rem)}h2{font-size:1.35rem}h3{font-size:1.15rem}p{margin:0 0 .7em}a{color:var(--forest)}a:hover{color:var(--forest-2)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:.65rem .8rem}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #c8ddc8}.skip-link{background:var(--forest);color:#fff;z-index:10;padding:.4rem .8rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.5rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f3efe6eb;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem 1.2rem;max-width:1120px;margin:0 auto;padding:.7rem 1.1rem;display:flex}.logo{font-family:var(--serif);color:var(--ink);align-items:center;gap:.45rem;font-size:1.55rem;font-weight:560;text-decoration:none;display:flex}.logo-mark{background:var(--forest);border-radius:999px;width:1.15rem;height:1.15rem;display:inline-block;position:relative}.logo-mark:after{content:"";border:2px solid #f3efe6;border-top:0;border-left:0;position:absolute;inset:.28rem .22rem .32rem;transform:rotate(45deg)}.site-nav{flex-wrap:wrap;gap:.2rem;display:flex}.site-nav a{color:var(--ink-soft);border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .7rem;text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a.active{background:var(--forest);color:#fff}.nav-badge{background:var(--gold-soft);color:var(--gold);text-align:center;border-radius:999px;min-width:1.2rem;padding:0 .3rem;font-size:.75rem;font-weight:700}.site-nav a.active .nav-badge{color:var(--forest);background:#fff}.site-main{flex:1;width:min(1120px,100% - 2rem);margin:1.4rem auto 3rem}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);text-align:center;padding:1.4rem 1.1rem 2rem;font-size:.92rem}.site-footer p{margin-bottom:.3rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--leaf);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.lead{max-width:40rem;font-size:1.15rem}.muted{color:var(--ink-soft)}.small{font-size:.92rem}.error{color:var(--danger)}.ok{color:var(--ok);font-weight:600}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:var(--forest-2);color:#fff}.btn-secondary{background:var(--gold-soft);color:var(--ink)}.btn-secondary:hover{background:#ead6a8}.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}.btn-sm{padding:.35rem .75rem;font-size:.92rem}.btn-lg{padding:.75rem 1.25rem;font-size:1.05rem}.page-header{margin-bottom:1.4rem}.panel,.job-card,.saved-card,.watch-card,.stat-card,.readiness-card,.privacy-callout,.coming-soon,.search-form,.notes-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem}.panel-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem;display:flex}.panel-head h2{margin:0}.hero{padding:1.2rem 0 .5rem}.hero-actions,.job-actions,.form-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.steps{gap:.8rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}@media (width>=800px){.steps{grid-template-columns:repeat(3,1fr)}}.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.privacy-callout{background:#eef4ef;border-color:#c9d9cf;margin:1.2rem 0}.coming-soon{margin-top:1.2rem}.stat-grid,.readiness-grid{gap:.8rem;margin-bottom:1.4rem;display:grid}@media (width>=800px){.stat-grid{grid-template-columns:repeat(4,1fr)}.readiness-grid{grid-template-columns:repeat(2,1fr)}}.stat-value{font-family:var(--serif);color:var(--forest);margin:0;font-size:2.2rem}.stat-card h3{font-family:var(--font);margin-bottom:.25rem;font-size:1rem;font-weight:650}.todo-list,.watch-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.todo-item,.watch-card{gap:.6rem;padding:.9rem 1rem;display:grid}.todo-item{border-left:4px solid var(--line)}.todo-item.urgency-high{border-left-color:var(--danger);background:#fffaf8}.todo-item.urgency-medium{border-left-color:var(--gold)}.todo-title{margin-bottom:.15rem;font-weight:700}.todo-actions{flex-wrap:wrap;gap:.4rem;display:flex}@media (width>=800px){.todo-item,.watch-card{grid-template-columns:1fr auto;align-items:center}.watch-card{grid-template-columns:1fr auto auto}}.search-form{margin-bottom:1.2rem}.search-row,.filter-row,.form-row{flex-wrap:wrap;align-items:end;gap:.8rem;display:flex}.search-row{margin-bottom:.9rem}.field{flex-direction:column;gap:.3rem;min-width:11rem;display:flex}.field.grow{flex:1;min-width:14rem}.field span,.check{font-size:.92rem;font-weight:600}.field-help{color:var(--ink-soft);font-size:.9rem;font-weight:400}.field-highlight{background:#f7f1e3;border-radius:14px;padding:.9rem}.field.compact{min-width:9rem}.search-submit{height:3rem}.filter-apply{margin-top:.6rem}.check{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.check input{width:auto}.results-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.9rem;display:flex}.job-list,.saved-list{gap:.9rem;display:grid}.job-card,.saved-card-head,.job-page-header{gap:.8rem;display:grid}@media (width>=720px){.job-card,.saved-card-head,.job-page-header{grid-template-columns:1fr auto;align-items:start}}.job-card-top,.saved-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.job-employer,.job-meta{color:var(--ink-soft);margin:0}.job-card h3,.saved-card h2{margin:.15rem 0 .25rem}.job-card h3 a,.saved-card h2 a,.todo-job a{color:inherit;text-decoration:none}.job-card h3 a:hover,.saved-card h2 a:hover{color:var(--forest);text-decoration:underline}.deadline{color:var(--forest-2);margin:.25rem 0;font-weight:700}.deadline-soon{color:var(--danger)}.salary{background:var(--gold-soft);border-radius:8px;padding:.15rem .5rem;font-size:.95rem;display:inline-block}.saved-label{color:var(--leaf);font-weight:600}.pagination{justify-content:center;align-items:center;gap:.8rem;margin:1.4rem 0;display:flex}.match-badge{align-items:center;gap:.7rem;min-width:7rem;display:flex}.match-badge-lg,.match-badge-xl{text-align:center;flex-direction:column;gap:.15rem;min-width:8rem}.match-figure{color:var(--forest);justify-content:center;align-items:baseline;display:flex}.match-high .match-figure{color:var(--forest)}.match-mid .match-figure{color:var(--gold)}.match-low .match-figure{color:var(--ink-soft)}.match-number{font-family:var(--serif);font-size:2.4rem;font-weight:560;line-height:1}.match-badge-xl .match-number{font-size:3.2rem}.match-badge-md .match-number{font-size:2rem}.match-unit{margin-left:.1rem;font-size:1.1rem}.match-caption{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.78rem;font-weight:650}.match-reason,.match-reason-inline{color:var(--ink-soft);margin:.2rem 0 .4rem;font-size:.95rem}.match-badge-lg .match-reason,.match-badge-xl .match-reason{max-width:12rem}.status-badge{background:var(--paper-2);border-radius:999px;padding:.15rem .55rem;font-size:.85rem;font-weight:700;display:inline-block}.status-sokt{color:var(--forest-2);background:#e3ece7}.status-fatt-svar{color:#243f6b;background:#e7eef8}.status-intervju{background:var(--gold-soft);color:var(--warn)}.status-erbjudande{color:var(--forest);background:#e3ece7}.status-nej-tack{background:var(--danger-soft);color:var(--danger)}.chip-row{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1rem;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.3rem .7rem}.chip.is-active,.chip:hover{background:var(--forest);color:#fff;border-color:var(--forest)}.place-select{position:relative}.place-clear{cursor:pointer;background:0 0;border:0;font-size:1.2rem;position:absolute;top:.45rem;right:.5rem}.place-list{z-index:8;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;max-height:16rem;margin:.2rem 0 0;padding:.3rem;list-style:none;position:absolute;left:0;right:0;overflow:auto}.place-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:.5rem;width:100%;padding:.45rem .55rem;display:flex}.place-list button.is-active,.place-list button:hover{background:#eef4ef}.ad-text{white-space:pre-wrap;max-width:46rem}.job-page-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;display:flex}.empty-state{text-align:center;padding:1.6rem 1rem}.watch-count{text-align:center}.watch-count strong{font-family:var(--serif);font-size:2rem;display:block}.watch-count[data-new=true] strong{color:var(--forest)}.profile-form,.readiness-section{gap:.9rem;margin-bottom:1.5rem;display:grid}.readiness-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.readiness-score{min-width:auto}
