/* Embedded custom fonts (CV Sans, CV Serif, CV Display) are derived from Roboto,
   Copyright 2011 Google Inc., licensed under the Apache License, Version 2.0.
   http://www.apache.org/licenses/LICENSE-2.0 */
@font-face{font-family:"CV Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/CV-Serif-400.woff) format("woff");}
@font-face{font-family:"CV Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CV-Serif-700.woff) format("woff");}
@font-face{font-family:"CV Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/CV-Sans-400.woff) format("woff");}
@font-face{font-family:"CV Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CV-Sans-700.woff) format("woff");}
@font-face{font-family:"CV Display";font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/CV-Display-900.woff) format("woff");}
/* Schreibschrift für das "Sagenhaft"-Layout, per Google Fonts geladen (Open Font License) */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600;700&display=swap');






:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--p-text);background:var(--p-bg);font-size:16px;font-synthesis:none;--ui-green:#385b32;--line:#e2e8f0;--muted:#64748b;--accent:#659c2d;--p-primary:#4f46e5;--p-primary-hover:#4338ca;--p-primary-light:#eef2ff;--p-accent-2:#7c3aed;--p-bg:#f8fafc;--p-surface:#fff;--p-border:#e2e8f0;--p-border-strong:#cbd5e1;--p-text:#0f172a;--p-text-muted:#64748b;--p-text-subtle:#94a3b8;--p-success:#16a34a;--p-success-bg:#dcfce7;--p-danger:#dc2626;--p-danger-bg:#fee2e2;--p-radius:16px;--p-radius-sm:10px;--p-shadow-sm:0 1px 2px rgba(15,23,42,.06);--p-shadow-md:0 8px 24px -6px rgba(15,23,42,.14),0 2px 6px -2px rgba(15,23,42,.08);--p-shadow-lg:0 20px 45px -12px rgba(15,23,42,.22),0 6px 16px -4px rgba(15,23,42,.1);--p-ease:cubic-bezier(.4,0,.2,1)}
[data-theme="dark"]{
 --p-bg:#0f1115;--p-surface:#1a1d23;--p-border:#2a2e37;--p-border-strong:#3a3f4b;
 --p-text:#e8eaed;--p-text-muted:#9aa0ab;--p-text-subtle:#6b7280;
 --p-primary-light:#2a2a4a;--line:#2a2e37;--muted:#9aa0ab;
 --p-success-bg:#0f2e1c;--p-danger-bg:#3a1414;
 color-scheme:dark;
}
[data-theme="dark"] body{background:var(--p-bg);color:var(--p-text)}
[data-theme="dark"] .rail{background:var(--p-bg)}
[data-theme="dark"] .nav-item.active{background:var(--p-primary-light)}
[data-theme="dark"] .eyebrow,[data-theme="dark"] .rail-caption{color:var(--p-text-subtle)}
[data-theme="dark"] .btn.primary{color:#fff}
[data-theme="dark"] .doc-card-thumb,[data-theme="dark"] .layout-mini{filter:none}
[data-theme="dark"] ::placeholder{color:var(--p-text-subtle);opacity:1}
[data-theme="dark"] .modal,[data-theme="dark"] .admin-dialog,[data-theme="dark"] .price-card,[data-theme="dark"] .feature-card,[data-theme="dark"] .testimonial-card,[data-theme="dark"] .guide-card,[data-theme="dark"] .stat-card,[data-theme="dark"] .admin-row,[data-theme="dark"] .price-card.featured{background:var(--p-surface);color:var(--p-text)}
[data-theme="dark"] .site-nav{background:rgba(15,17,21,.9)}
[data-theme="dark"] .site-footer{background:#000}
[data-theme="dark"] .hero-visual{background:linear-gradient(160deg,#1a1a2e,var(--p-surface))}
/* The résumé preview itself always stays a realistic white page, regardless of UI theme,
   since that's what will actually be printed/exported. */
[data-theme="dark"] .cv-page,[data-theme="dark"] .preview-scroll,[data-theme="dark"] .preview-panel{background:#e2e5df}
[data-theme="dark"] .cv-page{background:#fff!important}
@keyframes modalIn{from{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes backdropIn{from{opacity:0}to{opacity:1}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes popIn{0%{transform:scale(0)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes stepFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button,input,select,textarea{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--p-primary);outline-offset:2px}button{touch-action:manipulation}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg{pointer-events:none}button{border:0}button.primary{background:var(--p-primary);color:#fff;box-shadow:var(--p-shadow-sm);transition:background-color .15s var(--p-ease),box-shadow .15s var(--p-ease),transform .1s var(--p-ease)}.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--p-radius-sm);font-weight:600;font-size:.875rem;white-space:nowrap;background:var(--p-surface);border:1px solid var(--p-border);color:var(--p-text);transition:background-color .15s var(--p-ease),border-color .15s var(--p-ease),box-shadow .15s var(--p-ease),transform .1s var(--p-ease)}.btn:hover{background:#f8fafc;border-color:var(--p-border-strong)}.btn:active{transform:scale(.97)}.btn.primary:hover{background:var(--p-primary-hover);box-shadow:var(--p-shadow-md);transform:translateY(-1px)}.btn.primary:active{transform:translateY(0) scale(.97)}.btn.subtle{background:transparent;border-color:transparent}.btn.subtle:hover{background:var(--p-primary-light)}.btn.small{padding:7px 12px;min-height:35px;font-size:.8125rem}.icon-btn{padding:8px;display:inline-flex;justify-content:center;align-items:center;background:transparent;color:var(--p-text-muted);border-radius:8px;min-width:36px;min-height:36px;transition:background-color .15s var(--p-ease),color .15s var(--p-ease)}.icon-btn:hover{background:var(--p-primary-light);color:var(--p-primary)}.icon-btn.danger:hover{background:var(--p-danger-bg);color:var(--p-danger)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.topbar{height:72px;background:var(--p-surface);border-bottom:1px solid var(--p-border);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;position:relative;z-index:10;box-shadow:0 1px 0 rgba(15,23,42,.02)}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-mark{width:35px;height:43px;border:1px solid var(--p-border);border-radius:9px;background:linear-gradient(135deg,var(--p-primary),var(--p-accent-2));padding:9px 4px 4px 16px;display:grid;gap:4px;align-content:start;box-shadow:var(--p-shadow-sm)}.brand-mark i{height:2px;background:rgba(255,255,255,.85)}.brand-mark i:first-child{height:5px;margin-bottom:2px;background:rgba(255,255,255,.6)}.brand-title{font-weight:750;font-size:1.08rem;letter-spacing:-.5px;line-height:1.25}.brand-sub{font-size:.75rem;letter-spacing:.14em;color:var(--p-text-subtle);text-transform:uppercase;margin-top:3px}.header-actions{display:flex;gap:8px;align-items:center}.save-state{font-size:.75rem;color:var(--muted);max-width:175px;text-align:right;margin-right:12px;line-height:1.4}.app{display:grid;grid-template-columns:210px 402px minmax(0,1fr);height:calc(100dvh - 80px);min-height:600px}.rail{padding:31px 16px 20px;background:var(--p-bg);border-right:1px solid var(--p-border);display:flex;flex-direction:column;gap:8px;overflow-y:auto}.rail-caption{font-size:.6875rem;letter-spacing:.16em;font-weight:700;color:var(--p-text-subtle);margin:0 13px 16px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:13px 12px;border-radius:10px;background:transparent;color:var(--p-text-muted);font-size:.875rem;min-height:47px;transition:background-color .15s var(--p-ease),color .15s var(--p-ease)}.nav-item .step{font-size:.75rem;color:var(--p-text-subtle);font-variant-numeric:tabular-nums}.nav-item.active{background:var(--p-primary-light);color:var(--p-primary);font-weight:650}.nav-item.active .step{color:var(--p-primary)}.nav-item:hover{background:#f1f5f9}.rail-bottom{margin-top:auto;padding:30px 10px 0}.rail-bottom button{width:100%;margin-top:10px;justify-content:flex-start;font-weight:500}.local-note{color:#74806e;font-size:.75rem;line-height:1.6;padding-top:19px}.local-note svg{width:14px;height:14px;vertical-align:-2px;margin-right:3px}.editor{background:var(--p-surface);overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--p-border);padding:28px 26px 40px;scrollbar-width:thin}.editor-fade{animation:stepFade .22s var(--p-ease)}.editor-head{margin-bottom:28px}.eyebrow{color:var(--p-primary);text-transform:uppercase;letter-spacing:.12em;font-size:.6875rem;font-weight:700;margin:0 0 8px}.editor h1{margin:0 0 9px;font-size:1.5rem;letter-spacing:-.7px;font-weight:650}.editor-head p:last-child{color:var(--p-text-muted);font-size:.8125rem;line-height:1.55;margin:0}.form-section{padding:0 0 24px;margin-bottom:25px;border-bottom:1px solid var(--p-border)}.form-section:last-child{margin-bottom:0;border:0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-title h2{font-size:.9375rem;font-weight:650;margin:0}.section-title .optional{color:var(--p-text-subtle);font-size:.75rem}.field{display:block;margin-bottom:17px;min-width:0}.field:last-child{margin-bottom:0}.field>span:first-child,.field>label:first-child{display:block;font-size:.8125rem;font-weight:600;color:var(--p-text);margin-bottom:7px;line-height:1.4}.field input:not([type=checkbox]):not([type=range]):not([type=color]),.field textarea,.field select{display:block;width:100%;border:1px solid var(--p-border);border-radius:var(--p-radius-sm);background:var(--p-surface);color:var(--p-text);padding:10px 11px;font-size:.875rem;line-height:1.5;min-width:0;transition:border-color .15s var(--p-ease),box-shadow .15s var(--p-ease)}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--p-border-strong)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--p-primary);box-shadow:0 0 0 3px var(--p-primary-light)}.field textarea{resize:vertical;min-height:90px;line-height:1.6}.field .hint,.hint{display:block;color:var(--p-text-muted);font-size:.75rem;font-weight:400;line-height:1.5;margin-top:6px}
.field-rich{display:block;width:100%;border:1px solid var(--p-border);border-radius:var(--p-radius-sm);background:var(--p-surface);color:var(--p-text);padding:10px 11px;font-size:.875rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;cursor:text;transition:border-color .15s var(--p-ease),box-shadow .15s var(--p-ease)}
.field-rich:hover{border-color:var(--p-border-strong)}
.field-rich:focus{outline:none;border-color:var(--p-primary);box-shadow:0 0 0 3px var(--p-primary-light)}
.field-rich:empty::before{content:attr(data-placeholder);color:var(--p-text-subtle)}
.placeholder-chip{display:inline;background:var(--p-primary-light);color:var(--p-primary);padding:1px 7px;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .12s var(--p-ease)}
.placeholder-chip:hover{background:#dbe3ff}
.suggestion-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.suggestion-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--p-border);border-radius:999px;background:var(--p-surface);color:var(--p-text-muted);font-size:.75rem;cursor:pointer;transition:border-color .15s var(--p-ease),color .15s var(--p-ease),background-color .15s var(--p-ease),transform .1s var(--p-ease)}
.suggestion-chip svg{width:12px;height:12px}
.suggestion-chip:hover{border-color:var(--p-primary);color:var(--p-primary);background:var(--p-primary-light)}
.suggestion-chip:active{transform:scale(.96)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .field{margin-bottom:17px}.upload-row{display:flex;gap:16px;align-items:center}.photo-thumb{height:108px;width:81px;flex-shrink:0;border-radius:9px;overflow:hidden;background:#f1f5f9;border:1px solid var(--p-border);display:flex;align-items:center;justify-content:center}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb svg{width:30px;height:30px;color:var(--p-text-subtle)}.upload-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.text-button{padding:4px 0;background:transparent;color:var(--p-primary);font-size:.75rem;text-decoration:underline;text-underline-offset:3px;transition:color .15s var(--p-ease)}.text-button:hover{color:var(--p-primary-hover)}.image-controls{margin-top:18px}.range-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8125rem;color:var(--p-text-muted)}.range-row output{font-size:.75rem;color:var(--p-text-subtle);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--p-primary);cursor:pointer;min-height:21px;margin:0}input[type=color]{width:46px;height:42px;border:1px solid var(--p-border);background:white;border-radius:6px;padding:4px;cursor:pointer}.check{display:flex;align-items:flex-start;gap:9px;color:var(--p-text);font-size:.8125rem;line-height:1.5;margin:16px 0}.check input{accent-color:var(--p-primary);margin-top:3px;width:16px;height:16px}.entry-card{border:1px solid var(--p-border);border-radius:12px;margin-bottom:14px;overflow:hidden;transition:border-color .15s var(--p-ease),box-shadow .15s var(--p-ease)}.entry-card:hover{border-color:var(--p-border-strong);box-shadow:var(--p-shadow-sm)}.entry-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;min-height:74px;padding:15px 14px;background:#f8fafc}.entry-card summary::-webkit-details-marker{display:none}.entry-card summary>.summary-text{flex:1;min-width:0}.entry-card summary strong{font-size:.8125rem;font-weight:650;display:block;line-height:1.45}.entry-card summary small{display:block;font-size:.75rem;color:var(--p-text-muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-card summary svg{width:16px;height:16px}.entry-card[open] summary>.chevron{transform:rotate(180deg)}.entry-body{padding:18px 14px;border-top:1px solid var(--p-border)}.entry-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--p-border);padding:8px 10px}.entry-index{display:inline-flex;width:23px;height:26px;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:var(--p-text-subtle)}.full-width{width:100%}.inline-actions{display:flex;gap:5px}.section-editor-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px;gap:8px}.section-editor-heading h2{font-size:.9375rem;margin:0}.section-editor-heading:first-child{margin-top:0}.list-card{border:1px solid var(--p-border);border-radius:12px;padding:17px;margin-bottom:18px;transition:box-shadow .15s var(--p-ease)}.list-card:hover{box-shadow:var(--p-shadow-sm)}.list-card .entry-toolbar{margin:8px -8px -8px}.palette{display:flex;gap:9px;margin:12px 0;flex-wrap:wrap}.swatch{width:28px;height:28px;border-radius:50%;border:3px solid #fff;outline:1px solid var(--p-border);background:var(--swatch);transition:transform .12s var(--p-ease),outline-color .12s var(--p-ease);cursor:pointer}.swatch:hover{transform:scale(1.12)}.swatch[aria-pressed=true]{outline:2px solid var(--p-text)}.color-row{display:flex;gap:12px;align-items:center}.color-row input[type=text]{flex:1}.notice{background:var(--p-primary-light);border:1px solid #c7d2fe;border-radius:9px;padding:13px 14px;color:#3730a3;font-size:.8125rem;line-height:1.55;margin-bottom:20px}.image-banner{background:var(--p-primary);border:1px solid var(--p-border);min-height:75px;margin-bottom:12px;border-radius:9px;display:flex;justify-content:center;align-items:center;padding:15px}.image-banner img{max-height:58px;max-width:100%;object-fit:contain}.signature-box{height:22mm;width:52mm;max-width:100%;position:relative;overflow:hidden}.signature-box>img{max-width:100%;max-height:22mm;object-fit:contain;object-position:left}.signature-box>img.template-signature{position:absolute;width:238mm;max-width:none;max-height:none;left:-65mm;top:-54mm}
.preview-panel{background:var(--p-bg);display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}.preview-toolbar{height:65px;min-height:65px;display:flex;justify-content:space-between;align-items:center;padding:0 26px;gap:14px;border-bottom:1px solid var(--p-border);background:var(--p-surface);z-index:2}.preview-label{display:flex;gap:10px;align-items:center;font-size:.8125rem;font-weight:600}.preview-label svg{color:var(--p-text-muted);width:17px;height:17px}.format-pill{padding:4px 8px;border:1px solid var(--p-border);border-radius:6px;font-size:.625rem;letter-spacing:.06em;color:var(--p-text-muted);font-weight:500}.zoom-control{display:flex;align-items:center;gap:8px}.zoom-control select{border:0;background:transparent;font-size:.75rem;color:#607351;padding:6px 2px;max-width:95px}.page-count{font-size:.75rem;color:var(--p-text-muted);white-space:nowrap}.preview-scroll{flex:1;overflow:auto;padding:30px 24px 40px;scrollbar-width:thin;min-height:0}.preview-tip{text-align:center;color:var(--p-text-subtle);font-size:.6875rem;letter-spacing:.02em;padding:11px 12px 12px;border-top:1px solid var(--p-border);background:var(--p-surface)}.page-wrap{position:relative;margin:0 auto 26px;flex-shrink:0}.cv-page{width:var(--page-width,210mm);height:var(--page-height,297mm);background:#fff;color:#111;font-family:var(--cv-font,'CV Sans',Arial,sans-serif);font-size:var(--cv-size,9.6pt);line-height:var(--cv-leading,1.36);display:grid;grid-template-columns:var(--cv-side,38.3%) minmax(0,1fr);overflow:hidden;position:absolute;left:0;top:0;transform:scale(var(--zoom,1));transform-origin:top left;box-shadow:0 7px 30px #233b1f16,0 0 0 1px #00000007}.cv-page *{box-sizing:border-box}.cv-aside{background:var(--accent);color:var(--side-ink,#fff);height:var(--page-height,297mm);display:flex;flex-direction:column;min-height:0}.cv-photo{width:100%;height:var(--photo-height,159mm);flex-shrink:0;overflow:hidden}.cv-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) var(--photo-y,50%);transform:scale(var(--photo-zoom,1));transform-origin:var(--photo-x,50%) var(--photo-y,50%)}.side-inner{padding:9mm 9.7mm 11mm;flex:1;display:flex;flex-direction:column;min-height:0;gap:0}.side-flow{flex:1;min-height:0;overflow:visible}.side-flow>.side-block{margin-bottom:8mm}.side-block h2{font-size:15pt;line-height:1.1;margin:0 0 4mm;font-weight:700;text-transform:uppercase;letter-spacing:-.55px}.side-block p{margin:0;text-align:justify;overflow-wrap:anywhere;white-space:pre-line}.contact-line{display:flex;gap:2.3mm;margin:0 0 3mm;line-height:1.3;align-items:flex-start;overflow-wrap:anywhere}.contact-line svg{width:9pt;height:9pt;flex-shrink:0;margin-top:1pt}.contact-line span{min-width:0;white-space:pre-line;overflow-wrap:anywhere}.application-block{flex-shrink:0;margin-top:10mm;font-size:9.5pt;overflow-wrap:anywhere}.application-block p{margin:0 0 4mm;white-space:pre-line}.application-block .application-role{font-weight:700;margin-bottom:5mm}.application-block .company-name{font-size:28pt;font-weight:700;line-height:1.05;letter-spacing:1pt;overflow-wrap:anywhere;margin:4mm 0 0}.application-block .company-tagline{font-size:10.5pt;font-weight:400;margin-top:1mm}.application-logo{display:block;width:100%;height:20mm;max-height:24mm;object-fit:contain;object-position:left center;margin-top:4mm}.cv-right{height:var(--page-height,297mm);min-width:0;padding:8.9mm 10mm 14mm 12mm;position:relative;display:flex;flex-direction:column}.main-flow{flex:1;min-height:0;overflow:visible}.cv-header{margin:0 0 7.2mm}.cv-kicker{font-weight:700;font-size:15pt;line-height:1.1;margin-bottom:4mm}.cv-name{font-family:'CV Display','Arial Narrow',Impact,sans-serif;text-transform:uppercase;transform:scaleX(.66);transform-origin:left top;width:151.515%;font-size:var(--name-size,60pt);font-weight:900;line-height:.94;letter-spacing:-1.5pt;overflow-wrap:anywhere;margin:0}.cv-section-heading{font-size:15pt;font-weight:700;text-transform:uppercase;letter-spacing:-.5px;line-height:1.1;margin:0 0 5.2mm;overflow-wrap:anywhere}.cv-unit{padding-bottom:7.1mm}.cv-unit.has-heading:not(:first-child){padding-top:2.1mm}.job-header{display:flex;align-items:baseline;justify-content:space-between;gap:4mm;margin:0 0 .8mm}.job-title{font-size:11.5pt;font-weight:700;line-height:1.12;margin:0;overflow-wrap:anywhere}.job-org{font-size:7pt;text-align:right;line-height:1.25;max-width:46%;overflow-wrap:anywhere;flex-shrink:0}.job-period{margin:0 0 4mm;line-height:1.25}.cv-unit ul{margin:0;padding:0 0 0 5.7mm}.cv-unit li{margin:0;overflow-wrap:anywhere;white-space:pre-line;padding-left:.15mm}.continuation{font-size:7.5pt;font-weight:400;text-transform:none;letter-spacing:0}.cv-footer{position:absolute;right:10mm;bottom:7.7mm;font-size:9pt}.page-label{position:absolute;top:-20px;left:0;color:#99a18f;font-size:.625rem;letter-spacing:.08em}.mobile-toggle{display:none}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--p-text);color:#fff;box-shadow:var(--p-shadow-lg);padding:13px 20px;border-radius:11px;font-size:.875rem;line-height:1.5;max-width:calc(100vw - 32px);width:max-content;animation:toastIn .25s var(--p-ease)}.toast.error{background:var(--p-danger)}.issues{padding:12px 20px;background:#fef3c7;border-bottom:1px solid #fde68a;color:#92400e;font-size:.8125rem;line-height:1.5}.modal{max-width:440px;width:calc(100% - 32px);padding:28px;border:1px solid var(--p-border);border-radius:var(--p-radius);box-shadow:var(--p-shadow-lg);color:var(--p-text);animation:modalIn .2s var(--p-ease)}.modal::backdrop{background:rgba(15,23,42,.5);backdrop-filter:blur(3px);animation:backdropIn .2s var(--p-ease)}.modal h2{margin:0 0 13px;font-size:1.3rem;letter-spacing:-.4px}.modal p{color:var(--p-text-muted);line-height:1.6;font-size:.875rem}.modal .modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;flex-wrap:wrap}.modal ol{font-size:.875rem;line-height:1.7;padding-left:20px;color:var(--p-text-muted)}.print-options{font-size:.8125rem;line-height:1.6;background:var(--p-bg);border-radius:9px;padding:14px}.noscript{margin:24px;padding:20px;background:var(--p-surface);border:1px solid #ddd}

/* Five document layouts. Geometry is decorative; every resume text remains selectable. */
.layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.layout-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;border:1px solid var(--p-border);background:var(--p-surface);border-radius:var(--p-radius-sm);padding:9px;min-width:0;color:var(--p-text);position:relative;transition:border-color .15s var(--p-ease),box-shadow .15s var(--p-ease),transform .15s var(--p-ease)}.layout-card:hover{background:var(--p-surface);border-color:var(--p-border-strong);box-shadow:var(--p-shadow-sm);transform:translateY(-2px)}.layout-card.selected{border:2px solid var(--p-primary);padding:8px;background:var(--p-primary-light);box-shadow:var(--p-shadow-sm)}.layout-preview{display:flex;justify-content:center;background:#f1f5f9;border-radius:6px;padding:9px 8px;position:relative;overflow:hidden}.layout-mini{width:auto;height:128px;max-width:100%;stroke:none;stroke-width:0;box-shadow:0 2px 8px #28381f1a}.layout-title{display:block;font-size:.875rem;font-weight:650;line-height:1.35;margin-top:10px}.layout-caption{display:block;font-size:.75rem;line-height:1.4;color:var(--p-text-muted);margin:4px 0 1px}.layout-badge{position:absolute;left:6px;top:6px;font-size:.6875rem;line-height:1;background:var(--p-surface);color:var(--p-primary);padding:4px 5px;border:1px solid #c7d2fe;border-radius:6px;font-weight:600}.layout-selected{display:none;position:absolute;right:6px;bottom:6px;background:var(--p-primary);color:#fff;border-radius:50%;width:23px;height:23px;text-align:center;font-size:.875rem;line-height:23px;animation:popIn .25s var(--p-ease)}.selected .layout-selected{display:block}.color-row input[type=text]{display:block;width:100%;min-width:0;padding:10px 11px;border:1px solid var(--p-border);border-radius:var(--p-radius-sm);background:var(--p-surface);color:var(--p-text);font-size:.875rem;transition:border-color .15s var(--p-ease)}.color-row input[aria-invalid=true]{border-color:var(--p-danger)}.field>.color-row{display:flex;align-items:center}.preview-label{min-width:0}.preview-label #layout-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.running-header{display:flex;justify-content:space-between;gap:6mm;align-items:baseline;flex-shrink:0;margin-bottom:6mm;padding-bottom:3mm;border-bottom:.5pt solid var(--secondary);font-size:8.5pt;color:#665d73}.running-header strong,.running-header span{min-width:0;overflow-wrap:anywhere}.running-header span{text-align:right}.header-titles{min-width:0}
.layout-violet-blocks,.layout-violet-column,.layout-violet-minimal{font-family:var(--cv-font,'CV Serif',Georgia,'Times New Roman',serif);color:#201c25;line-height:var(--cv-leading)}
.layout-violet-blocks .cv-name,.layout-violet-column .cv-name,.layout-violet-minimal .cv-name{font-family:inherit;font-weight:400;font-size:var(--name-size);transform:none;width:auto;text-transform:none;letter-spacing:0;line-height:1.1}
.layout-violet-blocks .cv-kicker,.layout-violet-column .cv-kicker,.layout-violet-minimal .cv-kicker{font-family:inherit;font-weight:400;letter-spacing:0;overflow-wrap:anywhere}
.layout-violet-blocks .cv-right,.layout-violet-minimal .cv-right{padding:10mm 16mm 14mm;z-index:1;min-width:0}.layout-violet-blocks,.layout-violet-minimal{display:block}.layout-violet-blocks .cv-unit,.layout-violet-minimal .cv-unit{padding-bottom:5mm}.layout-violet-blocks .cv-unit.has-heading:not(:first-child),.layout-violet-minimal .cv-unit.has-heading:not(:first-child){padding-top:0}
.job-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(30mm,27%);gap:6mm;align-items:start;margin-bottom:3mm}.job-copy{min-width:0}.job-grid .job-title{font-size:calc(var(--cv-size) + 1pt);line-height:1.18;margin:0 0 1mm;font-weight:700}.job-grid .job-org{font-size:var(--cv-size);line-height:var(--cv-leading);text-align:left;max-width:none;overflow-wrap:anywhere}.job-grid .job-period{font-size:var(--cv-size);line-height:1.25;text-align:left;margin:0;overflow-wrap:anywhere}.kind-contact>ul,.kind-text>ul{list-style:none!important;padding:0!important}.kind-contact>ul>li,.kind-text>ul>li{padding:0!important;margin:0 0 1.1mm;white-space:pre-line}.kind-text>ul>li{text-align:left;line-height:var(--cv-leading)}.kind-signature .signature-box{margin:0 0 2mm}.layout-violet-blocks .signature-box img,.layout-violet-column .signature-box img,.layout-violet-minimal .signature-box img{filter:brightness(0)}
.flat-application{display:flex;justify-content:space-between;align-items:center;gap:7mm;border-top:.6pt solid var(--secondary);padding-top:3mm;margin-top:4mm;flex-shrink:0;font-size:8.7pt;line-height:1.25;min-width:0}.flat-application-copy{min-width:0;overflow-wrap:anywhere;white-space:pre-line}.flat-application-copy>span,.flat-application-copy>strong{display:block}.flat-application-copy>strong{font-size:9.5pt;margin:1mm 0}.flat-logo{flex:0 0 38mm;background:var(--accent);padding:2mm}.flat-logo img{display:block;width:34mm;height:11mm;object-fit:contain}.kind-application .flat-application{margin-top:0}.header-photo{overflow:hidden;background:var(--secondary);width:var(--portrait-size);height:var(--portrait-size)}.header-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-x) var(--photo-y);transform:scale(var(--photo-zoom));transform-origin:var(--photo-x) var(--photo-y)}
/* Reference: offset square portrait, two title bands, and section ribbons. */
.layout-violet-blocks .cv-header{position:relative;margin:-10mm -16mm 4mm;min-height:calc(var(--portrait-size) + 33mm);padding-bottom:5mm}.layout-violet-blocks .header-photo{position:absolute;left:9.5mm;top:8.8mm;z-index:1}.layout-violet-blocks .header-titles{margin-left:99mm;padding-top:24.5mm;position:relative}.layout-violet-blocks .cv-kicker{background:var(--accent);color:var(--accent-ink);font-size:43pt;line-height:1.04;padding:3.7mm 4.5mm 4.5mm;margin:0}.layout-violet-blocks .cv-name{background:var(--secondary);color:var(--secondary-ink);margin:4.5mm 0 0 21mm;padding:1.5mm 3mm 2mm}.layout-violet-blocks .cv-section-heading{font-family:'CV Serif',Georgia,serif;font-size:12pt;line-height:1.15;font-weight:700;letter-spacing:0;text-transform:none;margin:0 0 2.8mm -16mm;padding:0;max-width:calc(100% + 16mm)}.layout-violet-blocks .cv-section-heading>span{display:inline-block;max-width:100%;background:var(--secondary);color:var(--secondary-ink);padding:1.1mm 4mm 1.3mm 16mm;overflow-wrap:anywhere}.layout-violet-blocks .cv-footer{left:16mm;right:auto;font-size:8.5pt}.layout-violet-blocks .cv-unit>ul{padding-left:4.2mm}.layout-violet-blocks .continuation{font-family:'CV Serif',Georgia,serif}.page-geometry{position:absolute;inset:0;pointer-events:none;z-index:0}.page-geometry i{display:block;position:absolute;background:var(--accent)}.page-geometry .geo-a{left:0;top:0;width:16mm;height:16mm}.page-geometry .geo-b{left:36.5mm;top:35.5mm;width:26mm;height:26mm}.page-geometry .geo-c{left:24mm;top:53.5mm;width:19mm;height:19mm;background:var(--secondary)}.page-geometry .geo-d{right:0;bottom:0;width:26mm;height:12mm}.page-geometry .geo-e{right:22mm;bottom:6mm;width:10mm;height:6mm;background:var(--secondary)}.continuation-geometry .geo-a{width:5mm;height:8mm}.continuation-geometry .geo-b,.continuation-geometry .geo-c{display:none}
/* Editorial variation: all supporting information in the right column. */
.layout-violet-column{grid-template-columns:minmax(0,1fr) var(--cv-side)}.layout-violet-column .cv-aside{grid-column:2;grid-row:1;background:var(--secondary);color:var(--secondary-ink);border-right:4mm solid var(--accent)}.layout-violet-column .cv-right{grid-column:1;grid-row:1;padding:13mm 10mm 14mm 16mm}.layout-violet-column .cv-photo{width:min(var(--portrait-size),calc(100% - 14mm));height:auto;aspect-ratio:1;align-self:center;margin:10mm 0 0;flex-shrink:0}.layout-violet-column .cv-photo img{aspect-ratio:1}.layout-violet-column .side-inner{padding:8mm 7mm 13mm}.layout-violet-column .side-block h2{font-family:'CV Serif',Georgia,serif;font-size:12pt;line-height:1.18;text-transform:none;letter-spacing:0;border-bottom:.6pt solid var(--accent);padding-bottom:2mm;margin-bottom:3mm}.layout-violet-column .side-block p{text-align:left}.layout-violet-column .cv-kicker{font-family:'CV Sans',Arial,sans-serif;font-size:10pt;text-transform:uppercase;letter-spacing:1pt;color:var(--accent);margin:0 0 4mm}.layout-violet-column .cv-header{margin:0 0 8mm;padding-top:4mm;border-top:2mm solid var(--accent)}.layout-violet-column .cv-section-heading{font-family:'CV Serif',Georgia,serif;color:var(--accent);font-size:14pt;line-height:1.12;text-transform:none;letter-spacing:0;border-bottom:1pt solid var(--secondary);padding-bottom:2.4mm;margin-bottom:4mm}.layout-violet-column .cv-unit{padding-bottom:6mm}.layout-violet-column .job-grid{grid-template-columns:minmax(0,1fr) 28%;gap:3mm}.layout-violet-column .job-grid .job-period{font-size:8pt}.layout-violet-column .job-grid .job-title{font-size:10.5pt}.layout-violet-column .job-grid .job-org{font-size:8.7pt}.layout-violet-column .application-block{font-size:8.8pt;margin-top:7mm}.layout-violet-column .application-block .company-name{font-size:19pt}.layout-violet-column .application-block .company-tagline{font-size:8.8pt}.layout-violet-column .application-logo{height:17mm;background:var(--accent);padding:2mm}.layout-violet-column .cv-footer{right:auto;left:16mm;font-size:8.5pt}
/* Quiet variation: a single text column and a compact portrait at the top right. */
.layout-violet-minimal .cv-right{padding-top:13mm}.layout-violet-minimal .cv-header{border-top:1.7mm solid var(--accent);display:grid;grid-template-columns:minmax(0,1fr) var(--portrait-size);gap:10mm;padding:6mm 0;margin:0 0 5mm;min-height:calc(var(--portrait-size) + 12mm)}.layout-violet-minimal .header-photo{grid-column:2;grid-row:1}.layout-violet-minimal .header-titles{grid-column:1;grid-row:1;align-self:center}.layout-violet-minimal .cv-kicker{font-family:'CV Sans',Arial,sans-serif;color:var(--accent);font-size:10pt;text-transform:uppercase;letter-spacing:1.2pt;margin:0 0 4mm}.layout-violet-minimal .no-photo{grid-template-columns:1fr;min-height:0;padding-bottom:7mm}.layout-violet-minimal .cv-name{color:#241f2d}.layout-violet-minimal .cv-section-heading{display:flex;align-items:center;gap:4mm;font-family:'CV Serif',Georgia,serif;color:var(--accent);font-size:14pt;font-weight:700;line-height:1.15;text-transform:none;letter-spacing:0;margin:0 0 3.5mm}.layout-violet-minimal .cv-section-heading>span{min-width:0;overflow-wrap:anywhere}.layout-violet-minimal .cv-section-heading:after{content:'';height:.5pt;background:var(--secondary);min-width:8mm;flex:1}.layout-violet-minimal .cv-footer{right:16mm;font-size:8.5pt}.layout-violet-minimal .cv-unit>ul{padding-left:4.2mm}

/* Horizon reference: round portrait, orange markers and an open two-column page. */
.layout-orange-continental{grid-template-rows:auto minmax(0,1fr);font-family:var(--cv-font,'CV Sans',Arial,sans-serif);color:#111}
.layout-orange-continental .orange-header{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:var(--cv-side) minmax(0,1fr);align-items:start;padding:8mm 0 12mm;min-width:0;position:relative;z-index:1}
.layout-orange-continental .header-photo{grid-column:1;grid-row:1;border-radius:50%;margin-left:12mm;width:min(var(--portrait-size),calc(100% - 22mm));height:auto;aspect-ratio:1;background:var(--accent)}
.layout-orange-continental .header-titles{grid-column:2;grid-row:1;border-left:1mm solid var(--accent);padding:0 8mm;margin:8mm 10mm 5mm 0;min-height:35mm;display:flex;flex-direction:column;justify-content:center}
.layout-orange-continental .cv-name{font-family:inherit;font-weight:700;font-size:var(--name-size);line-height:1.28;letter-spacing:.1pt;transform:none;width:auto;margin:0}
.layout-orange-continental .cv-name>span{display:block}
.layout-orange-continental .cv-kicker{font-size:9pt;line-height:1.2;margin-bottom:2mm;text-transform:uppercase;letter-spacing:.7pt;overflow-wrap:anywhere}
.layout-orange-continental .cv-aside{grid-column:1;grid-row:2;height:auto;min-height:0;background:transparent;color:#111;position:relative;z-index:1}
.layout-orange-continental .side-inner{padding:0 7mm 39mm 12mm;min-height:0}
.layout-orange-continental .side-flow>.side-block{margin-bottom:9mm}
.layout-orange-continental .side-block p{text-align:left;line-height:var(--cv-leading)}
.layout-orange-continental .side-block h2,.layout-orange-continental .cv-section-heading{border-left:.9mm solid var(--accent);padding-left:2.3mm;font-size:11.3pt;line-height:1.1;letter-spacing:0;margin:0 0 4.3mm;text-transform:uppercase;font-weight:700;overflow-wrap:anywhere}
.orange-contact-line{margin-bottom:5mm;line-height:1.32;overflow-wrap:anywhere;white-space:pre-line}
.orange-contact-line:last-child{margin-bottom:0}
.orange-contact-line strong,.orange-contact-line span{display:block}
.layout-orange-continental .cv-right{grid-column:2;grid-row:2;height:auto;min-height:0;padding:0 10mm 0 7mm;margin-bottom:18mm;border-left:.9mm solid var(--secondary);z-index:1}
.layout-orange-continental .cv-unit{padding-bottom:4mm}
.layout-orange-continental .cv-unit.has-heading:not(:first-child){padding-top:3.6mm}
.layout-orange-continental .job-grid{grid-template-columns:minmax(0,1fr) minmax(20mm,29%);gap:4mm;margin-bottom:1.5mm}
.layout-orange-continental .job-title{font-size:calc(var(--cv-size) + 1pt);line-height:1.2;margin-bottom:1mm}
.layout-orange-continental .job-org{font-size:var(--cv-size);font-weight:700;line-height:var(--cv-leading)}
.layout-orange-continental .job-period{font-size:calc(var(--cv-size) - .4pt);line-height:1.3;text-align:right}
.layout-orange-continental .cv-unit>ul{padding-left:3.6mm}
.layout-orange-continental .kind-list>ul{list-style-type:'- '}
.layout-orange-continental .cv-footer{right:10mm;bottom:-10mm;font-size:8pt;color:#555}
.layout-orange-continental .signature-box img{filter:brightness(0)}
.layout-orange-continental .flat-application{border-top-color:var(--accent);margin-top:4mm;font-size:8pt;gap:4mm}
.layout-orange-continental .flat-logo{flex-basis:32mm}
.layout-orange-continental .flat-logo img{width:28mm}
.continental-geometry{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.continental-geometry i{position:absolute;border-radius:50%;background:var(--accent);display:block}
.continental-geometry .circle-top-accent{width:114mm;height:114mm;top:-76mm;right:-13mm}
.continental-geometry .circle-top-dark{width:34mm;height:34mm;top:-23mm;right:32mm;background:var(--secondary)}
.continental-geometry .circle-bottom-accent{width:92mm;height:92mm;bottom:-78mm;left:-39mm}
.continental-geometry .circle-bottom-dark{width:47mm;height:47mm;bottom:-16mm;left:-22mm;background:var(--secondary)}
.layout-orange-continental.continuation-page{grid-template-rows:minmax(0,1fr);padding-top:16mm}
.layout-orange-continental.continuation-page .cv-aside,.layout-orange-continental.continuation-page .cv-right{grid-row:1}
.layout-orange-continental.continuation-page .circle-top-accent{width:58mm;height:58mm;top:-48mm;right:-10mm}
.layout-orange-continental.continuation-page .circle-top-dark{width:16mm;height:16mm;top:-11mm;right:24mm}
.layout-orange-continental .running-header{color:#333;border-bottom-color:var(--accent);margin-bottom:5mm}
.layout-orange-continental .no-photo .header-titles{margin-top:3mm;margin-bottom:0}

@media(max-width:1100px) and (min-width:701px){.preview-label #layout-name{max-width:90px}.layout-mini{height:112px}}

@media(min-width:1650px){.app{grid-template-columns:225px 432px minmax(0,1fr)}.editor{padding:34px 32px}.preview-scroll{padding:36px 40px}}
@media(max-width:1250px){.app{grid-template-columns:172px 354px minmax(0,1fr)}.rail{padding-left:9px;padding-right:9px}.nav-item{gap:8px;font-size:.8125rem;padding:12px 9px}.editor{padding:27px 20px}.topbar{padding:0 22px}.save-state{display:none}.preview-toolbar{padding:0 18px}.preview-scroll{padding:28px 15px}}
@media(max-width:980px){.app{grid-template-columns:350px minmax(0,1fr);grid-template-rows:60px minmax(0,1fr)}.rail{grid-column:1/-1;grid-row:1;display:flex;flex-direction:row;align-items:center;padding:8px 15px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--line);border-right:0;gap:4px;background:#f5f7f1}.rail-caption,.rail-bottom{display:none}.nav-item{width:auto;white-space:nowrap;min-height:38px;padding:9px 12px}.nav-item .step{display:none}.editor{grid-column:1;grid-row:2}.preview-panel{grid-column:2;grid-row:2}.topbar{height:72px}.app{height:calc(100dvh - 72px);min-height:600px}.header-actions .button-label-optional{display:none}.header-actions .btn{padding:10px 12px}.header-actions .btn svg{width:17px;height:17px}.preview-label .format-pill{display:none}#undo-btn,#redo-btn,a[href="/konto"],#user-badge,#premium-link{display:none}}
@media(max-width:380px){.brand-mark{display:none}}
@media(max-width:700px){.header-actions .primary svg{display:none}.topbar{padding:0 16px;height:68px;gap:8px}.brand{gap:8px}.brand-mark{width:29px;height:36px;padding-left:13px}.brand-title{font-size:.9375rem}.brand-sub{font-size:.625rem}.header-actions{gap:5px}.header-actions .btn{padding:9px;min-height:39px}.header-actions .export-text{font-size:.75rem}.app{height:auto;min-height:calc(100dvh - 68px);display:flex;flex-direction:column;padding-bottom:65px}.rail{position:sticky;top:0;z-index:15;flex-shrink:0;min-height:58px;padding:8px 12px;gap:5px}.nav-item{font-size:.8125rem;padding:9px 11px}.editor{overflow:visible;border-right:0;padding:26px 24px;min-height:calc(100dvh - 200px)}.editor-head{margin-bottom:25px}.preview-panel{min-height:calc(100dvh - 191px);overflow:visible}.preview-scroll{overflow:auto;padding:32px 18px;min-height:450px;max-height:none}.preview-toolbar{position:sticky;top:58px;z-index:10;height:58px;min-height:58px}.preview-tip{font-size:.625rem}.mobile-toggle{position:fixed;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--p-surface);border-top:1px solid var(--line);display:flex;gap:7px;z-index:25}.mobile-toggle button{flex:1;min-height:41px;border-radius:6px;background:#f2f5ed;color:#5f7154;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8125rem;font-weight:600}.mobile-toggle button.active{background:#36572f;color:#fff}body[data-mobile-view=edit] .preview-panel{display:none}body[data-mobile-view=preview] .editor{display:none}body[data-mobile-view=preview] .rail{display:none}body[data-mobile-view=preview] .preview-toolbar{top:0}.toast{bottom:90px}.page-wrap{margin-bottom:28px}.field-row{grid-template-columns:1fr}.check-score{flex-direction:column;align-items:flex-start;gap:12px}.check-score-ring{width:64px;height:64px}.check-score-ring span{width:48px;height:48px;font-size:.8125rem}}
@media(prefers-reduced-motion:no-preference){.btn,.nav-item,.icon-btn{transition:background .15s,color .15s}.toast{animation:toast-in .18s ease-out}@keyframes toast-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}}
.field>.range-row:first-child{display:flex;font-weight:500}.preview-panel.measuring{display:flex!important;position:fixed!important;left:-12000px!important;top:0!important;width:900px!important;height:1000px!important;visibility:hidden!important}
@page{size:auto;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;width:var(--page-width,210mm)!important;min-width:var(--page-width,210mm)!important;height:auto!important}.topbar,.rail,.editor,.preview-toolbar,.preview-tip,.mobile-toggle,.toast,.modal,.issues,.page-label,noscript{display:none!important}.app,.preview-panel,.preview-scroll{display:block!important;width:var(--page-width,210mm)!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important;padding:0!important;margin:0!important;border:0!important}.page-wrap{display:block!important;position:relative!important;width:var(--page-width,210mm)!important;height:var(--page-height,297mm)!important;min-height:var(--page-height,297mm)!important;max-height:var(--page-height,297mm)!important;margin:0!important;padding:0!important;break-after:page;page-break-after:always;break-inside:avoid}.page-wrap:last-child{break-after:auto;page-break-after:auto}.cv-page{position:relative!important;transform:none!important;box-shadow:none!important;width:var(--page-width,210mm)!important;height:var(--page-height,297mm)!important;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-aside{print-color-adjust:exact;-webkit-print-color-adjust:exact}body[data-mobile-view=edit] .preview-panel{display:block!important}}

.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.choice-card{position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:10px 12px;border:1px solid var(--p-border);border-radius:var(--p-radius-sm);background:var(--p-surface);cursor:pointer;font:inherit;text-align:left;transition:border-color .15s var(--p-ease),box-shadow .15s var(--p-ease),transform .1s var(--p-ease);color:inherit}
.choice-card:hover{border-color:var(--p-border-strong);box-shadow:var(--p-shadow-sm)}
.choice-card:active{transform:scale(.98)}
.choice-card.selected{border-color:var(--p-primary);background:var(--p-primary-light);box-shadow:0 0 0 1px var(--p-primary) inset}
.choice-label{font-size:.8125rem}
.choice-check{position:absolute;top:8px;right:10px;color:var(--p-primary);font-size:.75rem;font-weight:700;animation:popIn .2s var(--p-ease)}
.font-grid{grid-template-columns:repeat(2,1fr)}
.font-grid .choice-card{padding:12px 14px}
.font-card-name{font-size:.9375rem;font-weight:600;color:var(--p-text)}
.font-card-sample{font-size:.8125rem;color:var(--p-text-muted)}
.zoom-pills{display:flex;gap:3px;background:#f1f5f9;padding:3px;border-radius:9px}
.zoom-pill{border:0;background:transparent;padding:5px 9px;font-size:.6875rem;border-radius:6px;color:var(--p-text-muted);cursor:pointer;font-weight:500;transition:background-color .15s var(--p-ease),color .15s var(--p-ease),box-shadow .15s var(--p-ease)}
.zoom-pill.active{background:var(--p-surface);color:var(--p-text);box-shadow:var(--p-shadow-sm)}
body[data-mode="dashboard"] .topbar .header-actions{display:none}
body[data-mode="dashboard"] .mobile-toggle{display:none}
.dashboard{flex:1;overflow:auto;background:var(--p-bg);padding:44px 40px 60px}
.dashboard-inner{max-width:1080px;margin:0 auto}
.dashboard-head h1{margin:0 0 6px;font-size:2rem;letter-spacing:-.6px;font-weight:750;background:linear-gradient(135deg,var(--p-text) 20%,var(--p-primary) 120%);-webkit-background-clip:text;background-clip:text;color:transparent}
.dashboard-head p{margin:0 0 30px;color:var(--p-text-muted)}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.doc-card{position:relative;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--p-shadow-sm);transition:box-shadow .18s var(--p-ease),transform .18s var(--p-ease),border-color .18s var(--p-ease);animation:cardIn .35s var(--p-ease) both}
.doc-card:hover{box-shadow:var(--p-shadow-md);transform:translateY(-3px);border-color:var(--p-border-strong)}
.doc-card-open{all:unset;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;padding:16px;width:100%}
.doc-card-thumb{display:block;width:100%;aspect-ratio:150/200;border-radius:9px;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.12);margin-bottom:12px;background:#f1f5f9;transition:box-shadow .18s var(--p-ease)}
.doc-card:hover .doc-card-thumb{box-shadow:0 6px 18px rgba(15,23,42,.18)}
.doc-card-thumb svg{width:100%;height:100%;display:block}
.doc-card-name{font-weight:600;font-size:.9375rem;color:var(--p-text);overflow-wrap:anywhere}
.doc-card-meta{font-size:.75rem;color:var(--p-text-muted);margin-top:4px}
.doc-card-actions{display:flex;gap:6px;padding:0 12px 12px;justify-content:flex-end;opacity:0;transition:opacity .15s var(--p-ease)}
.doc-card:hover .doc-card-actions,.doc-card:focus-within .doc-card-actions{opacity:1}
.doc-card-new{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:238px;border:2px dashed #c7d2fe;border-radius:var(--p-radius);color:var(--p-primary);font-weight:600;cursor:pointer;background:var(--p-primary-light);text-align:center;transition:background-color .18s var(--p-ease),border-color .18s var(--p-ease),transform .18s var(--p-ease)}
.doc-card-new:hover{background:#e0e7ff;border-color:var(--p-primary);transform:translateY(-3px)}
.doc-card-new svg{width:28px;height:28px;transition:transform .18s var(--p-ease)}
.doc-card-new:hover svg{transform:scale(1.15) rotate(90deg)}
.dashboard-empty{color:var(--p-text-muted);margin-top:20px}
.dashboard-welcome{margin-top:24px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #e0e7ff;border-radius:16px;padding:28px 32px;max-width:560px}
.dashboard-welcome h2{margin:0 0 10px;font-size:1.25rem;color:#312e81}
.dashboard-welcome p{margin:0;color:#4338ca;line-height:1.6;font-size:.9375rem}
[data-theme="dark"] .dashboard-welcome{background:linear-gradient(135deg,#23234a,#1f1b3a);border-color:#34305e}
[data-theme="dark"] .dashboard-welcome h2{color:#e0e0ff}
[data-theme="dark"] .dashboard-welcome p{color:#c7c9ff}
.doc-card-import{grid-column:span 2;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);box-shadow:var(--p-shadow-sm);animation:cardIn .35s var(--p-ease) both}
.doc-card-import-inner{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px}
.doc-card-import-inner svg{color:var(--p-primary);width:22px;height:22px}
.doc-card-import-title{font-weight:650;font-size:.9375rem;color:var(--p-text)}
.doc-card-import-hint{font-size:.75rem;color:var(--p-text-muted)}
.doc-card-import-inner .inline-actions{margin-top:4px}
.doc-card-import-inner .hint{margin-top:2px}
@media(max-width:700px){.doc-card-import{grid-column:span 1}}
body[data-mode="wizard"] .app{display:flex;flex-direction:column;height:calc(100dvh - 72px);min-height:0;padding-bottom:0;background:var(--p-surface)}
body[data-mode="wizard"] .preview-panel{display:none!important}
body[data-mode="wizard"] [data-action="print"]{display:none}
body[data-mode="wizard"] .mobile-toggle{display:none}
body[data-mode="wizard"] .editor{width:100%;max-width:min(900px,92vw);margin:0 auto;border-right:0;padding:0;overflow:visible;display:flex;flex-direction:column;min-height:0;height:100%;background:var(--p-surface)}
body[data-mode="wizard"] .form-section{padding-bottom:16px;margin-bottom:16px}
body[data-mode="wizard"] .editor-head{margin-bottom:16px}
body[data-mode="wizard"] .field{margin-bottom:13px}
.wizard-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:44px 32px 28px;animation:stepFade .25s var(--p-ease)}
.wizard-progress-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;flex-shrink:0}
.wizard-progress-label{font-size:.75rem;color:var(--p-text-muted);font-weight:600}
.wizard-progress-pct{font-size:.8125rem;color:var(--p-primary);font-weight:700;font-variant-numeric:tabular-nums}
.wizard-progress{height:4px;background:var(--p-border);border-radius:2px;margin-bottom:18px;overflow:hidden;flex-shrink:0}
.wizard-progress-fill{height:100%;background:linear-gradient(90deg,var(--p-primary),var(--p-accent-2));border-radius:2px;transition:width .35s var(--p-ease)}
.wizard-steps{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--p-border);flex-shrink:0}
.wizard-step{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;background:#f1f5f9;color:var(--p-text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .18s var(--p-ease),color .18s var(--p-ease),transform .1s var(--p-ease)}
.wizard-step:hover{background:var(--p-primary-light);color:var(--p-primary)}
.wizard-step:active{transform:scale(.96)}
.wizard-step .wizard-step-num{font-size:.6875rem;opacity:.7}
.wizard-step.active{background:var(--p-primary);color:#fff;box-shadow:var(--p-shadow-sm)}
.wizard-step.done{background:var(--p-primary-light);color:var(--p-primary)}
.wizard-content{flex:1;min-height:0;overflow-y:auto;padding:14px 4px 24px;scrollbar-width:thin}
.wizard-nav{display:flex;justify-content:space-between;margin-top:16px;padding-top:22px;border-top:1px solid var(--p-border);flex-shrink:0}
.wizard-nav .chevron-left{transform:rotate(90deg)}
.wizard-nav .chevron-right{transform:rotate(-90deg)}
.signature-pad-wrap{margin-top:8px}
.signature-pad{display:block;width:100%;max-width:420px;height:140px;border:1px dashed var(--p-border-strong);border-radius:var(--p-radius-sm);background:var(--p-surface);touch-action:none;cursor:crosshair;transition:border-color .15s var(--p-ease)}
.signature-pad:hover{border-color:var(--p-primary)}
.signature-mode-grid .choice-card{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:14px 10px}
.signature-mode-grid svg{width:22px;height:22px;color:var(--p-text-muted);transition:color .15s var(--p-ease)}
.signature-mode-grid .choice-card.selected svg{color:var(--p-primary)}
.sig-generate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.sig-generate-option{border:1px solid var(--p-border);border-radius:var(--p-radius-sm);background:var(--p-surface);padding:14px 10px;cursor:pointer;transition:border-color .15s var(--p-ease),box-shadow .15s var(--p-ease),transform .12s var(--p-ease);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;width:100%}
.sig-generate-option:hover{border-color:var(--p-primary);box-shadow:var(--p-shadow-sm);transform:translateY(-2px)}
.sig-font-preview{display:block;font-size:1.4rem;line-height:1.3;color:var(--p-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sig-font-name{display:block;font-size:.6875rem;color:var(--p-text-subtle)}
.attachment-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.attachment-row{display:flex;align-items:center;gap:10px;border:1px solid var(--p-border);border-radius:var(--p-radius-sm);padding:8px;transition:border-color .15s var(--p-ease)}
.attachment-row:hover{border-color:var(--p-border-strong)}
.attachment-row img{width:44px;height:56px;object-fit:cover;border-radius:6px;background:#f1f5f9}
.attachment-name{flex:1;font-size:.8125rem;overflow-wrap:anywhere}
.cover-page{display:flex;flex-direction:column;justify-content:space-between;padding:26mm 22mm 22mm 30mm;font-family:var(--cv-font,'CV Sans',Arial,sans-serif)}
.cover-bar{position:absolute;left:0;top:0;bottom:0;width:9mm;background:var(--accent)}
.cover-body{flex:1;display:flex;flex-direction:column;justify-content:center}
.cover-photo{width:46mm;height:46mm;border-radius:50%;overflow:hidden;margin:0 0 14mm;flex-shrink:0}
.cover-photo img{width:100%;height:100%;object-fit:cover}
.cover-kicker{font-size:11pt;text-transform:uppercase;letter-spacing:1pt;color:#555;margin:0 0 3mm}
.cover-role{font-size:16pt;font-weight:700;margin:0 0 10mm;max-width:130mm;overflow-wrap:anywhere}
.cover-name{font-size:34pt;font-weight:700;margin:0 0 4mm;letter-spacing:-.5pt;overflow-wrap:anywhere}
.cover-company{font-size:13pt;margin:0}
.cover-subtitle{font-size:11pt;color:#444;margin:6mm 0 0}
.cover-date{font-size:10pt;color:#555}

/* ===== Deckblatt je Layout: eigene Form pro Vorlage ===== */
/* Foundation: großes Fotopanel wie im Lebenslauf */
.cover-page.layout-green{padding:0;display:grid;grid-template-columns:42% 1fr;position:relative}
.cover-page.layout-green::before{content:'';position:absolute;left:0;top:0;width:42%;height:100%;background:var(--accent);z-index:0}
.cover-page.layout-green .cover-bar{display:none}
.cover-page.layout-green .cover-photo{grid-column:1;grid-row:1;width:100%;height:var(--page-height,297mm);border-radius:0;margin:0;position:relative;z-index:1}
.cover-page.layout-green .cover-body{grid-column:2;grid-row:1;padding:30mm 20mm 22mm 18mm;position:relative;z-index:1}
.cover-page.layout-green .cover-date{grid-column:2;position:absolute;right:18mm;bottom:18mm;z-index:1}
.cover-page.layout-green .cover-name{font-family:'CV Display','Arial Narrow',sans-serif;text-transform:uppercase}

/* Blockform: dieselben Quadrate wie im Lebenslauf */
.cover-page.layout-violet-blocks,.cover-page.layout-violet-column,.cover-page.layout-violet-minimal{font-family:'CV Serif',Georgia,serif}
.cover-page.layout-violet-blocks .cover-name,.cover-page.layout-violet-column .cover-name,.cover-page.layout-violet-minimal .cover-name{font-weight:400}
.cover-page.layout-violet-blocks .cover-kicker,.cover-page.layout-violet-column .cover-kicker,.cover-page.layout-violet-minimal .cover-kicker{font-family:'CV Sans',Arial,sans-serif}
.cover-page.layout-violet-blocks .cover-bar{display:none}
.cover-page.layout-violet-blocks .cover-body{padding-left:8mm}

/* Meridian: schmale Farbfläche rechts, wie die Seitenleiste im Lebenslauf */
.cover-page.layout-violet-column{padding-right:calc(22mm + var(--cv-side,33%))}
.cover-page.layout-violet-column .cover-bar{left:auto;right:0;width:var(--cv-side,33%);background:var(--secondary);border-left:4mm solid var(--accent)}

/* Pur: minimalistisch, nur eine feine Doppellinie unter dem Namen */
.cover-page.layout-violet-minimal .cover-bar{width:1.4mm}
.cover-page.layout-violet-minimal .cover-name{border-bottom:.5pt solid var(--secondary);padding-bottom:4mm}

/* Horizon: dieselben vier Kreise wie im Lebenslauf */
.cover-page.layout-orange-continental{overflow:hidden}
.cover-page.layout-orange-continental .cover-photo{border-radius:50%}
.cover-page.layout-orange-continental .cover-bar{display:none}

/* Atelier: dunkler Hintergrund & Punkteraster wie im Lebenslauf */
.cover-page.layout-emerald-column{background:var(--secondary);color:#fff}
.cover-page.layout-emerald-column .cover-kicker{color:var(--accent)}
.cover-page.layout-emerald-column .cover-subtitle,.cover-page.layout-emerald-column .cover-date,.cover-page.layout-emerald-column .cover-company{color:#c9d0c9}
.cover-page.layout-emerald-column .cover-bar{background:var(--accent)}

/* Kontrast: dieselben zwei Diagonalflächen wie im Lebenslauf */
.cover-page.layout-amber-diagonal{overflow:hidden}
.cover-page.layout-amber-diagonal .cover-bar{display:none}
.cover-diagonal-geometry{position:absolute;inset:0;pointer-events:none;z-index:0}
.cover-diagonal-geometry i{position:absolute;left:0;width:80mm;height:40mm;background:var(--accent)}
.cover-diagonal-geometry .cd-a{top:0;clip-path:polygon(0 0,100% 0,0 100%)}
.cover-diagonal-geometry .cd-b{bottom:0;clip-path:polygon(0 100%,100% 100%,0 0)}

/* Akzent: Pfeilform, die auf das Foto zeigt, wie im Lebenslauf */
.cover-page.layout-amber-arrow .cover-bar{background:var(--secondary)}
.cover-page.layout-amber-arrow .cover-photo{position:relative}
.cover-arrow-geometry{position:absolute;left:9mm;top:26mm;width:0;height:0;border-top:8mm solid transparent;border-bottom:8mm solid transparent;border-left:11mm solid var(--accent);z-index:1}
.cover-page.layout-amber-arrow .cover-kicker{position:relative;padding-left:8mm}
.cover-page.layout-amber-arrow .cover-kicker::before{content:'';position:absolute;left:0;top:50%;width:5mm;height:5mm;background:var(--accent);transform:translateY(-50%) rotate(45deg)}

/* Kobalt: dieselben Eck-Quadrate & Tag-Badge wie im Lebenslauf */
.cover-page.layout-cobalt-tags .cover-kicker{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:2mm 4mm;border-radius:1mm;letter-spacing:.4pt}
.cover-page.layout-cobalt-tags .cover-role{color:var(--accent)}

/* Onyx: durchgehend Schwarz-Weiß, kräftige Blocktypografie */
.cover-page.layout-onyx-bold{background:#0d0d0e;color:#fff}
.cover-page.layout-onyx-bold .cover-bar{background:#fff;width:2mm}
.cover-page.layout-onyx-bold .cover-name{text-transform:uppercase;font-weight:800;letter-spacing:-.4pt;border-top:.6pt solid #3a3a3c;padding-top:5mm}
.cover-page.layout-onyx-bold .cover-kicker{color:#9a9a9e}
.cover-page.layout-onyx-bold .cover-subtitle,.cover-page.layout-onyx-bold .cover-date,.cover-page.layout-onyx-bold .cover-company{color:#c8c8cc}
.cover-page.layout-onyx-bold .cover-photo img{filter:grayscale(1)}

/* Sagenhaft: Schreibschrift & dieselben Zeitstrahl-Punkte wie im Lebenslauf */
.cover-page.layout-sage-elegant .cover-name{font-family:'Dancing Script','Segoe Script','Brush Script MT',cursive;font-size:44pt;font-weight:700}
.cover-page.layout-sage-elegant .cover-kicker{display:inline-block;background:var(--accent);color:#fff;padding:2mm 4mm;border-radius:1mm;font-size:9pt}
.cover-dot-timeline{position:absolute;right:16mm;bottom:16mm;display:flex;flex-direction:column;gap:3mm}
.cover-dot-timeline i{width:3mm;height:3mm;border-radius:50%;background:var(--accent);display:block}
.cover-dot-timeline i:nth-child(2){margin-left:5mm}
.cover-dot-timeline i:nth-child(3){margin-left:10mm}

/* Studio: helle Fläche mit klarer Doppellinie, wie die Rubriken im Lebenslauf */
.cover-page.layout-navy-modern{background:#fafbfb}
.cover-page.layout-navy-modern .cover-bar{background:var(--accent);width:1.6mm}
.cover-page.layout-navy-modern .cover-name{text-transform:uppercase;font-weight:800;letter-spacing:-.3pt;border-bottom:1pt solid var(--accent);padding-bottom:5mm}
.cover-page.layout-navy-modern .cover-kicker{color:var(--accent);font-weight:600}

/* Mintgrün: großes rundes Foto mit weichem Farbkreis dahinter */
.cover-page.layout-mint-portrait{overflow:hidden}
.cover-page.layout-mint-portrait .cover-bar{background:var(--accent);height:3mm;top:0;bottom:auto;width:100%}
.cover-page.layout-mint-portrait .cover-photo{width:60mm;height:60mm;position:relative}
.cover-page.layout-mint-portrait .cover-photo::before{content:'';position:absolute;inset:-6mm;border-radius:50%;background:var(--secondary);z-index:-1}
.cover-page.layout-mint-portrait .cover-name{font-family:'Dancing Script','Segoe Script','Brush Script MT',cursive;font-size:46pt;font-weight:700;color:#2f4a3d}
.letter-page{display:block;padding:28mm 24mm;font-family:var(--cv-font,'CV Sans',Arial,sans-serif);font-size:10.5pt;line-height:1.5;color:#151515}
.letter-sender{font-size:8.8pt;color:#444;line-height:1.45;text-align:right;margin-bottom:18mm}
.letter-recipient{font-size:10pt;margin-bottom:10mm}
.letter-dateline{text-align:right;font-size:9.5pt;margin-bottom:10mm}
.letter-subject{font-weight:700;color:var(--letter-accent,#151515);margin:0 0 6mm}
.letter-greeting{margin:0 0 5mm}
.letter-body{margin-bottom:8mm;overflow-wrap:anywhere}
.letter-body p{margin:0 0 4mm}
.letter-closing{margin:0 0 2mm}
.letter-signature img{height:16mm;object-fit:contain;display:block;margin:2mm 0}
.letter-name{margin:0}
/* ===== Anschreiben: individuelle Note je Layout (Farbe, Form, Anordnung) ===== */
.letter-page.layout-green{border-top:3mm solid var(--letter-accent);padding-top:25mm}
.letter-page.layout-violet-blocks,.letter-page.layout-violet-column,.letter-page.layout-violet-minimal{font-family:'CV Serif',Georgia,serif}
.letter-page.layout-violet-blocks .letter-subject{display:inline-block;background:var(--letter-accent);color:#fff;padding:1.6mm 4mm;font-family:'CV Sans',Arial,sans-serif}
.letter-page.layout-violet-column{border-right:3mm solid var(--letter-accent);padding-right:21mm}
.letter-page.layout-violet-minimal .letter-name{border-top:.5pt solid #ccc;padding-top:3mm;display:inline-block}
.letter-page.layout-orange-continental{position:relative;overflow:hidden}
.letter-page.layout-orange-continental::after{content:'';position:absolute;right:-20mm;bottom:-20mm;width:50mm;height:50mm;border-radius:50%;background:var(--letter-accent);opacity:.09;pointer-events:none}
.letter-page.layout-emerald-column{border-left:3mm solid var(--letter-accent);padding-left:21mm}
.letter-page.layout-amber-diagonal{position:relative}
.letter-page.layout-amber-diagonal::before{content:'';position:absolute;left:0;top:0;width:0;height:0;border-top:16mm solid var(--letter-accent);border-right:16mm solid transparent;pointer-events:none}
.letter-page.layout-amber-arrow .letter-subject{position:relative;padding-left:6mm}
.letter-page.layout-amber-arrow .letter-subject::before{content:'';position:absolute;left:0;top:50%;width:3.5mm;height:3.5mm;background:var(--letter-accent);transform:translateY(-50%) rotate(45deg)}
.letter-page.layout-cobalt-tags .letter-subject{display:inline-block;background:var(--letter-accent);color:#fff;padding:2mm 4.5mm;border-radius:1mm}
.letter-page.layout-onyx-bold{border-top:2mm solid #111}
.letter-page.layout-onyx-bold .letter-subject,.letter-page.layout-navy-modern .letter-subject{text-transform:uppercase;letter-spacing:.4pt}
.letter-page.layout-sage-elegant .letter-name,.letter-page.layout-mint-portrait .letter-name{font-family:'Dancing Script','Segoe Script','Brush Script MT',cursive;font-size:16pt;color:var(--letter-accent)}
.letter-page.layout-sage-elegant .letter-subject{display:inline-block;border-bottom:.6pt solid var(--letter-accent);padding-bottom:1.5mm}
.letter-page.layout-navy-modern .letter-subject{border-bottom:1pt solid var(--letter-accent);padding-bottom:2mm;display:inline-block}
.letter-page.layout-mint-portrait{border-top:3mm solid var(--letter-accent);padding-top:25mm}
.attachment-page{display:flex;align-items:center;justify-content:center;padding:10mm}
.attachment-page img{max-width:100%;max-height:100%;object-fit:contain}


/* ---- Atelier (emerald-column): dark column right, skill bars, dot-grid ---- */
.layout-emerald-column{grid-template-columns:minmax(0,1fr) var(--cv-side);font-family:var(--cv-font,'CV Sans',Arial,sans-serif);color:#1c1c1c}
.layout-emerald-column .cv-aside{grid-column:2;grid-row:1;background:var(--secondary);color:var(--secondary-ink,#fff)}
.layout-emerald-column .cv-right{grid-column:1;grid-row:1;padding:16mm 12mm 14mm 16mm;position:relative}
.layout-emerald-column .cv-header{margin:0 0 8mm}
.layout-emerald-column .header-photo{width:34mm;height:34mm;border-radius:50%;overflow:hidden;margin:0 0 6mm}
.layout-emerald-column .header-photo img{width:100%;height:100%;object-fit:cover}
.layout-emerald-column .cv-kicker{font-size:9.5pt;text-transform:uppercase;letter-spacing:1pt;color:var(--accent);margin:0 0 2mm}
.layout-emerald-column .cv-name{font-family:inherit;font-weight:800;font-size:var(--name-size);line-height:1.05;letter-spacing:-.3pt;transform:none;width:auto;text-transform:none;margin:0 0 8mm}
.layout-emerald-column .cv-name::after{content:'';display:block;width:14mm;height:1.6mm;background:var(--accent);border-radius:1mm;margin-top:3mm}
.layout-emerald-column .cv-unit{padding-bottom:5mm}
.layout-emerald-column .cv-unit.kind-contact ul,.layout-emerald-column .cv-unit.kind-text ul{list-style:none;margin:0;padding:0}
.layout-emerald-column .cv-unit.kind-contact li{margin:0 0 1.6mm;font-size:8.6pt}
.layout-emerald-column .cv-unit.kind-text li{list-style:none;text-align:left;line-height:1.5}
.layout-emerald-column .cv-section-heading{font-size:9.5pt;text-transform:uppercase;letter-spacing:.8pt;color:var(--accent);font-weight:700;border-bottom:.6pt solid #dfe3df;padding-bottom:1.5mm;margin-bottom:3mm}
.layout-emerald-column .side-inner{padding:12mm 9mm 13mm}
.layout-emerald-column .side-block{margin-bottom:6mm}
.layout-emerald-column .side-block h2{display:inline-block;background:var(--accent);color:var(--accent-ink);font-size:8pt;font-weight:700;letter-spacing:.4pt;text-transform:uppercase;padding:2mm 5mm;border-radius:99mm;margin-bottom:4mm}
.layout-emerald-column .side-entry-item{display:flex;flex-wrap:wrap;gap:0 2mm;align-items:baseline;margin-bottom:1mm}
.layout-emerald-column .side-entry-period{font-size:7.6pt;color:var(--accent);font-weight:700;width:100%}
.layout-emerald-column .side-entry-title{font-size:9pt;font-weight:700}
.layout-emerald-column .side-entry-org{font-size:8pt;opacity:.85;width:100%}
.layout-emerald-column .side-entry-block ul{margin:1.5mm 0 0;padding-left:3.5mm}
.layout-emerald-column .side-entry-block li{font-size:8pt;line-height:1.45;margin-bottom:.6mm}
.layout-emerald-column .side-skills .skill-bar-row{margin-bottom:3mm}
.layout-emerald-column .application-block{color:var(--secondary-ink,#fff)}
.layout-emerald-column .cv-footer{color:#8a8f8a}
.emerald-geometry{position:absolute;inset:0;pointer-events:none;z-index:0}
.emerald-geometry .dot-grid{position:absolute;right:8mm;bottom:8mm;width:16mm;height:16mm;background-image:radial-gradient(var(--accent) 1.1px,transparent 1.1px);background-size:4mm 4mm;opacity:.5}

/* ---- Skill bars (shared: emerald-column sidebar + amber-diagonal main flow) ---- */
.skill-bar-row{margin-bottom:2.6mm}
.skill-bar-label{display:block;font-size:8.4pt;margin-bottom:1mm}
.skill-bar-track{display:block;width:100%;height:1.6mm;border-radius:1mm;background:rgba(127,127,127,.28)}
.skill-bar-fill{display:block;height:100%;border-radius:1mm;background:var(--accent)}
.layout-amber-diagonal .main-flow .skill-bar-track{background:#e3e5e7}

/* ---- Kontrast (amber-diagonal): diagonal cut sidebar, circular photo, skill bars in main ---- */
.layout-amber-diagonal{font-family:var(--cv-font,'CV Sans',Arial,sans-serif);color:#22252a}
.layout-amber-diagonal .cv-aside{background:var(--secondary);color:var(--secondary-ink,#fff);position:relative;overflow:hidden}
.layout-amber-diagonal .cv-photo{width:var(--portrait-size);height:var(--portrait-size);border-radius:50%;margin:14mm auto 0;align-self:center;position:relative;z-index:1;flex-shrink:0}
.layout-amber-diagonal .cv-photo img{border-radius:50%}
.layout-amber-diagonal .side-inner{padding:8mm 7mm 13mm;position:relative;z-index:1}
.layout-amber-diagonal .side-block h2{font-size:9pt;color:var(--accent);letter-spacing:.6pt;border-bottom:.6pt solid rgba(255,255,255,.25);padding-bottom:1.6mm}
.layout-amber-diagonal .side-plain-list ul{list-style:none;margin:0;padding:0}
.layout-amber-diagonal .side-plain-list li{font-size:8.2pt;line-height:1.5;margin-bottom:1mm}
.layout-amber-diagonal .side-entry-item{margin-bottom:1mm}
.layout-amber-diagonal .side-entry-period{display:block;font-size:7.6pt;color:var(--accent);font-weight:700}
.layout-amber-diagonal .side-entry-title{font-size:8.8pt;font-weight:700}
.layout-amber-diagonal .side-entry-org{display:block;font-size:7.8pt;opacity:.85}
.layout-amber-diagonal .cv-header{padding-top:14mm;margin-bottom:6mm}
.layout-amber-diagonal .cv-kicker{color:var(--accent);font-size:9.5pt;text-transform:uppercase;letter-spacing:1pt;margin:0 0 2mm}
.layout-amber-diagonal .cv-name{font-family:inherit;font-weight:800;font-size:var(--name-size);line-height:1.08;transform:none;width:auto;text-transform:none;margin:0}
.layout-amber-diagonal .cv-name span:last-child{color:var(--accent)}
.layout-amber-diagonal .cv-section-heading{font-size:11pt;font-weight:700;color:#22252a;border-bottom:1.4pt solid var(--accent);padding-bottom:2mm;margin-bottom:4mm;display:inline-block}
.layout-amber-diagonal .job-grid .job-title{font-size:10pt}
.layout-amber-diagonal .job-grid .job-org{font-size:8.6pt;color:#54585d}
.layout-amber-diagonal .job-grid .job-period{font-size:8pt;color:var(--accent);font-weight:700}
.layout-amber-diagonal .cv-unit.kind-list .cv-section-heading{display:block}
.diagonal-geometry{position:absolute;inset:0;pointer-events:none;z-index:0}
.diagonal-geometry i{position:absolute;left:0;width:var(--cv-side);height:22mm;background:var(--accent)}
.diagonal-geometry .diag-a{top:0;clip-path:polygon(0 0,100% 0,0 100%)}
.diagonal-geometry .diag-b{bottom:0;clip-path:polygon(0 100%,100% 100%,0 0)}

/* ---- Akzent (amber-arrow): plain labeled sidebar, arrow photo accent ---- */
.layout-amber-arrow{font-family:var(--cv-font,'CV Sans',Arial,sans-serif);color:#22252a}
.layout-amber-arrow .cv-aside{background:var(--secondary);color:var(--secondary-ink,#fff)}
.layout-amber-arrow .cv-photo{width:calc(100% - 14mm);height:auto;aspect-ratio:1;margin:10mm auto 0;position:relative;flex-shrink:0;overflow:visible}
.layout-amber-arrow .cv-photo::after{content:'';position:absolute;top:50%;right:-6mm;width:0;height:0;border-top:4mm solid transparent;border-bottom:4mm solid transparent;border-left:6mm solid var(--accent);transform:translateY(-50%)}
.layout-amber-arrow .side-inner{padding:10mm 8mm 13mm}
.layout-amber-arrow .side-block h2{font-size:9.5pt;color:var(--accent);letter-spacing:.6pt;text-transform:uppercase;border-bottom:.6pt solid rgba(255,255,255,.25);padding-bottom:1.6mm}
.layout-amber-arrow .side-plain-list ul{list-style:none;margin:0;padding:0}
.layout-amber-arrow .side-plain-list li{font-size:8.2pt;line-height:1.5;margin-bottom:1mm}
.layout-amber-arrow .cv-header{padding:14mm 0 0 6mm;margin-bottom:6mm}
.layout-amber-arrow .cv-kicker{color:var(--accent);font-size:9.5pt;text-transform:uppercase;letter-spacing:1pt;margin:0 0 2mm}
.layout-amber-arrow .cv-name{font-family:inherit;font-weight:800;font-size:var(--name-size);line-height:1.1;transform:none;width:auto;text-transform:none;margin:0}
.layout-amber-arrow .cv-section-heading{font-size:11pt;font-weight:700;color:#22252a;border-bottom:1.4pt solid var(--accent);padding-bottom:2mm;margin-bottom:4mm}
.layout-amber-arrow .job-grid .job-title{font-size:10pt}
.layout-amber-arrow .job-grid .job-org{font-size:8.6pt;color:#54585d}
.layout-amber-arrow .job-grid .job-period{font-size:8pt;color:var(--accent);font-weight:700}
.cv-unit li.skill-bar-item{list-style:none;margin-left:-5.7mm;padding-left:0;margin-bottom:2.6mm}

/* ---- Kobalt (cobalt-tags): blaue Tag-Labels, Foto+Name in der Seitenleiste, passendes Anschreiben ---- */
.layout-cobalt-tags{font-family:var(--cv-font,'CV Sans',Arial,sans-serif);color:#1c1c1c}
.layout-cobalt-tags .cv-aside{background:var(--secondary);color:#fff;position:relative}
.layout-cobalt-tags .cv-photo{height:var(--photo-height,95mm);flex-shrink:0}
.layout-cobalt-tags .cv-photo img{filter:grayscale(1) contrast(1.05)}
.cobalt-aside-header{padding:6mm 8mm 7mm;background:var(--secondary)}
.cobalt-aside-header .cv-name{font-family:'CV Display','Arial Narrow',Impact,sans-serif;text-transform:uppercase;transform:scaleX(.72);transform-origin:left top;width:138.9%;font-size:var(--name-size,34pt);font-weight:900;line-height:.98;letter-spacing:-1pt;color:#fff;margin:0;overflow-wrap:anywhere}
.cobalt-role{color:var(--accent);font-weight:700;font-size:11pt;margin:2mm 0 0}
.layout-cobalt-tags .side-inner{padding:6mm 8mm 13mm}
.layout-cobalt-tags .side-block.side-tag{margin-bottom:5mm}
.side-tag-label{display:inline-block;background:var(--accent);color:#fff;font-size:7.5pt;font-weight:700;letter-spacing:.3pt;padding:1.6mm 4mm;border-radius:1mm;margin-bottom:2mm}
.layout-cobalt-tags .side-tag p{font-size:8.4pt;line-height:1.5;color:#e7e9ec;white-space:pre-line}
.layout-cobalt-tags .side-block:not(.side-tag) h2{display:inline-block;background:var(--accent);color:#fff;font-size:7.5pt;font-weight:700;letter-spacing:.3pt;padding:1.6mm 4mm;border-radius:1mm;text-transform:none;margin-bottom:2mm}
.layout-cobalt-tags .side-block:not(.side-tag) p{font-size:8.4pt;color:#e7e9ec}
.layout-cobalt-tags .cv-right{padding-top:11mm}
.layout-cobalt-tags .cv-section-heading{display:inline-block;background:var(--accent);color:#fff;font-size:8pt;font-weight:700;letter-spacing:.4pt;text-transform:none;padding:1.8mm 4.5mm;border-radius:1mm;margin-bottom:4mm}
.layout-cobalt-tags .job-grid .job-title{font-size:10pt;color:#141414}
.layout-cobalt-tags .job-grid .job-org{font-size:8.4pt;color:var(--accent);font-weight:600}
.layout-cobalt-tags .job-grid .job-period{font-size:7.8pt;color:#666}

/* ===== Onyx: schwarz-weiß, kräftige Typografie ===== */
.layout-onyx-bold{font-family:'CV Sans',Arial,sans-serif;color:#141416}
.layout-onyx-bold .cv-aside{background:var(--secondary);color:#e8e8e8}
.layout-onyx-bold .cv-photo img{filter:grayscale(1) contrast(1.06)}
.layout-onyx-bold .side-inner{padding:9mm 8mm 12mm}
.layout-onyx-bold .side-block h2{font-size:9pt;text-transform:uppercase;letter-spacing:1.1pt;color:#9a9a9a;border-bottom:.5pt solid #3a3a3c;padding-bottom:1.6mm;font-weight:700}
.layout-onyx-bold .side-plain-list ul{list-style:none;margin:0;padding:0}
.layout-onyx-bold .side-plain-list li{font-size:8.2pt;line-height:1.5;margin-bottom:1mm;color:#d4d4d6}
.layout-onyx-bold .contact-line{color:#d4d4d6}
.layout-onyx-bold .cv-header{border-bottom:.8pt solid #e2e2e2;padding-bottom:6mm;margin-bottom:8mm}
.layout-onyx-bold .cv-kicker{font-family:inherit;font-weight:400;font-size:13pt;letter-spacing:.4pt;color:#8a8a8e;text-transform:none;margin:0 0 1mm}
.layout-onyx-bold .cv-name{font-family:inherit;font-weight:800;font-size:var(--name-size);text-transform:uppercase;transform:none;width:auto;letter-spacing:-.4pt;line-height:1.04;margin:0;color:#111}
.layout-onyx-bold .cv-section-heading{font-family:inherit;font-weight:800;font-size:11pt;text-transform:uppercase;letter-spacing:.6pt;color:#111;border-bottom:0;margin-bottom:4.4mm}
.layout-onyx-bold .job-grid .job-title{font-size:10pt;font-weight:700;color:#111}
.layout-onyx-bold .job-grid .job-org{font-size:8.4pt;color:#5a5a5e}
.layout-onyx-bold .job-grid .job-period{font-size:7.8pt;color:#8a8a8e}
.layout-onyx-bold .cv-unit li::marker{color:#8a8a8e}

/* ===== Sagenhaft: Schreibschrift-Name & Salbeigrün ===== */
.layout-sage-elegant{font-family:'CV Sans',Arial,sans-serif;color:#2b2f28}
.layout-sage-elegant .cv-aside{background:var(--accent);color:#fff}
.layout-sage-elegant .side-inner{padding:9mm 8mm 12mm}
.layout-sage-elegant .side-block h2{font-size:9.5pt;text-transform:uppercase;letter-spacing:1pt;border-bottom:.6pt solid rgba(255,255,255,.4);padding-bottom:1.6mm;font-weight:700}
.layout-sage-elegant .side-plain-list ul{list-style:none;margin:0;padding:0}
.layout-sage-elegant .side-plain-list li{font-size:8.2pt;line-height:1.5;margin-bottom:1mm}
.layout-sage-elegant .header-titles{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:0}
.layout-sage-elegant .cv-header{margin:0 0 8mm}
.layout-sage-elegant .cv-name{font-family:'Dancing Script','Segoe Script','Brush Script MT',cursive;font-weight:700;font-size:calc(var(--name-size) * 1.2);text-transform:none;transform:none;width:auto;letter-spacing:0;line-height:1.05;color:#3d4a37;margin:0 0 3mm}
.layout-sage-elegant .cv-kicker{display:inline-block;background:var(--accent);color:#fff;font-family:'CV Sans',Arial,sans-serif;font-weight:600;font-size:8.6pt;letter-spacing:1.2pt;text-transform:uppercase;padding:2.6mm 5mm;margin:0}
.layout-sage-elegant .cv-section-heading{font-family:'CV Sans',Arial,sans-serif;font-weight:700;font-size:10.5pt;text-transform:uppercase;letter-spacing:1pt;color:#3d4a37;border-bottom:.6pt solid var(--accent);padding-bottom:2mm;margin-bottom:4.4mm}
.layout-sage-elegant .job-grid{position:relative;padding-left:5.5mm}
.layout-sage-elegant .job-grid::before{content:'';position:absolute;left:0;top:1.7mm;width:2.6mm;height:2.6mm;border-radius:50%;background:var(--accent)}
.layout-sage-elegant .job-grid .job-title{font-size:10pt;font-weight:700;color:#22261f}
.layout-sage-elegant .job-grid .job-org{font-size:8.4pt;color:#5c6656}
.layout-sage-elegant .job-grid .job-period{font-size:7.8pt;color:var(--accent);font-weight:600}

/* ===== Studio: helle Seitenleiste & klare Rubriken ===== */
.layout-navy-modern{font-family:'CV Sans',Arial,sans-serif;color:#20242c}
.layout-navy-modern .cv-aside{background:var(--secondary);color:#20242c;border-right:.5pt solid #e2e4e7}
.layout-navy-modern .cv-photo{border-radius:1.5mm;overflow:hidden}
.layout-navy-modern .side-inner{padding:9mm 8mm 12mm}
.layout-navy-modern .side-block h2{font-size:8.8pt;text-transform:uppercase;letter-spacing:1.2pt;color:#8a8f98;border-bottom:0;padding-bottom:0;margin-bottom:2.6mm;font-weight:700}
.layout-navy-modern .side-plain-list ul{list-style:none;margin:0;padding:0}
.layout-navy-modern .side-plain-list li{font-size:8.2pt;line-height:1.5;margin-bottom:1mm;color:#3a3f47}
.layout-navy-modern .contact-line{color:#3a3f47}
.layout-navy-modern .header-titles{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:1mm}
.layout-navy-modern .cv-header{border-bottom:.8pt solid #e2e4e7;padding-bottom:6mm;margin-bottom:8mm}
.layout-navy-modern .cv-kicker{font-family:inherit;font-weight:600;letter-spacing:1.4pt;text-transform:uppercase;color:var(--accent);font-size:9pt;margin:0}
.layout-navy-modern .cv-name{font-family:inherit;font-weight:800;font-size:var(--name-size);text-transform:uppercase;transform:none;width:auto;letter-spacing:-.3pt;line-height:1.06;margin:0;color:#111}
.layout-navy-modern .cv-section-heading{font-family:inherit;font-weight:800;font-size:10.5pt;text-transform:uppercase;letter-spacing:.4pt;color:#111;border-bottom:1pt solid var(--accent);padding-bottom:2mm;margin-bottom:4.4mm}
.layout-navy-modern .job-grid .job-title{font-size:10pt;font-weight:700;color:#111}
.layout-navy-modern .job-grid .job-org{font-size:8.4pt;color:#5a5f68;font-style:italic}
.layout-navy-modern .job-grid .job-period{font-size:7.6pt;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.4pt}

/* ===== Mintgrün: rundes Foto & Schreibschrift-Name ===== */
.layout-mint-portrait{font-family:'CV Sans',Arial,sans-serif;color:#26302b;line-height:var(--cv-leading)}
.layout-mint-portrait .cv-right{padding:10mm 16mm 14mm;min-width:0}
.layout-mint-portrait{display:block}
.layout-mint-portrait .cv-unit{padding-bottom:5.5mm}
.layout-mint-portrait .cv-header{border-top:1.6mm solid var(--accent);display:grid;grid-template-columns:minmax(0,1fr) var(--portrait-size);gap:8mm;padding:6mm 0;margin:0 0 6mm;min-height:calc(var(--portrait-size) + 10mm)}
.layout-mint-portrait .header-photo{grid-column:2;grid-row:1;border-radius:50%;align-self:start}
.layout-mint-portrait .header-titles{grid-column:1;grid-row:1;align-self:center;display:flex;flex-direction:column-reverse;gap:1mm}
.layout-mint-portrait .no-photo{grid-template-columns:1fr;min-height:0;padding-bottom:7mm}
.layout-mint-portrait .cv-kicker{font-family:'CV Sans',Arial,sans-serif;font-weight:600;color:var(--accent);font-size:9.5pt;text-transform:uppercase;letter-spacing:1.4pt;margin:0}
.layout-mint-portrait .cv-name{font-family:'Dancing Script','Segoe Script','Brush Script MT',cursive;font-weight:700;font-size:calc(var(--name-size) * 1.25);text-transform:none;transform:none;width:auto;letter-spacing:0;line-height:1;color:#2f4a3d;margin:0}
.layout-mint-portrait .cv-section-heading{display:flex;align-items:center;gap:4mm;font-family:'CV Sans',Arial,sans-serif;color:#2f4a3d;font-weight:700;font-size:10.5pt;text-transform:uppercase;letter-spacing:1pt;margin:0 0 3.5mm}
.layout-mint-portrait .cv-section-heading:after{content:'';height:.5pt;background:var(--secondary);min-width:8mm;flex:1}
.layout-mint-portrait .job-grid .job-title{font-size:10pt;font-weight:700;color:#26302b}
.layout-mint-portrait .job-grid .job-org{font-size:8.4pt;color:#5a685f}
.layout-mint-portrait .job-grid .job-period{font-size:7.8pt;color:var(--accent);font-weight:600}
.layout-mint-portrait .cv-unit>ul{padding-left:4.2mm}
.layout-mint-portrait .cv-footer{right:16mm;font-size:8.5pt}
.layout-mint-portrait .signature-box img{filter:brightness(0)}
.cobalt-geometry{position:absolute;inset:0;pointer-events:none;z-index:2}
.cobalt-geometry i{position:absolute;width:9mm;height:9mm;background:var(--accent)}
.cobalt-geometry .square-top{top:0;right:0}
.cobalt-geometry .square-bottom{bottom:0;left:var(--cv-side)}

/* skill dots (Kobalt: Sprachen etc.) */
.cv-unit li.skill-dot-item{list-style:none;margin-left:-5.7mm;padding-left:0;display:flex;align-items:center;justify-content:space-between;gap:4mm;margin-bottom:2mm}
.skill-dots{display:inline-flex;gap:1mm;flex-shrink:0}
.skill-dot{width:2.4mm;height:2.4mm;border-radius:50%;background:#dfe2e6;display:inline-block}
.skill-dot.filled{background:var(--accent)}

/* Branded cover letter (matching sidebar) */


/* Profil-Check (Vollständigkeit & ATS) */
.check-score{display:flex;gap:20px;align-items:center}
.check-score-ring{--pct:0;width:76px;height:76px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9375rem;background:conic-gradient(var(--p-primary) calc(var(--pct)*1%),#e5e9e2 0)}
.check-score-ring.ats{background:conic-gradient(#0891b2 calc(var(--pct)*1%),#e5e9e2 0)}
.check-score-ring span{width:58px;height:58px;border-radius:50%;background:var(--p-surface);display:flex;align-items:center;justify-content:center}
.check-score-body{flex:1;min-width:0}
.check-score-body>p{margin:0 0 8px;font-size:.875rem;color:var(--p-text-muted)}
.check-ok{color:#16a34a!important;font-weight:600}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.check-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:0;border-radius:8px;padding:8px 10px;font:inherit;font-size:.8438rem;text-align:left;cursor:pointer;color:var(--p-text)}
.check-list button:hover{background:var(--p-primary-light,#eef2ff)}
.check-list button svg{width:14px;height:14px;flex-shrink:0;color:var(--p-text-muted)}

/* KI-Verbessern-Button */
.ai-improve-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--p-primary,#4f46e5);background:var(--p-surface);color:var(--p-primary,#4f46e5);font-size:.8125rem;font-weight:600;cursor:pointer}
.ai-improve-btn:hover{background:var(--p-primary-light,#eef2ff)}
.ai-improve-btn:disabled{opacity:.6;cursor:default}
.ai-improve-btn svg{width:14px;height:14px}

/* Theme toggle (light/dark) */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text-muted);cursor:pointer;flex-shrink:0}
.theme-toggle:hover{border-color:var(--p-border-strong)}
.theme-toggle svg{width:18px;height:18px}
[data-theme="dark"] .theme-toggle .icon-sun{display:block}
[data-theme="dark"] .theme-toggle .icon-moon{display:none}
.theme-toggle .icon-sun{display:none}
.theme-toggle .icon-moon{display:block}
@media(max-width:700px){#theme-toggle-btn{display:none}}

/* Musteranschreiben-Dialog */
.letter-branch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:60vh;overflow-y:auto}
.letter-branch-card{border:1px solid var(--p-border);border-top:3px solid var(--branch-color,var(--p-primary));background:var(--p-surface);border-radius:10px;padding:14px 16px;text-align:left;font-weight:650;font-size:.875rem;cursor:pointer;color:var(--p-text)}
.letter-branch-card:hover{border-color:var(--p-border-strong);background:var(--p-bg)}
.letter-profession-list{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto}
.letter-profession-item{border:1px solid var(--p-border);border-radius:10px;padding:12px 14px}
.letter-profession-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.letter-profession-preview{margin:0;font-size:.8125rem;color:var(--p-text-muted);line-height:1.5}
