/* CV Falas — krijuesi i CV-së: formulari, pamja, modelet dhe printimi. */
.cvb{display:grid;grid-template-columns:minmax(320px,450px) minmax(0,1fr);gap:22px;align-items:start;padding-bottom:56px}
.tabs{display:none}
@media (max-width:980px){
  .cvb{grid-template-columns:minmax(0,1fr)}
  .tabs{display:grid;grid-template-columns:1fr 1fr;position:sticky;top:60px;z-index:10;background:var(--bg);padding:8px 0;gap:6px}
  .tabs button{font:inherit;font-weight:700;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}
  .tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  body[data-view=form] .cv-right,body[data-view=preview] .cv-left{display:none}
}

/* CV / Letër motivimi */
.doc-sw{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--alt);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.doc-sw button{font:inherit;font-weight:700;font-size:.93rem;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
.doc-sw button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(15,23,42,.12)}
#f-l-teksti{min-height:340px}
#saved{font-size:.8rem;color:var(--muted)}
#saved.bad{color:var(--danger);font-weight:700}
.mbar{display:none}
@media (max-width:980px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mbar .btn{flex:1}
  body{padding-bottom:72px}
}

/* Forca e CV-së */
.score{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:10px}
.score-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;font-weight:700}
.score b.v{font-size:1.05rem;font-variant-numeric:tabular-nums}
.meter{height:7px;border-radius:99px;background:var(--line);margin:8px 0 8px;overflow:hidden}
.meter i{display:block;height:100%;border-radius:inherit;background:var(--c3);transition:width .35s}
.score[data-lvl=mid] .meter i{background:var(--c2)}
.score[data-lvl=hi] .meter i{background:var(--ok)}
.score p{margin:0;font-size:.85rem;color:var(--muted)}

/* Ndihma me fraza */
.helper{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:var(--r);padding:14px 16px;margin-bottom:10px}
.helper label{display:flex;align-items:center;gap:7px;font-weight:750;font-size:.92rem;margin-bottom:8px}
.helper label svg{width:17px;height:17px;fill:var(--accent);flex:none}
.helper select{width:100%;font:inherit;font-size:.95rem;padding:9px 11px;border-radius:9px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}
.helper p{margin:8px 0 0;font-size:.82rem;color:var(--muted)}
.sugg:empty{display:none}
.sugg{margin-top:8px;padding:10px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
.sugg-h{font-size:.74rem;font-weight:750;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin:0 0 7px}
.sugg .chips{display:flex;flex-wrap:wrap;gap:6px;max-height:196px;overflow-y:auto;overscroll-behavior:contain}
.chip{font:inherit;font-size:.82rem;line-height:1.35;text-align:left;padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.long{width:100%}
.chip:disabled{opacity:.45;cursor:default;border-style:dashed}
.chip:disabled:hover{color:var(--ink);border-color:var(--line)}
.sugg-n{font-size:.78rem;color:var(--muted);margin:7px 0 0}

/* Formulari */
.sec-f{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px}
.sec-f>summary{cursor:pointer;font-weight:750;padding:15px 18px;list-style:none;display:flex;align-items:center;gap:8px}
.sec-f>summary::-webkit-details-marker{display:none}
.sec-f>summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}
.sec-f[open]>summary::after{transform:rotate(-135deg)}
.cnt{font-size:.74rem;font-weight:750;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--soft);color:var(--accent);display:inline-grid;place-items:center}
.sec-f .in{padding:0 18px 18px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.fg>div{min-width:0}
.fg .w{grid-column:1/-1}
.fg label{display:block;font-size:.8rem;font-weight:650;color:var(--muted)}
.fg input,.fg textarea{display:block;width:100%;margin-top:4px;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:9px;padding:9px 11px}
.fg textarea{min-height:96px;resize:vertical;line-height:1.45}
.fg input:focus,.fg textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}
.item{border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:10px;background:color-mix(in srgb,var(--bg) 45%,var(--surface))}
.item-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:.84rem;font-weight:700}
.item-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item-h>span:last-child{display:flex;gap:4px;flex:none}
.mini{font:inherit;font-size:.8rem;font-weight:650;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:7px;padding:3px 8px;cursor:pointer}
.mini:hover{color:var(--ink);border-color:var(--muted)}
.mini.del:hover{color:var(--danger);border-color:var(--danger)}
.add{width:100%;font:inherit;font-weight:700;font-size:.9rem;padding:10px;border-radius:10px;border:1.5px dashed color-mix(in srgb,var(--accent) 60%,var(--line));background:transparent;color:var(--accent);cursor:pointer}
.add:hover{background:var(--soft)}
.photo-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:.88rem}
.photo-row input{max-width:220px}
.photo-row img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.tip{font-size:.82rem;color:var(--muted);margin:8px 0 0}

/* Pamja dhe shiriti */
.cv-right{position:sticky;top:76px;min-width:0}
#sheet{overflow:hidden}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.acts .btn:first-child{flex:1;min-width:170px}
.acts .btn svg{width:18px;height:18px}
.bar-t{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.bar-t .grp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bar-t .lbl{font-size:.74rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:2px}
.bar-t select{font:inherit;font-size:.88rem;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.tpl-row{flex-basis:100%;display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.tp{flex:none;font:inherit;background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted)}
.tp-img{display:block;width:92px;height:130px;border-radius:7px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.06);transition:transform .15s,box-shadow .15s;pointer-events:none}
.tp-img .cv{box-shadow:none}
.tp:hover .tp-img{transform:translateY(-2px)}
.tp[aria-pressed=true] .tp-img{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}
.tp[aria-pressed=true]{color:var(--ink)}
.tp-n{font-size:.78rem;font-weight:700;white-space:nowrap}
.sw{width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0;position:relative}
.sw[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}
.sw-pick{background:conic-gradient(#e44,#ec3,#4c6,#3ae,#84e,#e4a,#e44);overflow:hidden}
.sw-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.pill{font:inherit;font-size:.86rem;font-weight:650;padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}
.pill[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.stage-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 2px 8px;font-size:.84rem;color:var(--muted)}
#pages{font-weight:700;font-variant-numeric:tabular-nums}
#pages.warn{color:var(--c3)}
.linkbtn{font:inherit;font-size:.84rem;font-weight:700;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.stage{background:color-mix(in srgb,var(--ink) 6%,var(--bg));border:1px solid var(--line);border-radius:var(--r);padding:18px;overflow:hidden;max-height:calc(100vh - 330px);min-height:420px;overflow-y:auto}
@media (max-width:980px){.cv-right{position:static}.stage{max-height:none;min-height:0;padding:10px}}

/* Galeria e shembujve */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
a.ex{display:flex;flex-direction:column;gap:10px;color:inherit;text-decoration:none}
.ex-img{display:block;aspect-ratio:210/297;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;position:relative}
.ex-img .cv{box-shadow:none;pointer-events:none}
.ex-img::after{content:"Përdore këtë CV";position:absolute;left:50%;bottom:14px;transform:translate(-50%,6px);opacity:0;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.85rem;padding:8px 14px;border-radius:9px;white-space:nowrap;transition:.18s}
a.ex:hover .ex-img,a.ex:focus-visible .ex-img{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(0,0,0,.35)}
a.ex:hover .ex-img::after,a.ex:focus-visible .ex-img::after{opacity:1;transform:translate(-50%,0)}
.ex b{font-size:.98rem}
.ex small{display:block;color:var(--muted);font-size:.84rem}

/* ---------- Fleta A4 ---------- */
.cv{--cv:#1f3a5f;position:relative;width:210mm;min-height:297mm;background:#fff;color:#1b1e22;font:10.2pt/1.5 var(--cvf,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif);box-shadow:0 4px 24px rgba(0,0,0,.16);-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow-wrap:anywhere;text-align:left}
.cv *{margin:0;padding:0;box-sizing:border-box}
.cv h1{font-size:25pt;line-height:1.1;letter-spacing:-.02em;font-weight:800;color:#111}
.cv .role{font-size:12pt;color:var(--cv);font-weight:600;margin-top:3pt}
.cv h2{font-size:9.2pt;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--cv);margin:15pt 0 7pt;break-after:avoid}
.cv .contact{list-style:none;display:flex;flex-wrap:wrap;gap:2pt 14pt;font-size:9.4pt;color:#444;margin-top:8pt}
.cv .it{margin-bottom:9pt;break-inside:avoid}
.cv .it-h{display:flex;justify-content:space-between;gap:10pt;align-items:baseline}
.cv .it-h b,.cv .it>b{font-size:10.8pt;color:#111}
.cv .it-h time{font-size:9pt;color:#666;white-space:nowrap}
.cv .org{color:#444;font-size:9.8pt}
.cv .it ul{margin:3pt 0 0 13pt}.cv .it li{margin-bottom:1.5pt}
.cv .it p.d{margin-top:3pt}
.cv .tags{list-style:none;display:flex;flex-wrap:wrap;gap:4pt 5pt}
.cv .tags li{border:1px solid #d5d8dc;border-radius:99px;padding:1.5pt 8pt;font-size:9.2pt}
.cv .kv{list-style:none}.cv .kv li{display:flex;justify-content:space-between;gap:8pt;margin-bottom:2pt}
.cv .kv span{color:#666}
.cv .ph{width:30mm;height:30mm;border-radius:50%;object-fit:cover;flex:none}
.cv .head{display:flex;align-items:center;gap:7mm}
.cv .body aside .it-h{flex-direction:column;gap:0}
.cv .pgbr{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed #e0533c;pointer-events:none}
.cv .pgbr::after{content:attr(data-n);position:absolute;right:6mm;top:2pt;font:600 8pt system-ui,sans-serif;color:#e0533c;background:#fff;padding:0 4pt}

/* Kompakt: më shumë tekst në një faqe */
.cv.z{font-size:9.4pt;line-height:1.42}
.cv.z h2{margin:11pt 0 5pt}
.cv.z .it{margin-bottom:6pt}
.cv.z h1{font-size:22pt}

/* Klasik (ATS): një kolonë, pa foto, pa grafikë — lexohet mirë nga sistemet e rekrutimit */
.cv--ats{padding:16mm 18mm}
.cv--ats .ph{display:none}
.cv--ats h2{border-bottom:1.2pt solid var(--cv);padding-bottom:2.5pt}
.cv--ats .tags{display:block}.cv--ats .tags li{display:inline;border:0;padding:0}
.cv--ats .tags li:not(:last-child)::after{content:" · ";color:#888}
.cv--ats .kv li{justify-content:flex-start}.cv--ats .kv span::before{content:"— "}
.cv--ats.z{padding:12mm 15mm}

/* Modern: kolonë anësore me ngjyrë */
.cv--modern{display:grid;grid-template-columns:66mm 1fr;background:linear-gradient(to right,var(--cv) 0 66mm,#fff 66mm)}
.cv--modern aside{padding:15mm 8mm 12mm 10mm;color:#fff}
.cv--modern main{padding:15mm 14mm 12mm 11mm}
.cv--modern aside h2{color:#fff;opacity:.85;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3pt}
.cv--modern aside .contact{display:block;color:#fff;margin:0}.cv--modern aside .contact li{margin-bottom:3pt}
.cv--modern .ph{display:block;margin:0 auto 4mm;width:36mm;height:36mm;border:2.5pt solid rgba(255,255,255,.6)}
.cv--modern .tags li{border-color:rgba(255,255,255,.5)}
.cv--modern .kv span{color:rgba(255,255,255,.8)}
.cv--modern main h2:first-of-type{margin-top:13pt}
.cv--modern.z aside,.cv--modern.z main{padding-top:11mm}

/* Profesional: kokë me vijë të trashë, kolonë anësore gri në të djathtë */
.cv--profesional{display:flex;flex-direction:column}
.cv--profesional .head{display:grid;grid-template-columns:auto 1fr auto;padding:14mm 15mm 8mm;border-bottom:4pt solid var(--cv)}
.cv--profesional .head:not(:has(.ph)){grid-template-columns:1fr auto}
.cv--profesional .ph{width:27mm;height:27mm;border-radius:4pt}
.cv--profesional h1{text-transform:uppercase;letter-spacing:.02em;font-size:23pt}
.cv--profesional .contact{display:block;margin:0;text-align:right;font-size:9pt}
.cv--profesional .contact li{margin-bottom:1.5pt}
.cv--profesional .body{flex:1;display:grid;grid-template-columns:1fr 62mm}
.cv--profesional .body main{padding:3mm 9mm 12mm 15mm}
.cv--profesional .body aside{background:#f3f4f6;padding:3mm 10mm 12mm 8mm}
.cv--profesional h2{color:#111;letter-spacing:.1em}
.cv--profesional h2::after{content:"";display:block;width:22pt;height:2.2pt;background:var(--cv);margin-top:3.5pt}
.cv--profesional aside .tags li{background:#fff;border-color:#dfe2e6}

/* Kreativ: kokë me ngjyrë, dy kolona */
.cv--kreativ{display:flex;flex-direction:column}
.cv--kreativ .head{background:var(--cv);color:#fff;padding:13mm 16mm 10mm}
.cv--kreativ h1{color:#fff}
.cv--kreativ .role{color:#fff;opacity:.88;font-weight:500}
.cv--kreativ .contact{color:rgba(255,255,255,.9)}
.cv--kreativ .ph{width:31mm;height:31mm;border:2.5pt solid rgba(255,255,255,.65)}
.cv--kreativ .body{flex:1;display:grid;grid-template-columns:1fr 58mm;gap:9mm;padding:3mm 16mm 12mm}
.cv--kreativ h2{display:flex;align-items:center;gap:6pt}
.cv--kreativ h2::before{content:"";width:13pt;height:3pt;border-radius:2pt;background:var(--cv);flex:none}
.cv--kreativ aside .tags li{background:color-mix(in srgb,var(--cv) 11%,#fff);border-color:transparent}
.cv--kreativ aside .kv li{flex-direction:column;gap:0}

/* Minimal: shumë hapësirë, tituj anash */
.cv--minimal{padding:18mm 18mm}
.cv--minimal .head{gap:8mm;padding-bottom:7mm;border-bottom:1px solid #ddd}
.cv--minimal h1{font-weight:300;font-size:28pt;letter-spacing:-.03em}
.cv--minimal .role{color:#555;font-weight:400}
.cv--minimal .ph{width:26mm;height:26mm;border-radius:6pt}
.cv--minimal section{display:grid;grid-template-columns:38mm 1fr;gap:6mm;padding-top:6mm}
.cv--minimal h2{margin:1pt 0 0;font-weight:700;font-size:8.6pt}
.cv--minimal.z{padding:13mm 16mm}.cv--minimal.z section{padding-top:4mm}

/* Elegant: serif, kokë në qendër */
.cv--elegant{padding:17mm 19mm;font-family:var(--cvf,Georgia,"Times New Roman",serif)}
.cv--elegant .head{flex-direction:column;gap:0;text-align:center;border-bottom:2.5pt double var(--cv);padding-bottom:6mm}
.cv--elegant .ph{margin:0 auto 4mm}
.cv--elegant h1{font-weight:400;font-size:27pt;letter-spacing:.01em}
.cv--elegant .role{font-style:italic;font-weight:400}
.cv--elegant .contact{justify-content:center}
.cv--elegant h2{text-align:center;letter-spacing:.2em;font-weight:400;font-size:10pt;margin-top:17pt}
.cv--elegant .tags{justify-content:center}.cv--elegant .kv{max-width:90mm;margin:0 auto}
.cv--elegant.z{padding:12mm 17mm}

/* Europass: etiketa majtas, data me ngjyrë, foto drejtkëndëshe djathtas */
.cv--europass{padding:15mm 16mm}
.cv--europass .head{flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;padding-bottom:6mm;border-bottom:1.2pt solid var(--cv)}
.cv--europass .ph{border-radius:2pt;width:27mm;height:33mm}
.cv--europass h1{font-weight:700;font-size:23pt;color:var(--cv)}
.cv--europass .role{color:#333}
.cv--europass .contact{display:grid;grid-template-columns:1fr 1fr;gap:1.5pt 10pt}
.cv--europass section{display:grid;grid-template-columns:40mm 1fr;gap:6mm;padding-top:5mm}
.cv--europass h2{margin:1pt 0 0;text-align:right;text-transform:none;letter-spacing:0;font-size:10.5pt;font-weight:600}
.cv--europass .it-h{flex-direction:column-reverse;align-items:flex-start;gap:0}
.cv--europass .it-h time{color:var(--cv);font-weight:600}
.cv--europass.z{padding:12mm 15mm}.cv--europass.z section{padding-top:3.5mm}

/* Letër motivimi */
.cv.lt{display:flex;flex-direction:column;font-size:10.8pt;line-height:1.6}
.lt .lt-h{padding:16mm 20mm 8mm;border-bottom:1.2pt solid var(--cv)}
.lt .lt-h .contact{gap:2pt 12pt}
.lt .lt-b{flex:1;padding:10mm 20mm 16mm}
.lt .lt-date{text-align:right;color:#555;margin-bottom:8mm}
.lt .lt-to{margin-bottom:7mm;font-weight:600}
.lt .lt-subj{margin-bottom:7mm}
.lt .lt-subj b{color:var(--cv)}
.lt .lt-text p{margin-bottom:9pt;text-align:justify;hyphens:auto}
.lt .lt-empty{color:#999;font-style:italic;border:1px dashed #ccc;border-radius:6pt;padding:10mm;text-align:center}
.lt .lt-close{margin-top:9mm}
.lt--band .lt-h{background:var(--cv);border:0;padding:15mm 20mm 11mm}
.lt--band h1{color:#fff}.lt--band .role{color:#fff;opacity:.88}.lt--band .contact{color:rgba(255,255,255,.9)}
.lt--center .lt-h{text-align:center;border-bottom:2.5pt double var(--cv)}
.lt--center h1{font-weight:400;letter-spacing:.01em}.lt--center .role{font-style:italic;font-weight:400}
.lt--center .contact{justify-content:center}

/* ---------- Printimi → PDF ---------- */
@media print{
  html,body{background:#fff!important}
  .top,.foot,.cv-left,.tabs,.bar-t,.acts,.stage-h,.page-head,.no-print,.skip,.pgbr{display:none!important}
  .wrap{width:auto;margin:0}
  main#main>*:not(#krijuesi){display:none!important}
  .cvb,.cv-right{display:block!important;position:static;padding:0}
  .stage{background:none;border:0;padding:0;max-height:none;min-height:0;overflow:visible}
  #sheet{overflow:visible}
  .cv{box-shadow:none;min-height:0;zoom:1!important;transform:none!important}
  .cv--ats,.cv--minimal,.cv--elegant,.cv--europass{padding-top:0;padding-bottom:0}
  .cv--modern,.cv--profesional,.cv--kreativ,.cv.lt{min-height:297mm}
  .mbar,.toast{display:none!important}
  body{padding-bottom:0!important}
}
