@nice2dev/ui-enterprise 1.0.11 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.nice-export-center{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);font-family:var(--nice-font-sans, system-ui, sans-serif)}.nice-export-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.nice-export-title-area{flex:1}.nice-export-title{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-export-description{margin:0;font-size:.875rem;color:var(--nice-text-muted, #6b7280)}.nice-export-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb);margin-bottom:1rem}.nice-export-tab{padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:var(--nice-text-muted, #6b7280);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.nice-export-tab:hover{color:var(--nice-primary, #2563eb)}.nice-export-tab--active{color:var(--nice-primary, #2563eb);border-bottom-color:var(--nice-primary, #2563eb)}.nice-export-formats{display:flex;flex-wrap:wrap;gap:.5rem}.nice-export-format{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;min-width:80px;background:var(--nice-surface-subtle, #f9fafb);border:2px solid transparent;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-export-format:hover{background:var(--nice-surface-hover, #f3f4f6);border-color:var(--nice-border, #e5e7eb)}.nice-export-format--selected{background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-export-format-icon{font-size:1.5rem}.nice-export-format-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.nice-export-fields{margin-top:1rem}.nice-export-fields-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-export-fields-actions{display:flex;gap:.5rem}.nice-export-fields-actions button{padding:.25rem .5rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-export-fields-actions button:hover{text-decoration:underline}.nice-export-fields-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.25rem;max-height:300px;overflow-y:auto;padding:.5rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-export-field{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;cursor:pointer;border-radius:var(--nice-radius-sm, 4px);transition:background .1s ease}.nice-export-field:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-export-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--nice-primary, #2563eb)}.nice-export-field-label{flex:1;font-size:.875rem;color:var(--nice-text, #111)}.nice-export-field-name{font-size:.75rem;color:var(--nice-text-muted, #9ca3af);font-family:var(--nice-font-mono, monospace)}.nice-export-options{margin-top:1rem;padding:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-export-options h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-export-option{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;color:var(--nice-text, #111)}.nice-export-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--nice-primary, #2563eb)}.nice-export-option select,.nice-export-option input[type=password]{padding:.375rem .5rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-export-option>span:first-child{min-width:100px;color:var(--nice-text-muted, #6b7280)}.nice-export-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--nice-border, #e5e7eb)}.nice-export-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-export-btn:disabled{opacity:.5;cursor:not-allowed}.nice-export-btn--primary{color:#fff;background:var(--nice-primary, #2563eb)}.nice-export-btn--primary:hover:not(:disabled){background:var(--nice-primary-dark, #1d4ed8)}.nice-export-btn--secondary{color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb)}.nice-export-btn--secondary:hover:not(:disabled){background:var(--nice-surface-hover, #e5e7eb)}.nice-export-templates{display:flex;flex-direction:column;gap:.5rem}.nice-export-template{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);transition:background .1s ease}.nice-export-template:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-export-template-info{display:flex;flex-direction:column;gap:.125rem}.nice-export-template-name{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-export-template-format{font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-export-template-desc{font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-export-template-actions{display:flex;gap:.5rem}.nice-export-template-actions button{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-export-template-actions button:hover{background:var(--nice-primary-subtle, #eff6ff)}.nice-export-history h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-export-history-empty{padding:2rem;text-align:center;font-size:.875rem;color:var(--nice-text-muted, #9ca3af)}.nice-export-history-list{display:flex;flex-direction:column;gap:.5rem}.nice-export-job{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);border-left:3px solid transparent}.nice-export-job--pending{border-left-color:var(--nice-warning, #f59e0b)}.nice-export-job--processing{border-left-color:var(--nice-primary, #2563eb)}.nice-export-job--completed{border-left-color:var(--nice-success, #10b981)}.nice-export-job--failed{border-left-color:var(--nice-error, #ef4444)}.nice-export-job-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.nice-export-job-name{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-export-job-format{display:inline-block;padding:.125rem .375rem;font-size:.625rem;font-weight:600;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-radius:var(--nice-radius-sm, 4px);margin-left:.5rem}.nice-export-job-date{font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-export-job-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-export-job-status{min-width:120px;display:flex;align-items:center;justify-content:flex-end}.nice-export-job-progress{width:100px;height:6px;background:var(--nice-border, #e5e7eb);border-radius:3px;overflow:hidden}.nice-export-job-progress-bar{height:100%;background:var(--nice-primary, #2563eb);transition:width .3s ease}.nice-export-job-download{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#fff;background:var(--nice-success, #10b981);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-export-job-download:hover{background:var(--nice-success-dark, #059669)}.nice-export-job-error{font-size:.75rem;font-weight:500;color:var(--nice-error, #ef4444)}[data-theme=dark] .nice-export-center,.nice-dark .nice-export-center{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .15)}@media (max-width: 640px){.nice-export-center{padding:1rem}.nice-export-formats{flex-direction:column}.nice-export-format{flex-direction:row;justify-content:flex-start;min-width:unset}.nice-export-fields-list{grid-template-columns:1fr}.nice-export-actions{flex-direction:column}.nice-export-btn{width:100%}}.nice-audit-trail{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);font-family:var(--nice-font-sans, system-ui, sans-serif)}.nice-audit-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.nice-audit-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-audit-header-actions{display:flex;gap:.5rem}.nice-audit-view-btn,.nice-audit-filter-btn{padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-audit-view-btn:hover,.nice-audit-filter-btn:hover{background:var(--nice-surface-hover, #e5e7eb)}.nice-audit-view-btn--active,.nice-audit-filter-btn--active{background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb);color:var(--nice-primary, #2563eb)}.nice-audit-export-dropdown{position:relative}.nice-audit-export-btn{padding:.5rem .75rem;font-size:.875rem;color:#fff;background:var(--nice-primary, #2563eb);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-audit-export-menu{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:150px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 4px 12px #0000001a;z-index:100}.nice-audit-export-dropdown:hover .nice-audit-export-menu{display:block}.nice-audit-export-menu button{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;text-align:left;background:transparent;border:none;cursor:pointer}.nice-audit-export-menu button:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-audit-filters{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-audit-filter-group{display:flex;flex-direction:column;gap:.375rem}.nice-audit-filter-group label{font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-audit-date-range{display:flex;align-items:center;gap:.5rem}.nice-audit-date-range input[type=date],.nice-audit-search{padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-search{min-width:200px}.nice-audit-action-chips{display:flex;flex-wrap:wrap;gap:.375rem}.nice-audit-chip{display:flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:9999px;cursor:pointer;transition:all .15s ease}.nice-audit-chip:hover{border-color:var(--chip-color)}.nice-audit-chip--selected{background:var(--chip-color);border-color:var(--chip-color);color:#fff}.nice-audit-chip-icon{font-size:.875rem}.nice-audit-stats{display:flex;gap:1rem;font-size:.875rem;color:var(--nice-text-muted, #6b7280)}.nice-audit-date-indicator{padding:.125rem .5rem;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-content{position:relative;min-height:200px}.nice-audit-content--loading{opacity:.6;pointer-events:none}.nice-audit-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fffc;z-index:10}.nice-audit-spinner{width:32px;height:32px;border:3px solid var(--nice-border, #e5e7eb);border-top-color:var(--nice-primary, #2563eb);border-radius:50%;animation:nice-audit-spin .8s linear infinite}@keyframes nice-audit-spin{to{transform:rotate(360deg)}}.nice-audit-timeline{position:relative;padding-left:2rem}.nice-audit-timeline:before{content:"";position:absolute;left:.6875rem;top:0;bottom:0;width:2px;background:var(--nice-border, #e5e7eb)}.nice-audit-timeline-entry{position:relative;padding:1rem;margin-bottom:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);border-left:3px solid transparent;transition:all .15s ease}.nice-audit-timeline-entry:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-audit-timeline-entry--warning{border-left-color:var(--nice-warning, #f59e0b)}.nice-audit-timeline-entry--critical{border-left-color:var(--nice-error, #ef4444);background:#ef44440d}.nice-audit-timeline-marker{position:absolute;left:-2rem;top:1rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--nice-surface, #fff);border:2px solid var(--marker-color, currentColor);border-radius:50%;font-size:.75rem;color:var(--marker-color);z-index:1}.nice-audit-timeline-header{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.nice-audit-timeline-action{font-weight:600;color:var(--nice-text, #111)}.nice-audit-timeline-entity{color:var(--nice-text-muted, #6b7280)}.nice-audit-timeline-time{margin-left:auto;font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-audit-timeline-user{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.nice-audit-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.nice-audit-avatar-sm{width:20px;height:20px;border-radius:50%;object-fit:cover}.nice-audit-username{font-weight:500;color:var(--nice-text, #111)}.nice-audit-role{padding:.125rem .375rem;font-size:.625rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-timeline-notes{margin-top:.5rem;padding:.5rem;font-size:.875rem;font-style:italic;background:var(--nice-surface, #fff);border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-muted, #6b7280)}.nice-audit-timeline-meta{display:flex;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-audit-expand-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-audit-expand-btn:hover{text-decoration:underline}.nice-audit-diff{margin-top:.5rem;padding:.75rem;background:var(--nice-surface, #fff);border-radius:var(--nice-radius-sm, 4px);font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-audit-diff-row{display:flex;flex-direction:column;gap:.25rem;padding:.375rem 0;border-bottom:1px dashed var(--nice-border, #e5e7eb)}.nice-audit-diff-row:last-child{border-bottom:none;padding-bottom:0}.nice-audit-diff-field{font-weight:600;color:var(--nice-text, #111)}.nice-audit-diff-values{display:flex;align-items:flex-start;gap:.5rem}.nice-audit-diff-old{padding:.25rem .5rem;background:#ef44441a;border-radius:var(--nice-radius-sm, 4px);color:#991b1b;text-decoration:line-through}.nice-audit-diff-arrow{color:var(--nice-text-muted, #9ca3af)}.nice-audit-diff-new{padding:.25rem .5rem;background:#10b9811a;border-radius:var(--nice-radius-sm, 4px);color:#065f46}.nice-audit-table{width:100%;border-collapse:collapse;font-size:.875rem}.nice-audit-table th{padding:.75rem;text-align:left;font-weight:600;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface-subtle, #f9fafb);border-bottom:2px solid var(--nice-border, #e5e7eb)}.nice-audit-table td{padding:.75rem;border-bottom:1px solid var(--nice-border, #e5e7eb);color:var(--nice-text, #111)}.nice-audit-row{cursor:pointer;transition:background .1s ease}.nice-audit-row:hover{background:var(--nice-surface-subtle, #f9fafb)}.nice-audit-row--warning td:first-child{border-left:3px solid var(--nice-warning, #f59e0b)}.nice-audit-row--critical{background:#ef44440d}.nice-audit-row--critical td:first-child{border-left:3px solid var(--nice-error, #ef4444)}.nice-audit-action-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:color-mix(in srgb,var(--badge-color) 15%,transparent);color:var(--badge-color);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-cell-time{white-space:nowrap;font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-audit-cell-user{display:flex;align-items:center;gap:.5rem}.nice-audit-cell-ip{font-family:var(--nice-font-mono, monospace);font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-audit-changes-count{padding:.125rem .375rem;font-size:.75rem;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-empty{padding:3rem;text-align:center;color:var(--nice-text-muted, #9ca3af)}.nice-audit-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--nice-border, #e5e7eb)}.nice-audit-pagination button{padding:.5rem 1rem;font-size:.875rem;background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-audit-pagination button:disabled{opacity:.5;cursor:not-allowed}.nice-audit-pagination button:hover:not(:disabled){background:var(--nice-surface-hover, #e5e7eb)}[data-theme=dark] .nice-audit-trail,.nice-dark .nice-audit-trail{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}[data-theme=dark] .nice-audit-loader,.nice-dark .nice-audit-loader{background:#1f2937cc}[data-theme=dark] .nice-audit-diff-old,.nice-dark .nice-audit-diff-old{background:#ef444433;color:#fca5a5}[data-theme=dark] .nice-audit-diff-new,.nice-dark .nice-audit-diff-new{background:#10b98133;color:#6ee7b7}@media (max-width: 768px){.nice-audit-trail{padding:1rem}.nice-audit-header{flex-direction:column;align-items:flex-start}.nice-audit-filters{flex-direction:column}.nice-audit-table{display:block;overflow-x:auto}.nice-audit-timeline{padding-left:1.5rem}.nice-audit-timeline-marker{left:-1.5rem;width:20px;height:20px}.nice-audit-timeline-header{flex-direction:column;gap:.25rem}.nice-audit-timeline-time{margin-left:0}}.nice-contract-editor{display:flex;flex-direction:column;height:100%;min-height:600px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);font-family:var(--nice-font-sans, system-ui, sans-serif);overflow:hidden}.nice-contract-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--nice-border, #e5e7eb);background:var(--nice-surface-subtle, #f9fafb)}.nice-contract-header-info{display:flex;align-items:center;gap:1rem}.nice-contract-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-status{padding:.25rem .75rem;font-size:.75rem;font-weight:600;color:var(--status-color);background:color-mix(in srgb,var(--status-color) 15%,transparent);border-radius:9999px}.nice-contract-header-actions{display:flex;gap:.5rem}.nice-contract-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-contract-btn:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-contract-btn--primary{color:#fff;background:var(--nice-primary, #2563eb);border-color:var(--nice-primary, #2563eb)}.nice-contract-btn--primary:hover{background:var(--nice-primary-dark, #1d4ed8)}.nice-contract-btn--approve{color:#fff;background:var(--nice-success, #10b981);border-color:var(--nice-success, #10b981)}.nice-contract-btn--reject{color:#fff;background:var(--nice-error, #ef4444);border-color:var(--nice-error, #ef4444)}.nice-contract-export-dropdown{position:relative}.nice-contract-export-menu{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:120px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 4px 12px #0000001a;z-index:100}.nice-contract-export-dropdown:hover .nice-contract-export-menu{display:block}.nice-contract-export-menu button{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;text-align:left;background:transparent;border:none;cursor:pointer}.nice-contract-export-menu button:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-contract-toolbar{display:flex;gap:.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-contract-toolbar-btn{padding:.5rem .75rem;font-size:.875rem;background:transparent;border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-contract-toolbar-btn:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-contract-toolbar-btn--active{background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb);color:var(--nice-primary, #2563eb)}.nice-contract-main{display:flex;flex:1;overflow:hidden}.nice-contract-panel{width:320px;border-right:1px solid var(--nice-border, #e5e7eb);overflow-y:auto;background:var(--nice-surface-subtle, #f9fafb)}.nice-contract-document{flex:1;padding:1.5rem;overflow-y:auto}.nice-contract-library{padding:1rem}.nice-contract-library-header{margin-bottom:1rem}.nice-contract-library-header h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-library-search{width:100%;padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-contract-library-categories{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-contract-category-btn{padding:.25rem .5rem;font-size:.75rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-contract-category-btn:hover{border-color:var(--cat-color, currentColor)}.nice-contract-category-btn--active{background:var(--cat-color, var(--nice-primary));border-color:var(--cat-color, var(--nice-primary));color:#fff}.nice-contract-library-list{display:flex;flex-direction:column;gap:.5rem}.nice-contract-library-item{padding:.75rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-contract-library-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.nice-contract-library-item-name{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-contract-library-item-cat{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:color-mix(in srgb,var(--cat-color) 15%,transparent);border-radius:var(--nice-radius-sm, 4px)}.nice-contract-library-item-desc{margin:0 0 .5rem;font-size:.75rem;color:var(--nice-text-muted, #6b7280);line-height:1.4}.nice-contract-library-insert{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-contract-library-insert:hover{background:var(--nice-primary, #2563eb);color:#fff}.nice-contract-library-empty{padding:2rem;text-align:center;color:var(--nice-text-muted, #9ca3af);font-size:.875rem}.nice-contract-variables{padding:1rem}.nice-contract-variables h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-variables-list{display:flex;flex-direction:column;gap:.75rem}.nice-contract-variable{display:flex;flex-direction:column;gap:.25rem}.nice-contract-variable label{font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280)}.nice-contract-required{color:var(--nice-error, #ef4444);margin-left:.25rem}.nice-contract-variable input,.nice-contract-variable select{padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-contract-section{margin-bottom:1.5rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);overflow:hidden}.nice-contract-section-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--nice-surface-subtle, #f9fafb);cursor:pointer;-webkit-user-select:none;user-select:none}.nice-contract-section-header:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-contract-section-toggle{color:var(--nice-text-muted, #9ca3af);font-size:.75rem}.nice-contract-section-header h3{flex:1;margin:0;font-size:1rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-section-count{font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-contract-section-content{padding:1rem}.nice-contract-section--collapsed .nice-contract-section-content{display:none}.nice-contract-section-empty{padding:2rem;text-align:center;color:var(--nice-text-muted, #9ca3af);font-size:.875rem;border:2px dashed var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-contract-clause{padding:1rem;margin-bottom:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);border-left:4px solid var(--cat-color, var(--nice-border))}.nice-contract-clause:last-child{margin-bottom:0}.nice-contract-clause-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.nice-contract-clause-cat{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:color-mix(in srgb,var(--cat-color) 15%,transparent);border-radius:var(--nice-radius-sm, 4px);font-size:.875rem}.nice-contract-clause-name{flex:1;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-clause-required{padding:.125rem .5rem;font-size:.625rem;font-weight:600;color:var(--nice-error, #ef4444);background:#ef44441a;border-radius:var(--nice-radius-sm, 4px)}.nice-contract-clause-actions{display:flex;gap:.25rem}.nice-contract-clause-actions button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-contract-clause-actions button:disabled{opacity:.5;cursor:not-allowed}.nice-contract-clause-actions button:hover:not(:disabled){background:var(--nice-surface-hover, #f3f4f6)}.nice-contract-clause-content{font-size:.875rem;line-height:1.6;color:var(--nice-text, #111)}.nice-contract-clause-content [data-variable]{padding:.125rem .375rem;background:var(--nice-warning-subtle, #fef3c7);border-radius:var(--nice-radius-sm, 4px);font-weight:500}.nice-contract-workflow{padding:1rem}.nice-contract-workflow h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-workflow-steps{position:relative}.nice-contract-workflow-steps:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:2px;background:var(--nice-border, #e5e7eb)}.nice-contract-workflow-step{position:relative;padding:1rem;margin-bottom:1rem;margin-left:2rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-contract-workflow-step:before{content:"";position:absolute;left:-1.75rem;top:1.25rem;width:12px;height:12px;background:var(--nice-surface, #fff);border:2px solid var(--nice-border, #e5e7eb);border-radius:50%}.nice-contract-workflow-step--approved:before{background:var(--nice-success, #10b981);border-color:var(--nice-success, #10b981)}.nice-contract-workflow-step--rejected:before{background:var(--nice-error, #ef4444);border-color:var(--nice-error, #ef4444)}.nice-contract-workflow-step-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.nice-contract-workflow-step-num{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.75rem;font-weight:600;background:var(--nice-surface-subtle, #f3f4f6);border-radius:50%}.nice-contract-workflow-step-name{flex:1;font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-contract-workflow-step-status{padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;border-radius:var(--nice-radius-sm, 4px)}.nice-contract-workflow-step-status--pending{color:var(--nice-warning, #f59e0b);background:#f59e0b1a}.nice-contract-workflow-step-status--approved{color:var(--nice-success, #10b981);background:#10b9811a}.nice-contract-workflow-step-status--rejected{color:var(--nice-error, #ef4444);background:#ef44441a}.nice-contract-workflow-approvers{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.nice-contract-approver{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-sm, 4px);font-size:.75rem}.nice-contract-approver-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.nice-contract-approver-role{color:var(--nice-text-muted, #9ca3af)}.nice-contract-workflow-actions{display:flex;flex-direction:column;gap:.5rem}.nice-contract-workflow-actions textarea{width:100%;padding:.5rem;font-size:.875rem;border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);resize:vertical;min-height:60px}.nice-contract-workflow-btns{display:flex;gap:.5rem}[data-theme=dark] .nice-contract-editor,.nice-dark .nice-contract-editor{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}@media (max-width: 768px){.nice-contract-main{flex-direction:column}.nice-contract-panel{width:100%;max-height:300px;border-right:none;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-contract-header{flex-direction:column;align-items:flex-start}.nice-contract-toolbar{flex-wrap:wrap}}.nice-gdpr-consent{font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);box-shadow:0 4px 24px #00000026;z-index:9999}.nice-gdpr-consent--banner{position:fixed;left:0;right:0;padding:1rem 1.5rem}.nice-gdpr-consent--banner.nice-gdpr-consent--top{top:0;border-top:none;border-radius:0 0 var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px)}.nice-gdpr-consent--banner.nice-gdpr-consent--bottom{bottom:0;border-bottom:none;border-radius:var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px) 0 0}.nice-gdpr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:9999}.nice-gdpr-consent--modal{max-width:500px;width:90%;max-height:90vh;overflow-y:auto;padding:1.5rem;border-radius:var(--nice-radius-lg, 12px)}.nice-gdpr-consent--embedded{padding:1.5rem;border-radius:var(--nice-radius-lg, 12px)}.nice-gdpr-content{display:flex;flex-direction:column;gap:1rem}.nice-gdpr-header{display:flex;gap:1rem;align-items:flex-start}.nice-gdpr-icon{font-size:2rem;line-height:1}.nice-gdpr-header-text h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-gdpr-header-text p{margin:0;font-size:.875rem;color:var(--nice-text-muted, #6b7280);line-height:1.5}.nice-gdpr-quick-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.nice-gdpr-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease;border:none}.nice-gdpr-btn--primary{color:#fff;background:var(--nice-primary, #2563eb)}.nice-gdpr-btn--primary:hover{background:var(--nice-primary-dark, #1d4ed8)}.nice-gdpr-btn--secondary{color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb)}.nice-gdpr-btn--secondary:hover{background:var(--nice-surface-hover, #e5e7eb)}.nice-gdpr-btn--danger{color:#fff;background:var(--nice-error, #ef4444)}.nice-gdpr-btn--danger:hover{background:#dc2626}.nice-gdpr-btn--link{color:var(--nice-primary, #2563eb);background:transparent;padding:.625rem .5rem}.nice-gdpr-btn--link:hover{text-decoration:underline}.nice-gdpr-preferences{display:flex;flex-direction:column;gap:1rem}.nice-gdpr-options{display:flex;flex-direction:column;gap:.75rem}.nice-gdpr-option{padding:.75rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-gdpr-option-header{display:flex;gap:.75rem;align-items:flex-start}.nice-gdpr-option-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.nice-gdpr-option-toggle input{opacity:0;width:0;height:0}.nice-gdpr-toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:var(--nice-border, #d1d5db);border-radius:24px;transition:.2s}.nice-gdpr-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.nice-gdpr-option-toggle input:checked+.nice-gdpr-toggle-slider{background-color:var(--nice-primary, #2563eb)}.nice-gdpr-option-toggle input:checked+.nice-gdpr-toggle-slider:before{transform:translate(20px)}.nice-gdpr-option-toggle input:disabled+.nice-gdpr-toggle-slider{opacity:.5;cursor:not-allowed}.nice-gdpr-option-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.nice-gdpr-option-label{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-gdpr-required{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface, #fff);border-radius:var(--nice-radius-sm, 4px)}.nice-gdpr-option-desc{font-size:.75rem;color:var(--nice-text-muted, #6b7280);line-height:1.4}.nice-gdpr-option-partners{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--nice-border, #e5e7eb);font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-gdpr-pref-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.nice-gdpr-rights h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--nice-text, #111)}.nice-gdpr-rights-actions{display:flex;gap:.75rem;margin-bottom:1rem}.nice-gdpr-requests{margin-bottom:1rem}.nice-gdpr-requests h5{margin:0 0 .5rem;font-size:.875rem;font-weight:500;color:var(--nice-text-muted, #6b7280)}.nice-gdpr-request{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-sm, 4px);margin-bottom:.375rem;font-size:.875rem}.nice-gdpr-request-type{font-weight:500;text-transform:capitalize}.nice-gdpr-request-date{color:var(--nice-text-muted, #6b7280)}.nice-gdpr-request-status{margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--nice-radius-sm, 4px);text-transform:uppercase}.nice-gdpr-request--pending .nice-gdpr-request-status{color:var(--nice-warning, #f59e0b);background:#f59e0b1a}.nice-gdpr-request--processing .nice-gdpr-request-status{color:var(--nice-primary, #2563eb);background:#2563eb1a}.nice-gdpr-request--completed .nice-gdpr-request-status{color:var(--nice-success, #10b981);background:#10b9811a}.nice-gdpr-download-btn{padding:.25rem .5rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-gdpr-policies h5{margin:0 0 .5rem;font-size:.875rem;font-weight:500;color:var(--nice-text-muted, #6b7280)}.nice-gdpr-policies-table{width:100%;font-size:.75rem;border-collapse:collapse}.nice-gdpr-policies-table th,.nice-gdpr-policies-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-gdpr-policies-table th{font-weight:500;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface-subtle, #f9fafb)}.nice-gdpr-footer{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid var(--nice-border, #e5e7eb)}.nice-gdpr-footer a{font-size:.75rem;color:var(--nice-text-muted, #6b7280);text-decoration:none}.nice-gdpr-footer a:hover{color:var(--nice-primary, #2563eb);text-decoration:underline}[data-theme=dark] .nice-gdpr-consent,.nice-dark .nice-gdpr-consent{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}@media (max-width: 640px){.nice-gdpr-consent--banner{padding:1rem}.nice-gdpr-header{flex-direction:column;align-items:center;text-align:center}.nice-gdpr-quick-actions{flex-direction:column}.nice-gdpr-btn{width:100%}.nice-gdpr-rights-actions{flex-direction:column}}@keyframes nice-gdpr-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes nice-gdpr-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.nice-gdpr-consent--banner.nice-gdpr-consent--bottom{animation:nice-gdpr-slide-up .3s ease-out}.nice-gdpr-consent--banner.nice-gdpr-consent--top{animation:nice-gdpr-slide-down .3s ease-out}.nice-gdpr-overlay{animation:nice-gdpr-fade-in .2s ease-out}@keyframes nice-gdpr-fade-in{0%{opacity:0}to{opacity:1}}.nice-gdpr-consent--modal{animation:nice-gdpr-scale-in .2s ease-out}@keyframes nice-gdpr-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.nice-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;animation:nice-search-fade-in .15s ease-out}@keyframes nice-search-fade-in{0%{opacity:0}to{opacity:1}}.nice-global-search{font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);box-shadow:0 20px 60px #0003;overflow:hidden}.nice-global-search--modal{width:100%;max-width:640px;max-height:70vh;display:flex;flex-direction:column;animation:nice-search-scale-in .15s ease-out}@keyframes nice-search-scale-in{0%{transform:scale(.95) translateY(-10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.nice-global-search--inline{width:100%}.nice-global-search--dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;z-index:100}.nice-search-content{display:flex;flex-direction:column;height:100%}.nice-search-input-container{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-search-icon{flex-shrink:0;font-size:1.25rem;margin-right:.75rem;opacity:.5}.nice-search-input{flex:1;padding:0;font-size:1.125rem;font-weight:400;color:var(--nice-text, #111);background:transparent;border:none;outline:none}.nice-search-input::placeholder{color:var(--nice-text-muted, #9ca3af)}.nice-search-loader{width:20px;height:20px;border:2px solid var(--nice-border, #e5e7eb);border-top-color:var(--nice-primary, #2563eb);border-radius:50%;animation:nice-search-spin .6s linear infinite}@keyframes nice-search-spin{to{transform:rotate(360deg)}}.nice-search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:1rem;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f3f4f6);border:none;border-radius:50%;cursor:pointer}.nice-search-clear:hover{background:var(--nice-surface-hover, #e5e7eb);color:var(--nice-text, #111)}.nice-search-categories{display:flex;gap:.375rem;padding:.75rem 1rem;border-bottom:1px solid var(--nice-border, #e5e7eb);overflow-x:auto}.nice-search-category{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.813rem;font-weight:500;white-space:nowrap;color:var(--nice-text-muted, #6b7280);background:transparent;border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-search-category:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-search-category--active{color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-search-category-icon{font-size:.875rem}.nice-search-category-count{padding:0 .375rem;font-size:.688rem;font-weight:600;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface, #fff);border-radius:9999px}.nice-search-results{flex:1;overflow-y:auto;max-height:400px}.nice-search-result{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .1s ease}.nice-search-result:hover,.nice-search-result--selected{background:var(--nice-surface-subtle, #f3f4f6)}.nice-search-result-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-md, 8px);font-size:1.125rem}.nice-search-result-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.nice-search-result-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.nice-search-result-title{font-size:.875rem;font-weight:500;color:var(--nice-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-search-result-subtitle{font-size:.75rem;color:var(--nice-text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-search-result-desc{font-size:.75rem;color:var(--nice-text-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-search-result-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.nice-search-result-source{font-size:.688rem;color:var(--nice-text-muted, #9ca3af)}.nice-search-result-type{padding:.125rem .375rem;font-size:.625rem;font-weight:500;text-transform:uppercase;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-radius:var(--nice-radius-sm, 4px)}.nice-search-result-actions{display:flex;gap:.25rem;margin-left:.5rem;opacity:0;transition:opacity .15s ease}.nice-search-result:hover .nice-search-result-actions{opacity:1}.nice-search-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.875rem;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-search-action-btn:hover{color:var(--nice-primary, #2563eb);border-color:var(--nice-primary, #2563eb)}.nice-search-loading,.nice-search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--nice-text-muted, #9ca3af);text-align:center}.nice-search-empty-icon{font-size:2rem;opacity:.5}.nice-search-recent{padding:.75rem 0}.nice-search-recent-header{display:flex;justify-content:space-between;align-items:center;padding:0 1rem .5rem;font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-search-recent-header button{font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-search-recent-header button:hover{text-decoration:underline}.nice-search-recent-list{display:flex;flex-direction:column}.nice-search-recent-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:.875rem;color:var(--nice-text, #111);background:transparent;border:none;cursor:pointer;text-align:left;width:100%}.nice-search-recent-item:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-search-recent-icon{font-size:1rem;opacity:.5}.nice-search-shortcuts{display:flex;gap:1.5rem;padding:.75rem 1rem;border-top:1px solid var(--nice-border, #e5e7eb);background:var(--nice-surface-subtle, #f9fafb)}.nice-search-shortcuts span{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-search-shortcuts kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .375rem;font-family:inherit;font-size:.688rem;font-weight:500;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #d1d5db);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 1px 2px #0000000d}[data-theme=dark] .nice-global-search,.nice-dark .nice-global-search{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}[data-theme=dark] .nice-search-overlay,.nice-dark .nice-search-overlay{background:#000000b3}@media (max-width: 640px){.nice-search-overlay{padding-top:0;align-items:flex-end}.nice-global-search--modal{max-width:100%;max-height:80vh;border-radius:var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px) 0 0}.nice-search-shortcuts{flex-wrap:wrap;gap:.75rem}}.nice-invoice-designer{display:flex;flex-direction:column;width:100%;height:100%;min-height:600px;font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);overflow:hidden}.nice-invoice-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:var(--nice-surface, #fff);border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-toolbar-left,.nice-invoice-toolbar-right{display:flex;align-items:center;gap:.5rem}.nice-invoice-toolbar-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;min-width:32px;height:32px;padding:0 .5rem;font-size:.875rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-invoice-toolbar-btn:hover:not(:disabled){background:var(--nice-surface-subtle, #f3f4f6)}.nice-invoice-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.nice-invoice-toolbar-btn--active{color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-invoice-toolbar-btn--primary{color:#fff;background:var(--nice-primary, #2563eb);border-color:var(--nice-primary, #2563eb)}.nice-invoice-toolbar-btn--primary:hover:not(:disabled){background:var(--nice-primary-dark, #1d4ed8)}.nice-invoice-toolbar-btn--success{color:#fff;background:var(--nice-success, #22c55e);border-color:var(--nice-success, #22c55e)}.nice-invoice-toolbar-btn--success:hover:not(:disabled){background:var(--nice-success-dark, #16a34a)}.nice-invoice-toolbar-divider{width:1px;height:24px;background:var(--nice-border, #e5e7eb)}.nice-invoice-zoom-select{height:32px;padding:0 .5rem;font-size:.813rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-invoice-main{flex:1;display:flex;overflow:hidden}.nice-invoice-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--nice-surface, #fff);border-right:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-sidebar-tabs{display:flex;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-sidebar-tab{flex:1;padding:.75rem;font-size:1rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.nice-invoice-sidebar-tab:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-invoice-sidebar-tab--active{border-bottom-color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff)}.nice-invoice-sidebar-content{flex:1;overflow-y:auto}.nice-invoice-panel{padding:1rem}.nice-invoice-panel-title{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-invoice-panel-subtitle{margin:1rem 0 .5rem;font-size:.75rem;font-weight:600;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-invoice-templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.nice-invoice-template-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;background:var(--nice-surface-subtle, #f9fafb);border:2px solid transparent;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-invoice-template-card:hover{border-color:var(--nice-border, #e5e7eb)}.nice-invoice-template-card--active{border-color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff)}.nice-invoice-template-preview{width:100%;aspect-ratio:8.5 / 11;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);overflow:hidden}.nice-invoice-template-preview img{width:100%;height:100%;object-fit:cover}.nice-invoice-template-placeholder{font-size:2rem;opacity:.3}.nice-invoice-template-name{font-size:.75rem;font-weight:500;color:var(--nice-text, #111);text-align:center}.nice-invoice-elements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.nice-invoice-element-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .25rem;background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-invoice-element-btn:hover:not(:disabled){background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-invoice-element-btn:disabled{opacity:.5;cursor:not-allowed}.nice-invoice-element-icon{font-size:1.125rem}.nice-invoice-element-label{font-size:.688rem;font-weight:500;color:var(--nice-text, #111)}.nice-invoice-fields-list{display:flex;flex-direction:column;gap:.25rem}.nice-invoice-field-btn{padding:.5rem;font-size:.75rem;text-align:left;color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-invoice-field-btn:hover:not(:disabled){background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-invoice-field-btn:disabled{opacity:.5;cursor:not-allowed}.nice-invoice-properties{display:flex;flex-direction:column;gap:.75rem}.nice-invoice-property{display:flex;flex-direction:column;gap:.25rem}.nice-invoice-property label{font-size:.688rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-invoice-property input,.nice-invoice-property select{padding:.5rem;font-size:.813rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-invoice-property input:disabled,.nice-invoice-property select:disabled{background:var(--nice-surface-subtle, #f9fafb);cursor:not-allowed}.nice-invoice-property-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.nice-invoice-property-actions button{flex:1;min-width:calc(50% - .25rem);padding:.5rem;font-size:.75rem;color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-invoice-property-actions button:hover:not(:disabled){background:var(--nice-surface-hover, #e5e7eb)}.nice-invoice-btn--danger{color:var(--nice-danger, #dc2626)!important;border-color:var(--nice-danger, #dc2626)!important}.nice-invoice-btn--danger:hover:not(:disabled){background:#dc26261a!important}.nice-invoice-no-selection{padding:1rem;font-size:.813rem;color:var(--nice-text-muted, #9ca3af);text-align:center}.nice-invoice-canvas-area{flex:1;position:relative;overflow:auto;padding:3rem 2rem 2rem 3rem}.nice-invoice-canvas{position:relative;background:#fff;box-shadow:0 4px 20px #0000001a}.nice-invoice-canvas--grid{background-image:linear-gradient(to right,rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.03) 1px,transparent 1px)}.nice-invoice-ruler{position:absolute;background:var(--nice-surface-subtle, #f9fafb);z-index:5}.nice-invoice-ruler--horizontal{top:0;left:2.5rem;right:0;height:2rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-ruler--vertical{top:2.5rem;left:0;bottom:0;width:2rem;border-right:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-ruler-mark{position:absolute;font-size:.625rem;color:var(--nice-text-muted, #9ca3af)}.nice-invoice-ruler--horizontal .nice-invoice-ruler-mark{top:0;height:100%;border-left:1px solid var(--nice-border, #d1d5db)}.nice-invoice-ruler--vertical .nice-invoice-ruler-mark{left:0;width:100%;border-top:1px solid var(--nice-border, #d1d5db)}.nice-invoice-ruler-label{display:block;padding:.25rem}.nice-invoice-element{position:absolute;display:flex;align-items:center;justify-content:flex-start;padding:.25rem;font-size:.875rem;color:var(--nice-text, #111);cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow .1s ease}.nice-invoice-element:hover{outline:1px dashed var(--nice-primary-light, #93c5fd)}.nice-invoice-element--selected{outline:2px solid var(--nice-primary, #2563eb);box-shadow:0 0 0 4px #2563eb26}.nice-invoice-element--dragging{opacity:.8;z-index:100}.nice-invoice-element--locked{cursor:not-allowed}.nice-invoice-element--locked:after{content:"🔒";position:absolute;top:-8px;right:-8px;font-size:.75rem}.nice-invoice-element--divider{padding:0}.nice-invoice-element--divider hr{width:100%;height:2px;margin:0;border:none;background:var(--nice-border, #d1d5db)}.nice-invoice-element--total,.nice-invoice-element--subtotal,.nice-invoice-element--tax{font-family:var(--nice-font-mono, monospace)}.nice-invoice-element--total{font-weight:700}.nice-invoice-element--image img{width:100%;height:100%;object-fit:contain}.nice-invoice-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.5rem;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f9fafb);border:1px dashed var(--nice-border, #d1d5db);border-radius:var(--nice-radius-sm, 4px)}.nice-invoice-qrcode,.nice-invoice-barcode,.nice-invoice-signature{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f9fafb);border:1px dashed var(--nice-border, #d1d5db);border-radius:var(--nice-radius-sm, 4px)}.nice-invoice-barcode{font-family:monospace;letter-spacing:-2px}.nice-invoice-table-preview{width:100%;height:100%;font-size:.75rem;border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);overflow:hidden}.nice-invoice-table-header{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:.5rem;padding:.5rem;font-weight:600;background:var(--nice-surface-subtle, #f3f4f6);border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-table-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:.5rem;padding:.375rem .5rem;border-bottom:1px solid var(--nice-border, #f3f4f6)}.nice-invoice-table-more{padding:.25rem .5rem;font-size:.688rem;color:var(--nice-text-muted, #9ca3af);text-align:center}.nice-invoice-element-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.nice-invoice-handle{position:absolute;width:8px;height:8px;background:var(--nice-primary, #2563eb);border:1px solid #fff;border-radius:2px;pointer-events:all}.nice-invoice-handle--nw{top:-4px;left:-4px;cursor:nwse-resize}.nice-invoice-handle--ne{top:-4px;right:-4px;cursor:nesw-resize}.nice-invoice-handle--sw{bottom:-4px;left:-4px;cursor:nesw-resize}.nice-invoice-handle--se{bottom:-4px;right:-4px;cursor:nwse-resize}[data-theme=dark] .nice-invoice-designer,.nice-dark .nice-invoice-designer{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}[data-theme=dark] .nice-invoice-canvas,.nice-dark .nice-invoice-canvas{background:#1a1a2e}[data-theme=dark] .nice-invoice-canvas--grid,.nice-dark .nice-invoice-canvas--grid{background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px)}@media (max-width: 768px){.nice-invoice-sidebar{width:200px}.nice-invoice-elements-grid{grid-template-columns:repeat(2,1fr)}.nice-invoice-templates-grid{grid-template-columns:1fr}}@media (max-width: 640px){.nice-invoice-main{flex-direction:column}.nice-invoice-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--nice-border, #e5e7eb)}}.nice-accesslog{display:flex;flex-direction:column;width:100%;font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);overflow:hidden}.nice-accesslog-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-header-left{display:flex;align-items:center;gap:.75rem}.nice-accesslog-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-accesslog-realtime-badge{padding:.25rem .5rem;font-size:.688rem;font-weight:600;color:#22c55e;background:#22c55e1a;border-radius:9999px;animation:nice-accesslog-pulse 2s ease-in-out infinite}@keyframes nice-accesslog-pulse{0%,to{opacity:1}50%{opacity:.5}}.nice-accesslog-header-actions{display:flex;align-items:center;gap:.5rem}.nice-accesslog-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.813rem;font-weight:500;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-accesslog-btn:hover:not(:disabled){background:var(--nice-surface-subtle, #f3f4f6)}.nice-accesslog-btn:disabled{opacity:.5;cursor:not-allowed}.nice-accesslog-export-dropdown{position:relative}.nice-accesslog-export-menu{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:100px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);box-shadow:0 4px 12px #0000001a;z-index:10}.nice-accesslog-export-dropdown:hover .nice-accesslog-export-menu{display:block}.nice-accesslog-export-menu button{display:block;width:100%;padding:.5rem .75rem;font-size:.813rem;text-align:left;color:var(--nice-text, #111);background:transparent;border:none;cursor:pointer}.nice-accesslog-export-menu button:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-accesslog-stats{display:flex;gap:1rem;padding:1rem 1.25rem;background:var(--nice-surface-subtle, #f9fafb);border-bottom:1px solid var(--nice-border, #e5e7eb);overflow-x:auto}.nice-accesslog-stat{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.5rem}.nice-accesslog-stat-value{font-size:1.5rem;font-weight:700;color:var(--nice-text, #111)}.nice-accesslog-stat-label{font-size:.688rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-accesslog-stat--success .nice-accesslog-stat-value{color:#22c55e}.nice-accesslog-stat--failed .nice-accesslog-stat-value{color:#ef4444}.nice-accesslog-stat--warning .nice-accesslog-stat-value{color:#f59e0b}.nice-accesslog-filters{padding:.75rem 1.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-filters-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.nice-accesslog-search{display:flex;align-items:center;flex:1;min-width:200px;padding:.5rem .75rem;background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-accesslog-search-icon{margin-right:.5rem;opacity:.5}.nice-accesslog-search input{flex:1;font-size:.875rem;color:var(--nice-text, #111);background:transparent;border:none;outline:none}.nice-accesslog-filter-quick{display:flex;gap:.5rem}.nice-accesslog-filter-chip{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280);background:transparent;border:1px solid var(--nice-border, #e5e7eb);border-radius:9999px;cursor:pointer;transition:all .15s ease}.nice-accesslog-filter-chip:hover{border-color:var(--nice-primary, #2563eb);color:var(--nice-primary, #2563eb)}.nice-accesslog-filter-chip--active{color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-accesslog-filter-toggle{padding:.375rem .75rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-accesslog-filters-expanded{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--nice-border, #e5e7eb)}.nice-accesslog-filter-group{display:flex;flex-direction:column;gap:.25rem}.nice-accesslog-filter-group label{font-size:.688rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-accesslog-filter-group input,.nice-accesslog-filter-group select{padding:.375rem .5rem;font-size:.813rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-accesslog-date-range{display:flex;align-items:center;gap:.5rem}.nice-accesslog-clear-filters{padding:.375rem .75rem;font-size:.75rem;color:var(--nice-danger, #dc2626);background:transparent;border:1px solid var(--nice-danger, #dc2626);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-accesslog-clear-filters:hover{background:#dc26260d}.nice-accesslog-tabs{display:flex;align-items:center;gap:.25rem;padding:0 1.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-tab{padding:.75rem 1rem;font-size:.813rem;font-weight:500;color:var(--nice-text-muted, #6b7280);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.nice-accesslog-tab:hover{color:var(--nice-text, #111)}.nice-accesslog-tab--active{color:var(--nice-primary, #2563eb);border-bottom-color:var(--nice-primary, #2563eb)}.nice-accesslog-count{margin-left:auto;font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-content{flex:1;overflow:auto}.nice-accesslog-loading,.nice-accesslog-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-spinner{width:32px;height:32px;border:3px solid var(--nice-border, #e5e7eb);border-top-color:var(--nice-primary, #2563eb);border-radius:50%;animation:nice-accesslog-spin .6s linear infinite}@keyframes nice-accesslog-spin{to{transform:rotate(360deg)}}.nice-accesslog-empty-icon{font-size:2rem;opacity:.5}.nice-accesslog-table-wrapper{overflow-x:auto}.nice-accesslog-table{width:100%;border-collapse:collapse}.nice-accesslog-table th,.nice-accesslog-table td{padding:.75rem 1rem;text-align:left;white-space:nowrap}.nice-accesslog-table th{font-size:.688rem;font-weight:600;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em;background:var(--nice-surface-subtle, #f9fafb);border-bottom:1px solid var(--nice-border, #e5e7eb);position:sticky;top:0;z-index:1}.nice-accesslog-row{cursor:pointer;transition:background .1s ease}.nice-accesslog-row:hover{background:var(--nice-surface-subtle, #f9fafb)}.nice-accesslog-row--selected{background:var(--nice-primary-subtle, #eff6ff)}.nice-accesslog-row--failed{background:#ef444408}.nice-accesslog-cell{font-size:.813rem;color:var(--nice-text, #111);border-bottom:1px solid var(--nice-border, #f3f4f6)}.nice-accesslog-cell--timestamp{color:var(--nice-text-muted, #6b7280);font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-accesslog-user{display:flex;flex-direction:column}.nice-accesslog-username{font-weight:500}.nice-accesslog-email{font-size:.688rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-event{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--nice-radius-sm, 4px);background:var(--nice-surface-subtle, #f3f4f6)}.nice-accesslog-event--login_success{color:#22c55e;background:#22c55e1a}.nice-accesslog-event--login_failed{color:#ef4444;background:#ef44441a}.nice-accesslog-event--suspicious_activity{color:#7c3aed;background:#7c3aed1a}.nice-accesslog-event-icon{font-size:.875rem}.nice-accesslog-ip{font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-accesslog-block-btn{margin-left:.5rem;padding:.125rem .25rem;font-size:.75rem;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .15s ease}.nice-accesslog-row:hover .nice-accesslog-block-btn{opacity:1}.nice-accesslog-flag{margin-right:.25rem}.nice-accesslog-device{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.nice-accesslog-risk{display:inline-flex;flex-direction:column;align-items:center;padding:.25rem .5rem;border-radius:var(--nice-radius-sm, 4px);background:color-mix(in srgb,var(--risk-color) 10%,transparent)}.nice-accesslog-risk-score{font-size:.875rem;font-weight:700;color:var(--risk-color)}.nice-accesslog-risk-label{font-size:.625rem;font-weight:500;color:var(--risk-color);text-transform:uppercase}.nice-accesslog-status{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.875rem;font-weight:700;border-radius:50%}.nice-accesslog-status--success{color:#22c55e;background:#22c55e1a}.nice-accesslog-status--failed{color:#ef4444;background:#ef44441a}.nice-accesslog-timeline{display:flex;flex-direction:column;padding:1rem}.nice-accesslog-timeline-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--nice-border, #f3f4f6);cursor:pointer;transition:background .15s ease}.nice-accesslog-timeline-item:hover{background:var(--nice-surface-subtle, #f9fafb);margin:0 -1rem;padding:1rem}.nice-accesslog-timeline-marker{flex-shrink:0;width:12px;height:12px;margin-top:.25rem;border-radius:50%}.nice-accesslog-timeline-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.nice-accesslog-timeline-header{display:flex;justify-content:space-between;align-items:center}.nice-accesslog-timeline-event{font-weight:600;color:var(--nice-text, #111)}.nice-accesslog-timeline-time{font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-timeline-details{display:flex;gap:.5rem;font-size:.813rem;color:var(--nice-text-muted, #6b7280)}.nice-accesslog-timeline-flags{display:flex;gap:.25rem;margin-top:.25rem}.nice-accesslog-flag-badge{padding:.125rem .375rem;font-size:.625rem;font-weight:500;color:#7c3aed;background:#7c3aed1a;border-radius:9999px}.nice-accesslog-map{height:400px}.nice-accesslog-map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f9fafb)}.nice-accesslog-show-more{display:block;width:100%;padding:1rem;font-size:.875rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-surface-subtle, #f9fafb);border:none;border-top:1px solid var(--nice-border, #e5e7eb);cursor:pointer}.nice-accesslog-show-more:hover{background:var(--nice-primary-subtle, #eff6ff)}.nice-accesslog-detail{position:absolute;top:0;right:0;bottom:0;width:360px;background:var(--nice-surface, #fff);border-left:1px solid var(--nice-border, #e5e7eb);box-shadow:-4px 0 20px #0000001a;overflow-y:auto;z-index:10}.nice-accesslog-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-detail-header h3{margin:0;font-size:1rem;font-weight:600}.nice-accesslog-detail-close{width:28px;height:28px;font-size:1rem;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface-subtle, #f3f4f6);border:none;border-radius:50%;cursor:pointer}.nice-accesslog-detail-close:hover{background:var(--nice-surface-hover, #e5e7eb)}.nice-accesslog-detail-content{padding:1rem}.nice-accesslog-detail-row{margin-bottom:1rem}.nice-accesslog-detail-label{display:block;margin-bottom:.25rem;font-size:.688rem;font-weight:600;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-accesslog-detail-value{font-size:.875rem;color:var(--nice-text, #111)}.nice-accesslog-coords,.nice-accesslog-fingerprint{font-size:.75rem;color:var(--nice-text-muted, #9ca3af);font-family:var(--nice-font-mono, monospace);margin-top:.25rem}.nice-accesslog-detail-json{margin:0;padding:.75rem;font-size:.75rem;font-family:var(--nice-font-mono, monospace);color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);overflow-x:auto;white-space:pre-wrap;word-break:break-all}[data-theme=dark] .nice-accesslog,.nice-dark .nice-accesslog{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}@media (max-width: 768px){.nice-accesslog-stats{flex-wrap:wrap}.nice-accesslog-stat{flex:1;min-width:70px}.nice-accesslog-detail{width:100%;position:fixed;top:auto;bottom:0;max-height:60vh;border-left:none;border-top:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px) 0 0}}
|
|
1
|
+
.nice-export-center{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);font-family:var(--nice-font-sans, system-ui, sans-serif)}.nice-export-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.nice-export-title-area{flex:1}.nice-export-title{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-export-description{margin:0;font-size:.875rem;color:var(--nice-text-muted, #6b7280)}.nice-export-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb);margin-bottom:1rem}.nice-export-tab{padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:var(--nice-text-muted, #6b7280);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.nice-export-tab:hover{color:var(--nice-primary, #2563eb)}.nice-export-tab--active{color:var(--nice-primary, #2563eb);border-bottom-color:var(--nice-primary, #2563eb)}.nice-export-formats{display:flex;flex-wrap:wrap;gap:.5rem}.nice-export-format{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;min-width:80px;background:var(--nice-surface-subtle, #f9fafb);border:2px solid transparent;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-export-format:hover{background:var(--nice-surface-hover, #f3f4f6);border-color:var(--nice-border, #e5e7eb)}.nice-export-format--selected{background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-export-format-icon{font-size:1.5rem}.nice-export-format-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.nice-export-fields{margin-top:1rem}.nice-export-fields-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-export-fields-actions{display:flex;gap:.5rem}.nice-export-fields-actions button{padding:.25rem .5rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-export-fields-actions button:hover{text-decoration:underline}.nice-export-fields-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.25rem;max-height:300px;overflow-y:auto;padding:.5rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-export-field{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;cursor:pointer;border-radius:var(--nice-radius-sm, 4px);transition:background .1s ease}.nice-export-field:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-export-field input[type=checkbox]{width:16px;height:16px;accent-color:var(--nice-primary, #2563eb)}.nice-export-field-label{flex:1;font-size:.875rem;color:var(--nice-text, #111)}.nice-export-field-name{font-size:.75rem;color:var(--nice-text-muted, #9ca3af);font-family:var(--nice-font-mono, monospace)}.nice-export-options{margin-top:1rem;padding:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-export-options h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-export-option{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;color:var(--nice-text, #111)}.nice-export-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--nice-primary, #2563eb)}.nice-export-option select,.nice-export-option input[type=password]{padding:.375rem .5rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-export-option>span:first-child{min-width:100px;color:var(--nice-text-muted, #6b7280)}.nice-export-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--nice-border, #e5e7eb)}.nice-export-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-export-btn:disabled{opacity:.5;cursor:not-allowed}.nice-export-btn--primary{color:var(--nice-bg, #FFF);background:var(--nice-primary, #2563eb)}.nice-export-btn--primary:hover:not(:disabled){background:var(--nice-primary-dark, #1d4ed8)}.nice-export-btn--secondary{color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb)}.nice-export-btn--secondary:hover:not(:disabled){background:var(--nice-surface-hover, #e5e7eb)}.nice-export-templates{display:flex;flex-direction:column;gap:.5rem}.nice-export-template{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);transition:background .1s ease}.nice-export-template:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-export-template-info{display:flex;flex-direction:column;gap:.125rem}.nice-export-template-name{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-export-template-format{font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-export-template-desc{font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-export-template-actions{display:flex;gap:.5rem}.nice-export-template-actions button{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-export-template-actions button:hover{background:var(--nice-primary-subtle, #eff6ff)}.nice-export-history h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-export-history-empty{padding:2rem;text-align:center;font-size:.875rem;color:var(--nice-text-muted, #9ca3af)}.nice-export-history-list{display:flex;flex-direction:column;gap:.5rem}.nice-export-job{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);border-left:3px solid transparent}.nice-export-job--pending{border-left-color:var(--nice-warning, #f59e0b)}.nice-export-job--processing{border-left-color:var(--nice-primary, #2563eb)}.nice-export-job--completed{border-left-color:var(--nice-success, #10b981)}.nice-export-job--failed{border-left-color:var(--nice-error, #ef4444)}.nice-export-job-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.nice-export-job-name{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-export-job-format{display:inline-block;padding:.125rem .375rem;font-size:.625rem;font-weight:600;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-radius:var(--nice-radius-sm, 4px);margin-left:.5rem}.nice-export-job-date{font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-export-job-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-export-job-status{min-width:120px;display:flex;align-items:center;justify-content:flex-end}.nice-export-job-progress{width:100px;height:6px;background:var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 3px);overflow:hidden}.nice-export-job-progress-bar{height:100%;background:var(--nice-primary, #2563eb);transition:width .3s ease}.nice-export-job-download{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-bg, #FFF);background:var(--nice-success, #10b981);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-export-job-download:hover{background:var(--nice-success-dark, #059669)}.nice-export-job-error{font-size:.75rem;font-weight:500;color:var(--nice-error, #ef4444)}[data-theme=dark] .nice-export-center,.nice-dark .nice-export-center{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .15)}@media (max-width: 640px){.nice-export-center{padding:1rem}.nice-export-formats{flex-direction:column}.nice-export-format{flex-direction:row;justify-content:flex-start;min-width:unset}.nice-export-fields-list{grid-template-columns:1fr}.nice-export-actions{flex-direction:column}.nice-export-btn{width:100%}}.nice-audit-trail{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);font-family:var(--nice-font-sans, system-ui, sans-serif)}.nice-audit-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.nice-audit-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-audit-header-actions{display:flex;gap:.5rem}.nice-audit-view-btn,.nice-audit-filter-btn{padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-audit-view-btn:hover,.nice-audit-filter-btn:hover{background:var(--nice-surface-hover, #e5e7eb)}.nice-audit-view-btn--active,.nice-audit-filter-btn--active{background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb);color:var(--nice-primary, #2563eb)}.nice-audit-export-dropdown{position:relative}.nice-audit-export-btn{padding:.5rem .75rem;font-size:.875rem;color:var(--nice-bg, #FFF);background:var(--nice-primary, #2563eb);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-audit-export-menu{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:150px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 4px 12px var(--nice-overlay-10, rgba(0, 0, 0, .1));z-index:100}.nice-audit-export-dropdown:hover .nice-audit-export-menu{display:block}.nice-audit-export-menu button{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;text-align:left;background:transparent;border:none;cursor:pointer}.nice-audit-export-menu button:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-audit-filters{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-audit-filter-group{display:flex;flex-direction:column;gap:.375rem}.nice-audit-filter-group label{font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-audit-date-range{display:flex;align-items:center;gap:.5rem}.nice-audit-date-range input[type=date],.nice-audit-search{padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-search{min-width:200px}.nice-audit-action-chips{display:flex;flex-wrap:wrap;gap:.375rem}.nice-audit-chip{display:flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-full, 9999px);cursor:pointer;transition:all .15s ease}.nice-audit-chip:hover{border-color:var(--chip-color)}.nice-audit-chip--selected{background:var(--chip-color);border-color:var(--chip-color);color:var(--nice-bg, #FFF)}.nice-audit-chip-icon{font-size:.875rem}.nice-audit-stats{display:flex;gap:1rem;font-size:.875rem;color:var(--nice-text-muted, #6b7280)}.nice-audit-date-indicator{padding:.125rem .5rem;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-content{position:relative;min-height:200px}.nice-audit-content--loading{opacity:.6;pointer-events:none}.nice-audit-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-light-80, rgba(255, 255, 255, .8));z-index:10}.nice-audit-spinner{width:32px;height:32px;border:3px solid var(--nice-border, #e5e7eb);border-top-color:var(--nice-primary, #2563eb);border-radius:var(--nice-radius-full, 50%);animation:nice-audit-spin .8s linear infinite}@keyframes nice-audit-spin{to{transform:rotate(360deg)}}.nice-audit-timeline{position:relative;padding-left:2rem}.nice-audit-timeline:before{content:"";position:absolute;left:.6875rem;top:0;bottom:0;width:2px;background:var(--nice-border, #e5e7eb)}.nice-audit-timeline-entry{position:relative;padding:1rem;margin-bottom:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);border-left:3px solid transparent;transition:all .15s ease}.nice-audit-timeline-entry:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-audit-timeline-entry--warning{border-left-color:var(--nice-warning, #f59e0b)}.nice-audit-timeline-entry--critical{border-left-color:var(--nice-error, #ef4444);background:var(--nice-danger-tint-10, rgba(239, 68, 68, .05))}.nice-audit-timeline-marker{position:absolute;left:-2rem;top:1rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--nice-surface, #fff);border:2px solid var(--marker-color, currentColor);border-radius:var(--nice-radius-full, 50%);font-size:.75rem;color:var(--marker-color);z-index:1}.nice-audit-timeline-header{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.nice-audit-timeline-action{font-weight:600;color:var(--nice-text, #111)}.nice-audit-timeline-entity{color:var(--nice-text-muted, #6b7280)}.nice-audit-timeline-time{margin-left:auto;font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-audit-timeline-user{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.nice-audit-avatar{width:24px;height:24px;border-radius:var(--nice-radius-full, 50%);object-fit:cover}.nice-audit-avatar-sm{width:20px;height:20px;border-radius:var(--nice-radius-full, 50%);object-fit:cover}.nice-audit-username{font-weight:500;color:var(--nice-text, #111)}.nice-audit-role{padding:.125rem .375rem;font-size:.625rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-timeline-notes{margin-top:.5rem;padding:.5rem;font-size:.875rem;font-style:italic;background:var(--nice-surface, #fff);border-radius:var(--nice-radius-sm, 4px);color:var(--nice-text-muted, #6b7280)}.nice-audit-timeline-meta{display:flex;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-audit-expand-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-audit-expand-btn:hover{text-decoration:underline}.nice-audit-diff{margin-top:.5rem;padding:.75rem;background:var(--nice-surface, #fff);border-radius:var(--nice-radius-sm, 4px);font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-audit-diff-row{display:flex;flex-direction:column;gap:.25rem;padding:.375rem 0;border-bottom:1px dashed var(--nice-border, #e5e7eb)}.nice-audit-diff-row:last-child{border-bottom:none;padding-bottom:0}.nice-audit-diff-field{font-weight:600;color:var(--nice-text, #111)}.nice-audit-diff-values{display:flex;align-items:flex-start;gap:.5rem}.nice-audit-diff-old{padding:.25rem .5rem;background:var(--nice-danger-tint-10, rgba(239, 68, 68, .1));border-radius:var(--nice-radius-sm, 4px);color:var(--nice-danger-dark, #991b1b);text-decoration:line-through}.nice-audit-diff-arrow{color:var(--nice-text-muted, #9ca3af)}.nice-audit-diff-new{padding:.25rem .5rem;background:var(--nice-success-tint-10, rgba(16, 185, 129, .1));border-radius:var(--nice-radius-sm, 4px);color:#065f46}.nice-audit-table{width:100%;border-collapse:collapse;font-size:.875rem}.nice-audit-table th{padding:.75rem;text-align:left;font-weight:600;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface-subtle, #f9fafb);border-bottom:2px solid var(--nice-border, #e5e7eb)}.nice-audit-table td{padding:.75rem;border-bottom:1px solid var(--nice-border, #e5e7eb);color:var(--nice-text, #111)}.nice-audit-row{cursor:pointer;transition:background .1s ease}.nice-audit-row:hover{background:var(--nice-surface-subtle, #f9fafb)}.nice-audit-row--warning td:first-child{border-left:3px solid var(--nice-warning, #f59e0b)}.nice-audit-row--critical{background:var(--nice-danger-tint-10, rgba(239, 68, 68, .05))}.nice-audit-row--critical td:first-child{border-left:3px solid var(--nice-error, #ef4444)}.nice-audit-action-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:color-mix(in srgb,var(--badge-color) 15%,transparent);color:var(--badge-color);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-cell-time{white-space:nowrap;font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-audit-cell-user{display:flex;align-items:center;gap:.5rem}.nice-audit-cell-ip{font-family:var(--nice-font-mono, monospace);font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-audit-changes-count{padding:.125rem .375rem;font-size:.75rem;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-sm, 4px)}.nice-audit-empty{padding:3rem;text-align:center;color:var(--nice-text-muted, #9ca3af)}.nice-audit-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--nice-border, #e5e7eb)}.nice-audit-pagination button{padding:.5rem 1rem;font-size:.875rem;background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-audit-pagination button:disabled{opacity:.5;cursor:not-allowed}.nice-audit-pagination button:hover:not(:disabled){background:var(--nice-surface-hover, #e5e7eb)}[data-theme=dark] .nice-audit-trail,.nice-dark .nice-audit-trail{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}[data-theme=dark] .nice-audit-loader,.nice-dark .nice-audit-loader{background:var(--nice-overlay-80, rgba(31, 41, 55, .8))}[data-theme=dark] .nice-audit-diff-old,.nice-dark .nice-audit-diff-old{background:var(--nice-danger-tint-20, rgba(239, 68, 68, .2));color:var(--nice-danger-bg, #fca5a5)}[data-theme=dark] .nice-audit-diff-new,.nice-dark .nice-audit-diff-new{background:var(--nice-success-tint-20, rgba(16, 185, 129, .2));color:var(--nice-success-light, #6ee7b7)}@media (max-width: 768px){.nice-audit-trail{padding:1rem}.nice-audit-header{flex-direction:column;align-items:flex-start}.nice-audit-filters{flex-direction:column}.nice-audit-table{display:block;overflow-x:auto}.nice-audit-timeline{padding-left:1.5rem}.nice-audit-timeline-marker{left:-1.5rem;width:20px;height:20px}.nice-audit-timeline-header{flex-direction:column;gap:.25rem}.nice-audit-timeline-time{margin-left:0}}.nice-contract-editor{display:flex;flex-direction:column;height:100%;min-height:600px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);font-family:var(--nice-font-sans, system-ui, sans-serif);overflow:hidden}.nice-contract-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--nice-border, #e5e7eb);background:var(--nice-surface-subtle, #f9fafb)}.nice-contract-header-info{display:flex;align-items:center;gap:1rem}.nice-contract-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-status{padding:.25rem .75rem;font-size:.75rem;font-weight:600;color:var(--status-color);background:color-mix(in srgb,var(--status-color) 15%,transparent);border-radius:var(--nice-radius-full, 9999px)}.nice-contract-header-actions{display:flex;gap:.5rem}.nice-contract-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-contract-btn:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-contract-btn--primary{color:var(--nice-bg, #FFF);background:var(--nice-primary, #2563eb);border-color:var(--nice-primary, #2563eb)}.nice-contract-btn--primary:hover{background:var(--nice-primary-dark, #1d4ed8)}.nice-contract-btn--approve{color:var(--nice-bg, #FFF);background:var(--nice-success, #10b981);border-color:var(--nice-success, #10b981)}.nice-contract-btn--reject{color:var(--nice-bg, #FFF);background:var(--nice-error, #ef4444);border-color:var(--nice-error, #ef4444)}.nice-contract-export-dropdown{position:relative}.nice-contract-export-menu{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:120px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 4px 12px var(--nice-overlay-10, rgba(0, 0, 0, .1));z-index:100}.nice-contract-export-dropdown:hover .nice-contract-export-menu{display:block}.nice-contract-export-menu button{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;text-align:left;background:transparent;border:none;cursor:pointer}.nice-contract-export-menu button:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-contract-toolbar{display:flex;gap:.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-contract-toolbar-btn{padding:.5rem .75rem;font-size:.875rem;background:transparent;border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-contract-toolbar-btn:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-contract-toolbar-btn--active{background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb);color:var(--nice-primary, #2563eb)}.nice-contract-main{display:flex;flex:1;overflow:hidden}.nice-contract-panel{width:320px;border-right:1px solid var(--nice-border, #e5e7eb);overflow-y:auto;background:var(--nice-surface-subtle, #f9fafb)}.nice-contract-document{flex:1;padding:1.5rem;overflow-y:auto}.nice-contract-library{padding:1rem}.nice-contract-library-header{margin-bottom:1rem}.nice-contract-library-header h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-library-search{width:100%;padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-contract-library-categories{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-contract-category-btn{padding:.25rem .5rem;font-size:.75rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-contract-category-btn:hover{border-color:var(--cat-color, currentColor)}.nice-contract-category-btn--active{background:var(--cat-color, var(--nice-primary));border-color:var(--cat-color, var(--nice-primary));color:var(--nice-bg, #FFF)}.nice-contract-library-list{display:flex;flex-direction:column;gap:.5rem}.nice-contract-library-item{padding:.75rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-contract-library-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.nice-contract-library-item-name{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-contract-library-item-cat{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:color-mix(in srgb,var(--cat-color) 15%,transparent);border-radius:var(--nice-radius-sm, 4px)}.nice-contract-library-item-desc{margin:0 0 .5rem;font-size:.75rem;color:var(--nice-text-muted, #6b7280);line-height:1.4}.nice-contract-library-insert{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-contract-library-insert:hover{background:var(--nice-primary, #2563eb);color:var(--nice-bg, #FFF)}.nice-contract-library-empty{padding:2rem;text-align:center;color:var(--nice-text-muted, #9ca3af);font-size:.875rem}.nice-contract-variables{padding:1rem}.nice-contract-variables h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-variables-list{display:flex;flex-direction:column;gap:.75rem}.nice-contract-variable{display:flex;flex-direction:column;gap:.25rem}.nice-contract-variable label{font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280)}.nice-contract-required{color:var(--nice-error, #ef4444);margin-left:.25rem}.nice-contract-variable input,.nice-contract-variable select{padding:.5rem .75rem;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-contract-section{margin-bottom:1.5rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);overflow:hidden}.nice-contract-section-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--nice-surface-subtle, #f9fafb);cursor:pointer;-webkit-user-select:none;user-select:none}.nice-contract-section-header:hover{background:var(--nice-surface-hover, #f3f4f6)}.nice-contract-section-toggle{color:var(--nice-text-muted, #9ca3af);font-size:.75rem}.nice-contract-section-header h3{flex:1;margin:0;font-size:1rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-section-count{font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-contract-section-content{padding:1rem}.nice-contract-section--collapsed .nice-contract-section-content{display:none}.nice-contract-section-empty{padding:2rem;text-align:center;color:var(--nice-text-muted, #9ca3af);font-size:.875rem;border:2px dashed var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-contract-clause{padding:1rem;margin-bottom:1rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px);border-left:4px solid var(--cat-color, var(--nice-border))}.nice-contract-clause:last-child{margin-bottom:0}.nice-contract-clause-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.nice-contract-clause-cat{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:color-mix(in srgb,var(--cat-color) 15%,transparent);border-radius:var(--nice-radius-sm, 4px);font-size:.875rem}.nice-contract-clause-name{flex:1;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-clause-required{padding:.125rem .5rem;font-size:.625rem;font-weight:600;color:var(--nice-error, #ef4444);background:var(--nice-danger-tint-10, rgba(239, 68, 68, .1));border-radius:var(--nice-radius-sm, 4px)}.nice-contract-clause-actions{display:flex;gap:.25rem}.nice-contract-clause-actions button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-contract-clause-actions button:disabled{opacity:.5;cursor:not-allowed}.nice-contract-clause-actions button:hover:not(:disabled){background:var(--nice-surface-hover, #f3f4f6)}.nice-contract-clause-content{font-size:.875rem;line-height:1.6;color:var(--nice-text, #111)}.nice-contract-clause-content [data-variable]{padding:.125rem .375rem;background:var(--nice-warning-subtle, #fef3c7);border-radius:var(--nice-radius-sm, 4px);font-weight:500}.nice-contract-workflow{padding:1rem}.nice-contract-workflow h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-contract-workflow-steps{position:relative}.nice-contract-workflow-steps:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:2px;background:var(--nice-border, #e5e7eb)}.nice-contract-workflow-step{position:relative;padding:1rem;margin-bottom:1rem;margin-left:2rem;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-contract-workflow-step:before{content:"";position:absolute;left:-1.75rem;top:1.25rem;width:12px;height:12px;background:var(--nice-surface, #fff);border:2px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-full, 50%)}.nice-contract-workflow-step--approved:before{background:var(--nice-success, #10b981);border-color:var(--nice-success, #10b981)}.nice-contract-workflow-step--rejected:before{background:var(--nice-error, #ef4444);border-color:var(--nice-error, #ef4444)}.nice-contract-workflow-step-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.nice-contract-workflow-step-num{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.75rem;font-weight:600;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-full, 50%)}.nice-contract-workflow-step-name{flex:1;font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-contract-workflow-step-status{padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;border-radius:var(--nice-radius-sm, 4px)}.nice-contract-workflow-step-status--pending{color:var(--nice-warning, #f59e0b);background:var(--nice-warning-tint-10, rgba(245, 158, 11, .1))}.nice-contract-workflow-step-status--approved{color:var(--nice-success, #10b981);background:var(--nice-success-tint-10, rgba(16, 185, 129, .1))}.nice-contract-workflow-step-status--rejected{color:var(--nice-error, #ef4444);background:var(--nice-danger-tint-10, rgba(239, 68, 68, .1))}.nice-contract-workflow-approvers{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.nice-contract-approver{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-sm, 4px);font-size:.75rem}.nice-contract-approver-avatar{width:20px;height:20px;border-radius:var(--nice-radius-full, 50%);object-fit:cover}.nice-contract-approver-role{color:var(--nice-text-muted, #9ca3af)}.nice-contract-workflow-actions{display:flex;flex-direction:column;gap:.5rem}.nice-contract-workflow-actions textarea{width:100%;padding:.5rem;font-size:.875rem;border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);resize:vertical;min-height:60px}.nice-contract-workflow-btns{display:flex;gap:.5rem}[data-theme=dark] .nice-contract-editor,.nice-dark .nice-contract-editor{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}@media (max-width: 768px){.nice-contract-main{flex-direction:column}.nice-contract-panel{width:100%;max-height:300px;border-right:none;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-contract-header{flex-direction:column;align-items:flex-start}.nice-contract-toolbar{flex-wrap:wrap}}.nice-gdpr-consent{font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);box-shadow:0 4px 24px var(--nice-overlay-15, rgba(0, 0, 0, .15));z-index:9999}.nice-gdpr-consent--banner{position:fixed;left:0;right:0;padding:1rem 1.5rem}.nice-gdpr-consent--banner.nice-gdpr-consent--top{top:0;border-top:none;border-radius:0 0 var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px)}.nice-gdpr-consent--banner.nice-gdpr-consent--bottom{bottom:0;border-bottom:none;border-radius:var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px) 0 0}.nice-gdpr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--nice-overlay-50, rgba(0, 0, 0, .5));z-index:9999}.nice-gdpr-consent--modal{max-width:500px;width:90%;max-height:90vh;overflow-y:auto;padding:1.5rem;border-radius:var(--nice-radius-lg, 12px)}.nice-gdpr-consent--embedded{padding:1.5rem;border-radius:var(--nice-radius-lg, 12px)}.nice-gdpr-content{display:flex;flex-direction:column;gap:1rem}.nice-gdpr-header{display:flex;gap:1rem;align-items:flex-start}.nice-gdpr-icon{font-size:2rem;line-height:1}.nice-gdpr-header-text h3{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-gdpr-header-text p{margin:0;font-size:.875rem;color:var(--nice-text-muted, #6b7280);line-height:1.5}.nice-gdpr-quick-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.nice-gdpr-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease;border:none}.nice-gdpr-btn--primary{color:var(--nice-bg, #FFF);background:var(--nice-primary, #2563eb)}.nice-gdpr-btn--primary:hover{background:var(--nice-primary-dark, #1d4ed8)}.nice-gdpr-btn--secondary{color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb)}.nice-gdpr-btn--secondary:hover{background:var(--nice-surface-hover, #e5e7eb)}.nice-gdpr-btn--danger{color:var(--nice-bg, #FFF);background:var(--nice-error, #ef4444)}.nice-gdpr-btn--danger:hover{background:var(--nice-danger-dark, #dc2626)}.nice-gdpr-btn--link{color:var(--nice-primary, #2563eb);background:transparent;padding:.625rem .5rem}.nice-gdpr-btn--link:hover{text-decoration:underline}.nice-gdpr-preferences{display:flex;flex-direction:column;gap:1rem}.nice-gdpr-options{display:flex;flex-direction:column;gap:.75rem}.nice-gdpr-option{padding:.75rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-md, 8px)}.nice-gdpr-option-header{display:flex;gap:.75rem;align-items:flex-start}.nice-gdpr-option-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.nice-gdpr-option-toggle input{opacity:0;width:0;height:0}.nice-gdpr-toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:var(--nice-border, #d1d5db);border-radius:var(--nice-radius-2xl, 24px);transition:.2s}.nice-gdpr-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:var(--nice-radius-full, 50%);transition:.2s}.nice-gdpr-option-toggle input:checked+.nice-gdpr-toggle-slider{background-color:var(--nice-primary, #2563eb)}.nice-gdpr-option-toggle input:checked+.nice-gdpr-toggle-slider:before{transform:translate(20px)}.nice-gdpr-option-toggle input:disabled+.nice-gdpr-toggle-slider{opacity:.5;cursor:not-allowed}.nice-gdpr-option-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.nice-gdpr-option-label{font-size:.875rem;font-weight:500;color:var(--nice-text, #111)}.nice-gdpr-required{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface, #fff);border-radius:var(--nice-radius-sm, 4px)}.nice-gdpr-option-desc{font-size:.75rem;color:var(--nice-text-muted, #6b7280);line-height:1.4}.nice-gdpr-option-partners{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--nice-border, #e5e7eb);font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-gdpr-pref-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.nice-gdpr-rights h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--nice-text, #111)}.nice-gdpr-rights-actions{display:flex;gap:.75rem;margin-bottom:1rem}.nice-gdpr-requests{margin-bottom:1rem}.nice-gdpr-requests h5{margin:0 0 .5rem;font-size:.875rem;font-weight:500;color:var(--nice-text-muted, #6b7280)}.nice-gdpr-request{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--nice-surface-subtle, #f9fafb);border-radius:var(--nice-radius-sm, 4px);margin-bottom:.375rem;font-size:.875rem}.nice-gdpr-request-type{font-weight:500;text-transform:capitalize}.nice-gdpr-request-date{color:var(--nice-text-muted, #6b7280)}.nice-gdpr-request-status{margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--nice-radius-sm, 4px);text-transform:uppercase}.nice-gdpr-request--pending .nice-gdpr-request-status{color:var(--nice-warning, #f59e0b);background:var(--nice-warning-tint-10, rgba(245, 158, 11, .1))}.nice-gdpr-request--processing .nice-gdpr-request-status{color:var(--nice-primary, #2563eb);background:var(--nice-primary-tint-10, rgba(37, 99, 235, .1))}.nice-gdpr-request--completed .nice-gdpr-request-status{color:var(--nice-success, #10b981);background:var(--nice-success-tint-10, rgba(16, 185, 129, .1))}.nice-gdpr-download-btn{padding:.25rem .5rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border:none;border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-gdpr-policies h5{margin:0 0 .5rem;font-size:.875rem;font-weight:500;color:var(--nice-text-muted, #6b7280)}.nice-gdpr-policies-table{width:100%;font-size:.75rem;border-collapse:collapse}.nice-gdpr-policies-table th,.nice-gdpr-policies-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-gdpr-policies-table th{font-weight:500;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface-subtle, #f9fafb)}.nice-gdpr-footer{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid var(--nice-border, #e5e7eb)}.nice-gdpr-footer a{font-size:.75rem;color:var(--nice-text-muted, #6b7280);text-decoration:none}.nice-gdpr-footer a:hover{color:var(--nice-primary, #2563eb);text-decoration:underline}[data-theme=dark] .nice-gdpr-consent,.nice-dark .nice-gdpr-consent{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}@media (max-width: 640px){.nice-gdpr-consent--banner{padding:1rem}.nice-gdpr-header{flex-direction:column;align-items:center;text-align:center}.nice-gdpr-quick-actions{flex-direction:column}.nice-gdpr-btn{width:100%}.nice-gdpr-rights-actions{flex-direction:column}}@keyframes nice-gdpr-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes nice-gdpr-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.nice-gdpr-consent--banner.nice-gdpr-consent--bottom{animation:nice-gdpr-slide-up .3s ease-out}.nice-gdpr-consent--banner.nice-gdpr-consent--top{animation:nice-gdpr-slide-down .3s ease-out}.nice-gdpr-overlay{animation:nice-gdpr-fade-in .2s ease-out}@keyframes nice-gdpr-fade-in{0%{opacity:0}to{opacity:1}}.nice-gdpr-consent--modal{animation:nice-gdpr-scale-in .2s ease-out}@keyframes nice-gdpr-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.nice-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;background:var(--nice-overlay-50, rgba(0, 0, 0, .5));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;animation:nice-search-fade-in .15s ease-out}@keyframes nice-search-fade-in{0%{opacity:0}to{opacity:1}}.nice-global-search{font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);box-shadow:0 20px 60px var(--nice-overlay-20, rgba(0, 0, 0, .2));overflow:hidden}.nice-global-search--modal{width:100%;max-width:640px;max-height:70vh;display:flex;flex-direction:column;animation:nice-search-scale-in .15s ease-out}@keyframes nice-search-scale-in{0%{transform:scale(.95) translateY(-10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.nice-global-search--inline{width:100%}.nice-global-search--dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;z-index:100}.nice-search-content{display:flex;flex-direction:column;height:100%}.nice-search-input-container{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-search-icon{flex-shrink:0;font-size:1.25rem;margin-right:.75rem;opacity:.5}.nice-search-input{flex:1;padding:0;font-size:1.125rem;font-weight:400;color:var(--nice-text, #111);background:transparent;border:none;outline:none}.nice-search-input::placeholder{color:var(--nice-text-muted, #9ca3af)}.nice-search-loader{width:20px;height:20px;border:2px solid var(--nice-border, #e5e7eb);border-top-color:var(--nice-primary, #2563eb);border-radius:var(--nice-radius-full, 50%);animation:nice-search-spin .6s linear infinite}@keyframes nice-search-spin{to{transform:rotate(360deg)}}.nice-search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:1rem;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f3f4f6);border:none;border-radius:var(--nice-radius-full, 50%);cursor:pointer}.nice-search-clear:hover{background:var(--nice-surface-hover, #e5e7eb);color:var(--nice-text, #111)}.nice-search-categories{display:flex;gap:.375rem;padding:.75rem 1rem;border-bottom:1px solid var(--nice-border, #e5e7eb);overflow-x:auto}.nice-search-category{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.813rem;font-weight:500;white-space:nowrap;color:var(--nice-text-muted, #6b7280);background:transparent;border:1px solid transparent;border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-search-category:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-search-category--active{color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-search-category-icon{font-size:.875rem}.nice-search-category-count{padding:0 .375rem;font-size:.688rem;font-weight:600;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface, #fff);border-radius:var(--nice-radius-full, 9999px)}.nice-search-results{flex:1;overflow-y:auto;max-height:400px}.nice-search-result{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .1s ease}.nice-search-result:hover,.nice-search-result--selected{background:var(--nice-surface-subtle, #f3f4f6)}.nice-search-result-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:var(--nice-surface-subtle, #f3f4f6);border-radius:var(--nice-radius-md, 8px);font-size:1.125rem}.nice-search-result-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.nice-search-result-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.nice-search-result-title{font-size:.875rem;font-weight:500;color:var(--nice-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-search-result-subtitle{font-size:.75rem;color:var(--nice-text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-search-result-desc{font-size:.75rem;color:var(--nice-text-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nice-search-result-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.nice-search-result-source{font-size:.688rem;color:var(--nice-text-muted, #9ca3af)}.nice-search-result-type{padding:.125rem .375rem;font-size:.625rem;font-weight:500;text-transform:uppercase;color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-radius:var(--nice-radius-sm, 4px)}.nice-search-result-actions{display:flex;gap:.25rem;margin-left:.5rem;opacity:0;transition:opacity .15s ease}.nice-search-result:hover .nice-search-result-actions{opacity:1}.nice-search-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.875rem;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-search-action-btn:hover{color:var(--nice-primary, #2563eb);border-color:var(--nice-primary, #2563eb)}.nice-search-loading,.nice-search-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--nice-text-muted, #9ca3af);text-align:center}.nice-search-empty-icon{font-size:2rem;opacity:.5}.nice-search-recent{padding:.75rem 0}.nice-search-recent-header{display:flex;justify-content:space-between;align-items:center;padding:0 1rem .5rem;font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-search-recent-header button{font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-search-recent-header button:hover{text-decoration:underline}.nice-search-recent-list{display:flex;flex-direction:column}.nice-search-recent-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:.875rem;color:var(--nice-text, #111);background:transparent;border:none;cursor:pointer;text-align:left;width:100%}.nice-search-recent-item:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-search-recent-icon{font-size:1rem;opacity:.5}.nice-search-shortcuts{display:flex;gap:1.5rem;padding:.75rem 1rem;border-top:1px solid var(--nice-border, #e5e7eb);background:var(--nice-surface-subtle, #f9fafb)}.nice-search-shortcuts span{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--nice-text-muted, #6b7280)}.nice-search-shortcuts kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .375rem;font-family:inherit;font-size:.688rem;font-weight:500;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #d1d5db);border-radius:var(--nice-radius-sm, 4px);box-shadow:0 1px 2px var(--nice-overlay-5, rgba(0, 0, 0, .05))}[data-theme=dark] .nice-global-search,.nice-dark .nice-global-search{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}[data-theme=dark] .nice-search-overlay,.nice-dark .nice-search-overlay{background:var(--nice-overlay-70, rgba(0, 0, 0, .7))}@media (max-width: 640px){.nice-search-overlay{padding-top:0;align-items:flex-end}.nice-global-search--modal{max-width:100%;max-height:80vh;border-radius:var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px) 0 0}.nice-search-shortcuts{flex-wrap:wrap;gap:.75rem}}.nice-invoice-designer{display:flex;flex-direction:column;width:100%;height:100%;min-height:600px;font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface-subtle, #f3f4f6);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);overflow:hidden}.nice-invoice-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:var(--nice-surface, #fff);border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-toolbar-left,.nice-invoice-toolbar-right{display:flex;align-items:center;gap:.5rem}.nice-invoice-toolbar-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;min-width:32px;height:32px;padding:0 .5rem;font-size:.875rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-invoice-toolbar-btn:hover:not(:disabled){background:var(--nice-surface-subtle, #f3f4f6)}.nice-invoice-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.nice-invoice-toolbar-btn--active{color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-invoice-toolbar-btn--primary{color:var(--nice-bg, #FFF);background:var(--nice-primary, #2563eb);border-color:var(--nice-primary, #2563eb)}.nice-invoice-toolbar-btn--primary:hover:not(:disabled){background:var(--nice-primary-dark, #1d4ed8)}.nice-invoice-toolbar-btn--success{color:var(--nice-bg, #FFF);background:var(--nice-success, #22c55e);border-color:var(--nice-success, #22c55e)}.nice-invoice-toolbar-btn--success:hover:not(:disabled){background:var(--nice-success-dark, #16a34a)}.nice-invoice-toolbar-divider{width:1px;height:24px;background:var(--nice-border, #e5e7eb)}.nice-invoice-zoom-select{height:32px;padding:0 .5rem;font-size:.813rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-invoice-main{flex:1;display:flex;overflow:hidden}.nice-invoice-sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;background:var(--nice-surface, #fff);border-right:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-sidebar-tabs{display:flex;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-sidebar-tab{flex:1;padding:.75rem;font-size:1rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.nice-invoice-sidebar-tab:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-invoice-sidebar-tab--active{border-bottom-color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff)}.nice-invoice-sidebar-content{flex:1;overflow-y:auto}.nice-invoice-panel{padding:1rem}.nice-invoice-panel-title{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--nice-text, #111)}.nice-invoice-panel-subtitle{margin:1rem 0 .5rem;font-size:.75rem;font-weight:600;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-invoice-templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.nice-invoice-template-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;background:var(--nice-surface-subtle, #f9fafb);border:2px solid transparent;border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-invoice-template-card:hover{border-color:var(--nice-border, #e5e7eb)}.nice-invoice-template-card--active{border-color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff)}.nice-invoice-template-preview{width:100%;aspect-ratio:8.5 / 11;display:flex;align-items:center;justify-content:center;background:var(--nice-bg, #FFF);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);overflow:hidden}.nice-invoice-template-preview img{width:100%;height:100%;object-fit:cover}.nice-invoice-template-placeholder{font-size:2rem;opacity:.3}.nice-invoice-template-name{font-size:.75rem;font-weight:500;color:var(--nice-text, #111);text-align:center}.nice-invoice-elements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.nice-invoice-element-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .25rem;background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-invoice-element-btn:hover:not(:disabled){background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-invoice-element-btn:disabled{opacity:.5;cursor:not-allowed}.nice-invoice-element-icon{font-size:1.125rem}.nice-invoice-element-label{font-size:.688rem;font-weight:500;color:var(--nice-text, #111)}.nice-invoice-fields-list{display:flex;flex-direction:column;gap:.25rem}.nice-invoice-field-btn{padding:.5rem;font-size:.75rem;text-align:left;color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer;transition:all .15s ease}.nice-invoice-field-btn:hover:not(:disabled){background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-invoice-field-btn:disabled{opacity:.5;cursor:not-allowed}.nice-invoice-properties{display:flex;flex-direction:column;gap:.75rem}.nice-invoice-property{display:flex;flex-direction:column;gap:.25rem}.nice-invoice-property label{font-size:.688rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-invoice-property input,.nice-invoice-property select{padding:.5rem;font-size:.813rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-invoice-property input:disabled,.nice-invoice-property select:disabled{background:var(--nice-surface-subtle, #f9fafb);cursor:not-allowed}.nice-invoice-property-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.nice-invoice-property-actions button{flex:1;min-width:calc(50% - .25rem);padding:.5rem;font-size:.75rem;color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-invoice-property-actions button:hover:not(:disabled){background:var(--nice-surface-hover, #e5e7eb)}.nice-invoice-btn--danger{color:var(--nice-danger, #dc2626)!important;border-color:var(--nice-danger, #dc2626)!important}.nice-invoice-btn--danger:hover:not(:disabled){background:#dc26261a!important}.nice-invoice-no-selection{padding:1rem;font-size:.813rem;color:var(--nice-text-muted, #9ca3af);text-align:center}.nice-invoice-canvas-area{flex:1;position:relative;overflow:auto;padding:3rem 2rem 2rem 3rem}.nice-invoice-canvas{position:relative;background:var(--nice-bg, #FFF);box-shadow:0 4px 20px var(--nice-overlay-10, rgba(0, 0, 0, .1))}.nice-invoice-canvas--grid{background-image:linear-gradient(to right,var(--nice-overlay-3, rgba(0, 0, 0, .03)) 1px,transparent 1px),linear-gradient(to bottom,var(--nice-overlay-3, rgba(0, 0, 0, .03)) 1px,transparent 1px)}.nice-invoice-ruler{position:absolute;background:var(--nice-surface-subtle, #f9fafb);z-index:5}.nice-invoice-ruler--horizontal{top:0;left:2.5rem;right:0;height:2rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-ruler--vertical{top:2.5rem;left:0;bottom:0;width:2rem;border-right:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-ruler-mark{position:absolute;font-size:.625rem;color:var(--nice-text-muted, #9ca3af)}.nice-invoice-ruler--horizontal .nice-invoice-ruler-mark{top:0;height:100%;border-left:1px solid var(--nice-border, #d1d5db)}.nice-invoice-ruler--vertical .nice-invoice-ruler-mark{left:0;width:100%;border-top:1px solid var(--nice-border, #d1d5db)}.nice-invoice-ruler-label{display:block;padding:.25rem}.nice-invoice-element{position:absolute;display:flex;align-items:center;justify-content:flex-start;padding:.25rem;font-size:.875rem;color:var(--nice-text, #111);cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow .1s ease}.nice-invoice-element:hover{outline:1px dashed var(--nice-primary-light, #93c5fd)}.nice-invoice-element--selected{outline:2px solid var(--nice-primary, #2563eb);box-shadow:0 0 0 4px var(--nice-primary-tint-15, rgba(37, 99, 235, .15))}.nice-invoice-element--dragging{opacity:.8;z-index:100}.nice-invoice-element--locked{cursor:not-allowed}.nice-invoice-element--locked:after{content:"🔒";position:absolute;top:-8px;right:-8px;font-size:.75rem}.nice-invoice-element--divider{padding:0}.nice-invoice-element--divider hr{width:100%;height:2px;margin:0;border:none;background:var(--nice-border, #d1d5db)}.nice-invoice-element--total,.nice-invoice-element--subtotal,.nice-invoice-element--tax{font-family:var(--nice-font-mono, monospace)}.nice-invoice-element--total{font-weight:700}.nice-invoice-element--image img{width:100%;height:100%;object-fit:contain}.nice-invoice-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.5rem;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f9fafb);border:1px dashed var(--nice-border, #d1d5db);border-radius:var(--nice-radius-sm, 4px)}.nice-invoice-qrcode,.nice-invoice-barcode,.nice-invoice-signature{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f9fafb);border:1px dashed var(--nice-border, #d1d5db);border-radius:var(--nice-radius-sm, 4px)}.nice-invoice-barcode{font-family:monospace;letter-spacing:-2px}.nice-invoice-table-preview{width:100%;height:100%;font-size:.75rem;border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);overflow:hidden}.nice-invoice-table-header{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:.5rem;padding:.5rem;font-weight:600;background:var(--nice-surface-subtle, #f3f4f6);border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-invoice-table-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:.5rem;padding:.375rem .5rem;border-bottom:1px solid var(--nice-border, #f3f4f6)}.nice-invoice-table-more{padding:.25rem .5rem;font-size:.688rem;color:var(--nice-text-muted, #9ca3af);text-align:center}.nice-invoice-element-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.nice-invoice-handle{position:absolute;width:8px;height:8px;background:var(--nice-primary, #2563eb);border:1px solid var(--nice-bg, #FFF);border-radius:var(--nice-radius-sm, 2px);pointer-events:all}.nice-invoice-handle--nw{top:-4px;left:-4px;cursor:nwse-resize}.nice-invoice-handle--ne{top:-4px;right:-4px;cursor:nesw-resize}.nice-invoice-handle--sw{bottom:-4px;left:-4px;cursor:nesw-resize}.nice-invoice-handle--se{bottom:-4px;right:-4px;cursor:nwse-resize}[data-theme=dark] .nice-invoice-designer,.nice-dark .nice-invoice-designer{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}[data-theme=dark] .nice-invoice-canvas,.nice-dark .nice-invoice-canvas{background:var(--nice-bg, #1a1a2e)}[data-theme=dark] .nice-invoice-canvas--grid,.nice-dark .nice-invoice-canvas--grid{background-image:linear-gradient(to right,var(--nice-overlay-light-5, rgba(255, 255, 255, .05)) 1px,transparent 1px),linear-gradient(to bottom,var(--nice-overlay-light-5, rgba(255, 255, 255, .05)) 1px,transparent 1px)}@media (max-width: 768px){.nice-invoice-sidebar{width:200px}.nice-invoice-elements-grid{grid-template-columns:repeat(2,1fr)}.nice-invoice-templates-grid{grid-template-columns:1fr}}@media (max-width: 640px){.nice-invoice-main{flex-direction:column}.nice-invoice-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--nice-border, #e5e7eb)}}.nice-accesslog{display:flex;flex-direction:column;width:100%;font-family:var(--nice-font-sans, system-ui, sans-serif);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px);overflow:hidden}.nice-accesslog-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-header-left{display:flex;align-items:center;gap:.75rem}.nice-accesslog-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--nice-text, #111)}.nice-accesslog-realtime-badge{padding:.25rem .5rem;font-size:.688rem;font-weight:600;color:var(--nice-success, #22c55e);background:var(--nice-success-tint-10, rgba(34, 197, 94, .1));border-radius:var(--nice-radius-full, 9999px);animation:nice-accesslog-pulse 2s ease-in-out infinite}@keyframes nice-accesslog-pulse{0%,to{opacity:1}50%{opacity:.5}}.nice-accesslog-header-actions{display:flex;align-items:center;gap:.5rem}.nice-accesslog-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.813rem;font-weight:500;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);cursor:pointer;transition:all .15s ease}.nice-accesslog-btn:hover:not(:disabled){background:var(--nice-surface-subtle, #f3f4f6)}.nice-accesslog-btn:disabled{opacity:.5;cursor:not-allowed}.nice-accesslog-export-dropdown{position:relative}.nice-accesslog-export-menu{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:100px;background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px);box-shadow:0 4px 12px var(--nice-overlay-10, rgba(0, 0, 0, .1));z-index:10}.nice-accesslog-export-dropdown:hover .nice-accesslog-export-menu{display:block}.nice-accesslog-export-menu button{display:block;width:100%;padding:.5rem .75rem;font-size:.813rem;text-align:left;color:var(--nice-text, #111);background:transparent;border:none;cursor:pointer}.nice-accesslog-export-menu button:hover{background:var(--nice-surface-subtle, #f3f4f6)}.nice-accesslog-stats{display:flex;gap:1rem;padding:1rem 1.25rem;background:var(--nice-surface-subtle, #f9fafb);border-bottom:1px solid var(--nice-border, #e5e7eb);overflow-x:auto}.nice-accesslog-stat{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.5rem}.nice-accesslog-stat-value{font-size:1.5rem;font-weight:700;color:var(--nice-text, #111)}.nice-accesslog-stat-label{font-size:.688rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-accesslog-stat--success .nice-accesslog-stat-value{color:var(--nice-success, #22c55e)}.nice-accesslog-stat--failed .nice-accesslog-stat-value{color:var(--nice-danger, #ef4444)}.nice-accesslog-stat--warning .nice-accesslog-stat-value{color:var(--nice-warning, #f59e0b)}.nice-accesslog-filters{padding:.75rem 1.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-filters-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.nice-accesslog-search{display:flex;align-items:center;flex:1;min-width:200px;padding:.5rem .75rem;background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-md, 8px)}.nice-accesslog-search-icon{margin-right:.5rem;opacity:.5}.nice-accesslog-search input{flex:1;font-size:.875rem;color:var(--nice-text, #111);background:transparent;border:none;outline:none}.nice-accesslog-filter-quick{display:flex;gap:.5rem}.nice-accesslog-filter-chip{padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--nice-text-muted, #6b7280);background:transparent;border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-full, 9999px);cursor:pointer;transition:all .15s ease}.nice-accesslog-filter-chip:hover{border-color:var(--nice-primary, #2563eb);color:var(--nice-primary, #2563eb)}.nice-accesslog-filter-chip--active{color:var(--nice-primary, #2563eb);background:var(--nice-primary-subtle, #eff6ff);border-color:var(--nice-primary, #2563eb)}.nice-accesslog-filter-toggle{padding:.375rem .75rem;font-size:.75rem;color:var(--nice-primary, #2563eb);background:transparent;border:none;cursor:pointer}.nice-accesslog-filters-expanded{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--nice-border, #e5e7eb)}.nice-accesslog-filter-group{display:flex;flex-direction:column;gap:.25rem}.nice-accesslog-filter-group label{font-size:.688rem;font-weight:500;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-accesslog-filter-group input,.nice-accesslog-filter-group select{padding:.375rem .5rem;font-size:.813rem;color:var(--nice-text, #111);background:var(--nice-surface, #fff);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px)}.nice-accesslog-date-range{display:flex;align-items:center;gap:.5rem}.nice-accesslog-clear-filters{padding:.375rem .75rem;font-size:.75rem;color:var(--nice-danger, #dc2626);background:transparent;border:1px solid var(--nice-danger, #dc2626);border-radius:var(--nice-radius-sm, 4px);cursor:pointer}.nice-accesslog-clear-filters:hover{background:#dc26260d}.nice-accesslog-tabs{display:flex;align-items:center;gap:.25rem;padding:0 1.25rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-tab{padding:.75rem 1rem;font-size:.813rem;font-weight:500;color:var(--nice-text-muted, #6b7280);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.nice-accesslog-tab:hover{color:var(--nice-text, #111)}.nice-accesslog-tab--active{color:var(--nice-primary, #2563eb);border-bottom-color:var(--nice-primary, #2563eb)}.nice-accesslog-count{margin-left:auto;font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-content{flex:1;overflow:auto}.nice-accesslog-loading,.nice-accesslog-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-spinner{width:32px;height:32px;border:3px solid var(--nice-border, #e5e7eb);border-top-color:var(--nice-primary, #2563eb);border-radius:var(--nice-radius-full, 50%);animation:nice-accesslog-spin .6s linear infinite}@keyframes nice-accesslog-spin{to{transform:rotate(360deg)}}.nice-accesslog-empty-icon{font-size:2rem;opacity:.5}.nice-accesslog-table-wrapper{overflow-x:auto}.nice-accesslog-table{width:100%;border-collapse:collapse}.nice-accesslog-table th,.nice-accesslog-table td{padding:.75rem 1rem;text-align:left;white-space:nowrap}.nice-accesslog-table th{font-size:.688rem;font-weight:600;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em;background:var(--nice-surface-subtle, #f9fafb);border-bottom:1px solid var(--nice-border, #e5e7eb);position:sticky;top:0;z-index:1}.nice-accesslog-row{cursor:pointer;transition:background .1s ease}.nice-accesslog-row:hover{background:var(--nice-surface-subtle, #f9fafb)}.nice-accesslog-row--selected{background:var(--nice-primary-subtle, #eff6ff)}.nice-accesslog-row--failed{background:#ef444408}.nice-accesslog-cell{font-size:.813rem;color:var(--nice-text, #111);border-bottom:1px solid var(--nice-border, #f3f4f6)}.nice-accesslog-cell--timestamp{color:var(--nice-text-muted, #6b7280);font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-accesslog-user{display:flex;flex-direction:column}.nice-accesslog-username{font-weight:500}.nice-accesslog-email{font-size:.688rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-event{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:var(--nice-radius-sm, 4px);background:var(--nice-surface-subtle, #f3f4f6)}.nice-accesslog-event--login_success{color:var(--nice-success, #22c55e);background:var(--nice-success-tint-10, rgba(34, 197, 94, .1))}.nice-accesslog-event--login_failed{color:var(--nice-danger, #ef4444);background:var(--nice-danger-tint-10, rgba(239, 68, 68, .1))}.nice-accesslog-event--suspicious_activity{color:var(--nice-accent, #7c3aed);background:var(--nice-accent-tint-10, rgba(124, 58, 237, .1))}.nice-accesslog-event-icon{font-size:.875rem}.nice-accesslog-ip{font-family:var(--nice-font-mono, monospace);font-size:.75rem}.nice-accesslog-block-btn{margin-left:.5rem;padding:.125rem .25rem;font-size:.75rem;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .15s ease}.nice-accesslog-row:hover .nice-accesslog-block-btn{opacity:1}.nice-accesslog-flag{margin-right:.25rem}.nice-accesslog-device{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.nice-accesslog-risk{display:inline-flex;flex-direction:column;align-items:center;padding:.25rem .5rem;border-radius:var(--nice-radius-sm, 4px);background:color-mix(in srgb,var(--risk-color) 10%,transparent)}.nice-accesslog-risk-score{font-size:.875rem;font-weight:700;color:var(--risk-color)}.nice-accesslog-risk-label{font-size:.625rem;font-weight:500;color:var(--risk-color);text-transform:uppercase}.nice-accesslog-status{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:.875rem;font-weight:700;border-radius:var(--nice-radius-full, 50%)}.nice-accesslog-status--success{color:var(--nice-success, #22c55e);background:var(--nice-success-tint-10, rgba(34, 197, 94, .1))}.nice-accesslog-status--failed{color:var(--nice-danger, #ef4444);background:var(--nice-danger-tint-10, rgba(239, 68, 68, .1))}.nice-accesslog-timeline{display:flex;flex-direction:column;padding:1rem}.nice-accesslog-timeline-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--nice-border, #f3f4f6);cursor:pointer;transition:background .15s ease}.nice-accesslog-timeline-item:hover{background:var(--nice-surface-subtle, #f9fafb);margin:0 -1rem;padding:1rem}.nice-accesslog-timeline-marker{flex-shrink:0;width:12px;height:12px;margin-top:.25rem;border-radius:var(--nice-radius-full, 50%)}.nice-accesslog-timeline-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.nice-accesslog-timeline-header{display:flex;justify-content:space-between;align-items:center}.nice-accesslog-timeline-event{font-weight:600;color:var(--nice-text, #111)}.nice-accesslog-timeline-time{font-size:.75rem;color:var(--nice-text-muted, #9ca3af)}.nice-accesslog-timeline-details{display:flex;gap:.5rem;font-size:.813rem;color:var(--nice-text-muted, #6b7280)}.nice-accesslog-timeline-flags{display:flex;gap:.25rem;margin-top:.25rem}.nice-accesslog-flag-badge{padding:.125rem .375rem;font-size:.625rem;font-weight:500;color:var(--nice-accent, #7c3aed);background:var(--nice-accent-tint-10, rgba(124, 58, 237, .1));border-radius:var(--nice-radius-full, 9999px)}.nice-accesslog-map{height:400px}.nice-accesslog-map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--nice-text-muted, #9ca3af);background:var(--nice-surface-subtle, #f9fafb)}.nice-accesslog-show-more{display:block;width:100%;padding:1rem;font-size:.875rem;font-weight:500;color:var(--nice-primary, #2563eb);background:var(--nice-surface-subtle, #f9fafb);border:none;border-top:1px solid var(--nice-border, #e5e7eb);cursor:pointer}.nice-accesslog-show-more:hover{background:var(--nice-primary-subtle, #eff6ff)}.nice-accesslog-detail{position:absolute;top:0;right:0;bottom:0;width:360px;background:var(--nice-surface, #fff);border-left:1px solid var(--nice-border, #e5e7eb);box-shadow:-4px 0 20px var(--nice-overlay-10, rgba(0, 0, 0, .1));overflow-y:auto;z-index:10}.nice-accesslog-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--nice-border, #e5e7eb)}.nice-accesslog-detail-header h3{margin:0;font-size:1rem;font-weight:600}.nice-accesslog-detail-close{width:28px;height:28px;font-size:1rem;color:var(--nice-text-muted, #6b7280);background:var(--nice-surface-subtle, #f3f4f6);border:none;border-radius:var(--nice-radius-full, 50%);cursor:pointer}.nice-accesslog-detail-close:hover{background:var(--nice-surface-hover, #e5e7eb)}.nice-accesslog-detail-content{padding:1rem}.nice-accesslog-detail-row{margin-bottom:1rem}.nice-accesslog-detail-label{display:block;margin-bottom:.25rem;font-size:.688rem;font-weight:600;color:var(--nice-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.025em}.nice-accesslog-detail-value{font-size:.875rem;color:var(--nice-text, #111)}.nice-accesslog-coords,.nice-accesslog-fingerprint{font-size:.75rem;color:var(--nice-text-muted, #9ca3af);font-family:var(--nice-font-mono, monospace);margin-top:.25rem}.nice-accesslog-detail-json{margin:0;padding:.75rem;font-size:.75rem;font-family:var(--nice-font-mono, monospace);color:var(--nice-text, #111);background:var(--nice-surface-subtle, #f9fafb);border:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-sm, 4px);overflow-x:auto;white-space:pre-wrap;word-break:break-all}[data-theme=dark] .nice-accesslog,.nice-dark .nice-accesslog{--nice-surface: #1f2937;--nice-surface-subtle: #374151;--nice-surface-hover: #4b5563;--nice-border: #4b5563;--nice-text: #f9fafb;--nice-text-muted: #9ca3af;--nice-primary-subtle: rgba(37, 99, 235, .2)}@media (max-width: 768px){.nice-accesslog-stats{flex-wrap:wrap}.nice-accesslog-stat{flex:1;min-width:70px}.nice-accesslog-detail{width:100%;position:fixed;top:auto;bottom:0;max-height:60vh;border-left:none;border-top:1px solid var(--nice-border, #e5e7eb);border-radius:var(--nice-radius-lg, 12px) var(--nice-radius-lg, 12px) 0 0}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nice2dev/ui-enterprise",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Nice2Dev UI Enterprise - Compliance & enterprise-grade React components: DataExportCenter, AuditTrail, ContractEditor, GDPRConsent, GlobalSearch, InvoiceDesigner, AccessLog",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@nice2dev/ui": "1.0.
|
|
34
|
+
"@nice2dev/ui": "^1.0.12",
|
|
35
35
|
"react": ">=17.0.0",
|
|
36
36
|
"react-dom": ">=17.0.0"
|
|
37
37
|
},
|