@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--primary: #1a1a2e;--primary-light: #16213e;--accent: #e94560;--accent-hover: #ff6b6b;--success: #06d6a0;--warning: #ffd166;--danger: #ef476f;--info: #118ab2;--bg-dark: #0f0f1a;--bg-main: #f8f9fc;--bg-card: #ffffff;--bg-hover: #f1f3f9;--border: #e2e8f0;--border-light: #f1f5f9;--text-primary: #1a1a2e;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--sidebar-width: 260px;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--transition: all .2s ease;--transition-slow: all .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-main);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--primary);color:var(--text-inverse);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;box-shadow:var(--shadow-lg)}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{display:flex;align-items:center;gap:.75rem;cursor:pointer}.logo .logo-icon{width:36px;height:36px;border-radius:var(--radius-sm)}.logo .logo-text{height:24px;width:auto}.notification-bell-container{position:relative}.notification-bell{position:relative;background:#ffffff1a;border:none;border-radius:var(--radius);padding:.5rem;cursor:pointer;color:#ffffffb3;transition:var(--transition);display:flex;align-items:center;justify-content:center}.notification-bell:hover{background:#ffffff26;color:var(--text-inverse)}.notification-bell.has-danger{animation:pulse-danger 2s infinite}@keyframes pulse-danger{0%,to{background:#ffffff1a}50%{background:#e945604d}}.notification-bell .icon{width:18px;height:18px}.notification-count{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:320px;background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);z-index:1000;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.notification-dropdown-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.notification-dropdown-header .btn-close{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:var(--transition)}.notification-dropdown-header .btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-dropdown-header .btn-close .icon{width:16px;height:16px}.notification-dropdown-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--border-light)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-hover)}.notification-item-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-item-icon .icon{width:16px;height:16px}.notification-warning .notification-item-icon{background:#f59e0b26;color:#f59e0b}.notification-danger .notification-item-icon{background:#ef444426;color:#ef4444}.notification-info .notification-item-icon{background:#118ab226;color:var(--primary)}.notification-item-content{flex:1;min-width:0}.notification-item-title{display:block;font-size:.8125rem;font-weight:500;color:var(--text-primary);margin-bottom:.125rem}.notification-item-subtitle{display:block;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-more{padding:.75rem 1rem;text-align:center;font-size:.75rem;color:var(--text-muted);background:var(--bg-subtle)}.nav-menu{list-style:none;padding:1rem .75rem;flex:1}.nav-menu li{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-bottom:.25rem;border-radius:var(--radius);cursor:pointer;transition:var(--transition);color:#ffffffb3;font-weight:500}.nav-menu li:hover{background:#ffffff14;color:var(--text-inverse)}.nav-menu li.active{background:var(--accent);color:var(--text-inverse);box-shadow:0 4px 12px #e945604d}.nav-menu li .icon{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);font-size:.75rem;color:#fff6}.main-content{flex:1;margin-left:var(--sidebar-width);padding:2rem;min-height:100vh;background:radial-gradient(ellipse at top right,rgba(233,69,96,.03) 0%,transparent 50%),radial-gradient(ellipse at bottom left,rgba(17,138,178,.03) 0%,transparent 50%),var(--bg-main)}h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:1.5rem}h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1rem}h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.icon{width:18px;height:18px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius);cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn .icon{width:16px;height:16px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #e9456040}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #e9456059}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-muted)}.btn-sm{padding:.5rem .875rem;font-size:.8125rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:#ef476f1a;color:var(--danger)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],select,textarea{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);transition:var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e945601a}input.input-readonly{background:var(--bg-hover);color:var(--text-secondary)}textarea{resize:vertical;min-height:80px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid .span-2{grid-column:span 2}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.input-with-button{display:flex;gap:.5rem}.input-with-button select{flex:1}.input-with-button .btn-icon-only{width:44px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-form{padding:.5rem 0}.modal-form .form-group{margin-bottom:1rem}.modal-form .form-row{display:flex;gap:1rem}.modal-form .form-row .form-group{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-light)}.confirm-delete-modal p{margin-bottom:.5rem}.confirm-delete-modal .text-muted{font-size:.875rem;color:var(--text-muted)}.form-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.form-section.highlight{background:linear-gradient(135deg,#e945600d,#118ab20d);border-color:var(--accent)}.form-section h3{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.section-header h3{margin:0;padding:0;border:none}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border)}.form-total{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem;margin-top:1rem;background:var(--bg-hover);border-radius:var(--radius);font-size:1.125rem}.form-total strong{font-size:1.5rem;color:var(--accent)}.document-form{max-width:1000px;margin:0 auto}.form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.form-header h2{margin:0;font-size:1.5rem}.form-header-actions{display:flex;gap:.5rem}.items-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.items-header{display:grid;grid-template-columns:2fr 80px 80px 100px 80px 100px 50px;gap:.5rem;padding:.75rem 1rem;background:var(--bg-hover);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.items-row{display:grid;grid-template-columns:2fr 80px 80px 100px 80px 100px 50px;gap:.5rem;padding:.75rem 1rem;align-items:center;border-top:1px solid var(--border-light)}.items-row:hover{background:var(--bg-hover)}.items-row input,.items-row select{padding:.5rem;font-size:.875rem}.item-service{display:flex;flex-direction:column;gap:.375rem}.item-service select{font-size:.8125rem}.item-description{font-size:.8125rem!important;color:var(--text-secondary)}.item-total{font-weight:600;font-family:JetBrains Mono,monospace;font-size:.875rem}.quote-links{display:flex;flex-direction:column;gap:.5rem}.quote-link-btn{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition);text-align:left;font-family:inherit}.quote-link-btn:hover{border-color:var(--accent);background:#e9456008}.quote-link-btn.selected{border-color:var(--accent);background:#e945600d}.quote-link-btn .icon{color:var(--accent)}.quote-link-client{flex:1;color:var(--text-secondary)}.quote-link-amount{font-weight:600;font-family:JetBrains Mono,monospace}.dashboard{max-width:1200px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.highlight{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border:none;color:#fff}.stat-card.highlight .stat-label{color:#ffffffb3}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);flex-shrink:0}.stat-icon .icon{width:24px;height:24px}.stat-icon.quote{background:#118ab21a;color:var(--info)}.stat-icon.invoice{background:#06d6a01a;color:var(--success)}.stat-icon.pending{background:#ffd1661a;color:var(--warning)}.stat-icon.revenue{background:#e9456033;color:var(--accent-hover)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;font-family:JetBrains Mono,monospace;letter-spacing:-.02em}.stat-label{font-size:.8125rem;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.dashboard-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.dashboard-section.full-width{grid-column:span 2}.dashboard-section .section-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.dashboard-section .section-header h3{font-size:1rem;font-weight:600;margin:0}.recent-list{display:flex;flex-direction:column;gap:.5rem}.recent-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--bg-hover);border-radius:var(--radius);transition:var(--transition);cursor:pointer}.recent-item:hover{background:var(--border-light);transform:translate(4px)}.recent-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.recent-number{font-weight:600;font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-primary)}.recent-client{font-size:.8125rem;color:var(--text-secondary);display:flex;align-items:center;gap:.375rem}.recent-client svg{width:12px;height:12px}.recent-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.recent-meta .icon{width:16px;height:16px;color:var(--text-muted)}.recent-amount{font-weight:600;font-family:JetBrains Mono,monospace;font-size:.9375rem;color:var(--accent)}.quick-actions h2{margin-bottom:1rem}.action-buttons{display:flex;gap:1rem}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--text-secondary)}.action-btn:hover{border-color:var(--accent);border-style:solid;color:var(--accent);background:#e9456008}.action-btn .icon{width:24px;height:24px}.page,.list-page{max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.page-header h1{margin:0}.page-header-actions{display:flex;align-items:center;gap:.5rem}.page-filters{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-filters .filter-select{min-width:180px}.filters{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.search-box{display:flex;align-items:center;gap:.5rem;padding:0 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex:1;max-width:300px}.search-box .icon{color:var(--text-muted)}.search-box input{border:none;padding:.75rem 0;background:transparent;flex:1}.search-box input:focus{outline:none;box-shadow:none}.filter-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.filter-tab{padding:.5rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-secondary);transition:var(--transition)}.filter-tab:hover{background:var(--bg-hover)}.filter-tab.active{background:var(--accent);color:#fff}.table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}table.table{width:100%;border-collapse:collapse;font-size:.9375rem}table.table thead{background:var(--bg-hover)}table.table thead th{padding:1rem 1.25rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}table.table tbody tr{border-bottom:1px solid var(--border-light);transition:var(--transition);cursor:pointer}table.table tbody tr:last-child{border-bottom:none}table.table tbody tr:hover{background:#6366f114}table.table tbody td{padding:1rem 1.25rem;vertical-align:middle;color:var(--text-primary)}table.table .cell-main{display:flex;flex-direction:column;gap:.25rem}table.table .cell-title{font-weight:600;color:var(--text-primary)}table.table .cell-subtitle{font-size:.75rem;color:var(--text-muted)}table.table .cell-number,table.table td:has(.cell-number){font-family:JetBrains Mono,monospace}table.table .actions-cell{display:flex;gap:.25rem;justify-content:flex-end}table.table .actions-cell .btn-icon{opacity:.5;transition:opacity .2s}table.table tbody tr:hover .actions-cell .btn-icon{opacity:1}table.table th:last-child,table.table td:last-child{width:100px;text-align:right}table.table td strong{font-weight:600}table.table .badge{display:inline-flex}table.table-compact{font-size:.875rem}table.table-compact thead th,table.table-compact tbody td{padding:.75rem 1rem}table.table-striped tbody tr:nth-child(2n){background:var(--bg-hover)}table.table-striped tbody tr:hover{background:#e945600d}.cell-client{display:flex;align-items:center;gap:.625rem}.client-avatar-mini{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cell-location{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary)}.cell-location svg{width:14px;height:14px;color:var(--text-muted)}.cell-dates{display:flex;align-items:center;gap:.375rem;font-size:.875rem}.date-separator{color:var(--text-muted);font-size:.75rem}.cell-amount{font-family:JetBrains Mono,monospace;color:var(--accent)}.text-muted{color:var(--text-muted)}.documents-table{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-header,.table-row{display:grid;gap:1rem;padding:1rem 1.5rem;align-items:center}.table-header{background:var(--bg-hover);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.table-header .sortable{cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;-webkit-user-select:none;user-select:none;transition:color .15s}.table-header .sortable:hover{color:var(--text-primary)}.table-header .sort-icon{width:14px;height:14px;opacity:.8}.table-header .sort-icon.inactive{opacity:.3}.table-row{border-top:1px solid var(--border-light);transition:var(--transition)}.quotes-table .table-header,.quotes-table .table-row{grid-template-columns:120px minmax(120px,1fr) 90px 130px 115px 115px 50px}.invoices-table .table-header,.invoices-table .table-row{grid-template-columns:130px minmax(120px,1fr) 90px 90px 115px 115px 50px}.clients-table .table-header,.clients-table .table-row{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 120px 120px 140px 50px}.table-row:hover{background:var(--bg-hover)}.table-row.clickable{cursor:pointer}.table-row.clickable:hover{background:#6366f114}.list-number{font-weight:600;font-family:JetBrains Mono,monospace;font-size:.875rem}.list-client{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-date,.list-validity{font-size:.875rem;color:var(--text-secondary)}.list-validity .validity-badge{display:inline-flex;align-items:center;gap:.125rem;font-size:.6875rem;font-weight:500;padding:.125rem .375rem;border-radius:4px;white-space:nowrap}.list-validity .validity-badge svg{width:10px;height:10px}.list-validity .validity-badge.soon{background-color:#ffd16633;color:#b8860b}.list-validity .validity-badge.today{background-color:#ff8c0033;color:#d97706}.list-validity .validity-badge.expired{background-color:#ef476f26;color:var(--danger)}.list-amount{font-weight:600;font-family:JetBrains Mono,monospace}.list-actions{display:flex;gap:.25rem;justify-content:flex-end}.status-select{padding:.375rem 1.75rem .375rem .75rem;font-size:.75rem;font-weight:600;border-radius:999px;border:none;cursor:pointer;background-size:12px}.status-select.status-draft{background-color:#94a3b826;color:var(--text-secondary)}.status-select.status-sent{background-color:#118ab226;color:var(--info)}.status-select.status-accepted,.status-select.status-paid{background-color:#06d6a026;color:var(--success)}.status-select.status-refused,.status-select.status-overdue{background-color:#ef476f26;color:var(--danger)}.status-select.status-expired,.status-select.status-partial,.status-select.status-pending{background-color:#ffd16626;color:#b8860b}.status-select.status-in_progress{background-color:#118ab226;color:var(--info)}.status-select.status-completed{background-color:#06d6a026;color:var(--success)}.status-select.status-on_hold{background-color:#94a3b826;color:var(--text-secondary)}.status-select.status-cancelled{background-color:#ef476f26;color:var(--danger)}.client-name-cell{display:flex;align-items:center;gap:.75rem}.client-name-cell .client-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem}.client-email,.client-phone,.client-city{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:999px}.badge-gray{background:#94a3b826;color:var(--text-secondary)}.badge-blue{background:#118ab226;color:var(--info)}.badge-green{background:#06d6a026;color:var(--success)}.badge-red{background:#ef476f26;color:var(--danger)}.badge-orange{background:#ffd16626;color:#b8860b}.settings-page{max-width:1200px;margin:0 auto}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;padding:.375rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:fit-content}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--text-secondary);transition:var(--transition)}.tab:hover{background:var(--bg-hover)}.tab.active{background:var(--accent);color:#fff}.settings-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.logo-upload{margin-top:.5rem}.logo-preview{display:flex;align-items:center;gap:1rem}.logo-preview img{width:120px;height:60px;object-fit:contain;background:var(--bg-hover);border-radius:var(--radius);padding:.5rem}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition);color:var(--text-muted)}.upload-zone:hover{border-color:var(--accent);color:var(--accent)}.services-list,.clients-list{display:flex;flex-direction:column;gap:.75rem}.service-card,.client-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-hover);border:1px solid transparent;border-radius:var(--radius);transition:var(--transition)}.service-card .service-info{flex:1}.service-card .service-pricing{margin-left:auto}.service-card:hover,.client-card:hover{background:var(--border-light)}.service-card.clickable,.client-card.clickable{cursor:pointer}.service-info h3,.client-info h3{margin:0;font-size:.9375rem}.service-category{font-size:.75rem;color:var(--text-muted)}.service-pricing{display:flex;align-items:center;gap:.5rem}.service-price{font-weight:600;font-family:JetBrains Mono,monospace}.service-unit,.service-tva{font-size:.8125rem;color:var(--text-secondary)}.service-actions,.client-actions{display:flex;gap:.25rem}.client-info p{margin:0;font-size:.8125rem;color:var(--text-secondary)}.client-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.client-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.client-card-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.client-card .client-info{flex:1;min-width:0}.client-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.client-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.client-badges{display:flex;gap:.5rem}.badge-warning{background:#ffd16626;color:#b8860b}.badge-info{background:#118ab226;color:var(--info)}.client-contact{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.25rem}.client-contact span{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary)}.client-contact svg,.client-address svg{width:14px;height:14px;color:var(--text-muted)}.client-address{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-muted)}.view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:4px}.view-toggle .btn-icon{border-radius:var(--radius-sm);background:transparent;color:var(--text-muted)}.view-toggle .btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.view-toggle .btn-icon.active{background:var(--primary);color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .2s ease}.modal-small{max-width:400px}.modal-medium{max-width:500px}.modal-large{max-width:800px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.125rem}.modal-content{padding:1.5rem;overflow-y:auto}.mini-form .form-group{margin-bottom:1rem}.email-form .attachment-preview{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-hover);border-radius:var(--radius);font-size:.875rem}.email-form .attachment-preview .icon{color:var(--accent)}.preview-overlay{position:fixed;inset:0;background:var(--bg-main);z-index:1000;overflow-y:auto;padding:2rem}.document-preview-wrapper{max-width:900px;margin:0 auto;display:flex;flex-direction:column}.document-preview-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}.document-preview-actions-right{display:flex;align-items:center;gap:.5rem}.document-preview-actions .btn-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.document-preview-actions .btn-icon:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.signature-pad{text-align:center}.signature-instruction{margin-bottom:1rem;color:var(--text-secondary)}.signature-pad canvas{border:2px solid var(--border);border-radius:var(--radius);cursor:crosshair;touch-action:none;max-width:100%}.signature-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1rem}.signature-preview{display:flex;align-items:center;gap:1rem}.signature-preview img{max-width:200px;border:1px solid var(--border);border-radius:var(--radius)}.voice-input{padding:1.5rem;background:linear-gradient(135deg,#118ab20d,#e945600d);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem}.voice-input-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.voice-input-header h4{margin:0}.btn-voice{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:999px;cursor:pointer;font-family:inherit;font-weight:600;transition:var(--transition)}.btn-voice:hover{background:var(--accent-hover)}.btn-voice.listening{background:var(--danger);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef476f66}50%{box-shadow:0 0 0 10px #ef476f00}}.voice-listening{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;margin-bottom:1rem}.pulse-ring{width:16px;height:16px;background:var(--danger);border-radius:50%;animation:pulseRing 1s infinite}@keyframes pulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.voice-transcript,.voice-parsed{padding:1rem;background:var(--bg-card);border-radius:var(--radius);margin-bottom:1rem}.voice-transcript label,.voice-parsed label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.voice-transcript p{margin:0 0 1rem;font-style:italic}.voice-parsed ul{list-style:none;margin:0 0 1rem}.voice-parsed li{padding:.5rem;background:var(--bg-hover);border-radius:var(--radius-sm);margin-bottom:.25rem;font-size:.875rem}.voice-help{padding:1rem;background:#ffffff80;border-radius:var(--radius);font-size:.8125rem;color:var(--text-secondary)}.voice-help p{margin:0 0 .5rem}.voice-help ul{margin:0;padding-left:1.25rem}.voice-input-unavailable{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center;color:var(--text-muted)}.voice-input-unavailable .icon{width:32px;height:32px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.empty-state .icon{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state.small{padding:1.5rem}.empty-state.small .icon{width:32px;height:32px}.toast{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--primary);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:2000;animation:toastSlideIn .3s ease}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast .icon{width:20px;height:20px}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.template-save-modal,.template-select-modal{display:flex;flex-direction:column;gap:1rem}.template-save-info{color:var(--text-secondary);font-size:.875rem;padding:.75rem;background:var(--bg-hover);border-radius:var(--radius);margin-bottom:.5rem}.template-filters{display:flex;gap:1rem;margin-bottom:1rem}.template-filters .search-box{flex:1}.template-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.template-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:var(--transition)}.template-card:hover{border-color:var(--primary);background:var(--bg-hover)}.template-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.template-card-header h4{margin:0;font-size:1rem;font-weight:600}.template-card-description{color:var(--text-secondary);font-size:.875rem;margin:0 0 .75rem;line-height:1.4}.template-card-footer{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted)}.template-card-meta{display:flex;align-items:center;gap:.25rem}.template-card-meta svg{width:14px;height:14px}.template-empty-state,.template-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.template-empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.template-empty-state h3{margin:0 0 .5rem;color:var(--text-primary)}.template-empty-state p{margin:0 0 1.5rem}.templates-section{display:flex;flex-direction:column;gap:1rem}.templates-section-header{display:flex;align-items:center;justify-content:space-between}.templates-section-header h3{margin:0}.templates-list{display:flex;flex-direction:column;gap:.5rem}.template-list-item{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.template-list-info{flex:1;min-width:0}.template-list-info h3{margin:0;font-size:.9375rem;font-weight:600}.template-list-info .template-description{margin:.25rem 0 0;color:var(--text-secondary);font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-list-item .template-category{background:var(--bg-hover);color:var(--text-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;white-space:nowrap}.template-list-item .template-meta{display:flex;gap:1rem;color:var(--text-muted);font-size:.8125rem;white-space:nowrap}.template-list-actions{display:flex;gap:.5rem}.template-name-input{font-size:.9375rem;font-weight:600;padding:.25rem .5rem;border:1px solid var(--primary);border-radius:var(--radius-sm);width:100%}.list-select-header{display:flex;align-items:center;padding:.5rem 1rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem}.list-select-header .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.list-select-header .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.list-item-checkbox{display:flex;align-items:center;flex-shrink:0}.list-item-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.template-list-item.selected,.service-card.selected{border-color:var(--primary);background:#6366f10d}.section-header-actions{display:flex;gap:.5rem}.pagination-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--border)}.pagination-info{color:var(--text-muted);font-size:.8125rem}.pagination-per-page{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.8125rem}.pagination-per-page select{padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:.8125rem}.pagination-controls{display:flex;align-items:center;gap:.25rem}.pagination-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn .icon{width:16px;height:16px}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-page{min-width:32px;height:32px;padding:0 .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.pagination-page:hover{background:var(--bg-hover);border-color:var(--primary)}.pagination-page.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-ellipsis{padding:0 .5rem;color:var(--text-muted)}.action-menu{position:relative;display:inline-flex}.action-menu-trigger{padding:.375rem}.action-menu-trigger:hover{background:var(--bg-hover)}.action-menu-dropdown{min-width:180px;padding:.375rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:.8125rem;text-align:left;cursor:pointer;transition:background .15s ease}.action-menu-item:hover{background:var(--bg-hover)}.action-menu-item .icon{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.action-menu-item:hover .icon{color:var(--text-primary)}.action-menu-item.danger,.action-menu-item.danger .icon{color:var(--danger)}.action-menu-item.danger:hover{background:#ef476f1a}.action-menu-item:disabled{opacity:.5;cursor:not-allowed}.action-menu-item:disabled:hover{background:transparent}.action-menu-divider{height:1px;margin:.375rem 0;background:var(--border)}.export-menu-container{position:relative;display:inline-block}.export-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:160px;padding:.375rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;animation:fadeInDown .15s ease}.export-dropdown button{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:.8125rem;text-align:left;cursor:pointer;transition:background .15s ease}.export-dropdown button:hover{background:var(--bg-hover)}.export-dropdown button svg{width:16px;height:16px;color:var(--text-secondary)}.export-dropdown button:hover svg{color:var(--text-primary)}.doc-actions,table.table .actions-cell{display:flex;justify-content:center;align-items:center}@media print{.sidebar,.preview-actions,.modal-overlay{display:none!important}.main-content{margin:0;padding:0}.document-preview{box-shadow:none;padding:0}.preview-overlay{position:static;background:none;padding:0}}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{width:70px;overflow:hidden}.sidebar-header,.sidebar-footer,.nav-menu li span{display:none}.nav-menu li{justify-content:center;padding:1rem}.main-content{margin-left:70px}.table-header,.table-row{grid-template-columns:100px 1fr 100px 100px auto}.table-header span:nth-child(4),.table-row .list-date:nth-child(4){display:none}.items-header,.items-row{grid-template-columns:1.5fr 60px 60px 80px 60px 80px 40px}}@media(max-width:600px){.main-content{padding:1rem}.stats-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.form-row,.action-buttons{flex-direction:column}.filters{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filter-tabs{overflow-x:auto}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-dark) 0%,#2d2d44 100%);padding:20px}.auth-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:30px}.auth-logo{margin-bottom:16px}.auth-header h1{font-size:28px;color:var(--bg-dark);margin:0 0 8px}.auth-subtitle{color:var(--text-muted);font-size:14px;margin:0}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.auth-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.auth-card .form-group{margin-bottom:20px}.auth-card label{display:block;font-weight:500;margin-bottom:8px;color:var(--bg-dark)}.auth-card input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s}.auth-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e945601a}.btn-full{width:100%;padding:14px 20px;font-size:16px}.auth-links{display:flex;justify-content:space-between;margin-top:20px;gap:10px}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;padding:0}.link-btn:hover{text-decoration:underline}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-dark);color:#fff}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.sidebar-user{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.sidebar-user-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.sidebar-user-avatar{width:36px;height:36px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.sidebar-user-name{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.btn-small{padding:8px 12px;font-size:12px}.form-header-toggle{padding:1rem 1.5rem;background:var(--bg-hover);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:-1rem -1rem 1rem}.toggle-group{display:inline-flex;background:var(--bg-card);border-radius:var(--radius);padding:4px;border:1px solid var(--border)}.toggle-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-weight:500;transition:var(--transition)}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--accent);color:#fff}.toggle-btn svg{width:18px;height:18px}.form-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.form-tab{flex:1;padding:1rem;border:none;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;position:relative;transition:var(--transition)}.form-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.form-tab.active{color:var(--accent)}.form-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent)}.form-body{padding:0 .5rem}.form-body .form-section{margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.form-body .form-section h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light)}.form-row.three-cols{display:grid;grid-template-columns:100px 1fr 1fr;gap:1rem}.flex-1{flex:1}.repeatable-field{margin-bottom:.5rem}.repeatable-field>label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.repeatable-item{display:flex;gap:.5rem;margin-bottom:.5rem}.repeatable-item input{flex:1}.repeatable-label{width:120px;flex-shrink:0}.btn-add-field{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px dashed var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:.8125rem;transition:var(--transition)}.btn-add-field:hover{border-color:var(--accent);color:var(--accent);background:#e945600d}.btn-add-field svg{width:14px;height:14px}.address-fields>label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.address-card{background:var(--bg-hover);border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.address-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.address-card-header select{width:auto;max-width:180px}.address-card input{margin-bottom:.5rem}.address-row{display:flex;gap:.75rem}.address-row .input-small{width:120px;flex-shrink:0}.address-row input:last-child{flex:1}.contacts-fields>label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.contact-card{background:var(--bg-hover);border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem;margin-bottom:.75rem}.contact-card.is-primary{border-color:var(--accent);background:#e9456008}.contact-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.contact-number{font-weight:600;font-size:.875rem;color:var(--text-primary)}.contact-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.contact-row{display:flex;gap:.5rem;margin-bottom:.5rem}.contact-row input{flex:1}.input-civility{width:100px;flex-shrink:0}.contact-card input{margin-bottom:.5rem}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.75rem;padding:0}.badge-primary{background:var(--accent);color:#fff}.form-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem .5rem 0;border-top:1px solid var(--border);margin-top:1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding-right:4rem}.project-card-title h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:0}.project-card-ref{font-size:.75rem;color:var(--text-muted)}.project-card-body{display:flex;flex-direction:column;gap:.5rem}.project-card-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.project-card-info svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.project-card-info strong{color:var(--text-primary);font-weight:500}.project-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.project-card-budget{font-size:1rem;font-weight:600;color:var(--accent)}.project-card-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s;z-index:10;background:var(--bg-primary);padding:.25rem;border-radius:var(--radius-sm)}.project-card:hover .project-card-actions{opacity:1}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.project-card[data-status=pending]:before{background:var(--warning)}.project-card[data-status=in_progress]:before{background:var(--info)}.project-card[data-status=completed]:before{background:var(--success)}.project-card[data-status=on_hold]:before{background:var(--text-muted)}.project-card[data-status=cancelled]:before{background:var(--danger)}.project-detail{max-width:1200px;margin:0 auto}.project-detail .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header-title{flex:1;display:flex;align-items:center;gap:1rem}.page-header-title h1{margin:0}.project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.project-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem}.project-stat-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:#e945601a;color:var(--accent)}.project-stat-icon svg{width:24px;height:24px}.project-stat-icon.success{background:#06d6a01a;color:var(--success)}.project-stat-icon.info{background:#118ab21a;color:var(--info)}.project-stat-icon.warning{background:#ffd1661a;color:var(--warning)}.project-stat-content h4{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.project-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.project-detail .tabs{display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.5rem;gap:.25rem;margin-bottom:1.5rem}.project-detail .tab{flex:1;padding:.875rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;border-radius:var(--radius);transition:var(--transition)}.project-detail .tab:hover{background:var(--bg-hover);color:var(--text-primary)}.project-detail .tab.active{background:var(--primary);color:#fff}.project-overview{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.overview-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.overview-card h3{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:.5rem}.overview-card h3 svg{width:18px;height:18px;color:var(--accent)}.overview-card.full-width{grid-column:span 2}.info-list{display:grid;grid-template-columns:140px 1fr;gap:.75rem}.info-list dt{font-size:.8125rem;color:var(--text-muted)}.info-list dd{font-size:.9375rem;color:var(--text-primary);font-weight:500}.info-list dd.text-success{color:var(--success)}.info-list dd.text-warning{color:var(--warning)}.info-list dd.text-danger{color:var(--danger)}.client-info-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-hover);border-radius:var(--radius)}.client-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem}.client-details h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.client-details p{font-size:.8125rem;color:var(--text-secondary);margin:0}.progress-bar-container{margin-top:1rem}.progress-label{display:flex;justify-content:space-between;font-size:.8125rem;margin-bottom:.5rem}.progress-label span:first-child{color:var(--text-secondary)}.progress-label span:last-child{font-weight:600;color:var(--text-primary)}.progress-bar{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:4px;transition:width .3s ease}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding-bottom:1.25rem}.timeline-item:before{content:"";position:absolute;left:-1.5rem;top:4px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-card)}.timeline-date{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.timeline-content{font-size:.875rem;color:var(--text-primary)}.project-quotes .table-container,.project-invoices .table-container{margin-top:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{font-size:1rem;font-weight:600;margin:0}.empty-state-mini{text-align:center;padding:2rem;color:var(--text-muted)}.empty-state-mini svg{width:48px;height:48px;margin-bottom:1rem;opacity:.3}.empty-state-mini p{margin:0}.modal.modal-large{max-width:700px;width:95%}.modal-content{max-height:calc(80vh - 60px);overflow-y:auto}@media(max-width:768px){.project-overview{grid-template-columns:1fr}.overview-card.full-width{grid-column:span 1}.projects-grid,.form-row.three-cols{grid-template-columns:1fr}.contact-row{flex-direction:column}.input-civility{width:100%}}.quote-form-container{display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 2rem);padding-right:.5rem}.quote-form-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1rem;position:sticky;top:0;z-index:10}.quote-form-title{display:flex;align-items:center;gap:1rem}.quote-form-title h2{margin:0;font-size:1.25rem}.quote-number{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);background:var(--bg-main);padding:.25rem .75rem;border-radius:var(--radius)}.quote-form-actions{display:flex;gap:.5rem}.quote-form-body{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;flex:1;min-height:0}.quote-form-main{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.quote-form-sidebar{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;overflow-x:hidden}.quote-info-bar{display:flex;flex-direction:column;gap:.5rem}.info-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.info-block-toggle{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;text-align:left;font-size:.875rem;color:var(--text-primary);transition:background .2s}.info-block-toggle:hover{background:var(--bg-hover)}.info-block-toggle svg{color:var(--text-secondary);flex-shrink:0}.info-block-toggle svg.rotated{transform:rotate(90deg)}.info-block-toggle .validity,.info-block-toggle .client-city{color:var(--text-secondary);font-size:.8125rem;margin-left:auto}.info-block-content{padding:1rem;border-top:1px solid var(--border);background:var(--bg-main)}.compact-form-row{display:flex;gap:1rem;flex-wrap:wrap}.compact-form-row .form-group{flex:1;min-width:150px}.compact-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.compact-form-grid input{padding:.5rem .75rem;font-size:.875rem}.info-block.object-block{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}.info-block.object-block svg{color:var(--text-secondary);flex-shrink:0}.object-input{flex:1;border:none;background:none;font-size:.875rem;padding:0}.object-input:focus{outline:none}.quote-lines-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1;display:flex;flex-direction:column;overflow:hidden}.quote-lines-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem}.quote-lines-header h3{margin:0;font-size:1rem}.quote-lines-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.toggle-margin{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);cursor:pointer}.toggle-margin input{width:auto}.toggle-hint{font-size:.75rem;color:var(--text-tertiary);font-style:italic}.add-buttons{display:flex;gap:.375rem}.quote-items-header{display:grid;grid-template-columns:50px 1fr 70px 70px 90px 70px 70px 90px 40px;gap:.5rem;padding:.5rem 1rem;background:var(--bg-main);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.quote-items-header.with-margin{grid-template-columns:50px 1fr 70px 70px 80px 70px 90px 70px 70px 90px 40px}.quote-items-list{flex:1;overflow-y:auto;padding:.5rem 0}.quote-item-row{display:grid;grid-template-columns:50px 1fr 70px 70px 90px 70px 70px 90px 40px;gap:.5rem;padding:.5rem 1rem;align-items:center;border-bottom:1px solid var(--border-light)}.quote-item-row.with-margin{grid-template-columns:50px 1fr 70px 70px 80px 70px 90px 70px 70px 90px 40px}.quote-item-row:hover{background:var(--bg-hover)}.col-drag{display:flex;flex-direction:column;gap:0}.col-drag .btn-icon{padding:.125rem}.col-desc{display:flex;flex-direction:column;gap:.25rem}.col-desc .description-input{font-size:.875rem;padding:.375rem .5rem;border:1px solid var(--border);border-radius:var(--radius)}.col-desc .description-input:focus{border-color:var(--primary);outline:none}.service-selector{display:flex;align-items:center;gap:.5rem}.service-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--bg-main);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);font-size:.75rem}.service-tag button{padding:0;line-height:1;font-size:1rem;color:var(--text-tertiary)}.service-tag button:hover{color:var(--danger)}.btn-link{background:none;border:none;color:var(--primary);font-size:.75rem;cursor:pointer;padding:.125rem 0}.btn-link:hover{text-decoration:underline}.service-select-inline{font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.quote-item-row input[type=number],.quote-item-row select{padding:.375rem .5rem;font-size:.8125rem;text-align:right}.quote-item-row select{text-align:left}.col-margin,.col-discount{display:flex;align-items:center;gap:.25rem}.col-margin input,.col-discount input{width:50px}.col-margin span,.col-discount span{font-size:.75rem;color:var(--text-secondary)}.col-total{font-weight:600;font-family:var(--font-mono);text-align:right;font-size:.875rem}.col-actions{display:flex;justify-content:center}.quote-item-section,.quote-item-break,.quote-item-pagebreak{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--bg-main);border-bottom:1px solid var(--border)}.quote-item-section{background:var(--primary-light)}.section-icon{color:var(--primary)}.section-title-input{flex:1;font-weight:600;border:none;background:transparent;font-size:.9375rem}.break-label,.pagebreak-label{flex:1;color:var(--text-secondary);font-size:.8125rem;font-style:italic}.quote-items-empty{padding:2rem;text-align:center;color:var(--text-secondary)}.sidebar-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.sidebar-card h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.sidebar-card .card-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.sidebar-card .card-toggle input{width:auto}.totals-card{background:var(--bg-card);border:2px solid var(--primary)}.sidebar-total-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;font-size:.875rem;min-width:0}.sidebar-total-row>span:last-child{flex-shrink:0;text-align:right}.sidebar-total-row.subtotal{padding-top:.5rem;border-top:1px dashed var(--border)}.sidebar-total-row.tva-row{color:var(--text-secondary);font-size:.8125rem}.sidebar-total-row.total-ttc{font-size:1.125rem;font-weight:700;padding-top:.75rem;margin-top:.5rem;border-top:2px solid var(--primary)}.discount-row label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.discount-row input{width:50px;padding:.25rem .375rem;font-size:.8125rem;text-align:right}.discount-amount{color:var(--danger);font-weight:500}.input-with-suffix{display:flex;align-items:center;gap:.25rem}.input-with-suffix input{width:70px}.input-with-suffix span{color:var(--text-secondary);font-size:.875rem}.payment-methods{display:flex;flex-direction:column;gap:.5rem}.payment-method-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.payment-method-option input{width:auto}.bank-warning{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.5rem;background:var(--warning-light);border-radius:var(--radius);font-size:.75rem;color:var(--warning)}.bank-warning svg{flex-shrink:0;width:16px;height:16px}.signature-preview-small img{max-height:60px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem}.schedule-editor{display:flex;flex-direction:column;gap:.75rem}.schedule-presets{display:flex;flex-wrap:wrap;gap:.25rem}.schedule-presets .btn-xs{padding:.25rem .5rem;font-size:.7rem}.schedule-presets .btn-xs.active{background:var(--primary);color:#fff}.schedule-items{display:flex;flex-direction:column;gap:.5rem}.schedule-item{display:grid;grid-template-columns:1fr auto auto auto;gap:.35rem;align-items:center}.schedule-item .schedule-label{font-size:.8rem;padding:.35rem .5rem}.schedule-item .schedule-percentage{display:flex;align-items:center;gap:.15rem}.schedule-item .schedule-percentage input{width:45px;padding:.35rem;font-size:.8rem;text-align:right}.schedule-item .schedule-percentage span{font-size:.75rem;color:var(--text-secondary)}.schedule-item .btn-icon.btn-xs{padding:.25rem}.schedule-item .btn-icon.btn-xs svg{width:14px;height:14px}.schedule-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid var(--border-light)}.schedule-total{font-size:.8rem;font-weight:600}.schedule-total.valid{color:var(--success)}.schedule-total.error{color:var(--danger)}.schedule-total .schedule-warning{font-weight:400;font-size:.7rem}.schedule-amounts{background:var(--bg-hover);border-radius:var(--radius-sm);padding:.5rem;margin-top:.5rem}.schedule-amount-row{display:flex;justify-content:space-between;font-size:.75rem;padding:.25rem 0}.schedule-amount-row:not(:last-child){border-bottom:1px solid var(--border-light)}.payment-conditions{display:flex;flex-direction:column;gap:.75rem}.payment-conditions .form-group{margin-bottom:0}.payment-conditions .hint-inline{display:block;font-size:.65rem;font-weight:400;color:var(--text-muted);margin-top:.15rem}.hint-text{font-size:.75rem;color:var(--text-secondary);margin:0 0 .5rem}.coming-soon{font-size:.75rem;color:var(--text-tertiary);font-style:italic;margin:.5rem 0 0}.sidebar-card textarea{width:100%;font-size:.875rem;resize:vertical;min-height:60px}@media(max-width:1100px){.quote-form-body{grid-template-columns:1fr}.quote-form-sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-card{flex:1;min-width:250px}}.ai-assistant{display:flex;flex-direction:column;height:400px;background:var(--bg-card);border:1px solid var(--primary);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1rem}.ai-assistant-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--primary);color:#fff}.ai-header-title{display:flex;align-items:center;gap:.5rem;font-weight:600}.ai-header-title .icon{width:18px;height:18px}.api-toggle{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:400;opacity:.8;cursor:pointer;margin-left:1rem}.api-toggle input{width:auto;margin:0}.ai-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ai-message{max-width:85%}.ai-message.user{align-self:flex-end}.ai-message.assistant{align-self:flex-start}.ai-message .message-content{padding:.625rem .875rem;border-radius:var(--radius);font-size:.875rem;line-height:1.5}.ai-message.user .message-content{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.ai-message.assistant .message-content{background:var(--bg-main);border:1px solid var(--border);border-bottom-left-radius:4px}.ai-message .message-content p{margin:0}.ai-message .message-content p+p{margin-top:.375rem}.message-content.loading{display:flex;align-items:center;padding:.875rem 1.25rem}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-quick-actions{display:flex;gap:.375rem;padding:.5rem 1rem;overflow-x:auto;border-top:1px solid var(--border);background:var(--bg-main)}.quick-action-btn{flex-shrink:0;padding:.375rem .75rem;font-size:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:100px;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-action-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.ai-input-form{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-card)}.ai-input-form input{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem}.ai-input-form input:focus{border-color:var(--primary);outline:none}.mic-btn{padding:.5rem;border-radius:50%;transition:all .2s}.mic-btn.listening{background:var(--danger);color:#fff;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}@media(max-width:768px){.quote-form-header{flex-direction:column;gap:.75rem}.quote-form-actions{flex-wrap:wrap;justify-content:center}.quote-items-header,.quote-item-row{grid-template-columns:40px 1fr 60px 60px 80px 50px;font-size:.75rem}.quote-items-header .col-discount,.quote-items-header .col-tva,.quote-item-row .col-discount,.quote-item-row .col-tva{display:none}.compact-form-grid{grid-template-columns:1fr 1fr}}.quote-preview-tooltip{pointer-events:none;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.quote-hover-preview{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1rem;width:320px;font-size:.8125rem}.preview-header-mini{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary)}.preview-header-mini strong{font-family:var(--font-mono);color:var(--primary)}.preview-header-mini span{color:var(--text-tertiary);font-size:.75rem}.preview-client-mini{font-weight:600;margin-bottom:.25rem}.preview-object-mini{color:var(--text-secondary);font-size:.75rem;margin-bottom:.75rem;padding:.25rem .5rem;background:var(--bg-main);border-radius:var(--radius)}.preview-lines-mini{margin-bottom:.75rem}.preview-line-mini{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid var(--border-light)}.preview-line-mini span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.preview-line-mini span:last-child{font-family:var(--font-mono);color:var(--text-secondary)}.preview-more{text-align:center;color:var(--text-tertiary);font-size:.75rem;padding-top:.25rem}.preview-total-mini{display:flex;justify-content:space-between;padding-top:.5rem;border-top:2px solid var(--primary);font-weight:600}.preview-total-mini strong{font-size:1rem;color:var(--primary)}.section-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.color-picker-grid{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.color-swatch{width:40px;height:40px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--text-primary)}.color-custom{display:flex;align-items:center;gap:.5rem;cursor:pointer}.color-custom input[type=color]{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;padding:0;background:none}.color-custom input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-custom input[type=color]::-webkit-color-swatch{border-radius:8px;border:2px solid var(--border)}.color-custom span{color:var(--text-secondary);font-size:.875rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-hover);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.checkbox-item:hover{background:var(--border)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.checkbox-item span{font-size:.9rem}.table-style-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.table-style-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:var(--transition);background:var(--bg-card)}.table-style-option:hover{border-color:var(--text-secondary)}.table-style-option.active{border-color:var(--accent);background:var(--accent);background:#e945600d}.table-style-option input[type=radio]{display:none}.table-style-option span{font-size:.85rem;text-align:center;color:var(--text-secondary)}.table-style-option.active span{color:var(--accent);font-weight:500}.table-style-preview{width:100%;height:50px;display:flex;flex-direction:column;justify-content:space-between;border-radius:4px;overflow:hidden}.table-style-preview .preview-row{height:14px;background:var(--bg-hover);display:flex}.table-style-preview .preview-row span{flex:1;background:var(--bg-hover)}.table-style-preview.none .preview-row{margin:2px 0}.table-style-preview.horizontal .preview-row{border-bottom:1px solid var(--border)}.table-style-preview.full{border:1px solid var(--border)}.table-style-preview.full .preview-row{border-bottom:1px solid var(--border)}.table-style-preview.full .preview-row:last-child{border-bottom:none}.table-style-preview.full .preview-row span{border-right:1px solid var(--border)}.table-style-preview.full .preview-row span:last-child{border-right:none}.table-style-preview.zebra .preview-row.alt{background:var(--border)}.documents-settings .documents-layout{display:grid;grid-template-columns:1fr 350px;gap:2rem;align-items:start}.documents-options{display:flex;flex-direction:column;gap:1.5rem}.documents-preview-panel{position:sticky;top:1rem}.documents-preview-panel h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1rem}.mini-document-preview{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.25rem;font-size:.65rem;border:1px solid var(--border)}.mini-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:2px solid var(--theme-color, var(--primary))}.mini-logo-centered{display:flex;justify-content:center;margin-bottom:.5rem}.mini-company-block{display:flex;flex-direction:column;gap:.5rem;flex:1}.mini-right-block{display:flex;flex-direction:column;gap:.5rem;width:40%;flex-shrink:0}.mini-logo{background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0}.mini-title{font-weight:700;font-size:.8rem;margin-bottom:.25rem}.mini-line{color:var(--text-secondary);line-height:1.3}.mini-doc-info{text-align:right;flex-shrink:0}.mini-doc-type{font-size:.9rem;font-weight:700}.mini-doc-number{font-family:JetBrains Mono,monospace;font-weight:600;margin-bottom:.25rem}.mini-client{padding-top:.5rem;border-top:1px solid var(--border-light);text-align:left}.mini-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem}.mini-table{margin-bottom:.75rem}.mini-table-header{display:grid;grid-template-columns:2fr .5fr .75fr .75fr;gap:.5rem;padding:.35rem .5rem;color:#fff;font-weight:600;font-size:.55rem;border-radius:3px 3px 0 0}.mini-table-row{display:grid;grid-template-columns:2fr .5fr .75fr .75fr;gap:.5rem;padding:.35rem .5rem;border-bottom:1px solid var(--border-light)}.mini-table-row span:last-child{text-align:right;font-family:JetBrains Mono,monospace}.mini-table.table-none .mini-table-row{border-bottom:none}.mini-table.table-horizontal .mini-table-row{border-bottom:1px solid var(--border)}.mini-table.table-full .mini-table-row{border:1px solid var(--border);border-top:none}.mini-table.table-full .mini-table-row span{border-right:1px solid var(--border);padding-right:.25rem}.mini-table.table-full .mini-table-row span:last-child{border-right:none}.mini-table.table-zebra .mini-table-row.alt{background:var(--bg-hover)}.mini-totals{display:flex;flex-direction:column;align-items:flex-end}.mini-total-row{display:flex;justify-content:space-between;width:120px;padding:.2rem 0;font-size:.6rem}.mini-total-row span:last-child{font-family:JetBrains Mono,monospace;font-weight:500}.mini-total-row.total-ttc{border-top:2px solid var(--primary);padding-top:.35rem;margin-top:.25rem;font-weight:700;font-size:.7rem}@media(max-width:1024px){.documents-settings .documents-layout{grid-template-columns:1fr}.documents-preview-panel{position:static;order:-1}}.style-settings-modal{display:flex;flex-direction:column;gap:1.25rem}.style-custom-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#06d6a01a;border:1px solid var(--success);border-radius:var(--radius-sm);font-size:.875rem;color:var(--success)}.style-custom-badge svg{width:16px;height:16px}.style-custom-badge .btn{margin-left:auto}.style-section h4{font-size:.875rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.style-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-style-options.compact{grid-template-columns:repeat(4,1fr);gap:.75rem}.table-style-options.compact .table-style-option{padding:.75rem}.table-style-options.compact .table-style-preview{height:35px}.table-style-options.compact span{font-size:.7rem}.checkbox-grid.compact{grid-template-columns:repeat(3,1fr);gap:.5rem}.checkbox-grid.compact .checkbox-item{padding:.5rem .75rem}.modal-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border);margin-top:.5rem}.attachment-manager{display:flex;flex-direction:column;gap:1rem}.attachment-dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg-hover)}.attachment-dropzone:hover{border-color:var(--primary);background:#1a1a2e0d}.attachment-dropzone.dragging{border-color:var(--accent);background:#e945600d}.attachment-dropzone.disabled{opacity:.5;cursor:not-allowed}.attachment-dropzone.disabled:hover{border-color:var(--border);background:var(--bg-hover)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary)}.dropzone-content .icon{width:32px;height:32px;opacity:.6}.dropzone-hint{font-size:.75rem;color:var(--text-muted)}.upload-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attachment-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef476f1a;color:var(--danger);border-radius:var(--radius-sm);font-size:.875rem}.attachment-error .icon{width:16px;height:16px;flex-shrink:0}.attachment-error .btn-icon-small{margin-left:auto;color:var(--danger)}.attachment-list{display:flex;flex-direction:column;gap:.5rem}.attachment-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:var(--transition)}.attachment-item:hover{border-color:var(--primary)}.attachment-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary)}.attachment-icon .icon{width:18px;height:18px}.attachment-info{flex:1;min-width:0}.attachment-name{display:block;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{display:block;font-size:.75rem;color:var(--text-muted)}.attachment-actions{display:flex;gap:.25rem}.btn-icon-small{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.btn-icon-small:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-small.danger:hover{background:#ef476f1a;color:var(--danger)}.btn-icon-small .icon{width:14px;height:14px}.attachment-counter{text-align:right;font-size:.75rem;color:var(--text-muted)}.attachment-premium-notice{padding:1.5rem;background:linear-gradient(135deg,var(--bg-hover),rgba(26,26,46,.05));border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.premium-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.premium-badge .icon{width:14px;height:14px}.attachment-premium-notice p{color:var(--text-secondary);font-size:.875rem;margin:0}.attachment-preview-modal{display:flex;flex-direction:column;gap:1rem}.preview-image{max-width:100%;max-height:60vh;object-fit:contain;border-radius:var(--radius);background:var(--bg-hover)}.preview-pdf{width:100%;height:60vh;border:none;border-radius:var(--radius)}.preview-unavailable{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--text-muted)}.preview-unavailable .icon{width:48px;height:48px;opacity:.5}.preview-actions{display:flex;justify-content:center;padding-top:1rem}.subscription-tab{max-width:1200px;margin:0 auto}.subscription-status{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem}.subscription-status h3{margin:0;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.current-plan{display:flex;align-items:center;gap:.75rem;flex:1}.plan-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem}.plan-badge[data-tier=free]{background:var(--bg-hover);color:var(--text-secondary)}.plan-badge[data-tier=starter]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.plan-badge[data-tier=pro]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.plan-badge[data-tier=enterprise]{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.status-badge.status-trialing{background:#118ab21a;color:var(--info)}.status-badge.status-past_due{background:#ffd16633;color:#b8860b}.status-badge.status-canceled{background:#ef476f1a;color:var(--danger)}.subscription-ends{font-size:.8125rem;color:var(--text-muted);margin:0}.billing-toggle{display:flex;justify-content:center;gap:.25rem;padding:.25rem;background:var(--bg-hover);border-radius:var(--radius);margin-bottom:2rem;width:fit-content;margin-left:auto;margin-right:auto}.billing-toggle button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.billing-toggle button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.savings-badge{padding:.125rem .5rem;background:var(--success);color:#fff;border-radius:9999px;font-size:.6875rem;font-weight:600}.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.plan-card{position:relative;display:flex;flex-direction:column;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.plan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.plan-card.popular{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plan-card.current{border-color:var(--success);background:#06d6a008}.popular-badge{position:absolute;top:-.75rem;left:50%;transform:translate(-50%);padding:.25rem .875rem;background:var(--accent);color:#fff;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.plan-header{text-align:center;margin-bottom:1rem}.plan-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:.75rem;background:var(--bg-hover);border-radius:var(--radius);color:var(--text-secondary)}.plan-card.popular .plan-icon{background:#e945601a;color:var(--accent)}.plan-header h4{margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.plan-description{margin:0;font-size:.8125rem;color:var(--text-secondary)}.plan-price{text-align:center;padding:1rem 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin-bottom:1rem}.price-amount{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.price-savings{display:block;font-size:.75rem;color:var(--success);margin-top:.25rem}.plan-features{flex:1;list-style:none;padding:0;margin:0 0 1.5rem}.plan-features li{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem 0;font-size:.8125rem;color:var(--text-secondary)}.plan-features li.limitation{color:var(--text-muted)}.feature-check{flex-shrink:0;color:var(--success);margin-top:.125rem}.feature-lock{flex-shrink:0;color:var(--text-muted);margin-top:.125rem}.plan-button{width:100%;padding:.75rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);background:var(--primary);color:#fff}.plan-button:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px)}.plan-button.free{background:var(--bg-hover);color:var(--text-secondary);cursor:default}.plan-button.current{background:var(--success);cursor:default}.plan-button:disabled{opacity:.7;cursor:not-allowed}.subscription-info{padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.subscription-info h4{margin:0 0 1rem;font-size:1rem;font-weight:600}.faq-item{padding:1rem 0;border-bottom:1px solid var(--border-light)}.faq-item:last-child{border-bottom:none;padding-bottom:0}.faq-item strong{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.faq-item p{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.5}@media(max-width:1024px){.plans-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.plans-grid{grid-template-columns:1fr}.subscription-status{flex-direction:column;align-items:flex-start}.billing-toggle{width:100%}.billing-toggle button{flex:1;justify-content:center}}
