:root{--bg:#fff;--text:#0f0f0f;--accent:#0f0f0f;--muted:#6b7280;--border:#e5e7eb;--font:"DM Sans", sans-serif;--radius:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{width:100%;max-width:400px}.auth-logo{color:var(--accent);margin-bottom:2rem;font-size:1.5rem;font-weight:500}.auth-title{margin-bottom:1.5rem;font-size:1.25rem;font-weight:500}.form-group{margin-bottom:1rem}.form-group label{color:var(--text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group input{width:100%;font-size:.9375rem;font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:.625rem .75rem;transition:border-color .15s}.form-group input:focus{border-color:var(--accent)}.form-error{color:#dc2626;margin-bottom:1rem;font-size:.8125rem}.btn-primary{width:100%;font-size:.9375rem;font-family:var(--font);color:#fff;background:var(--accent);border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1rem;font-weight:500;transition:opacity .15s}.btn-primary:hover{opacity:.85}.auth-link{color:var(--muted);text-align:center;margin-top:1.5rem;font-size:.875rem}.auth-link a{color:var(--accent);font-weight:500;text-decoration:none}.auth-link a:hover{text-decoration:underline}.loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:.9375rem;display:flex}.dashboard{min-height:100vh}.dashboard-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.dashboard-header .auth-logo{margin-bottom:0}.btn-logout{font-size:.875rem;font-family:var(--font);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.5rem 1rem;font-weight:500;transition:color .15s,border-color .15s}.btn-logout:hover{color:var(--text);border-color:var(--text)}.dashboard-main{padding:2rem}.dashboard-main h1{margin-bottom:.5rem;font-size:1.25rem;font-weight:500}.text-muted{color:var(--muted);font-size:.9375rem}.page-layout{min-height:100vh}.page-title{align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.25rem;font-weight:500;display:flex}.header-actions{gap:.5rem;display:flex}.btn-secondary{font-size:.875rem;font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem;font-weight:500;transition:border-color .15s}.btn-secondary:hover{border-color:var(--text)}.btn-secondary:disabled{opacity:.4;cursor:default}.btn-primary.btn-inline{width:auto}.dashboard-title-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.invoice-form{max-width:800px;margin:0 auto;padding:2rem}.form-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.form-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.form-section h2{margin-bottom:1rem;font-size:1rem;font-weight:500}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.form-group-small{max-width:120px}.form-group select{width:100%;font-size:.9375rem;font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:.625rem .75rem}.form-group select:focus{border-color:var(--accent)}.input-error{border-color:#dc2626!important}.table-wrap{overflow-x:auto}.line-items-table{border-collapse:collapse;width:100%;font-size:.875rem}.line-items-table th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .375rem;font-weight:500}.line-items-table td{vertical-align:middle;padding:.375rem}.line-items-table input,.line-items-table select{width:100%;font-size:.875rem;font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:.5rem}.line-items-table input:focus,.line-items-table select:focus{border-color:var(--accent)}.col-narrow{width:100px}.col-total{text-align:right;white-space:nowrap;width:110px}.col-action{text-align:center;width:40px}.btn-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.btn-remove:hover{color:#dc2626}.btn-add-line{margin-top:.75rem}.totals-section{justify-content:flex-end;display:flex}.totals-block{min-width:260px}.totals-row{justify-content:space-between;padding:.375rem 0;font-size:.9375rem;display:flex}.totals-gross{border-top:1px solid var(--border);margin-top:.375rem;padding-top:.625rem;font-size:1.0625rem;font-weight:500}.badge{border-radius:999px;padding:.1875rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-draft{color:#6b7280;background:#f3f4f6}.badge-sent{color:#16a34a;background:#dcfce7}.invoice-list-table{border-collapse:collapse;width:100%;font-size:.9375rem}.invoice-list-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:.625rem .75rem;font-size:.8125rem;font-weight:500}.invoice-list-table td{border-bottom:1px solid var(--border);padding:.75rem}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:#f9fafb}.text-right{text-align:right}.invoice-detail{max-width:800px;margin:0 auto;padding:2rem}.detail-parties{gap:3rem;margin-bottom:2rem;display:flex}.detail-party{flex:1}.detail-party h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.detail-party p{font-size:.9375rem;line-height:1.6}.party-company{font-weight:500}.detail-meta{border-bottom:1px solid var(--border);gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.meta-label{color:var(--muted);font-size:.8125rem;display:block}.detail-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;font-size:.9375rem}.detail-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:.625rem .5rem;font-size:.8125rem;font-weight:500}.detail-table td{border-bottom:1px solid var(--border);padding:.625rem .5rem}.detail-payment{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.detail-payment h3{margin-bottom:.5rem;font-size:.9375rem;font-weight:500}.detail-payment p{color:var(--muted);font-size:.9375rem;line-height:1.6}.detail-downloads{gap:.5rem;margin-bottom:1.5rem;display:flex}.detail-downloads a{text-decoration:none;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg);border-radius:var(--radius);width:100%;max-width:480px;padding:2rem;position:relative}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--text)}.modal-title{margin-bottom:.75rem;font-size:1.125rem;font-weight:500}.modal-text{color:var(--muted);margin-bottom:1.25rem;font-size:.9375rem;line-height:1.5}.modal-email{margin-bottom:1.25rem;font-size:.9375rem;font-weight:500}.modal-divider{border-top:1px solid var(--border);margin:1.25rem 0}.share-link-row{gap:.5rem;margin-bottom:1rem;display:flex}.share-link-input{border-radius:var(--radius);color:var(--text);background:#f3f4f6;border:none;outline:none;flex:1;padding:.625rem;font-family:monospace;font-size:.8125rem}.btn-copy{white-space:nowrap}.btn-deactivate{font-family:var(--font);color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:500}.btn-deactivate:hover{text-decoration:underline}.btn-deactivate:disabled{opacity:.5;cursor:default}
