:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .75rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:16px}#root{min-height:100vh}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-destructive{color:hsl(var(--destructive))}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-muted{background-color:hsl(var(--muted))}.bg-accent{background-color:hsl(var(--accent))}.border{border:1px solid hsl(var(--border))}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.transition-colors{transition:color .2s,background-color .2s,border-color .2s}.transition-all{transition:all .2s}.page-title{font-size:1.5rem;line-height:2rem;font-weight:700;color:hsl(var(--foreground))}.page-subtitle{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.section-title{font-size:1.25rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.section-subtitle{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.card-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:hsl(var(--foreground))}.body-text{font-size:.875rem;line-height:1.25rem;color:hsl(var(--foreground))}.muted-text{font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.small-text{font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground))}.table-header{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:hsl(var(--foreground))}.table-cell{padding:.75rem 1rem;font-size:.875rem}.table-cell-muted{padding:.75rem 1rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.badge{padding:.25rem .75rem;background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));border-radius:9999px;font-size:.75rem;font-weight:500;display:inline-block}.badge-code{padding:.25rem .5rem;background-color:hsl(var(--muted));border-radius:.25rem;font-family:monospace;font-size:.75rem;display:inline-block}.page-header{display:flex;justify-content:space-between;align-items:start}.page-container{display:flex;flex-direction:column;gap:2rem}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.alert-error{padding:1rem;background:hsl(var(--destructive) / .1);color:hsl(var(--destructive));border-radius:calc(var(--radius) - 2px);margin-bottom:1rem}.alert-info{padding:1rem;background:hsl(var(--muted));color:hsl(var(--foreground));border-radius:calc(var(--radius) - 2px);margin-bottom:1rem}.loading-state,.empty-state{padding:2rem;text-align:center;color:hsl(var(--muted-foreground))}.card{background-color:hsl(var(--card));color:hsl(var(--card-foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 4px);box-shadow:0 1px 2px #0000000d;transition:all .2s}.card:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.card-header{display:flex;flex-direction:column;gap:.375rem;padding:1.5rem}.card-title{font-size:1.125rem;font-weight:600;line-height:1.75rem;letter-spacing:-.025em;color:hsl(var(--foreground));margin:0}.card-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.25rem}.card-content{padding:1.5rem;padding-top:0}.card-content:first-child{padding-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;transition:color .2s,background-color .2s,border-color .2s;cursor:pointer;border:none;outline:none}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn-default{height:2.5rem;padding:.5rem 1rem}.btn-sm{height:2rem;padding:.375rem .75rem;font-size:.8125rem}.btn-lg{height:2.75rem;padding:.625rem 1.25rem}.btn-default{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-default:hover{background-color:hsl(var(--primary) / .9)}.btn-outline{border:1px solid hsl(var(--input));background-color:hsl(var(--background));color:hsl(var(--foreground))}.btn-outline:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-ghost{background-color:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-back{background:hsl(var(--muted) / .35);border:1px solid hsl(var(--border));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000000d}.btn-back:hover{background:hsl(var(--muted) / .55);color:hsl(var(--foreground))}.btn-destructive:hover{background-color:hsl(var(--destructive) / .9)}.input{display:flex;height:2.5rem;width:100%;border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background-color:hsl(var(--background));padding:.5rem .75rem;font-size:.875rem;color:hsl(var(--foreground));transition:border-color .2s,box-shadow .2s;outline:none}.input::placeholder{color:hsl(var(--muted-foreground))}.input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.input:disabled{cursor:not-allowed;opacity:.5}.sidebar{position:fixed;left:0;top:0;bottom:0;width:16rem;background-color:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;z-index:50}.sidebar-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.sidebar-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.sidebar-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;text-decoration:none;color:hsl(var(--muted-foreground));transition:all .2s;cursor:pointer}.sidebar-link:hover{background-color:hsl(var(--secondary));color:hsl(var(--foreground))}.sidebar-link-active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.sidebar-link-active:hover{background-color:hsl(var(--primary) / .9);color:hsl(var(--primary-foreground))}.sidebar-icon{font-size:1.25rem;line-height:1}.sidebar-label{flex:1}.sidebar-footer{padding:1rem;border-top:1px solid hsl(var(--border))}.sidebar-user{padding:.75rem;margin-bottom:.5rem;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--secondary))}.sidebar-user-info{display:flex;flex-direction:column;gap:.125rem}.sidebar-user-name{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.sidebar-user-role{font-size:.75rem;color:hsl(var(--muted-foreground))}.sidebar-logout{width:100%;padding:.5rem .75rem;border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground));font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.sidebar-group-animator{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-in-out}.sidebar-group-animator.open{grid-template-rows:1fr}.sidebar-group-children{overflow:hidden;padding-left:1rem;display:flex;flex-direction:column;gap:.25rem}.sidebar-chevron{font-size:.7rem;opacity:.5;transition:transform .3s ease;display:inline-block}.sidebar-chevron.rotate{transform:rotate(90deg)}.sidebar-logout:hover{background-color:hsl(var(--accent))}.main-layout{display:flex;min-height:100vh}.main-layout.full-width{display:block}.main-content{flex:1;margin-left:16rem;background-color:hsl(var(--secondary) / .2);min-height:100vh;width:100%;min-width:0}.main-content.no-sidebar{margin-left:0}.main-content-inner{max-width:80rem;margin:0 auto;padding:2rem}.no-sidebar .main-content-inner{max-width:none;padding:0}.modal-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative;overflow:hidden}.modal-container.size-lg{max-width:1000px}.modal-container.size-xl{max-width:1300px}.modal-container.size-sm{max-width:450px}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.125rem;font-weight:600;color:#1a202c;margin:0}.modal-close-btn{background:none;border:none;cursor:pointer;color:#a0aec0;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background-color:#f7fafc;color:#4a5568}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.select-wrapper{position:relative;width:100%}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;display:flex;height:2.5rem;width:100%;border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background-color:hsl(var(--background));padding:.5rem 2.5rem .5rem .75rem;font-size:.875rem;color:hsl(var(--foreground));transition:border-color .2s,box-shadow .2s;outline:none;cursor:pointer}.select:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.select:disabled{cursor:not-allowed;opacity:.5;background-color:hsl(var(--muted))}.select-arrow{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none;display:flex;align-items:center}.hierarchical-selector-overlay{position:fixed;inset:0;background-color:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.hierarchical-selector-modal{background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);width:100%;max-width:1000px;height:600px;border-radius:12px;box-shadow:0 0 0 1px #0000000d,0 20px 50px -10px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.hierarchical-selector-header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.hierarchical-selector-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.close-btn{background:none;border:none;cursor:pointer;color:hsl(var(--foreground));padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.close-btn:hover{background-color:#00000014}.hierarchical-toolbar{background-color:#f5f7facc;border-bottom:1px solid rgba(0,0,0,.08);border-top:1px solid rgba(0,0,0,.08);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.hierarchical-path-container{display:flex;align-items:center;gap:.5rem;overflow-x:auto;scrollbar-width:none}.hierarchical-path-container::-webkit-scrollbar{display:none}.path-segment{background:#e2e8f0;padding:.35rem .85rem;border-radius:6px;font-size:.875rem;font-weight:600;color:#4a5568;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.path-separator{color:#a0aec0;font-size:.875rem;font-weight:600}.hierarchical-search-container{position:relative;min-width:200px;max-width:300px;flex:1;display:flex;justify-content:flex-end}.hierarchical-search-input{width:100%;padding:.4rem 1rem .4rem 2rem;border-radius:9999px;border:1px solid #cbd5e0;background-color:#fff;font-size:.875rem;outline:none;transition:all .2s}.hierarchical-search-input:focus{border-color:#2c7a7b;box-shadow:0 0 0 2px #2c7a7b1a}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#a0aec0;pointer-events:none}.finder-columns-container{flex:1;display:flex;overflow-x:auto;scroll-behavior:smooth}.finder-column{min-width:260px;width:260px;border-right:1px solid rgba(0,0,0,.06);overflow-y:auto;display:flex;flex-direction:column;padding:.5rem}.finder-column:last-child{border-right:none}.finder-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;margin-bottom:2px;border-radius:6px;cursor:pointer;font-size:.9rem;color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;transition:background-color .1s}.finder-item:hover{background-color:#0000000a}.finder-item.active{background-color:#edf2f7;color:#1a202c;font-weight:500;box-shadow:inset 0 0 0 1px #cbd5e0}.finder-item.active .arrow-icon{color:#4a5568}.arrow-icon{color:#cbd5e0;width:16px;height:16px}.search-results-container{flex:1;overflow-y:auto;padding:.5rem}.search-result-item{padding:.75rem 1rem;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:.125rem}.search-result-item:hover{background-color:#0000000a}.search-result-item.highlighted{background-color:#edf2f7;box-shadow:inset 0 0 0 1px #cbd5e0}.result-name{font-weight:600;font-size:.9rem;color:#1a202c}.result-path{font-size:.75rem;color:#718096}.hierarchical-selector-footer{padding:.75rem 1.5rem;border-top:1px solid rgba(0,0,0,.08);background-color:#f5f7facc;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.hierarchical-footer-buttons{display:flex;gap:1rem}.hierarchical-keyboard-hint{font-size:.75rem;color:#a0aec0;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.hierarchical-keyboard-hint span{margin-right:.5rem}.hierarchical-keyboard-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .4rem;font-size:.7rem;font-family:inherit;background:#edf2f7;border:1px solid #cbd5e0;border-radius:4px;color:#4a5568;box-shadow:0 1px #0000001a}.permission-modal-overlay{position:fixed;inset:0;background-color:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.permission-modal-content{background:#ffffffd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);width:100%;max-width:420px;border-radius:20px;box-shadow:0 0 0 1px #ffffff80 inset,0 20px 50px -10px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);text-align:center;padding:40px 32px}.permission-icon-wrapper{width:80px;height:80px;background:#ef44441a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#ef4444;animation:popIn .4s cubic-bezier(.34,1.56,.64,1) .1s backwards}.permission-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 12px}.permission-message{font-size:1rem;color:#6b7280;line-height:1.6;margin:0 0 32px}.permission-actions{display:flex;justify-content:center}.permission-button{background-color:#0d9488;color:#fff;border:none;font-weight:600;padding:12px 32px;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0d948833}.permission-button:hover{background-color:#0f766e;transform:translateY(-1px);box-shadow:0 6px 16px #0d94884d}.permission-button:active{transform:translateY(0)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background-color:hsl(var(--card));color:hsl(var(--foreground));border-radius:var(--radius);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:56rem;max-height:90vh;display:flex;flex-direction:column;animation:slideIn .3s cubic-bezier(.16,1,.3,1);border:1px solid hsl(var(--border))}.modal-content.small{max-width:32rem}.modal-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.close-button{color:hsl(var(--muted-foreground));background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.modal-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.modal-section{display:flex;flex-direction:column;gap:1rem}.section-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.modal-footer{padding:1.5rem;border-top:1px solid hsl(var(--border));background-color:hsl(var(--muted) / .3);display:flex;justify-content:flex-end;gap:.75rem;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.tm-input,.tm-select,.tm-textarea{width:100%;padding:.5rem .75rem;border-radius:.5rem;border:1px solid hsl(var(--input));background-color:transparent;color:hsl(var(--foreground));font-size:.875rem;transition:border-color .2s,box-shadow .2s}.tm-input:focus,.tm-select:focus,.tm-textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.target-toggle{display:flex;background-color:hsl(var(--muted));padding:.25rem;border-radius:.5rem;width:fit-content}.toggle-btn{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;border:none;cursor:pointer;background:transparent;color:hsl(var(--muted-foreground));transition:all .2s}.toggle-btn.active{background-color:hsl(var(--background));color:hsl(var(--primary));box-shadow:0 1px 2px #0000000d}.selection-box{display:flex;gap:.5rem;width:100%}.selection-display{flex:1;padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background-color:hsl(var(--muted) / .3);color:hsl(var(--foreground));font-size:.875rem;display:flex;align-items:center}.selection-display.placeholder{color:hsl(var(--muted-foreground));font-style:italic}.btn-secondary{padding:.5rem 1rem;background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:hsl(var(--secondary) / .8)}.btn-primary{padding:.5rem 1.5rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:opacity .2s;box-shadow:0 1px 2px #0000000d}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.items-table-container{border:1px solid hsl(var(--border));border-radius:.5rem;overflow:hidden}.items-table{width:100%;border-collapse:collapse;font-size:.875rem}.items-table th{background-color:hsl(var(--muted) / .5);padding:.75rem 1rem;text-align:left;font-weight:500;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border))}.items-table td{padding:.75rem 1rem;color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border))}.items-table tr:last-child td{border-bottom:none}.items-table tr:hover{background-color:hsl(var(--muted) / .3)}.btn-icon{background:transparent;border:none;cursor:pointer;padding:.25rem;color:hsl(var(--muted-foreground));border-radius:.25rem}.btn-icon:hover{color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .1)}.empty-state-box{padding:2rem;text-align:center;border:2px dashed hsl(var(--border));border-radius:.5rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .1)}.flex-row{display:flex;flex-direction:row;align-items:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.w-full{width:100%}.justify-between{justify-content:space-between}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:hsl(var(--muted-foreground))}.text-primary-color{color:hsl(var(--primary))}.mt-1{margin-top:.25rem}.separator{border:0;border-top:1px solid hsl(var(--border));margin:0}.scan-modal-overlay{position:fixed;inset:0;background-color:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.scan-modal-content{background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);width:100%;max-width:500px;border-radius:16px;box-shadow:0 0 0 1px #0000000d,0 20px 50px -10px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);transition:max-width .4s cubic-bezier(.34,1.56,.64,1)}.scan-modal-content.has-results{max-width:900px}.scan-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(0,0,0,.06)}.scan-modal-title{font-size:1.25rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.close-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:hsl(var(--muted-foreground));border-radius:.375rem;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.scan-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.scan-modal-columns{display:flex;gap:2rem;padding:2rem;min-height:400px;transition:min-height .3s cubic-bezier(.34,1.56,.64,1);justify-content:center}.scan-column-left{flex:0 0 400px;width:400px;display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center;justify-content:center}.scan-image-container{width:100%;height:180px;display:flex;align-items:center;justify-content:center}.scan-image{max-width:100%;max-height:100%;object-fit:contain;opacity:.9}.scan-instructions h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:hsl(var(--foreground))}.scan-instructions p{margin:0;color:hsl(var(--muted-foreground));font-size:.9375rem}.scan-input-container{width:100%;position:relative}.scan-input{text-align:center;font-size:1.1rem;padding:.75rem;width:100%}.scan-column-right{flex:1;display:flex;flex-direction:column;gap:1rem;animation:slideInRight .4s cubic-bezier(.34,1.56,.64,1);min-width:0}.results-title{font-size:1rem;font-weight:600;margin:0;color:hsl(var(--foreground));padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.06)}.scan-search-results{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:320px;padding-right:.5rem}.scan-search-results::-webkit-scrollbar{width:6px}.scan-search-results::-webkit-scrollbar-track{background:transparent}.scan-search-results::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.scan-search-results::-webkit-scrollbar-thumb:hover{background:#0003}.scan-search-result-item{padding:1rem;background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:8px;cursor:pointer;transition:all .15s ease}.scan-search-result-item:hover{background:#0000000a;border-color:#0000001f;transform:translate(4px)}.result-name{font-weight:500;margin-bottom:.25rem;color:hsl(var(--foreground))}.result-details{font-size:.75rem;color:hsl(var(--muted-foreground))}.scan-error-message{margin-top:1rem;padding:.75rem 1rem;background:#dc26261a;border:1px solid rgba(220,38,38,.2);border-radius:8px;color:#b91c1c;font-size:.875rem;text-align:center;animation:slideDown .3s cubic-bezier(.34,1.56,.64,1);transition:opacity .2s ease,transform .2s ease}.scan-warning-message{margin-top:1rem;padding:.75rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#b45309;font-size:.875rem;text-align:center;animation:slideDown .3s cubic-bezier(.34,1.56,.64,1);transition:opacity .2s ease,transform .2s ease}.scan-modal-footer{display:flex;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid rgba(0,0,0,.06)}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:100px}}@media(max-width:768px){.scan-modal-content,.scan-modal-content.has-results{max-width:100%}.scan-modal-columns{flex-direction:column;gap:1.5rem}.scan-column-left{flex:1;width:100%;min-width:0}.scan-column-right{max-height:300px}}.confirmation-overlay{position:fixed;inset:0;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.confirmation-modal{background:#fff;width:90%;max-width:400px;border-radius:12px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.confirmation-content{padding:1.5rem;text-align:center}.confirmation-icon{margin-bottom:1rem;display:flex;justify-content:center;align-items:center}.confirmation-icon.danger{color:#dc2626}.confirmation-icon.info{color:hsl(var(--primary))}.confirmation-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-color)}.confirmation-message{color:var(--text-muted);line-height:1.5;margin:0}.confirmation-actions{display:flex;border-top:1px solid var(--border-color)}.confirmation-btn{flex:1;border:none;background:none;padding:1rem;font-size:1rem;cursor:pointer;transition:background-color .2s;font-weight:500}.confirmation-btn:hover{background-color:var(--bg-hover)}.confirmation-btn.cancel{color:var(--text-color);border-right:1px solid var(--border-color)}.confirmation-btn.confirm{color:var(--primary-color);font-weight:600}.confirmation-btn.confirm.danger{color:var(--danger-color)}.confirmation-btn.confirm:hover{background-color:rgba(var(--primary-color-rgb),.05)}.confirmation-btn.confirm.danger:hover{background-color:#fee2e2}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.transactions-page{background-color:#fcfdfe;min-height:100%;padding:24px;font-family:Inter,system-ui,sans-serif}.page-header{margin-bottom:32px}.page-title{font-size:24px;font-weight:600;color:#0f172a;margin-bottom:4px}.page-subtitle{color:#64748b;font-size:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid #eceff3;border-radius:14px;padding:20px;box-shadow:0 1px 2px #00000005;display:flex;flex-direction:column}.stat-label{color:#8894a6;font-size:13px;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value{color:#0f172a;font-size:28px;font-weight:700;line-height:1}.transactions-toolbar{background:#fff;border:1px solid #eceff3;border-radius:14px;padding:16px 20px;margin-bottom:24px;box-shadow:0 1px 2px #00000005;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;transition:gap .18s ease}.transactions-toolbar.toolbar-compact{gap:.5rem}.transactions-toolbar .muted-text{color:#64748b;font-size:13px;white-space:nowrap}.archive-select{margin-left:auto;padding:.4rem .75rem;font-size:14px;color:hsl(var(--foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.375rem;cursor:pointer;outline:none}.active-filter-btn{border-color:#3182ce!important;color:#3182ce!important}.transactions-toolbar .btn{transition:padding .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease}.btn-icon-only{padding-left:.65rem!important;padding-right:.65rem!important}.icon-with-text{margin-right:.5rem;transition:margin-right .18s ease}.id-search-input{max-width:160px}.id-search-container{display:flex;align-items:center;max-width:0;opacity:0;transform:translate(8px);overflow:hidden;transition:max-width .2s ease,opacity .2s ease,transform .2s ease,padding .2s ease}.id-search-container.open{max-width:180px;opacity:1;transform:translate(0)}.transactions-search-input{transition:max-width .2s ease,opacity .2s ease}.toolbar-badge{margin-left:.5rem;background:#3182ce;color:#fff;border-radius:50%;padding:2px 6px;font-size:.7em}.table-card{background:#fff;border:1px solid #eceff3;border-radius:14px;overflow:hidden;box-shadow:0 4px 6px -1px #00000005}.txn-table{width:100%;border-collapse:collapse}.txn-table th{text-align:left;padding:16px 24px;background-color:#f8fafc;border-bottom:1px solid #eceff3;color:#64748b;font-weight:600;font-size:13px;white-space:nowrap}.txn-table td{padding:16px 24px;border-bottom:1px solid #eceff3;color:#334155;font-size:14px;vertical-align:middle}.txn-row{transition:background-color .15s}.txn-row:hover{background-color:#f8fafc}.txn-row.expanded{background-color:#f1f5f9;border-bottom:none}.expanded-detail-row td{background-color:#f8fafc;padding:0 24px 24px;border-bottom:2px solid #eceff3}.detail-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;margin-top:8px}.detail-item-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #f1f5f9}.detail-item-row:last-child{border-bottom:none}.icon-btn{background:transparent;border:1px solid #eceff3;border-radius:8px;padding:6px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background-color:#fff;border-color:#cbd5e1;color:#0f172a}.user-avatar{width:28px;height:28px;border-radius:50%;background-color:#e0e7ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-right:8px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-green{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.badge-orange{background-color:#ffedd5;color:#9a3412;border:1px solid #fed7aa}.badge-blue{background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.badge-gray{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.action-btn{background-color:#0f172a;color:#fff;padding:10px 20px;border-radius:10px;font-weight:600;font-size:14px;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.action-btn:hover{background-color:#1e293b}.empty-state{padding:48px;text-align:center;color:#64748b}.items-container{min-height:100vh;background:#f7fafc}.items-header{background:#fff;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0}.header-left{display:flex;flex-direction:column;gap:.5rem}.back-link{color:#2c7a7b;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s}.back-link:hover{color:#285e61}.items-header h1{margin:0;font-size:1.5rem;color:#1a202c;font-weight:600}.btn-primary{padding:.625rem 1.25rem;background:#2c7a7b;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s;font-size:.875rem}.btn-primary:hover{background:#285e61}.btn-checkitem{background:#d6d6d6!important;color:#4d4d4d!important}.items-content{padding:2rem;max-width:1600px;margin:0 auto}.items-toolbar{background:#fff;padding:1.25rem;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.search-input{flex:1;max-width:400px;padding:.625rem 1rem;border:1px solid #cbd5e0;border-radius:4px;font-size:.875rem}.search-input:focus{outline:none;border-color:#2c7a7b;box-shadow:0 0 0 3px #2c7a7b1a}.toolbar-info{color:#718096;font-size:.875rem;font-weight:500}.loading{text-align:center;padding:3rem;color:#718096}.error-message{background:#fff5f5;color:#c53030;padding:1rem;border-left:4px solid #fc8181;border-radius:4px;margin-bottom:1.5rem}.empty-state{background:#fff;padding:3rem;border-radius:6px;text-align:center;color:#718096}.empty-state p{margin:.5rem 0}.empty-state .hint{font-size:.875rem;color:#a0aec0}.items-table-container{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.items-table{width:100%;border-collapse:collapse}.items-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.items-table th{padding:1rem;text-align:left;font-weight:600;font-size:.75rem;color:#4a5568;text-transform:uppercase;letter-spacing:.05em}.items-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s}.items-table tbody tr:hover{background:#f7fafc}.items-table tbody tr:last-child{border-bottom:none}.items-table td{padding:1rem;color:#2d3748;font-size:.875rem}.item-name{font-weight:600;color:#1a202c}.serial{font-family:Courier New,monospace;color:#718096;font-size:.8125rem}.table-link{padding:.1rem .35rem;border:none;background:none;color:inherit;cursor:pointer;font:inherit;text-decoration:none;border-radius:6px;transition:background-color .15s ease,color .15s ease}.table-link:hover{background:hsl(var(--muted) / .35);color:hsl(var(--foreground))}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-auf-lager{background:#c6f6d5;color:#22543d}.status-zugewiesen{background:#bee3f8;color:#2c5282}.status-in-reparatur{background:#fed7d7;color:#742a2a}.status-vermisst{background:#feebc8;color:#7c2d12}.status-ausgemustert{background:#e2e8f0;color:#4a5568}.btn-action{padding:.375rem .75rem;background:transparent;color:#2c7a7b;border:1px solid #2c7a7b;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-action:hover{background:#2c7a7b;color:#fff}.filter-glow{box-shadow:0 0 0 6px #3182ce26;animation:filterPulse 1.6s ease-out 1}@keyframes filterPulse{0%{box-shadow:0 0 #3182ce59}70%{box-shadow:0 0 0 8px #3182ce00}to{box-shadow:0 0 #3182ce00}}.supplier-toast{position:fixed;bottom:24px;right:24px;background:#fff;border:1px solid hsl(var(--border));box-shadow:0 12px 30px #0000001f;border-radius:12px;padding:12px 14px 8px;min-width:260px;z-index:12000;animation:toastSlideIn .2s ease-out}.supplier-toast-body{display:flex;flex-direction:column;gap:2px}.supplier-toast-title{font-weight:700;font-size:.95rem;color:hsl(var(--foreground))}.supplier-toast-message{font-size:.9rem;color:hsl(var(--muted-foreground))}.supplier-toast-countdown{height:4px;margin-top:8px;background:hsl(var(--primary));border-radius:8px;animation:toastCountdown 4s linear forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.category-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.category-modal-container{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:32rem;overflow:hidden;margin:1rem;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.category-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid hsl(var(--border))}.category-modal-title{font-size:1.125rem;font-weight:600}.category-modal-close{color:hsl(var(--muted-foreground));cursor:pointer;background:transparent;border:none;padding:.25rem}.category-modal-close:hover{color:hsl(var(--foreground))}.category-modal-body{padding:1.5rem}.parent-selector-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);font-size:.875rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;min-height:2.25rem}.parent-selector-trigger:hover{border-color:hsl(var(--ring))}.parent-selector-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-selector-text.placeholder{color:hsl(var(--muted-foreground))}.parent-selector-clear{display:inline-block;margin-top:.375rem;background:none;border:none;padding:0;font-size:.75rem;color:hsl(var(--muted-foreground));cursor:pointer;text-decoration:underline;text-underline-offset:2px}.parent-selector-clear:hover{color:hsl(var(--foreground))}.form-container{width:100%}.form-content{display:flex;flex-direction:column;gap:0}.form-section{display:flex;flex-direction:column;gap:1.25rem}.page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.page-subtitle{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.header-actions{display:flex;gap:1rem;align-items:center}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.divider{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid-3-custom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.form-group label.required:after{content:" *";color:var(--danger-color)}.textarea-custom{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;resize:vertical;transition:all .2s}.textarea-custom:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.ident-row{display:flex;gap:1.5rem;align-items:center}.toggle-group{display:flex;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-full);border:1px solid var(--border-color)}.toggle-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:var(--radius-full);font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.ident-input-wrapper{display:flex;flex:1;align-items:center;gap:1rem}.ident-input-wrapper label{font-weight:500;color:var(--text-secondary);white-space:nowrap}.form-actions-bar{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.grid-2,.grid-3,.grid-3-custom{grid-template-columns:1fr}.ident-row{flex-direction:column;align-items:stretch}}.input-with-clear{position:relative;display:flex;align-items:center}.input-with-clear .input{padding-right:2.25rem}.clear-selection-btn{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;color:#a0aec0;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.clear-selection-btn:hover{background-color:#0000000d;color:#e53e3e}.status-switch-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:1000;background:hsl(var(--card));border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 8px 30px #00000026;min-width:400px;max-width:640px;overflow:hidden;animation:toastSlideIn .35s cubic-bezier(.16,1,.3,1)}.status-switch-toast-content{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem}.status-switch-toast-icon{flex-shrink:0;color:hsl(var(--primary))}.status-switch-toast-text{flex:1;font-size:.875rem;color:var(--text-primary);line-height:1.4}.status-switch-toast-btn{flex-shrink:0;border:1px solid var(--border-color);border-radius:.5rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.status-switch-toast-undo{background:none;color:hsl(var(--primary))}.status-switch-toast-undo:hover{background:hsl(var(--muted));border-color:hsl(var(--primary))}.status-switch-toast-ok{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.status-switch-toast-ok:hover{opacity:.9}.status-switch-toast-countdown{height:4px;background:hsl(var(--primary));animation:toastCountdown 10s linear forwards;border-radius:0 0 1rem 1rem}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastCountdown{0%{width:100%}to{width:0%}}.scan-trigger-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .2s}.scan-trigger-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary);border-color:var(--primary-color)}.scan-trigger-btn:disabled{opacity:.4;cursor:not-allowed}}.add-item-page{display:flex;flex-direction:column;gap:2rem;padding-bottom:4rem}.page-header{display:flex;justify-content:space-between;align-items:center}.form-content{padding:2rem!important}.section-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:1.5rem}.divider{border:0;height:1px;background:hsl(var(--border));margin:2rem 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 2rem}.grid-3-custom{display:grid;grid-template-columns:1.5fr 1.25fr 1.25fr;gap:1.5rem 2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.form-group label.required:after{content:" *";color:hsl(var(--destructive))}.ident-row{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.toggle-group{display:flex;background:#edf2f7;padding:4px;border-radius:9999px}.toggle-btn{padding:.5rem 1.5rem;border:none;background:transparent;border-radius:9999px;font-size:.875rem;font-weight:600;color:#718096;cursor:pointer;transition:all .2s}.toggle-btn.active{background:#fff;color:#1a202c;box-shadow:0 1px 3px #0000001a}.ident-input-wrapper{display:flex;align-items:center;gap:1rem;flex:1}.ident-input-wrapper label{font-weight:600;font-size:.875rem;color:hsl(var(--foreground));white-space:nowrap}.ident-input{max-width:400px}.scan-icons{color:hsl(var(--muted-foreground));display:flex;gap:.5rem;opacity:.5}.textarea-custom{width:100%;border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background-color:hsl(var(--background));padding:.75rem;font-size:.875rem;font-family:inherit;color:hsl(var(--foreground));resize:vertical;outline:none}.textarea-custom:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-cancel{background:#e53e3e!important;color:#fff!important;border:none!important;opacity:.8}.btn-cancel:hover{opacity:.6}.btn-submit{background:#1a202c!important;color:#fff!important;min-width:120px}.mt-4{margin-top:1rem}.error-banner{background-color:#fff5f5;color:#c53030;padding:1rem;border-radius:6px;margin-bottom:2rem;border-left:4px solid #fc8181}@media(max-width:768px){.grid-2,.grid-3,.grid-3-custom{grid-template-columns:1fr}.ident-row{flex-direction:column;align-items:stretch}.ident-input-wrapper{flex-direction:column;align-items:stretch;gap:.5rem}}.searchable-popup-overlay{position:fixed;inset:0;background-color:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem;animation:searchablePopupFadeIn .2s ease-out}@keyframes searchablePopupFadeIn{0%{opacity:0}to{opacity:1}}.searchable-popup-modal{background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);width:100%;max-width:500px;height:500px;border-radius:12px;box-shadow:0 0 0 1px #0000000d,0 20px 50px -10px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:searchablePopupSlideUp .2s ease-out}@keyframes searchablePopupSlideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.searchable-popup-header{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.searchable-popup-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.searchable-popup-close-btn{background:none;border:none;cursor:pointer;color:hsl(var(--foreground));padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.searchable-popup-close-btn:hover{background-color:#00000014}.searchable-popup-toolbar{background-color:#f5f7facc;border-bottom:1px solid rgba(0,0,0,.08);border-top:1px solid rgba(0,0,0,.08);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;flex-shrink:0}.searchable-popup-search-container{position:relative;width:100%;display:flex;align-items:center}.searchable-popup-search-input{width:100%;padding:.5rem 1rem .5rem 2.25rem;border-radius:9999px;border:1px solid #cbd5e0;background-color:#fff;font-size:.875rem;outline:none;transition:all .2s}.searchable-popup-search-input:focus{border-color:#2c7a7b;box-shadow:0 0 0 2px #2c7a7b1a}.searchable-popup-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#a0aec0;pointer-events:none}.searchable-popup-result-count{position:absolute;right:.75rem;font-size:.75rem;color:#a0aec0;white-space:nowrap}.searchable-popup-list{flex:1;overflow-y:auto;padding:.5rem}.searchable-popup-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;margin-bottom:2px;border-radius:6px;cursor:pointer;font-size:.9rem;color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;transition:background-color .1s}.searchable-popup-item:hover{background-color:#0000000a}.searchable-popup-item.highlighted{background-color:#edf2f7;color:#1a202c;font-weight:500;box-shadow:inset 0 0 0 1px #cbd5e0}.searchable-popup-item.previously-selected{color:#2c7a7b}.searchable-popup-item.pinned{font-weight:500;background-color:#2c7a7b0f}.searchable-popup-item.pinned.highlighted{background-color:#2c7a7b1f;box-shadow:inset 0 0 0 1px #2c7a7b40}.searchable-popup-pinned-separator{height:1px;background-color:#00000014;margin:.35rem .75rem}.searchable-popup-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-popup-check-icon{color:#2c7a7b;flex-shrink:0;margin-left:.5rem}.searchable-popup-empty{padding:2rem;text-align:center;color:#a0aec0;font-size:.9rem}.searchable-popup-loading{padding:1rem;text-align:center;color:#a0aec0;font-size:.85rem}.searchable-popup-footer{padding:.75rem 1.5rem;border-top:1px solid rgba(0,0,0,.08);background-color:#f5f7facc;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.searchable-popup-hint{font-size:.75rem;color:#a0aec0;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.searchable-popup-hint span{margin-right:.5rem}.searchable-popup-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .4rem;font-size:.7rem;font-family:inherit;background:#edf2f7;border:1px solid #cbd5e0;border-radius:4px;color:#4a5568;box-shadow:0 1px #0000001a}.searchable-popup-footer-buttons{display:flex;gap:.5rem;align-items:center}.brand-autocomplete-wrapper{position:relative;width:100%}.brand-suggestions-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:1px solid #cbd5e0;border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;margin-top:2px}.brand-suggestion-item{padding:.5rem .75rem;font-size:.875rem;cursor:pointer;color:hsl(var(--foreground));-webkit-user-select:none;user-select:none}.brand-suggestion-item:hover,.brand-suggestion-item.highlighted{background-color:#edf2f7}.scan-barcode-overlay{position:fixed;inset:0;background-color:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:2rem;animation:scanBarcodeOverlayFadeIn .2s ease-out}.scan-barcode-modal{background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);width:100%;max-width:500px;border-radius:16px;box-shadow:0 0 0 1px #0000000d,0 20px 50px -10px #0003;display:flex;flex-direction:column;overflow:hidden;animation:scanBarcodeSlideUp .3s cubic-bezier(.34,1.56,.64,1)}.scan-barcode-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(0,0,0,.06)}.scan-barcode-title{font-size:1.25rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.scan-barcode-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:2rem}.scan-barcode-image-container{width:100%;height:180px;display:flex;align-items:center;justify-content:center}.scan-barcode-image{max-width:100%;max-height:100%;object-fit:contain;opacity:.9}.scan-barcode-instructions h2{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:hsl(var(--foreground))}.scan-barcode-instructions p{margin:0;color:hsl(var(--muted-foreground));font-size:.9375rem}.scan-barcode-input-container{width:100%}.scan-barcode-input{text-align:center;font-size:1.1rem;padding:.75rem;width:100%}.scan-barcode-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;border-top:1px solid rgba(0,0,0,.06)}@keyframes scanBarcodeOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scanBarcodeSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.scan-barcode-modal{max-width:100%}}.item-details-container{display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding-bottom:4rem}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.item-title-group h1{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin:0;line-height:1.2}.item-subtitle{color:hsl(var(--muted-foreground));font-size:.875rem;margin-top:.25rem}.header-actions{display:flex;gap:.75rem}.main-info-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm)}.overview-card{display:flex;flex-direction:column;gap:1.5rem}.overview-hero{display:flex;justify-content:space-between;gap:1.25rem;padding:1.25rem 1.5rem;border-radius:1rem;border:1px solid hsl(var(--border));background:linear-gradient(135deg,hsl(var(--muted) / .35),hsl(var(--muted) / .15))}.hero-text h2{margin:.25rem 0 0;font-size:1.4rem;font-weight:700}.hero-subtitle{margin:.15rem 0 0;color:hsl(var(--muted-foreground));font-weight:600}.breadcrumb-chip{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid hsl(var(--border));border-radius:9999px;padding:.35rem .75rem;color:hsl(var(--foreground));font-weight:600;box-shadow:var(--shadow-xs)}.status-badges{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:9999px;font-weight:700;font-size:.9rem;border:1px solid transparent}.badge-primary{background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-color:hsl(var(--primary) / .25)}.badge-archived{background:#fef2f2;color:#b91c1c;border-color:#fecdd3}.overview-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.summary-card{background:#fff;border:1px solid hsl(var(--border));border-radius:.9rem;padding:1rem 1.1rem;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:.3rem;border-left:4px solid hsl(var(--primary) / .6)}.summary-label{color:hsl(var(--muted-foreground));font-weight:600;font-size:.9rem}.summary-value{font-weight:700;color:hsl(var(--foreground));word-break:break-word}.summary-value.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.section-title{font-size:1.125rem;font-weight:700;margin-bottom:1.25rem;color:hsl(var(--foreground))}.note-content{background:#fff;border:1px solid hsl(var(--border));border-radius:.75rem;padding:1rem;min-height:120px;white-space:pre-wrap}.loading-state{padding:1rem;text-align:center;color:hsl(var(--muted-foreground))}.history-list{border:1px solid hsl(var(--border));border-radius:.75rem;padding:.5rem .75rem;background:#fff;box-shadow:var(--shadow-xs)}.detail-panels{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem}.panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-xs)}.panel-heading{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;margin-bottom:1rem;color:hsl(var(--foreground));letter-spacing:-.01em}.heading-dot{width:10px;height:10px;border-radius:50%;background:hsl(var(--primary));box-shadow:0 0 0 6px hsl(var(--primary) / .15)}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.detail-field{display:flex;flex-direction:column;gap:.35rem}.detail-label{font-weight:700;color:hsl(var(--muted-foreground));font-size:.95rem}.detail-value{border:1px solid hsl(var(--border));border-radius:.75rem;padding:.75rem .9rem;background:hsl(var(--muted) / .2);display:flex;align-items:center;gap:.5rem;min-height:48px}.detail-value.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:hsl(var(--muted))}.supplier-value{flex-direction:column;align-items:flex-start}.note-panel .note-content.modern{min-height:180px;background:linear-gradient(135deg,#fff,hsl(var(--muted) / .15));border:1px dashed hsl(var(--border));padding:1rem;border-radius:.9rem}.days-remaining{color:hsl(var(--muted-foreground));font-size:.875rem;margin-left:.35rem;font-weight:500}.supplier-actions{display:flex;gap:.35rem;margin-top:.5rem}.supplier-icon-btn{width:32px;height:32px;border-radius:10px;border:1px solid hsl(var(--border));background:#fff;display:inline-flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .2s ease}.supplier-icon-btn:hover{background:hsl(var(--muted) / .2);color:hsl(var(--foreground))}.additional-fields-grid.modern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.additional-fields-placeholder{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-weight:500;font-style:italic}.checkbox-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:14px;font-weight:800}.checkbox-icon.checked{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.checkbox-icon.unchecked{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.boolean-value{gap:.6rem}@media(max-width:960px){.detail-panels{grid-template-columns:1fr}}@media(max-width:640px){.overview-hero{flex-direction:column}}.admin-dashboard-content{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.admin-card-content{padding:1.5rem;display:flex;flex-direction:column;height:100%}.admin-description{margin-bottom:1.5rem;color:hsl(var(--muted-foreground));flex-grow:1;font-size:.95rem;line-height:1.5}.admin-dashboard-content>div{transition:transform .2s ease,box-shadow .2s ease;border:1px solid hsl(var(--border) / .8)}.admin-dashboard-content>div:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:hsl(var(--primary) / .5)}.card-icon-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.card-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.5rem;background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.user-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.user-modal-container{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:32rem;overflow:hidden;margin:1rem;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.user-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid hsl(var(--border))}.user-modal-title{font-size:1.125rem;font-weight:600}.user-modal-close{color:hsl(var(--muted-foreground));cursor:pointer;background:transparent;border:none;padding:.25rem}.user-modal-close:hover{color:hsl(var(--foreground))}.user-modal-body{padding:1.5rem}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-select{width:100%;padding:.5rem .75rem;background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);font-size:.875rem}.form-select:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}.login-fields-container{overflow:hidden;max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.34,1.56,.64,1),margin-top .5s cubic-bezier(.34,1.56,.64,1),padding .5s cubic-bezier(.34,1.56,.64,1),opacity .2s ease-out;padding-left:0;border-left:2px solid transparent;display:flex;flex-direction:column;gap:0}.login-fields-container.expanded{max-height:300px;opacity:1;margin-top:.5rem;padding-left:1rem;border-left-color:hsl(var(--border));gap:1rem;transition-delay:0s,0s,0s,.1s}.user-management-table-container{overflow-x:auto;width:100%}.user-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.user-table thead{background-color:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));font-weight:500}.user-table th{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border))}.user-table td{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));vertical-align:middle}.user-table tr:last-child td{border-bottom:none}.user-table tr:hover{background-color:hsl(var(--muted) / .2)}.user-role-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.user-status-active{font-size:.75rem;color:#16a34a;font-weight:500}.user-status-inactive{font-size:.75rem;color:#ef4444;font-weight:500}.user-status-sub{font-size:.75rem;color:hsl(var(--muted-foreground))}.role-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.role-modal-container{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:32rem;overflow:hidden;margin:1rem;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;max-height:90vh}.role-modal-large{max-width:64rem}.role-modal-body{padding:1.5rem;overflow-y:auto}.permissions-grid-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;margin-top:1rem}.permissions-grid{display:flex;flex-direction:column}.permission-header-row{display:flex;background-color:hsl(var(--muted)/.5);border-bottom:1px solid hsl(var(--border));padding:.5rem;font-weight:500;font-size:.875rem}.permission-row{display:flex;padding:.5rem;border-bottom:1px solid hsl(var(--border));align-items:center}.permission-row:last-child{border-bottom:none}.permission-row:hover{background-color:hsl(var(--muted)/.2)}.perm-col-resource{flex:2;min-width:150px;font-size:.875rem;font-weight:500}.perm-col-action,.perm-col-all{flex:1;display:flex;justify-content:center;font-size:.75rem}.perm-col-all{border-left:1px solid hsl(var(--border))}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.role-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid hsl(var(--border))}.role-modal-title{font-size:1.125rem;font-weight:600}.role-modal-close{color:hsl(var(--muted-foreground));cursor:pointer;background:transparent;border:none;padding:.25rem}.role-modal-close:hover{color:hsl(var(--foreground))}.role-modal-body{padding:1.5rem}.form-space-y-4>*+*{margin-top:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.checkbox-group{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-input{width:1rem;height:1rem;border-radius:.25rem;border-color:hsl(var(--input))}.form-error{font-size:.875rem;color:hsl(var(--destructive));margin-top:.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.role-management-table-container{overflow-x:auto;width:100%}.role-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.role-table thead{background-color:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));font-weight:500}.role-table th{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border))}.role-table td{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));vertical-align:middle}.role-table tr:last-child td{border-bottom:none}.role-table tr:hover{background-color:hsl(var(--muted) / .2)}.role-perm-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));margin-right:.25rem;margin-bottom:.25rem}.action-buttons{display:flex;justify-content:flex-end;gap:.5rem}.btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-destructive:hover{background-color:hsl(var(--destructive) / .9);color:hsl(var(--destructive-foreground))}.category-management .management-grid{display:flex;gap:1.5rem;height:calc(100vh - 140px);width:100%}.tree-pane{display:flex;flex-direction:column;overflow:hidden;position:relative;flex-shrink:0}.tree-content{flex:1;overflow-y:auto;overflow-x:auto;padding:1rem;white-space:nowrap}.resizer-handle{width:6px;background:transparent;cursor:col-resize;position:absolute;top:0;bottom:0;right:0;z-index:10;transition:background-color .2s}.resizer-handle:hover,.resizer-handle:active{background-color:hsl(var(--primary))}.category-children{display:flex;flex-direction:column;margin-left:32px;position:relative}.category-node{position:relative}.category-children>.category-node:before{content:"";position:absolute;left:-15px;top:-4px;bottom:0;width:2px;background-color:hsl(var(--border) / .8);z-index:1}.category-children>.category-node:after{content:"";position:absolute;left:-15px;top:-4px;height:20px;width:12px;border-left:2px solid hsl(var(--border) / .8);border-bottom:2px solid hsl(var(--border) / .8);border-bottom-left-radius:10px;background:transparent;pointer-events:none;z-index:3}.category-children>.category-node:last-child:before{display:none}.category-node-header{display:flex;align-items:center;padding:.35rem .5rem;border-radius:var(--radius);cursor:pointer;transition:background-color .1s;-webkit-user-select:none;user-select:none;width:fit-content;min-width:100%;position:relative;z-index:2}.category-node-header:hover{background-color:hsl(var(--muted))}.category-node-header.selected{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));font-weight:500}.node-content-wrapper{display:flex;align-items:center;gap:.5rem}.toggle-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:.6rem;color:hsl(var(--muted-foreground));transition:color .2s;z-index:5;background-color:transparent;margin-right:.5rem}.toggle-icon:hover{color:hsl(var(--foreground));background-color:hsl(var(--muted) / .5)}.node-label{flex:1}.btn-create-sub{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;background:transparent;color:hsl(var(--muted-foreground));opacity:0;transition:opacity .2s,background-color .2s;cursor:pointer;font-size:1rem;line-height:1}.category-node-header:hover .btn-create-sub{opacity:1}.btn-create-sub:hover{background-color:hsl(var(--background));color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--border))}.category-details{display:flex;flex-direction:column;height:100%;padding:0;background-color:#fff}.tab-scroll-container{flex:1;overflow-y:auto;padding:2rem;min-height:0}.detail-header-hero{padding:2rem;background:linear-gradient(to right,var(--bg-secondary),#fff);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0}.detail-title-group .overline{text-transform:uppercase;font-size:.75rem;letter-spacing:1px;color:var(--text-muted);margin-bottom:.5rem}.detail-title-group .title{margin:0;font-size:2rem;color:var(--text-color);font-weight:700}.breadcrumb{margin-top:.5rem;font-size:.9rem}.parent-link{color:var(--primary-color);cursor:pointer;font-weight:500;text-decoration:none}.parent-link:hover{text-decoration:underline}.detail-body{padding:2rem;flex:1}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;font-size:1.25rem;color:var(--text-color)}.fields-table-container{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #00000005}.tooltip-container{position:relative;display:inline-block}.tooltip-container .tooltip-text{visibility:hidden;background-color:#333;color:#fff;text-align:center;border-radius:4px;padding:6px 10px;position:absolute;z-index:100;bottom:125%;right:0;opacity:0;transition:opacity .1s;width:220px;font-size:.85rem;font-weight:400;pointer-events:none;box-shadow:0 2px 5px #0003}.tooltip-container .tooltip-text:after{content:"";position:absolute;top:100%;right:15px;margin-left:0;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.modern-table{width:100%;border-collapse:collapse}.modern-table th{background:var(--bg-secondary);padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.modern-table td{padding:1rem;border-bottom:1px solid var(--border-color-light);color:var(--text-color);vertical-align:middle}.modern-table tr:last-child td{border-bottom:none}.modern-table tr:hover{background-color:var(--bg-hover)}.row-inherited{background-color:#fcfcfc}.row-inherited td{color:var(--text-muted)}.badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--bg-secondary);color:var(--text-color)}.badge-type-text{background:#e3f2fd;color:#1565c0}.badge-type-number{background:#e8f5e9;color:#2e7d32}.badge-type-select{background:#fff3e0;color:#ef6c00}.badge-type-date{background:#f3e5f5;color:#7b1fa2}.source-tag{display:inline-flex;align-items:center;font-size:.85rem;padding:.2rem .5rem;border-radius:4px}.source-local{color:var(--success-color, #10b981);background:#10b9811a;font-weight:500}.source-inherited{color:var(--primary-color);cursor:pointer;transition:all .2s}.source-inherited:hover{background:var(--primary-color-light);text-decoration:underline}.empty-fields-state{padding:3rem;text-align:center;color:var(--text-muted)}.empty-fields-state .icon{font-size:2rem;margin-bottom:1rem;opacity:.5}.empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:2rem}.empty-state-large .illustration{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.tabs-header{display:flex;justify-content:center;gap:2rem;padding:0 2rem;margin-bottom:0;border-bottom:1px solid var(--border-color);background-color:#f4f4f5}.tab-btn{background:none;border:none;padding:1rem .5rem;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s}.tab-btn:hover{color:var(--text-color)}.tab-btn.active{border-bottom-color:var(--primary-color);color:var(--primary-color);font-weight:600}.badge-subtle{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:500;line-height:1;background-color:var(--bg-hover);color:var(--text-secondary);white-space:nowrap}.badge-subtle.status-storage{background-color:#f1f5f9;color:#475569}.badge-subtle.status-assigned{background-color:#f0fdf4;color:#166534}.badge-subtle.status-defective,.badge-subtle.status-repair{background-color:#fef2f2;color:#991b1b}.badge-user{background-color:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:.15rem .5rem}.backup-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2rem}@media(min-width:768px){.backup-grid{grid-template-columns:1fr 1fr}}.backup-card{display:flex;flex-direction:column;height:100%;padding:1.5rem;background-color:hsl(var(--card));border-radius:var(--radius)}.backup-card-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:hsl(var(--foreground))}.backup-card-title.danger{color:hsl(var(--destructive))}.backup-card-description{margin-bottom:1.5rem;color:hsl(var(--muted-foreground));line-height:1.5}.backup-options{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.backup-option-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.backup-option-label input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:hsl(var(--primary));cursor:pointer}.backup-option-label.danger input[type=checkbox]{accent-color:hsl(var(--destructive))}.backup-option-text{font-size:1rem;color:hsl(var(--foreground))}.backup-option-text.danger{font-weight:600;color:hsl(var(--destructive))}.backup-divider{border-top:1px solid hsl(var(--border));padding-top:1rem;margin-top:.5rem}.backup-warning-box{margin-top:1rem;padding:1rem;background-color:hsl(var(--destructive) / .1);border-left:4px solid hsl(var(--destructive));color:hsl(var(--destructive));border-radius:calc(var(--radius) - 2px);font-size:.9rem}.backup-warning-box strong{display:block;margin-bottom:.25rem}.backup-import-danger-card{border:2px solid hsl(var(--destructive) / .2)}.backup-file-input-wrapper{margin-bottom:1.5rem}.backup-file-input-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem;margin-top:1rem}.backup-file-input{display:block;width:100%;font-size:.875rem;color:hsl(var(--muted-foreground));padding:.5rem 0}.backup-file-input::file-selector-button{margin-right:1rem;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--background));font-size:.875rem;font-weight:600;color:hsl(var(--foreground));cursor:pointer;transition:background-color .2s}.backup-file-input::file-selector-button:hover{background-color:hsl(var(--muted))}.danger-button{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-color:hsl(var(--destructive))}.danger-button:hover{background-color:hsl(var(--destructive) / .9)}.backup-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.backup-modal-content{background-color:hsl(var(--background));border-radius:var(--radius);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;padding:1.5rem;max-width:42rem;width:100%;max-height:90vh;overflow-y:auto}.backup-modal-title{font-size:1.25rem;font-weight:700;color:hsl(var(--destructive));margin-bottom:1rem}.backup-modal-text{margin-bottom:1rem;color:hsl(var(--foreground));line-height:1.5}.backup-password-box{background-color:hsl(var(--muted));padding:1rem;border-radius:calc(var(--radius) - 2px);margin-bottom:1rem;word-break:break-all;font-family:monospace;font-size:.875rem;border:1px solid hsl(var(--border))}.backup-modal-actions{margin-bottom:1.5rem;display:flex;gap:.75rem}.backup-modal-confirm-box{margin-bottom:1.5rem;border-left:4px solid hsl(var(--destructive));background-color:hsl(var(--destructive) / .05);padding:1rem;border-radius:0 calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0}.backup-modal-confirm-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.backup-modal-confirm-label input[type=checkbox]{margin-top:.25rem;width:1.25rem;height:1.25rem;accent-color:hsl(var(--destructive));cursor:pointer}.backup-modal-confirm-text{color:hsl(var(--destructive));font-weight:500;line-height:1.4}.backup-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.generate-pdf-modal{background:hsl(var(--card));border-radius:var(--radius);box-shadow:0 20px 40px #0003;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border))}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius);cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease}.modal-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;color:hsl(var(--muted-foreground))}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-error{padding:.75rem 1rem;background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);color:hsl(var(--destructive));font-size:.875rem;margin-top:1rem}.template-info{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.template-info h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.template-info p{margin:0;font-size:.875rem;color:hsl(var(--muted-foreground))}.variables-section{margin-bottom:1.5rem}.variables-section h4{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin:0 0 1rem}.variable-field{margin-bottom:1rem}.variable-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem;color:hsl(var(--foreground))}.variable-field .required{color:hsl(var(--destructive));margin-left:.25rem}.variable-field .hint{font-weight:400;color:hsl(var(--muted-foreground));font-size:.75rem;margin-left:.5rem}.variable-field input,.variable-field textarea{width:100%;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;background:hsl(var(--background));transition:border-color .15s ease}.variable-field input:focus,.variable-field textarea:focus{outline:none;border-color:hsl(var(--primary))}.variable-field textarea{resize:vertical;min-height:80px}.no-variables-hint{text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem;padding:1rem;background:hsl(var(--muted) / .3);border-radius:var(--radius)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.modal-footer button{display:inline-flex;align-items:center;gap:.5rem}.contracts-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid hsl(var(--border))}.contracts-tab{padding:.75rem 1.25rem;border:none;background:none;cursor:pointer;font-weight:500;color:hsl(var(--muted-foreground));border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.contracts-tab:hover{color:hsl(var(--foreground))}.contracts-tab.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.template-list{display:flex;flex-direction:column;gap:.75rem}.template-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:all .2s ease}.template-item:hover{border-color:hsl(var(--primary) / .5);box-shadow:0 2px 8px #0000000d}.template-item.archived{opacity:.6}.template-info{flex:1}.template-name{font-weight:600;color:hsl(var(--foreground));margin-bottom:.25rem}.template-meta{font-size:.8125rem;color:hsl(var(--muted-foreground));display:flex;gap:1rem}.template-actions{display:flex;gap:.5rem}.empty-state{text-align:center;padding:3rem 2rem;color:hsl(var(--muted-foreground))}.empty-state h3{margin:1rem 0 .5rem;color:hsl(var(--foreground))}.empty-state p{margin:0}.contract-list{display:flex;flex-direction:column;gap:.5rem}.contract-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.contract-item:hover{background:hsl(var(--muted) / .3)}.contract-info{display:flex;align-items:center;gap:1rem}.contract-icon{color:hsl(var(--primary))}.contract-details h4{margin:0 0 .125rem;font-weight:500}.contract-details span{font-size:.8125rem;color:hsl(var(--muted-foreground))}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.badge.archived{background:hsl(var(--warning) / .15);color:hsl(var(--warning))}.resizable-image-wrapper{position:relative;display:inline-block;max-width:100%;cursor:move;transition:outline .15s ease}.resizable-image-wrapper:hover{outline:2px dashed hsl(var(--primary) / .4);outline-offset:2px}.resizable-image-wrapper.selected{outline:3px solid hsl(var(--primary));outline-offset:3px;box-shadow:0 0 0 6px hsl(var(--primary) / .15)}.resizable-image-wrapper.resizing{cursor:nwse-resize}.resizable-image-img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid hsl(var(--primary));border-radius:2px;z-index:10}.resize-handle:hover{background:hsl(var(--primary))}.rotate-handle{position:absolute;top:-30px;left:50%;transform:translate(-50%);width:24px;height:24px;background:#fff;border:1px solid hsl(var(--primary));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:hsl(var(--primary));cursor:grab;z-index:10;box-shadow:0 2px 5px #0003}.rotate-handle:active{cursor:grabbing;background:hsl(var(--primary) / .1)}.handle-top-left{top:-5px;left:-5px;cursor:nwse-resize}.handle-top-right{top:-5px;right:-5px;cursor:nesw-resize}.handle-bottom-left{bottom:-5px;left:-5px;cursor:nesw-resize}.handle-bottom-right{bottom:-5px;right:-5px;cursor:nwse-resize}.handle-left{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.handle-right{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.resizable-image-wrapper.wrap-inline{display:inline-block;vertical-align:middle;margin:0 .5em}.resizable-image-wrapper.wrap-square{display:block;float:left;margin:.5em 1em .5em 0}.resizable-image-wrapper.wrap-topbottom{display:block;clear:both;margin:1em auto}.resizable-image-wrapper.wrap-behind{position:relative;z-index:-1}.resizable-image-wrapper.wrap-infront{position:relative;z-index:10}.resizable-image-wrapper.pos-absolute{position:absolute;z-index:100}.resizable-image-wrapper.pos-anchored{position:relative}.variable-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.variable-selector-modal{background:hsl(var(--card));border-radius:var(--radius);box-shadow:0 20px 40px #0003;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.variable-selector-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.variable-selector-header h3{margin:0;font-size:1rem;font-weight:600}.close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius);cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease}.close-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.variable-selector-search{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.variable-selector-search svg{color:hsl(var(--muted-foreground));flex-shrink:0}.variable-selector-search input{flex:1;border:none;background:transparent;font-size:.9375rem;outline:none;color:hsl(var(--foreground))}.variable-selector-search input::placeholder{color:hsl(var(--muted-foreground))}.variable-selector-search .clear-btn{width:20px;height:20px}.variable-selector-content{flex:1;overflow-y:auto;padding:.5rem}.no-results{text-align:center;padding:2rem;color:hsl(var(--muted-foreground));font-size:.875rem}.variable-group{margin-bottom:.5rem}.variable-group-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));padding:.5rem .75rem;position:sticky;top:0;background:hsl(var(--card));z-index:1}.variable-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:none;background:transparent;border-radius:var(--radius);cursor:pointer;text-align:left;transition:all .1s ease}.variable-option:hover{background:hsl(var(--muted) / .5)}.variable-option.selected{background:hsl(var(--primary) / .1)}.variable-option-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.variable-name{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.variable-code{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:monospace;background:hsl(var(--muted) / .5);padding:.125rem .25rem;border-radius:2px;display:inline-block;max-width:fit-content}.variable-type{font-size:.625rem;padding:.125rem .375rem;border-radius:9999px;font-weight:500;text-transform:uppercase;flex-shrink:0}.variable-type.type-text{background:#e5f2ff;color:#06c}.variable-type.type-date,.variable-type.type-datetime{background:#f7e5ff;color:#7700b3}.variable-type.type-number{background:#e5ffee;color:#00802b}.variable-type.type-currency{background:#fff9e5;color:#806000}.variable-type.type-email{background:#e5f6ff;color:#0077b3}.check-icon{color:hsl(var(--primary));flex-shrink:0}.variable-selector-format{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid hsl(var(--border));background:hsl(var(--muted) / .3)}.variable-selector-format label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.variable-selector-format select{flex:1;padding:.375rem .5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.8125rem;background:hsl(var(--background))}.table-config-modal{background:hsl(var(--card));border-radius:var(--radius);box-shadow:0 20px 40px #0003;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.table-config-modal .modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid hsl(var(--border));position:relative}.table-config-modal .modal-header h2{margin:0 0 .25rem;font-size:1.125rem}.modal-subtitle{margin:0;font-size:.8125rem;color:hsl(var(--muted-foreground))}.table-config-modal .modal-close{position:absolute;top:1rem;right:1rem}.table-config-modal .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.columns-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.empty-columns{text-align:center;padding:2rem;background:hsl(var(--muted) / .3);border-radius:var(--radius);color:hsl(var(--muted-foreground))}.empty-columns p{margin:.25rem 0;font-size:.875rem}.column-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius)}.column-drag{display:flex;flex-direction:column;gap:.125rem}.move-btn{width:24px;height:20px;border:none;background:hsl(var(--background));border-radius:3px;cursor:pointer;font-size:.75rem;color:hsl(var(--muted-foreground));transition:all .15s}.move-btn:hover:not(:disabled){background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.move-btn:disabled{opacity:.3;cursor:not-allowed}.column-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:hsl(var(--primary));color:#fff;border-radius:50%;font-size:.75rem;font-weight:600;flex-shrink:0}.column-fields{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.column-field{display:flex;flex-direction:column;gap:.25rem}.column-field label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.column-field input{padding:.5rem .625rem;border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;background:hsl(var(--background))}.column-field input:focus{outline:none;border-color:hsl(var(--primary))}.field-selector-btn{display:flex;align-items:center;padding:.5rem .625rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));cursor:pointer;text-align:left;transition:all .15s}.field-selector-btn:hover{border-color:hsl(var(--primary))}.field-selector-btn code{font-size:.8125rem;color:hsl(var(--primary))}.field-selector-btn .placeholder{font-size:.875rem;color:hsl(var(--muted-foreground))}.remove-column-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius);cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s;flex-shrink:0}.remove-column-btn:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.add-column-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;border:2px dashed hsl(var(--border));background:transparent;border-radius:var(--radius);cursor:pointer;font-size:.875rem;color:hsl(var(--muted-foreground));transition:all .15s}.add-column-btn:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.preview-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.preview-section h4{font-size:.8125rem;font-weight:600;margin:0 0 1rem;color:hsl(var(--foreground))}.preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.preview-table th,.preview-table td{border:1px solid hsl(var(--border));padding:.5rem .75rem;text-align:left}.preview-table th{background:hsl(var(--muted) / .5);font-weight:600}.field-preview{font-size:.6875rem;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .25rem;border-radius:2px}.example-row td{color:hsl(var(--muted-foreground));font-style:italic}.no-preview{text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem}.table-config-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end}.custom-variables-modal{background:#fff;border-radius:12px;width:700px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.custom-variables-modal .modal-header{padding:1.5rem;border-bottom:1px solid #eee;position:relative}.custom-variables-modal .modal-header h2{margin:0 0 .5rem;font-size:1.25rem}.custom-variables-modal .modal-subtitle{margin:0;color:#666;font-size:.875rem}.custom-variables-modal .modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:#666;padding:.25rem}.custom-variables-modal .modal-close:hover{color:#333}.custom-variables-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.custom-variables-modal .variables-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.custom-variables-modal .empty-variables{text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;color:#666}.custom-variables-modal .empty-variables p{margin:.5rem 0}.custom-variables-modal .variable-card{border:1px solid #e0e0e0;border-radius:8px;background:#fff;transition:box-shadow .2s}.custom-variables-modal .variable-card.expanded{border-color:#4a6cf7;box-shadow:0 2px 8px #4a6cf726}.custom-variables-modal .variable-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer}.custom-variables-modal .variable-card-header:hover{background:#f8f9fa}.custom-variables-modal .variable-preview{display:flex;align-items:center;gap:1rem}.custom-variables-modal .variable-label{font-weight:500}.custom-variables-modal .variable-code{font-size:.75rem;background:#e8f0fe;color:#1a73e8;padding:.2rem .5rem;border-radius:4px}.custom-variables-modal .variable-unnamed{color:#999;font-style:italic}.custom-variables-modal .variable-card-actions{display:flex;align-items:center;gap:.75rem}.custom-variables-modal .mode-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:#eee;color:#666}.custom-variables-modal .mode-badge.mode-ask_always{background:#fff3e0;color:#e65100}.custom-variables-modal .mode-badge.mode-suggest{background:#e3f2fd;color:#1565c0}.custom-variables-modal .mode-badge.mode-prefill{background:#e8f5e9;color:#2e7d32}.custom-variables-modal .remove-btn{background:none;border:none;cursor:pointer;color:#999;padding:.25rem}.custom-variables-modal .remove-btn:hover{color:#dc3545}.custom-variables-modal .variable-card-body{padding:1rem;border-top:1px solid #eee;background:#fafafa;display:flex;flex-direction:column;gap:1rem}.custom-variables-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.custom-variables-modal .form-field{display:flex;flex-direction:column;gap:.35rem}.custom-variables-modal .form-field label{font-weight:500;font-size:.85rem;color:#333}.custom-variables-modal .form-field input,.custom-variables-modal .form-field select,.custom-variables-modal .form-field textarea{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.custom-variables-modal .form-field input:focus,.custom-variables-modal .form-field select:focus,.custom-variables-modal .form-field textarea:focus{outline:none;border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.custom-variables-modal .form-field textarea{resize:vertical;min-height:60px}.custom-variables-modal .field-hint{font-size:.75rem;color:#888}.custom-variables-modal .usage-hint{background:#f0f7ff;padding:.75rem 1rem;border-radius:6px;font-size:.85rem;display:flex;align-items:center;gap:.75rem}.custom-variables-modal .usage-hint code{background:#e8f0fe;padding:.3rem .6rem;border-radius:4px;color:#1a73e8;font-size:.8rem}.custom-variables-modal .add-variable-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;cursor:pointer;color:#666;font-size:.9rem;transition:all .2s}.custom-variables-modal .add-variable-btn:hover{background:#e8f0fe;border-color:#4a6cf7;color:#4a6cf7}.custom-variables-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end}@media(max-width:600px){.custom-variables-modal .form-row{grid-template-columns:1fr}}.textbox-modal{background:#fff;border-radius:12px;width:550px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.textbox-modal .modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.textbox-modal .modal-header h2{margin:0;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.textbox-modal .modal-close{background:none;border:none;cursor:pointer;color:#666;padding:.25rem}.textbox-modal .modal-close:hover{color:#333}.textbox-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.textbox-modal .config-section{margin-bottom:1.5rem}.textbox-modal .config-section h3{font-size:.9rem;margin:0 0 .75rem;color:#333;display:flex;align-items:center;gap:.5rem}.textbox-modal .color-presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.textbox-modal .color-preset{width:32px;height:32px;border-radius:6px;border:2px solid #ddd;cursor:pointer;transition:all .2s}.textbox-modal .color-preset:hover{transform:scale(1.1)}.textbox-modal .color-preset.active{border-color:#4a6cf7;box-shadow:0 0 0 2px #4a6cf74d}.textbox-modal .border-preset{border:3px solid;border-color:inherit}.textbox-modal .custom-color{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:#666}.textbox-modal .custom-color input[type=color]{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;padding:0}.textbox-modal .border-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.textbox-modal .form-field{display:flex;flex-direction:column;gap:.3rem}.textbox-modal .form-field label{font-size:.8rem;color:#666}.textbox-modal .form-field select{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem}.textbox-modal .form-field select:focus{outline:none;border-color:#4a6cf7}.textbox-modal .preview-section{background:#f8f9fa;padding:1rem;border-radius:8px}.textbox-modal .preview-section h3{font-size:.85rem;margin:0 0 .75rem;color:#666}.textbox-modal .textbox-preview{background:#fff;min-height:60px}.textbox-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.75rem}.image-modal{background:#fff;border-radius:12px;width:550px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.image-modal .modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.image-modal .modal-header h2{margin:0;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.image-modal .modal-close{background:none;border:none;cursor:pointer;color:#666;padding:.25rem}.image-modal .modal-close:hover{color:#333}.image-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.image-modal .tabs{display:flex;gap:.5rem;margin-bottom:1rem}.image-modal .tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.image-modal .tab:hover{background:#e9ecef}.image-modal .tab.active{background:#4a6cf7;color:#fff;border-color:#4a6cf7}.image-modal .upload-area{border:2px dashed #ddd;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;min-height:150px;display:flex;align-items:center;justify-content:center}.image-modal .upload-area:hover{border-color:#4a6cf7;background:#f8f9ff}.image-modal .upload-placeholder{color:#999}.image-modal .upload-placeholder svg{color:#ccc;margin-bottom:1rem}.image-modal .upload-placeholder p{margin:0 0 .5rem;color:#666}.image-modal .upload-placeholder span{font-size:.8rem;color:#999}.image-modal .upload-preview{position:relative}.image-modal .upload-preview img{max-width:100%;max-height:200px;border-radius:4px}.image-modal .change-hint{display:block;margin-top:.5rem;font-size:.8rem;color:#666}.image-modal .url-input-section{display:flex;flex-direction:column;gap:1rem}.image-modal .url-preview{background:#f8f9fa;padding:1rem;border-radius:8px;text-align:center}.image-modal .url-preview img{max-width:100%;max-height:200px;border-radius:4px}.image-modal .form-field{display:flex;flex-direction:column;gap:.3rem}.image-modal .form-field label{font-size:.85rem;color:#666}.image-modal .form-field input,.image-modal .form-field select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.image-modal .form-field input:focus,.image-modal .form-field select:focus{outline:none;border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.image-modal .error-message{color:#dc3545;font-size:.85rem;padding:.5rem;background:#fff3f3;border-radius:4px;margin:.75rem 0}.image-modal .image-options{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.image-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.75rem}.table-bubble-menu{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid hsl(var(--border))}.bubble-menu-group{display:flex;align-items:center;gap:.125rem}.bubble-divider{width:1px;height:24px;background:hsl(var(--border));margin:0 .375rem}.bubble-btn{display:flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:hsl(var(--foreground));transition:all .15s ease}.bubble-btn:hover{background:hsl(var(--muted))}.bubble-btn:disabled{opacity:.4;cursor:not-allowed}.bubble-btn.danger:hover{background:#ef434326;color:#d31212}.bubble-btn .mini-icon{position:absolute;bottom:2px;right:2px}.bubble-select{height:28px;padding:0 .375rem;border:1px solid hsl(var(--border));border-radius:4px;background:#fff;font-size:.75rem;cursor:pointer;min-width:60px}.bubble-select:focus{outline:none;border-color:hsl(var(--primary))}.menu-icon{color:hsl(var(--muted-foreground));margin-right:.25rem}.ProseMirror table.table-font-8{font-size:8pt}.ProseMirror table.table-font-10{font-size:10pt}.ProseMirror table.table-font-12{font-size:12pt}.ProseMirror table.table-font-14{font-size:14pt}.ProseMirror table.table-font-16{font-size:16pt}.ProseMirror table.table-font-18{font-size:18pt}.ProseMirror table.table-font-20{font-size:20pt}.ProseMirror table.table-font-24{font-size:24pt}.table-inline-menu,.image-inline-menu{display:flex;align-items:center;gap:.25rem}.contextual-toolbar{background:hsl(var(--primary) / .05);border-bottom:1px solid hsl(var(--primary) / .2)}.image-bubble-menu{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid hsl(var(--border))}.bubble-menu-section{display:flex;flex-direction:column;gap:.25rem}.section-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));padding-left:.25rem}.wrap-icon{font-size:14px;line-height:1}.bubble-btn.active{background:hsl(var(--primary) / .15);color:hsl(var(--primary))}.ProseMirror img[data-wrap-mode=inline]{display:inline;vertical-align:middle;margin:0 .25em}.ProseMirror img[data-wrap-mode=square]{display:block;margin:1em auto;shape-outside:margin-box}.ProseMirror img[data-wrap-mode=topbottom]{display:block;margin:1em 0;clear:both}.ProseMirror img[data-wrap-mode=behind]{position:relative;z-index:-1}.ProseMirror img[data-wrap-mode=infront]{position:relative;z-index:10}.ProseMirror img[data-position-mode=absolute]{position:absolute;cursor:move;z-index:100}.ProseMirror img[data-position-mode=anchored]{position:relative}.ProseMirror img.ProseMirror-selectednode{outline:3px solid hsl(var(--primary));outline-offset:3px;box-shadow:0 0 0 6px hsl(var(--primary) / .15);cursor:move}.ProseMirror img[data-width="25%"]{width:25%}.ProseMirror img[data-width="50%"]{width:50%}.ProseMirror img[data-width="75%"]{width:75%}.ProseMirror img[data-width="100%"]{width:100%}.ProseMirror .resizable-image{cursor:move;max-width:100%;height:auto;display:block;margin:.5em 0;transition:outline .15s ease,box-shadow .15s ease}.ProseMirror .resizable-image:hover{outline:2px dashed hsl(var(--primary) / .5);outline-offset:2px}.ProseMirror img.wrap-inline{display:inline-block;vertical-align:middle;margin:0 .5em}.ProseMirror img.wrap-square{display:block;float:left;margin:.5em 1em .5em 0;shape-outside:margin-box}.ProseMirror img.wrap-topbottom{display:block;clear:both;margin:1em auto}.ProseMirror img.wrap-behind{position:relative;z-index:-1}.ProseMirror img.wrap-infront{position:relative;z-index:10}.ProseMirror img.pos-absolute{position:absolute;z-index:100;cursor:move}.ProseMirror img.pos-anchored{position:relative}.image-context-menu{position:fixed;z-index:9999;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;border:1px solid hsl(var(--border));min-width:200px;padding:.5rem 0;animation:contextMenuFadeIn .1s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-section{padding:.25rem 0}.context-menu-label{display:block;padding:.25rem 1rem;font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));font-weight:600}.context-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;background:none;border:none;text-align:left;font-size:.875rem;color:hsl(var(--foreground));cursor:pointer;transition:background .1s ease}.context-menu-item:hover{background:hsl(var(--muted))}.context-menu-item.danger{color:#d31212}.context-menu-item.danger:hover{background:#fde8e8}.context-menu-divider{height:1px;background:hsl(var(--border));margin:.25rem 0}.wrap-icon{font-size:16px;width:20px;text-align:center}.size-buttons{display:flex;gap:.25rem;padding:.25rem .75rem}.context-menu-size-btn{flex:1;padding:.375rem .5rem;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .1s ease}.context-menu-size-btn:hover{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.warning-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:99999;animation:fadeIn .15s ease-out}.warning-dialog{background:hsl(var(--card));border:1px solid hsl(var(--border));padding:1.5rem;border-radius:8px;box-shadow:0 10px 25px #0003;max-width:400px;width:90%;z-index:100000;animation:slideUp .15s ease-out}.warning-dialog-header h2{margin-top:0;font-size:1.1rem;color:hsl(var(--foreground))}.warning-dialog-body{margin:1rem 0 1.5rem;color:hsl(var(--muted-foreground));line-height:1.5}.warning-dialog-footer{display:flex;justify-content:flex-end;gap:.75rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.contract-editor-page{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));flex-shrink:0}.editor-header-left{display:flex;align-items:center;gap:1rem}.editor-header-left h1{font-size:1.25rem;margin:0}.editor-header-actions{display:flex;gap:.5rem}.editor-layout{display:flex;flex:1;overflow:hidden}.editor-sidebar{width:280px;background:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;overflow:hidden}.sidebar-section{padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.sidebar-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin:0 0 .75rem}.sidebar-variables{flex:1;overflow-y:auto;padding:.5rem}.variable-group{margin-bottom:1rem}.variable-group-title{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem;padding:.25rem .5rem;background:hsl(var(--muted) / .5);border-radius:var(--radius)}.variable-item{display:flex;align-items:center;padding:.375rem .5rem;margin:.25rem 0;font-size:.8125rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:grab;transition:all .15s ease}.variable-item:hover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .3)}.variable-item:active{cursor:grabbing}.variable-chip{display:inline-flex;align-items:center;padding:.125rem .375rem;margin:0 .125rem;background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-radius:3px;font-size:.75rem;font-family:monospace;-webkit-user-select:none;user-select:none}.editor-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:hsl(var(--muted) / .3)}.editor-toolbar{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:.125rem;padding:0 .5rem;border-right:1px solid hsl(var(--border))}.toolbar-group:last-child{border-right:none}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius);cursor:pointer;color:hsl(var(--foreground));transition:all .15s ease}.toolbar-btn:hover{background:hsl(var(--muted))}.toolbar-btn.active{background:hsl(var(--primary) / .15);color:hsl(var(--primary))}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-select{height:32px;padding:0 .5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));font-size:.8125rem;cursor:pointer}.toolbar-input{width:60px;height:32px;padding:0 .5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.8125rem;text-align:center}.editor-canvas{flex:1;overflow:auto;padding:2rem;display:flex;justify-content:center;background:#f0f0f0}.a4-page{width:210mm;min-height:297mm;padding:20mm 20mm 30mm;background-color:#fff;box-shadow:0 4px 20px #00000026;border-radius:2px;position:relative;background-image:linear-gradient(to bottom,transparent calc(297mm - 1px),#ff9999 297mm);background-size:100% 297mm;background-repeat:repeat-y}.a4-page:before{display:none}.page-break{height:10mm;background:repeating-linear-gradient(45deg,#eee,#eee 10px,#e0e0e0 10px 20px);border:1px dashed #ccc;margin:1rem 0;display:flex;align-items:center;justify-content:center;color:#888;font-size:.75rem;text-transform:uppercase;break-after:page;page-break-after:always;-webkit-user-select:none;user-select:none}@media print{.page-break{height:0;margin:0;border:none;background:none;color:transparent}}.ProseMirror{outline:none;min-height:100%}.ProseMirror p{margin:0 0 .75em}.ProseMirror h1{font-size:1.75em;font-weight:700;margin:0 0 .5em}.ProseMirror h2{font-size:1.5em;font-weight:600;margin:0 0 .5em}.ProseMirror h3{font-size:1.25em;font-weight:600;margin:0 0 .5em}.ProseMirror ul,.ProseMirror ol{padding-left:1.5em;margin:0 0 .75em}.ProseMirror table{width:100%;border-collapse:collapse;margin:1em 0;page-break-inside:avoid;break-inside:avoid}.ProseMirror tr{page-break-inside:avoid;break-inside:avoid}.ProseMirror .variable-node{display:inline-flex;align-items:center;padding:.125rem .5rem;background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-radius:3px;font-size:.875em;font-family:inherit;cursor:default;-webkit-user-select:none;user-select:none}.ProseMirror .variable-node:before{content:"{{";opacity:.6;margin-right:.125rem}.ProseMirror .variable-node:after{content:"}}";opacity:.6;margin-left:.125rem}.ProseMirror .keep-together{border:2px dashed hsl(var(--primary) / .4);padding:.5em;margin:.5em 0;border-radius:var(--radius);position:relative}.ProseMirror .keep-together:before{content:"Zusammenhalten";position:absolute;top:-.75em;left:.5em;font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;background:hsl(var(--background));padding:0 .25em;color:hsl(var(--primary))}.ProseMirror table[data-source]{border:2px solid hsl(var(--primary) / .3)}.ProseMirror table[data-source]:before{content:"Dynamische Tabelle: " attr(data-source);display:block;font-size:.625rem;text-transform:uppercase;color:hsl(var(--primary));margin-bottom:.25em}.settings-panel{width:300px;background:hsl(var(--card));border-left:1px solid hsl(var(--border));padding:1rem;overflow-y:auto}.settings-panel h3{font-size:.875rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.settings-group{margin-bottom:1.5rem}.settings-group label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem;color:hsl(var(--foreground))}.settings-group input:not([type=checkbox]),.settings-group textarea,.settings-group select{width:100%;padding:.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;background:hsl(var(--background))}.settings-group input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.settings-group textarea{min-height:80px;resize:vertical}.custom-variables-list{display:flex;flex-direction:column;gap:.5rem}.custom-variable-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:hsl(var(--muted) / .5);border-radius:var(--radius)}.custom-variable-item input{flex:1}.custom-variable-item select{width:auto}.add-variable-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px dashed hsl(var(--border));background:transparent;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;font-size:.8125rem;transition:all .15s ease}.add-variable-btn:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.table-columns-list{display:flex;flex-direction:column;gap:.5rem}.table-column-item{display:flex;gap:.5rem;padding:.5rem;background:hsl(var(--muted) / .5);border-radius:var(--radius)}.table-column-item input,.table-column-item select{flex:1;min-width:0}@media(max-width:1200px){.editor-sidebar{width:240px}.settings-panel{width:260px}}@media(max-width:900px){.editor-layout{flex-direction:column}.editor-sidebar,.settings-panel{width:100%;max-height:200px}.a4-page{width:100%;min-height:auto}}.print-footer{display:flex;justify-content:space-between;align-items:center;position:absolute;bottom:0;left:0;right:0;height:15mm;padding:0 20mm 5mm;font-size:9px;color:#666;background:transparent;z-index:10;border-top:1px dashed #eee}@media print{@page{margin:0;size:A4}body{margin:0;padding:0;background:#fff}.contract-editor-page{height:auto;overflow:visible;display:block}.editor-layout{display:block;overflow:visible}.editor-main{overflow:visible;display:block}.editor-header,.editor-sidebar,.editor-toolbar,.settings-panel,.warning-dialog-overlay{display:none!important}.editor-canvas{padding:0;margin:0;overflow:visible;display:block;background:#fff}.a4-page{box-shadow:none;margin:0;padding:20mm 20mm 25mm;width:100%;min-height:auto;background-image:none!important;border:none}.print-footer{display:flex;justify-content:space-between;align-items:center;position:fixed;bottom:0;left:0;right:0;height:15mm;padding:0 20mm 5mm;font-size:9px;color:#666;background:#fff;z-index:9999;border-top:1px solid #eee}.print-footer-left,.print-footer-center,.print-footer-right{flex:1}.print-footer-center{text-align:center}.print-footer-right{text-align:right}.page-number:after{content:counter(page)}}.sidebar-quick-actions{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.quick-action-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;font-size:.875rem;color:hsl(var(--foreground));transition:all .15s ease;text-align:left}.quick-action-btn:hover{background:hsl(var(--primary) / .08);border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.quick-action-btn svg{flex-shrink:0}.quick-action-btn.config-btn{justify-content:space-between}.quick-action-btn .badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .5rem;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:10px;font-size:.75rem;font-weight:600}.sidebar-divider{height:1px;background:hsl(var(--border));margin:1rem 0}.defined-elements{padding:.75rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.element-label{font-size:.75rem;color:hsl(var(--muted-foreground));width:100%}.element-chip{display:inline-flex;align-items:center;padding:.25rem .5rem;background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .15s}.element-chip:hover{background:hsl(var(--primary) / .2)}.element-chip.table-chip{background:hsl(var(--muted));color:hsl(var(--foreground));cursor:default}.more-hint{font-size:.75rem;color:hsl(var(--muted-foreground))}.toolbar-btn.variable-btn{width:auto;padding:0 .75rem;gap:.375rem}.toolbar-btn.variable-btn span{font-size:.8125rem}.toolbar-btn.color-picker{padding:2px;cursor:pointer;overflow:hidden}.toolbar-btn.color-picker::-webkit-color-swatch-wrapper{padding:0}.toolbar-btn.color-picker::-webkit-color-swatch{border:none;border-radius:4px}.settings-hint{display:block;font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.375rem}.settings-divider{height:1px;background:hsl(var(--border));margin:1.5rem 0}.settings-summary{display:flex;flex-direction:column;gap:.5rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:hsl(var(--muted) / .5);border-radius:var(--radius);cursor:pointer;transition:background .15s}.summary-item:hover{background:hsl(var(--muted))}.summary-label{font-size:.875rem}.summary-value{font-weight:600;color:hsl(var(--primary))}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adb5bd;pointer-events:none;height:0}.ProseMirror.is-editor-empty:before{content:attr(data-placeholder);color:#adb5bd;pointer-events:none}.ProseMirror div[data-type=textbox]{position:relative;min-height:40px}.ProseMirror div[data-type=textbox]:before{content:"Textbox";position:absolute;top:-10px;left:8px;font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;background:#fff;padding:0 4px;color:#999;opacity:0;transition:opacity .2s}.ProseMirror div[data-type=textbox]:hover:before{opacity:1}.ProseMirror img{max-width:100%;height:auto;cursor:pointer;transition:box-shadow .2s}.ProseMirror img.ProseMirror-selectednode{box-shadow:0 0 0 3px hsl(var(--primary) / .5)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.ProseMirror p[data-line-height="1"]{line-height:1}.ProseMirror p[data-line-height="1.15"]{line-height:1.15}.ProseMirror p[data-line-height="1.5"]{line-height:1.5}.ProseMirror p[data-line-height="2"]{line-height:2}.ProseMirror p[data-line-height="2.5"]{line-height:2.5}.ProseMirror p[data-line-height="3"]{line-height:3}.ProseMirror .selectedCell{background:hsl(var(--primary) / .15)}.ProseMirror table.ProseMirror-selectednode{outline:2px solid hsl(var(--primary));outline-offset:2px}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:hsl(var(--primary));cursor:col-resize}.ProseMirror.resize-cursor{cursor:col-resize}.ProseMirror img{max-width:100%;height:auto;cursor:pointer}.ProseMirror img[style*="float: left"]{float:left;margin:.5em 1em .5em 0;clear:left}.ProseMirror img[style*="float: right"]{float:right;margin:.5em 0 .5em 1em;clear:right}.ProseMirror img.ProseMirror-selectednode{outline:3px solid hsl(var(--primary));outline-offset:3px}.a4-page{position:relative;z-index:0;isolation:isolate}.supplier-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.toolbar-actions{display:flex;align-items:center;gap:.75rem}.search-box{display:inline-flex;align-items:center;gap:.5rem;background:hsl(var(--muted) / .2);border:1px solid hsl(var(--border));padding:.45rem .75rem;border-radius:.5rem;min-width:260px}.search-box input{border:none;background:transparent;width:100%;padding:0}.supplier-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.supplier-form .form-group{display:flex;flex-direction:column;gap:.4rem}.supplier-form .form-group-full{grid-column:1 / -1}.custom-fields-header{margin-top:1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.text-muted{color:hsl(var(--muted-foreground));font-size:.9rem}.custom-field-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.custom-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.contact-pill{display:flex;gap:.6rem;align-items:center;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:.75rem;padding:.6rem .75rem}.contact-icon{display:inline-flex;color:hsl(var(--muted-foreground))}.contact-content{display:flex;flex-direction:column;gap:.1rem}.contact-label{font-size:.8rem;color:hsl(var(--muted-foreground))}.contact-value{font-weight:500;color:hsl(var(--foreground))}.muted-small{color:hsl(var(--muted-foreground));font-size:.85rem}.focused-row{background:hsl(var(--secondary) / .2)}.supplier-row{cursor:pointer}.supplier-row:hover{background:hsl(var(--muted) / .25)}.supplier-row .action-buttons{display:inline-flex;gap:.35rem}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border));margin-top:.5rem}
