:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#162b37;background:#f2f6f8;--ink:#1a2d3a;--teal:#108887;--navy:#101f2d;--light:#f3f7f9;--muted:#708391;--border:#e0e8ec;--gold:#dab06a}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:#117b79;text-decoration:none}a:hover{text-decoration:underline}
.app-shell{display:flex;min-height:100vh}.sidebar{width:245px;flex:0 0 245px;background:var(--navy);color:#bfd2db;min-height:100vh;padding:26px 15px;display:flex;flex-direction:column}.brand{color:#fff;display:flex;flex-direction:column;gap:12px;margin:0 14px 38px;font-size:10px;letter-spacing:3px;text-decoration:none}.brand img{object-fit:contain;object-position:left center;width:164px;height:58px}.brand small{font-size:9px;display:block;letter-spacing:1px;color:#72bdbd;margin-top:5px}.nav{display:flex;flex-direction:column;gap:5px}.nav-group{font-size:11px;letter-spacing:1.5px;margin:24px 12px 5px;color:#7691a0}.nav button{color:#bfd2db;text-align:left;background:none;border:0;border-radius:10px;padding:11px 13px;width:100%;font-size:13px}.nav button:hover,.nav button.active{color:#fff;background:#254051}.nav button.active{border-left:3px solid #20b5b2}.nav button.disabled{opacity:.48;cursor:not-allowed}.sidebar-foot{margin-top:auto;padding:22px 14px 0;border-top:1px solid #344653;font-size:11px;color:#92a9b6;line-height:1.8}
.workspace{flex:1;min-width:0}.topbar{min-height:75px;padding:18px 34px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:15px}.crumb{color:#97a7b2}.topbar-actions{display:flex;gap:10px;align-items:center}.status-pill{background:#fff5df;color:#83652e;border-radius:25px;padding:7px 13px;font-size:11px;white-space:nowrap}.status-pill.good{background:#e2f7f1;color:#116751}.main{max-width:1420px;margin:0 auto;padding:28px 32px 70px}h1{font-size:29px;line-height:1.2;letter-spacing:-.5px;margin:0 0 10px}h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:0 0 10px}p{margin:6px 0 12px}.lead{color:var(--muted);margin:4px 0 24px}.muted{color:var(--muted)}.small{font-size:12px}.muted.small{font-size:12px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#78c7c7;font-weight:700}.hero{background:linear-gradient(113deg,#102d3c,#17605d);border-radius:16px;padding:30px 35px;color:white;position:relative;overflow:hidden;margin-bottom:18px}.hero h1{margin:9px 0 8px;font-size:31px}.hero p{color:#c1dadd;max-width:650px}.hero::after{content:'↗';position:absolute;right:50px;top:-20px;font-size:180px;line-height:1;opacity:.1;pointer-events:none}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{border:1px solid var(--border);background:white;border-radius:12px;padding:22px;margin-bottom:17px;box-shadow:0 4px 18px #183a5110}.metric strong{font-size:29px;display:block;margin-top:7px}.metric span{font-size:12px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 19px}.section-head h1{margin:0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:8px;padding:10px 14px;background:#0b8b89;color:white;white-space:nowrap;font-size:13px;font-weight:600}.btn:hover{background:#086c6a}.btn.outline{background:white;color:#167f7d;border-color:#cfe0e3}.btn.outline:hover{background:#e8f5f4}.btn.warn{background:#fff5e7;color:#8e611a;border-color:#f1dcac}.btn.sm{padding:6px 10px;font-size:12px}.btn.block{width:100%}.pill{display:inline-block;background:#ecf5f5;color:#237a77;border-radius:20px;padding:3px 9px;font-size:11px;white-space:nowrap}.pill.warn{background:#fff1d3;color:#946020}.pill.good{background:#e4f7ee;color:#246b46}.pill.dim{background:#edf0f1;color:#647784}.pill.bad{background:#ffebe5;color:#a54130}.notice{border:1px solid #f0ddb5;background:#fff9ee;color:#85642f;border-radius:10px;padding:14px 17px;margin:0 0 17px;font-size:13px}.notice.error{border-color:#ebbbb1;background:#fff0ec;color:#a44638}.notice.good{border-color:#bce4d3;background:#eafaf2;color:#286c50}.items{list-style:none;margin:0;padding:0}.items li{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #eef1f3;padding:12px 0}.items li:last-child{border:0}.items li strong{display:block}.items li small{display:block;color:#78909d}.items button.linkbtn{background:none;color:#146c75;border:0;text-align:left;padding:0;font:inherit}.items button.linkbtn:hover{text-decoration:underline}
table{width:100%;border-collapse:collapse;font-size:13px}thead{background:#f4f7f9}th{font-size:11px;letter-spacing:.35px;text-align:left;color:#78909c}th,td{padding:12px 11px;border-bottom:1px solid #eaf0f2;vertical-align:middle}td .sub{font-size:11px;color:#80939f;display:block}.table-scroll{overflow:auto}.link{background:none;border:none;padding:0;color:#0e7676;text-align:left;font-weight:600}.link:hover{text-decoration:underline}.tag{font-size:11px;background:#eaf2f1;padding:4px 8px;border-radius:6px}label{display:block;margin:11px 0;font-size:12px;color:#516a78;font-weight:600}input,select,textarea{width:100%;border:1px solid #cfdde2;border-radius:8px;padding:11px 12px;margin-top:4px;color:#1b3441;background:#fff;outline-offset:3px}textarea{resize:vertical;min-height:78px}input:focus,textarea:focus,select:focus{border-color:#078d87;outline:2px solid #ddeeee}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.search{max-width:460px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.info{border-bottom:1px solid #eff3f5;padding:10px 0;display:flex;gap:15px;justify-content:space-between}.info span{color:#8294a1;font-size:12px}.info strong{font-size:13px;max-width:70%;text-align:right;overflow-wrap:anywhere}.text-pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:#f6f8fa;border-radius:8px;padding:15px;line-height:1.6}.image-links{display:flex;flex-wrap:wrap;gap:9px}.image-links a{border:1px solid #dce7e5;border-radius:8px;padding:8px 11px;background:#f6fbfa;font-size:12px}.warning-line{border-left:3px solid #e6ba6b;padding:6px 9px;margin:5px 0;font-size:12px;background:#fff8eb}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,1.15fr);gap:17px}.login{max-width:520px;margin:55px auto}.login h1{margin-bottom:10px}.empty{text-align:center;color:#889ca7;padding:30px 10px}.toast{position:fixed;bottom:20px;right:20px;z-index:100;background:#143c45;color:white;padding:14px 20px;border-radius:10px;box-shadow:0 8px 30px #10272f50;max-width:440px}.dialog{width:min(700px,96vw);max-height:90vh;overflow:auto;border:none;border-radius:14px;padding:27px 29px;box-shadow:0 18px 55px #0d202f55}.dialog::backdrop{background:#111d2db0}.dialog h2{font-size:22px}.dialog .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.two-actions{display:flex;gap:9px;flex-wrap:wrap}.big-number{font-size:25px;font-weight:700}.status-table{font-size:12px}.import-help{font-size:12px;color:#5c7480}.sub-card{background:#f6f9fa;border-radius:9px;border:1px solid #e3ebee;padding:14px;margin:10px 0}.num{text-align:right;font-variant-numeric:tabular-nums}.selected{background:#e6f3f2}code{background:#f1f5f6;padding:1px 4px;border-radius:3px}.no-data{text-align:center;padding:30px;color:#8297a3}
@media(max-width:1140px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sidebar{width:190px;flex-basis:190px}.main{padding:22px 19px}.topbar{padding:16px 20px}.split,.detail-grid{grid-template-columns:1fr}.brand img{width:142px}.grid{grid-template-columns:1fr}}@media(max-width:650px){.app-shell{display:block}.sidebar{width:100%;min-height:0;padding:11px 14px}.brand{margin:0 0 8px;flex-direction:row;align-items:center;gap:11px}.brand img{width:115px;height:38px}.nav{display:flex;flex-direction:row;overflow-x:auto;gap:3px;padding:2px 0}.nav-group{display:none}.nav button{width:auto;white-space:nowrap;font-size:12px;padding:9px}.sidebar-foot{display:none}.topbar{min-height:60px;padding:9px 13px;flex-wrap:wrap}.main{padding:16px 12px}.hero{padding:22px}.hero h1{font-size:24px}.grid,.grid.four,.field-grid,.dialog .form-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.status-pill{white-space:normal}.dialog{padding:17px}.topbar-actions{flex-wrap:wrap}}

/* Wrapping Wizard und Preisfreigabe – v0.4.3 */
.check-row{display:flex;gap:10px;align-items:flex-start;background:#f5f9fa;border:1px solid #e2e9ec;border-radius:8px;padding:9px 11px;margin:7px 0;font-size:12px;line-height:1.5;color:#355364;font-weight:500}
.check-row input[type="checkbox"]{width:18px;height:18px;min-width:18px;margin:0;accent-color:#108887}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:8px 0}
.wizard-checks{border:1px solid #dae5e8;border-radius:9px;margin-top:12px;padding:12px;background:#fcfefe}
.wizard-checks summary{cursor:pointer;font-weight:700;color:#234454}
.wizard-preview{margin-top:18px;padding:18px;border-radius:10px;background:#f1f7f7;border:1px solid #cfe3e3}
.wizard-preview .detail-grid{gap:6px 20px}
.dialog:has(.wizard-preview){width:min(900px,96vw)}
@media(max-width:650px){.choice-grid{grid-template-columns:1fr}}

/* v0.4.4 – vertrauliche Kalkulationsfreigabe */
.wizard-margin-approval{margin:13px 0;padding:14px;border:2px solid #a76636;border-radius:8px;background:#fff7ee}
.wizard-margin-approval[hidden]{display:none!important}
.wizard-preview .info strong{max-width:58%;font-variant-numeric:tabular-nums}
.dialog:has(.wizard-preview){width:min(960px,96vw)}

/* v0.4.5 – Textbasierter Offerten-Assistent */
.dialog.offer-intake-dialog{width:min(960px,96vw);max-height:94vh}
.offer-intake-dialog .sub-card{padding:16px 18px;margin:14px 0}
.offer-intake-dialog .sub-card h3{margin-top:0}
.offer-intake-dialog .offer-step-form textarea[name="original_text"]{min-height:220px;line-height:1.55}
.offer-intake-dialog .offer-step-form textarea[name="internal_note"]{min-height:240px}
.offer-intake-dialog .offer-warning-summary{padding:13px 16px;border:1px solid #dfdcce;border-radius:9px;background:#fbfaf4}
.offer-intake-dialog .offer-warning-summary p{margin:2px 0;line-height:1.55}
.offer-intake-dialog .offer-source-preview{white-space:pre-wrap;max-height:190px;overflow:auto;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.offer-intake-dialog .form-actions{position:sticky;bottom:-27px;padding:15px 0 0;background:white;z-index:2}
@media(max-width:650px){.dialog.offer-intake-dialog{width:98vw;padding:15px}.offer-intake-dialog .form-actions{position:static}}
