*{box-sizing:border-box} :root{--bg:#f5f7fb;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--primary:#111827;--danger:#b91c1c}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit} button,input,textarea,select{font:inherit}
.brand{font-weight:800;letter-spacing:-.02em}
.btn{border:1px solid var(--line);background:#fff;padding:.72rem 1rem;border-radius:.7rem;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)} .btn.ghost{background:#fff}.btn.danger{color:var(--danger);border-color:#fecaca}.btn.small{padding:.5rem .7rem;font-size:.86rem}
.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}
.top-actions{display:flex;align-items:center;gap:12px}.container{max-width:1120px;margin:0 auto;padding:42px 24px}
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.page-head h1{margin:.2rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800}.muted{color:var(--muted)}.tiny{font-size:.8rem}
.resume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}.resume-card,.empty-card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:20px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.resume-card h3{margin:0 0 8px}.resume-card p{margin:0 0 8px}.resume-card small{color:var(--muted)}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef2ff,#f8fafc)}
.auth-shell{width:min(1000px,100%);display:grid;grid-template-columns:1.2fr .8fr;background:#fff;border-radius:1.4rem;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.12)}
.hero-panel{padding:60px;background:#111827;color:#fff}.hero-panel h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.02;letter-spacing:-.05em}.hero-panel p{font-size:1.08rem;color:#cbd5e1;max-width:560px}.hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.hero-points span{border:1px solid #374151;border-radius:999px;padding:.55rem .8rem;font-size:.86rem}
.auth-card{padding:48px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs a{padding:12px 0;color:var(--muted);font-weight:800}.tabs a.active{color:var(--text);border-bottom:2px solid var(--text)}
.stack{display:grid;gap:16px}label{display:grid;gap:7px;font-size:.9rem;font-weight:700}input,textarea,select{width:100%;padding:.72rem .8rem;border:1px solid #d1d5db;border-radius:.65rem;background:#fff}textarea{resize:vertical}.alert{padding:.9rem;border-radius:.7rem;margin-bottom:16px}.alert.error{background:#fef2f2;color:#991b1b}
.editor-body{overflow:hidden}.editor-topbar{gap:14px}.editor-title-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;flex:1;max-width:850px}.editor-title-fields input{padding:.55rem .65rem}
.editor-layout{height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(390px,46%) 1fr}.editor-panel{overflow:auto;background:#fff;border-right:1px solid var(--line);padding:18px}.editor-panel details{border:1px solid var(--line);border-radius:.8rem;margin-bottom:12px;overflow:hidden}.editor-panel summary{cursor:pointer;padding:14px 16px;font-weight:800;background:#f9fafb}.editor-panel details>div,.editor-panel details>textarea,.editor-panel details>.btn{margin:14px}
.form-grid,.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.item-card{position:relative;border:1px dashed #d1d5db;border-radius:.7rem;padding:14px;margin-bottom:12px}.item-card .remove-item{position:absolute;right:8px;top:8px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:.45rem;min-width:30px;height:30px;cursor:pointer}.order-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.check-row{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin:8px 0}.check-row input{width:auto}
.preview-shell{overflow:auto;padding:24px;background:#e5e7eb}.preview-toolbar{display:flex;justify-content:space-between;max-width:210mm;margin:0 auto 10px;color:#4b5563;font-size:.85rem}.warn{color:#b45309}.ok{color:#047857}
.cv-page{--cv-font:Arial;--cv-size:10.5pt;--cv-accent:#111827;--cv-margin:15mm;--cv-line:1.35;width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:var(--cv-margin);box-shadow:0 8px 30px rgba(15,23,42,.15);font-family:var(--cv-font);font-size:var(--cv-size);line-height:var(--cv-line);color:#111}
.cv-header{text-align:center;border-bottom:1.5px solid var(--cv-accent);padding-bottom:8px}.cv-header h1{font-size:20pt;margin:0 0 5px;color:var(--cv-accent);letter-spacing:.02em}.cv-header div{font-size:9pt}.cv-header span{padding:0 3px}.cv-section{margin-top:11px}.cv-section h2{font-size:10.5pt;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;padding-bottom:3px;border-bottom:1px solid var(--cv-accent);color:var(--cv-accent)}.cv-section p{margin:0}.cv-item{margin-bottom:8px}.cv-item-head{display:flex;justify-content:space-between;gap:15px}.cv-item-head span{font-size:9pt;color:#444;text-align:right}.cv-item ul{margin:4px 0 0 17px;padding:0}.cv-item li{margin:1px 0}
.print-body{background:#fff}.print-actions{position:fixed;top:16px;right:16px;z-index:10;display:flex;gap:8px}.print-page{box-shadow:none}
@media print{.print-actions{display:none}.print-body{margin:0}.cv-page{box-shadow:none;margin:0;width:210mm;min-height:297mm}@page{size:A4;margin:0}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.hero-panel{padding:36px}.auth-card{padding:32px}.editor-body{overflow:auto}.editor-layout{height:auto;grid-template-columns:1fr}.editor-panel{overflow:visible;border-right:0}.preview-shell{overflow:auto}.editor-topbar{height:auto;flex-wrap:wrap;padding:10px}.editor-title-fields{order:3;grid-template-columns:1fr;width:100%}.top-actions{flex-wrap:wrap}.editor-body .topbar{position:relative}.form-grid,.item-grid{grid-template-columns:1fr}}
