:root{--ink:#131722;--muted:#646b78;--accent:#3ab58c;--accent-soft:rgba(58,181,140,.12);--bg:#0f1117;--card:#1a1d24;--border:hsla(0,0%,100%,.1);--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:#fff}.container{width:100%;max-width:1600px;margin:0 auto;padding:2rem}h1{font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.subtitle{color:var(--muted);margin-bottom:0}.header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.logout-btn{padding:.5rem 1rem;font-size:.875rem}.grid{display:flex;gap:2rem;align-items:flex-start}.grid>:first-child,.grid>:last-child{flex:1 1;min-width:0}.grid>:last-child{position:-webkit-sticky;position:sticky;top:2rem}@media (max-width:1100px){.grid{flex-direction:column}.grid>:last-child{position:static}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;overflow:visible}.card+.card{margin-top:1.5rem}.card-title{font-size:1rem;font-weight:600;color:var(--accent)}.card-title,.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:500px){.form-row{grid-template-columns:1fr}}label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.5rem}input,select,textarea{width:100%;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:#fff;font-size:.9375rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#2ea378}.btn-secondary{background:var(--card);border:1px solid var(--border);color:#fff}.btn-secondary:hover{border-color:var(--accent)}.btn-danger{background:rgba(239,68,68,.1);color:#ef4444;padding:.5rem 1rem;font-size:.8125rem}.btn-danger:hover{background:rgba(239,68,68,.2)}.position-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.position-header,.position-item,.position-item:last-of-type{margin-bottom:1rem}.position-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.position-number{font-weight:600;color:var(--accent)}.summary-card{margin-top:1.5rem}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border);gap:1rem}.summary-row:last-of-type{border-bottom:none;padding-top:1rem;margin-top:.5rem;border-top:2px solid var(--border)}.summary-row.total{font-weight:700;font-size:1.25rem;color:var(--accent)}.summary-row span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preview-card{height:calc(100vh - 8rem);min-height:600px;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header .card-title{margin-bottom:0}.zoom-controls{display:flex;align-items:center;gap:.5rem}.zoom-level{font-size:.8125rem;color:var(--muted);min-width:3.5rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-zoom{width:32px;height:32px;padding:0;font-size:1.25rem;line-height:1;background:var(--bg);border:1px solid var(--border);color:#fff;border-radius:6px}.btn-zoom:hover{border-color:var(--accent);color:var(--accent)}.preview-frame{flex:1 1;background:#fff;border-radius:8px;overflow:auto;min-height:500px}.preview-frame iframe{width:100%;height:100%;border:none}.preview-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#646b78;text-align:center;padding:2rem}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.customer-select{display:flex;gap:.5rem}.customer-select select{flex:1 1}.customer-select .btn{padding:.75rem 1rem;flex-shrink:0}.positions-list{margin-bottom:1rem}.left-column>.card:not(:last-child),.message{margin-bottom:1.5rem}.message{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-radius:8px;font-size:.9375rem}.message.success{background:rgba(58,181,140,.15);border:1px solid rgba(58,181,140,.3);color:var(--accent)}.message.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#ef4444}.message button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.7}.message button:hover{opacity:1}.btn-lexoffice{background:#06c;color:#fff;width:100%}.btn-lexoffice:hover:not(:disabled){background:#0052a3}.btn-lexoffice:disabled{opacity:.5;cursor:not-allowed}.loading-text{color:var(--accent);font-size:.8125rem;font-style:italic}.lexoffice-info{padding:.75rem 1rem;background:rgba(0,102,204,.1);border:1px solid rgba(0,102,204,.3);border-radius:8px;color:#4d9fff;font-size:.875rem;font-style:italic}.created-invoice-box{margin-top:1.5rem;padding:1.25rem;background:rgba(58,181,140,.1);border:2px solid var(--accent);border-radius:8px}.created-invoice-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.created-invoice-number{font-size:1.25rem;font-weight:700;color:var(--accent)}.created-invoice-customer{font-size:.875rem;color:var(--muted)}.created-invoice-actions{display:flex;gap:.75rem}.created-invoice-actions .btn{flex:1 1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card);border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--border)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--accent);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#fff}.modal-body{padding:1.5rem}.modal-body textarea{min-height:200px;font-family:inherit;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}.modal-error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem}.attachment-info,.modal-error{border-radius:6px;margin-top:1rem;font-size:.875rem}.attachment-info{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg);color:var(--muted)}.attachment-icon{font-size:1rem}.btn-mail{background:#e85d04;color:#fff}.btn-mail:hover:not(:disabled){background:#d45203}.btn-mail:disabled{opacity:.5;cursor:not-allowed}.saved-invoices-list{display:flex;flex-direction:column;gap:.5rem}.saved-invoice-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.saved-invoice-item:hover{border-color:var(--accent)}.saved-invoice-item.active{border-color:var(--accent);background:var(--accent-soft)}.saved-invoice-info{display:flex;flex-direction:column;gap:.25rem}.saved-invoice-number{font-weight:600;color:var(--accent);font-size:.9375rem}.saved-invoice-customer{font-size:.8125rem;color:var(--muted)}.saved-invoice-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.saved-invoice-date{font-size:.75rem;color:var(--muted)}.saved-invoice-sent{font-size:.6875rem;padding:.2rem .5rem;background:rgba(58,181,140,.2);color:var(--accent);border-radius:4px;font-weight:500}.mode-tabs{display:flex;gap:.5rem;margin-bottom:2rem;padding:.375rem;background:var(--card);border:1px solid var(--border);border-radius:10px;width:-moz-fit-content;width:fit-content}.mode-tab{padding:.625rem 1.5rem;font-size:.9375rem;font-weight:500;border:none;background:transparent;color:var(--muted);border-radius:7px;cursor:pointer;transition:all .2s}.mode-tab:hover{color:#fff;background:var(--bg)}.mode-tab.active{color:#fff}.mode-tab.active,.mode-tab.active:hover{background:var(--accent)}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.contacts-table{margin-top:1.5rem;overflow-x:auto}.contacts-table table{width:100%;border-collapse:collapse}.contacts-table th{text-align:left;padding:.875rem 1rem;background:var(--bg);color:var(--muted);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.contacts-table td{padding:1rem;border-bottom:1px solid var(--border);vertical-align:top}.contacts-table tbody tr{transition:background .2s}.contacts-table tbody tr:hover{background:var(--bg)}.contacts-table tbody tr:last-child td{border-bottom:none}.email-link{color:var(--accent);text-decoration:none;font-size:.875rem}.email-link:hover{text-decoration:underline}.email-link-small{color:var(--accent);text-decoration:none;font-size:.75rem;display:block;margin-top:.25rem}.email-link-small:hover{text-decoration:underline}.no-data{color:var(--muted);font-style:italic;font-size:.875rem}.lexoffice-badge{display:inline-block;margin-left:.5rem;padding:.2rem .5rem;background:rgba(0,102,204,.15);color:#4d9fff;font-size:.6875rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.025em}.contact-persons{gap:.75rem}.contact-person,.contact-persons{display:flex;flex-direction:column}.contact-person{gap:.25rem}.contact-person span,.contact-person-simple{font-size:.875rem;color:#fff}.contact-person-simple{margin-bottom:.5rem}.contact-person-simple:last-child{margin-bottom:0}.primary-badge{margin-left:.5rem;padding:.15rem .4rem;font-size:.625rem}.primary-badge,.primary-badge-inline{display:inline-block;background:rgba(58,181,140,.2);color:var(--accent);font-weight:600;border-radius:3px}.primary-badge-inline{margin-left:.25rem;padding:.1rem .3rem;font-size:.5625rem}.all-emails{gap:.625rem}.all-emails,.email-item{display:flex;flex-direction:column}.email-item{gap:.25rem}.email-label{font-size:.75rem;color:var(--muted);font-weight:500}@media (max-width:1200px){.contacts-table{font-size:.875rem}.contacts-table td,.contacts-table th{padding:.75rem .5rem}}