.family-selector{position:relative}.family-selector .family-trigger{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);background:#fff;color:var(--color-text);text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);transition:border-color .15s ease,box-shadow .15s ease;min-height:2.75rem}.family-selector .family-trigger:hover{border-color:var(--color-neutral-300)}.family-selector .family-trigger.open{border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061f}.family-selector .family-trigger .family-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.family-selector .family-trigger .family-trigger-placeholder{color:var(--color-text-pale);font-weight:400}.family-selector .family-trigger .family-trigger-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.family-selector .family-trigger .family-trigger-icons .family-clear{display:flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border-radius:50%;color:var(--color-text-secondary);transition:all .1s ease}.family-selector .family-trigger .family-trigger-icons .family-clear:hover{background:var(--color-neutral-200);color:var(--color-text)}.family-selector .family-trigger .family-trigger-icons .family-chevron{color:var(--color-text-secondary);transition:transform .2s ease}.family-selector .family-trigger .family-trigger-icons .family-chevron.rotated{transform:rotate(180deg)}.family-selector .family-dropdown{background:#fff;border:1.5px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:dropdown-appear .12s ease;@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}.family-selector .family-dropdown .family-tree{max-height:220px;overflow-y:auto;padding:var(--spacing-xs) 0}.family-selector .family-dropdown .tree-row{display:flex;align-items:center;justify-content:space-between;padding:5px var(--spacing-sm) 5px calc(var(--spacing-md) + var(--depth, 0) * 1.25rem);cursor:pointer;transition:background .1s ease;gap:var(--spacing-xs)}.family-selector .family-dropdown .tree-row:hover{background:var(--color-neutral-50)}.family-selector .family-dropdown .tree-row:hover .tree-add-btn{opacity:1}.family-selector .family-dropdown .tree-row.selected{background:var(--color-primary-50)}.family-selector .family-dropdown .tree-row.selected .tree-label{color:var(--color-primary-dark);font-weight:600}.family-selector .family-dropdown .tree-row.none-row{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.family-selector .family-dropdown .tree-row .tree-row-inner{display:flex;align-items:center;gap:5px;flex:1;min-width:0}.family-selector .family-dropdown .tree-row .tree-toggle{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary);flex-shrink:0;border-radius:var(--radius-sm);padding:0}.family-selector .family-dropdown .tree-row .tree-toggle:hover{background:var(--color-neutral-200)}.family-selector .family-dropdown .tree-row .tree-leaf-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--color-text-pale);margin:0 4px;flex-shrink:0}.family-selector .family-dropdown .tree-row .tree-label{font-size:var(--font-size-sm);color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-selector .family-dropdown .tree-row .none-label{color:var(--color-text-secondary);font-style:italic}.family-selector .family-dropdown .tree-row .tree-check{color:var(--color-primary);flex-shrink:0}.family-selector .family-dropdown .tree-row .tree-add-btn{opacity:0;width:1.4rem;height:1.4rem;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s ease}.family-selector .family-dropdown .tree-row .tree-add-btn:hover{background:var(--color-primary-100);color:var(--color-primary-dark)}.family-selector .family-dropdown .new-node-form{padding:4px var(--spacing-sm) 4px calc(var(--spacing-md) + var(--depth, 0) * 1.25rem);background:var(--color-primary-50);border-top:1px solid var(--color-primary-100);border-bottom:1px solid var(--color-primary-100)}.family-selector .family-dropdown .new-node-form .new-node-indent{display:flex;align-items:center;gap:5px}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-icon{color:var(--color-primary);flex-shrink:0}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-input{flex:1;padding:4px 8px;border:1.5px solid var(--color-primary-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff;color:var(--color-text);min-width:0}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #d9770626}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-input::-moz-placeholder{color:var(--color-text-pale);font-style:italic}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-input::placeholder{color:var(--color-text-pale);font-style:italic}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-btn{width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s ease}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-btn.confirm{background:var(--color-success);color:#fff}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-btn.confirm:hover{background:#16a34a}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-btn.cancel{background:var(--color-neutral-200);color:var(--color-text-secondary)}.family-selector .family-dropdown .new-node-form .new-node-indent .new-node-btn.cancel:hover{background:var(--color-neutral-300)}.family-selector .family-dropdown .family-add-top{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;border-top:1px solid var(--color-border);background:var(--color-neutral-50);color:var(--color-primary-dark);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:background .1s ease}.family-selector .family-dropdown .family-add-top:hover{background:var(--color-primary-50)}.unit-selector{position:relative;width:100%}.unit-selector .unit-trigger{display:flex;align-items:center;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;overflow:hidden}.unit-selector .unit-trigger:focus-within,.unit-selector .unit-trigger.open{border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061f}.unit-selector .unit-trigger .unit-input{flex:1;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);border:none;background:transparent;font-size:var(--font-size-base);color:var(--color-text);min-width:0;outline:none;font-family:inherit}.unit-selector .unit-trigger .unit-input::-moz-placeholder{color:var(--color-text-pale)}.unit-selector .unit-trigger .unit-input::placeholder{color:var(--color-text-pale)}.unit-selector .unit-trigger .unit-chevron{padding:0 var(--spacing-sm);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;height:100%;flex-shrink:0}.unit-selector .unit-trigger .unit-chevron svg{transition:transform .2s ease}.unit-selector .unit-trigger .unit-chevron svg.rotated{transform:rotate(180deg)}.unit-selector .unit-trigger .unit-chevron:hover{color:var(--color-text)}.unit-selector .unit-dropdown{background:#fff;border:1.5px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:unit-appear .1s ease;@keyframes unit-appear{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}}.unit-selector .unit-dropdown .unit-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:7px var(--spacing-md);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;text-align:left;transition:background .1s ease;gap:var(--spacing-xs);font-family:inherit}.unit-selector .unit-dropdown .unit-option:hover{background:var(--color-neutral-50)}.unit-selector .unit-dropdown .unit-option.selected{background:var(--color-primary-50);color:var(--color-primary-dark);font-weight:600}.unit-selector .unit-dropdown .unit-option.selected .unit-check{color:var(--color-primary)}.unit-selector .unit-dropdown .unit-option.unit-option-new{color:var(--color-primary-dark);border-top:1px solid var(--color-border);font-weight:600;font-size:var(--font-size-xs)}.unit-selector .unit-dropdown .unit-option.unit-option-new:hover{background:var(--color-primary-50)}.unit-selector .unit-dropdown .unit-empty{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-pale);font-style:italic}.inventory-item{transition:background-color .15s ease}.inventory-item td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);vertical-align:middle}.inventory-item:last-child td{border-bottom:none}.inventory-item:hover{background:var(--color-neutral-50)}.inventory-item.critical{background:#fff5f5}.inventory-item.critical:hover{background:#fee2e2}.inventory-item.critical .remaining-badge{background:var(--color-danger);color:#fff}.inventory-item.low{background:var(--color-warning-light)}.inventory-item.low:hover{background:#fef3c7}.inventory-item.low .remaining-badge{background:var(--color-warning);color:#fff}.inventory-item.editing{background:var(--color-primary-50)}.inventory-item.editing td{border-bottom:1px solid var(--color-primary-100);vertical-align:top}.inventory-item .col-name .item-name{font-weight:600;color:var(--color-text)}.inventory-item .col-family .family-path{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.inventory-item .col-family .family-path .family-sep{color:var(--color-text-pale);font-size:var(--font-size-xs);margin:0 1px}.inventory-item .col-family .family-path .family-segment{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-primary-50);border:1px solid var(--color-primary-100);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:all .15s ease;font-family:inherit}.inventory-item .col-family .family-path .family-segment:hover{background:var(--color-primary-200);border-color:var(--color-primary-300);color:var(--color-primary-800);transform:translateY(-1px);box-shadow:0 1px 3px #0000001a}.inventory-item .col-family .family-path .family-segment:active{transform:translateY(0)}.inventory-item .col-family .family-path .family-segment.family-segment-leaf{color:var(--color-primary-700);background:var(--color-primary-100);border-color:var(--color-primary-200);font-weight:600}.inventory-item .col-family .family-path .family-segment.family-segment-leaf:hover{background:var(--color-primary-300);border-color:var(--color-primary-400);color:var(--color-primary-900)}.inventory-item .col-stock,.inventory-item .col-usage,.inventory-item .col-remaining{text-align:right;white-space:nowrap}.inventory-item .stock-value,.inventory-item .usage-value{font-weight:600;color:var(--color-text)}.inventory-item .stock-unit{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-left:2px;font-weight:400}.inventory-item .remaining-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:9999px;font-size:var(--font-size-xs);font-weight:700;background:var(--color-neutral-100);color:var(--color-text-secondary);min-width:2.5rem}.inventory-item .col-actions .item-actions{display:flex;gap:var(--spacing-xs);align-items:center;justify-content:flex-end}.inventory-item .btn-icon-small{width:1.75rem;height:1.75rem;border-radius:var(--radius-md);border:none;background:var(--color-neutral-100);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.inventory-item .btn-icon-small:hover{background:var(--color-neutral-200);color:var(--color-text);transform:scale(1.05)}.inventory-item .btn-icon-small.btn-delete:hover{background:var(--color-danger-light);color:var(--color-danger)}.inventory-item .btn-icon-small.btn-save{background:var(--color-success);color:#fff}.inventory-item .btn-icon-small.btn-save:hover{background:#16a34a}.inventory-item .btn-icon-small.btn-cancel{background:var(--color-neutral-200);color:var(--color-text-secondary)}.inventory-item .btn-icon-small.btn-cancel:hover{background:var(--color-neutral-300)}.inventory-item .btn-icon-small.btn-movement{background:var(--color-primary);color:#fff}.inventory-item .btn-icon-small.btn-movement:hover{background:var(--color-primary-dark)}.inventory-item .edit-form{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.inventory-item .edit-form .edit-row{display:flex;gap:var(--spacing-sm);align-items:flex-end;flex-wrap:wrap}.inventory-item .edit-form .edit-row.new-family-row{background:var(--color-primary-50);padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-primary-100)}.inventory-item .edit-form .edit-field{display:flex;flex-direction:column;gap:3px;flex:1;min-width:80px}.inventory-item .edit-form .edit-field.edit-field-name{flex:2;min-width:150px}.inventory-item .edit-form .edit-field.edit-field-unit{max-width:80px}.inventory-item .edit-form .edit-field.edit-field-family{flex:2;min-width:180px;position:relative;z-index:50}.inventory-item .edit-form .edit-field label{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.inventory-item .edit-form .edit-field input,.inventory-item .edit-form .edit-field select{padding:var(--spacing-xs) var(--spacing-sm);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff}.inventory-item .edit-form .edit-field input:focus,.inventory-item .edit-form .edit-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061a}.inventory-item .edit-form .btn-sm{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-size-xs);white-space:nowrap;height:2rem;align-self:flex-end;border:none}.inventory-item .edit-form .btn-sm.btn-primary{background:var(--color-primary);color:#fff}.inventory-item .edit-form .btn-sm.btn-primary:hover{background:var(--color-primary-dark)}.inventory-item .editing-actions{vertical-align:middle}@media (max-width: 640px){.inventory-item td{padding:var(--spacing-sm);font-size:.8125rem}.inventory-item .col-family{display:none}.inventory-item .btn-icon-small{width:1.5rem;height:1.5rem}}.storage-section{--section-accent: var(--color-primary-200);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1.5px solid var(--color-border);transition:box-shadow .2s ease,border-color .2s ease}.storage-section.has-critical{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger),var(--shadow-sm);--section-accent: var(--color-danger)}.storage-section.has-low{border-color:var(--color-warning);--section-accent: var(--color-warning)}.storage-section .container-header{padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-neutral-50) 100%);border-bottom:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;position:relative}.storage-section .container-header:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--section-accent)}.storage-section .container-header .container-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0;padding-left:var(--spacing-sm)}.storage-section .container-header .container-info .container-title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.storage-section .container-header .container-info .container-title-row .container-icon{color:var(--color-primary);flex-shrink:0}.storage-section .container-header .container-info .container-title-row h2{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.storage-section .container-header .container-info .container-title-row .container-name-edit{display:flex;align-items:center;gap:var(--spacing-xs);flex:1}.storage-section .container-header .container-info .container-title-row .container-name-edit input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);background:#fff;min-width:0}.storage-section .container-header .container-info .container-title-row .container-name-edit input:focus{outline:none}.storage-section .container-header .container-info .container-stats{display:flex;gap:var(--spacing-md);padding-left:calc(20px + var(--spacing-sm))}.storage-section .container-header .container-info .container-stats .stat-item{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.storage-section .container-header .container-info .container-stats .stat-critical{color:var(--color-danger)}.storage-section .container-header .container-info .container-stats .stat-low{color:var(--color-warning)}.storage-section .container-header .container-actions{display:flex;gap:var(--spacing-xs);align-items:center;position:relative}.storage-section .container-header .container-actions .btn-add-item-primary{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-md);height:2.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.01em;white-space:nowrap;transition:all .15s ease;box-shadow:0 1px 3px #00000026}.storage-section .container-header .container-actions .btn-add-item-primary:hover{background:var(--color-primary-dark);box-shadow:0 2px 6px #0003;transform:translateY(-1px)}.storage-section .container-header .container-actions .btn-add-item-primary:active{transform:scale(.96) translateY(0);box-shadow:none}.storage-section .container-header .container-actions .btn-icon{width:2.25rem;height:2.25rem;border-radius:var(--radius-md);border:1.5px solid transparent;background:transparent;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.storage-section .container-header .container-actions .btn-icon:hover{background:var(--color-primary-100);color:var(--color-primary-dark);border-color:var(--color-primary-200)}.storage-section .container-header .container-actions .btn-icon:active{transform:scale(.93)}.storage-section .container-header .container-actions .btn-icon-inline{width:1.6rem;height:1.6rem;border-radius:var(--radius-sm);border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.storage-section .container-header .container-actions .btn-icon-inline.btn-save{background:var(--color-success);color:#fff}.storage-section .container-header .container-actions .btn-icon-inline.btn-save:hover{background:#16a34a}.storage-section .container-header .container-actions .btn-icon-inline.btn-cancel{background:var(--color-neutral-200);color:var(--color-text-secondary)}.storage-section .container-header .container-actions .btn-icon-inline.btn-cancel:hover{background:var(--color-neutral-300)}.storage-section .container-header .container-actions .container-menu-wrapper{position:relative}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;min-width:160px;overflow:hidden;animation:menu-appear .1s ease}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu .menu-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:background .1s ease}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu .menu-item:hover{background:var(--color-neutral-100)}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu .menu-item svg{color:var(--color-text-secondary)}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu .menu-item.menu-item-danger{color:var(--color-danger)}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu .menu-item.menu-item-danger:hover{background:var(--color-danger-light)}.storage-section .container-header .container-actions .container-menu-wrapper .container-menu .menu-item.menu-item-danger svg{color:var(--color-danger)}.storage-section .add-drawer-form{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary-50);border-bottom:1px solid var(--color-primary-100);align-items:center}.storage-section .add-drawer-form input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--color-primary-200);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:#fff}.storage-section .add-drawer-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061a}.storage-section .add-drawer-form .btn-sm{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:all .15s ease;white-space:nowrap;border:none}.storage-section .add-drawer-form .btn-sm.btn-primary{background:var(--color-primary);color:#fff}.storage-section .add-drawer-form .btn-sm.btn-primary:hover{background:var(--color-primary-dark)}.storage-section .add-drawer-form .btn-sm.btn-secondary{background:#fff;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.storage-section .add-drawer-form .btn-sm.btn-secondary:hover{background:var(--color-neutral-100)}.storage-section .drawer-group .drawer-header{padding:var(--spacing-xs) var(--spacing-lg);background:var(--color-neutral-50);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border)}.storage-section .drawer-group .drawer-header .drawer-title{display:flex;align-items:center;gap:var(--spacing-sm)}.storage-section .drawer-group .drawer-header .drawer-title svg{color:var(--color-primary-400);flex-shrink:0}.storage-section .drawer-group .drawer-header .drawer-title h3{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.07em;flex:1}.storage-section .drawer-group .drawer-header .drawer-title .drawer-count{font-size:var(--font-size-xs);background:var(--color-primary-100);color:var(--color-primary-700);padding:0 6px;border-radius:9999px;font-weight:700}.storage-section .drawer-group .drawer-header .drawer-title .drawer-actions{display:none;gap:2px;align-items:center;margin-left:auto}.storage-section .drawer-group .drawer-header .drawer-title:hover .drawer-actions{display:flex}.storage-section .drawer-group .drawer-header .drawer-title .drawer-name-edit{display:flex;align-items:center;gap:var(--spacing-xs);flex:1}.storage-section .drawer-group .drawer-header .drawer-title .drawer-name-edit input{flex:1;padding:2px var(--spacing-sm);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);background:#fff;min-width:100px}.storage-section .drawer-group .drawer-header .drawer-title .drawer-name-edit input:focus{outline:none}.storage-section .btn-icon-micro{width:1.35rem;height:1.35rem;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.storage-section .btn-icon-micro:hover{background:var(--color-neutral-200);color:var(--color-text)}.storage-section .btn-icon-micro.btn-save{background:var(--color-success);color:#fff}.storage-section .btn-icon-micro.btn-save:hover{background:#16a34a}.storage-section .btn-icon-micro.btn-cancel{background:var(--color-neutral-200);color:var(--color-text-secondary)}.storage-section .btn-icon-micro.btn-cancel:hover{background:var(--color-neutral-300)}.storage-section .btn-icon-micro.btn-danger:hover{background:var(--color-danger-light);color:var(--color-danger)}.storage-section .drawer-group{overflow:visible}.storage-section .items-table{width:100%;border-collapse:collapse}.storage-section .items-table thead th{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-neutral-50);border-bottom:1.5px solid var(--color-border);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;text-align:left}.storage-section .items-table thead th.col-stock,.storage-section .items-table thead th.col-usage,.storage-section .items-table thead th.col-remaining{text-align:right}.storage-section .items-table thead th.col-actions{min-width:7rem}.storage-section .items-table .empty-drawer td{padding:var(--spacing-lg);text-align:center;color:var(--color-text-pale);font-size:var(--font-size-sm);font-style:italic}.storage-section .empty-container{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.storage-section .empty-container .btn-add-first-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary-100);color:var(--color-primary-dark);border:1.5px dashed var(--color-primary-300);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600;transition:all .2s ease}.storage-section .empty-container .btn-add-first-item:hover{background:var(--color-primary-200);border-color:var(--color-primary)}@keyframes menu-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.storage-section .container-header{padding:var(--spacing-sm) var(--spacing-md)}.storage-section .items-table thead th{padding:var(--spacing-xs) var(--spacing-sm);font-size:.65rem}}.inventory-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.inventory-list .empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-2xl);border:2px dashed var(--color-border)}.inventory-list .empty-state .empty-state-icon{width:5rem;height:5rem;background:var(--color-primary-50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);color:var(--color-primary-300)}.inventory-list .empty-state h2{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-sm)}.inventory-list .empty-state .empty-state-hint{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:360px;margin:0 auto var(--spacing-xl)}.inventory-list .empty-state .btn-create-first{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-md)}.inventory-list .empty-state .btn-create-first:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.inventory-list .empty-state .btn-create-first:active{transform:translateY(0)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .18s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.dialog-overlay .dialog{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #0000004d;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;animation:slideUp .22s cubic-bezier(.34,1.3,.64,1);@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}}.dialog-overlay .dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1.5px solid var(--color-border)}.dialog-overlay .dialog .dialog-header h3{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);letter-spacing:-.01em}.dialog-overlay .dialog .dialog-header .btn-close{width:2rem;height:2rem;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.dialog-overlay .dialog .dialog-header .btn-close:hover{background:var(--color-neutral-100);color:var(--color-text)}.dialog-overlay .dialog .dialog-form{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.dialog-overlay .dialog .dialog-form .form-section-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);margin-top:var(--spacing-xs);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.dialog-overlay .dialog .dialog-form .form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.dialog-overlay .dialog .dialog-form .form-field label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.dialog-overlay .dialog .dialog-form .form-field input,.dialog-overlay .dialog .dialog-form .form-field select{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);transition:all .15s ease;background:#fff;color:var(--color-text)}.dialog-overlay .dialog .dialog-form .form-field input:focus,.dialog-overlay .dialog .dialog-form .form-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061f}.dialog-overlay .dialog .dialog-form .form-field input::-moz-placeholder,.dialog-overlay .dialog .dialog-form .form-field select::-moz-placeholder{color:var(--color-text-pale)}.dialog-overlay .dialog .dialog-form .form-field input::placeholder,.dialog-overlay .dialog .dialog-form .form-field select::placeholder{color:var(--color-text-pale)}.dialog-overlay .dialog .dialog-form .form-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.dialog-overlay .dialog .dialog-form .form-field.form-field-unit{max-width:120px}.dialog-overlay .dialog .dialog-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.dialog-overlay .dialog .dialog-form .form-row-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-md)}.dialog-overlay .dialog .dialog-form .inline-form{display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--color-primary-50);padding:var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-primary-100)}.dialog-overlay .dialog .dialog-form .inline-form input,.dialog-overlay .dialog .dialog-form .inline-form select{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:#fff}.dialog-overlay .dialog .dialog-form .inline-form input:focus,.dialog-overlay .dialog .dialog-form .inline-form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061f}.dialog-overlay .dialog .dialog-form .inline-form .inline-form-actions{display:flex;gap:var(--spacing-sm)}.dialog-overlay .dialog .dialog-form .no-containers{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dialog-overlay .dialog .dialog-form .no-containers p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dialog-overlay .dialog .dialog-form .no-containers input{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base)}.dialog-overlay .dialog .dialog-form .no-containers input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d977061f}.dialog-overlay .dialog .dialog-form .btn-sm{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:all .15s ease;white-space:nowrap;border:none}.dialog-overlay .dialog .dialog-form .btn-sm.btn-primary{background:var(--color-primary);color:#fff}.dialog-overlay .dialog .dialog-form .btn-sm.btn-primary:hover{background:var(--color-primary-dark)}.dialog-overlay .dialog .dialog-form .btn-sm.btn-secondary{background:#fff;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.dialog-overlay .dialog .dialog-form .btn-sm.btn-secondary:hover{background:var(--color-neutral-100)}.dialog-overlay .dialog .dialog-form .dialog-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xs);padding-top:var(--spacing-md);border-top:1.5px solid var(--color-border)}.dialog-overlay .dialog .dialog-form .dialog-actions button{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-xl);font-weight:700;font-size:var(--font-size-base);transition:all .2s ease}.dialog-overlay .dialog .dialog-form .dialog-actions button.btn-secondary{border:1.5px solid var(--color-border);background:#fff;color:var(--color-text)}.dialog-overlay .dialog .dialog-form .dialog-actions button.btn-secondary:hover{background:var(--color-neutral-100)}.dialog-overlay .dialog .dialog-form .dialog-actions button.btn-primary{border:none;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));color:#fff;box-shadow:var(--shadow-sm)}.dialog-overlay .dialog .dialog-form .dialog-actions button.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-800));transform:translateY(-1px);box-shadow:var(--shadow-md)}.dialog-overlay .dialog .dialog-form .dialog-actions button:active{transform:scale(.97) translateY(0)}@media (max-width: 640px){.dialog-overlay{align-items:flex-end;padding:0}.dialog-overlay .dialog{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:88vh}.dialog-overlay .dialog .dialog-header{padding:var(--spacing-md) var(--spacing-lg)}.dialog-overlay .dialog .dialog-header h3{font-size:var(--font-size-lg)}.dialog-overlay .dialog .dialog-form{padding:var(--spacing-md)}.dialog-overlay .dialog .dialog-form .form-row,.dialog-overlay .dialog .dialog-form .form-row-3{grid-template-columns:1fr}}.movement-dialog{max-width:420px}.movement-dialog .movement-item-info{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-neutral-50);border-bottom:1.5px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.movement-dialog .movement-item-info .movement-item-name{font-weight:700;font-size:var(--font-size-base);color:var(--color-text)}.movement-dialog .movement-item-info .movement-stock-status{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.movement-dialog .movement-item-info .movement-stock-status.critical{color:var(--color-danger);font-weight:600}.movement-dialog .movement-item-info .movement-stock-status.low{color:var(--color-warning);font-weight:600}.movement-dialog .movement-item-info .movement-stock-status .movement-remaining{margin-left:var(--spacing-sm);opacity:.75}.movement-dialog .type-toggle{display:flex;gap:var(--spacing-sm)}.movement-dialog .type-toggle .type-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;color:var(--color-text-secondary);font-weight:700;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all .15s ease}.movement-dialog .type-toggle .type-btn:hover{border-color:var(--color-neutral-300);background:var(--color-neutral-50)}.movement-dialog .type-toggle .type-btn.active.addition{border-color:var(--color-success);background:#f0fdf4;color:#16a34a}.movement-dialog .type-toggle .type-btn.active.subtraction{border-color:var(--color-danger);background:var(--color-danger-light);color:var(--color-danger)}.movement-dialog .movement-preview{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-primary-50);border:1px solid var(--color-primary-100);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.movement-dialog .movement-preview .preview-label{color:var(--color-text-secondary);font-weight:600}.movement-dialog .movement-preview .preview-value{font-weight:800;color:var(--color-primary-dark);font-size:var(--font-size-lg)}.movement-dialog .dialog-actions .btn-primary.addition{background:var(--color-success)!important}.movement-dialog .dialog-actions .btn-primary.addition:hover{background:#16a34a!important}.movement-dialog .dialog-actions .btn-primary.subtraction{background:var(--color-danger)!important}.movement-dialog .dialog-actions .btn-primary.subtraction:hover{background:#dc2626!important}.shopping-list-dialog{max-width:500px;width:95vw}.shopping-list-dialog .dialog-header h3{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text)}.shopping-list-dialog .shopping-list-content{padding:var(--spacing-lg);max-height:70vh;overflow-y:auto}.shopping-list-dialog .shopping-list-content .shopping-empty{text-align:center;padding:var(--spacing-2xl) 0;color:var(--color-text-secondary)}.shopping-list-dialog .shopping-list-content .shopping-empty .shopping-empty-icon{width:4rem;height:4rem;background:var(--color-success-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);color:var(--color-success)}.shopping-list-dialog .shopping-list-content .shopping-empty p{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.shopping-list-dialog .shopping-list-content .shopping-empty .shopping-empty-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:400}.shopping-list-dialog .shopping-list-content .shopping-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.shopping-list-dialog .shopping-list-content .shopping-summary .shopping-count{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.shopping-list-dialog .shopping-list-content .shopping-group{margin-bottom:var(--spacing-md)}.shopping-list-dialog .shopping-list-content .shopping-group .shopping-group-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-secondary);padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.shopping-list-dialog .shopping-list-content .shopping-group .shopping-group-label:after{content:"";flex:1;height:1px;background:var(--color-border)}.shopping-list-dialog .shopping-list-content .shopping-group .shopping-items{display:flex;flex-direction:column;gap:2px}.shopping-list-dialog .shopping-list-content .shopping-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-neutral-50);border-radius:var(--radius-md);gap:var(--spacing-md);border:1px solid var(--color-border);transition:background .1s ease}.shopping-list-dialog .shopping-list-content .shopping-item:hover{background:var(--color-primary-50);border-color:var(--color-primary-100)}.shopping-list-dialog .shopping-list-content .shopping-item.urgent{background:var(--color-danger-light);border-color:#fecaca}.shopping-list-dialog .shopping-list-content .shopping-item.urgent .shopping-item-name{color:var(--color-danger-dark)}.shopping-list-dialog .shopping-list-content .shopping-item.urgent .shopping-item-qty{color:var(--color-danger)!important}.shopping-list-dialog .shopping-list-content .shopping-item .shopping-item-name{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;color:var(--color-text);font-size:var(--font-size-sm);flex:1;min-width:0}.shopping-list-dialog .shopping-list-content .shopping-item .shopping-item-name .shopping-item-index{font-size:var(--font-size-xs);color:var(--color-text-pale);font-weight:700;min-width:1.25rem;flex-shrink:0}.shopping-list-dialog .shopping-list-content .shopping-item .shopping-item-name .item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-list-dialog .shopping-list-content .shopping-item .shopping-item-details{display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap;flex-shrink:0}.shopping-list-dialog .shopping-list-content .shopping-item .shopping-item-details .shopping-item-qty{font-weight:700;color:var(--color-primary-dark);font-size:var(--font-size-sm)}.shopping-list-dialog .shopping-list-content .shopping-item .shopping-item-details .shopping-item-container{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:#fff;border:1px solid var(--color-border);padding:1px 6px;border-radius:var(--radius-sm)}.shopping-list-dialog .shopping-list-content .shopping-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.shopping-list-dialog .shopping-list-content .shopping-actions .btn-action{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-weight:600;font-size:var(--font-size-sm);transition:all .2s ease;cursor:pointer}.shopping-list-dialog .shopping-list-content .shopping-actions .btn-action:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-50)}.shopping-list-dialog .shopping-list-content .shopping-actions .btn-action:active{transform:scale(.97)}.te-overlay{align-items:center}.te-dialog{max-width:520px;width:95vw;max-height:85vh;display:flex;flex-direction:column}.te-dialog .dialog-header h3{font-size:var(--font-size-lg);font-weight:700}.te-drag-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-lg);background:#eff6ff;border-bottom:1.5px solid #bfdbfe;font-size:var(--font-size-xs);color:#1e40af;flex-wrap:wrap}.te-drag-banner strong{font-weight:700}.te-drag-banner .te-drag-cancel{margin-left:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;cursor:pointer}.te-drag-banner .te-drag-cancel:hover{background:var(--color-neutral-100)}.te-body{flex:1;overflow-y:auto;padding:var(--spacing-xs) 0;min-height:0}.te-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-xl);color:var(--color-text-secondary);text-align:center}.te-empty svg{color:var(--color-text-pale)}.te-empty p{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.te-empty .te-empty-hint{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-secondary)}.te-tree{padding:0 var(--spacing-sm) var(--spacing-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}.te-root-drop{height:0;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600;color:#1d4ed8;text-align:center;transition:all .15s ease;overflow:hidden}.te-root-drop.active{height:2rem;background:#dbeafe;border:2px dashed #93c5fd;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-xs)}.te-node-wrapper{position:relative}.te-drop-zone{height:6px;margin:-3px 0;position:relative;z-index:10;border-radius:2px;transition:all .1s ease}.te-drop-zone.active{height:4px;margin:0;background:var(--color-primary);border-radius:2px;box-shadow:0 0 0 2px #d977064d}.te-node{--indent: calc(var(--spacing-xs) + var(--depth, 0) * 1.25rem);display:flex;align-items:center;padding:4px var(--spacing-sm) 4px var(--indent);border-radius:var(--radius-md);gap:4px;transition:background .1s ease,opacity .15s ease;min-height:2rem;position:relative;border:1.5px solid transparent}.te-node:hover{background:var(--color-neutral-50)}.te-node:hover .te-node-actions,.te-node:hover .te-grip{opacity:1}.te-node.focused{background:var(--color-primary-50);border-color:var(--color-primary-200)}.te-node.focused .te-label{color:var(--color-primary-dark);font-weight:700}.te-node.dragging{opacity:.35}.te-node.drop-into{background:#ecfdf5;border-color:#6ee7b7}.te-node.drop-into .te-label{color:#065f46;font-weight:600}.te-node .te-grip{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--color-text-pale);flex-shrink:0;opacity:0;transition:opacity .1s ease;border-radius:var(--radius-sm)}.te-node .te-grip:hover{color:var(--color-text-secondary);background:var(--color-neutral-200)}.te-node .te-grip:active{cursor:grabbing}.te-node .te-toggle{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary);flex-shrink:0;border-radius:var(--radius-sm);cursor:pointer;padding:0}.te-node .te-toggle:hover{background:var(--color-neutral-200)}.te-node .te-leaf{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--color-text-pale);margin:0 auto}.te-node .te-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.te-node .te-rename-form{display:flex;align-items:center;gap:4px;flex:1}.te-node .te-rename-form .te-rename-input{flex:1;padding:3px 8px;border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;background:#fff;min-width:0}.te-node .te-rename-form .te-rename-input:focus{outline:none}.te-node .te-node-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .1s ease;flex-shrink:0}.te-new-node{--indent: calc(var(--spacing-xs) + var(--depth, 0) * 1.25rem);display:flex;align-items:center;gap:5px;padding:4px var(--spacing-sm) 4px var(--indent);background:var(--color-primary-50);border-radius:var(--radius-md);border:1px solid var(--color-primary-100);margin:2px 0}.te-new-node .te-new-icon{color:var(--color-primary);flex-shrink:0}.te-new-node .te-new-input{flex:1;padding:3px 8px;border:1.5px solid var(--color-primary-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff;min-width:0}.te-new-node .te-new-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #d9770626}.te-new-node .te-new-input::-moz-placeholder{color:var(--color-text-pale);font-style:italic}.te-new-node .te-new-input::placeholder{color:var(--color-text-pale);font-style:italic}.te-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .1s ease;flex-shrink:0;font-size:var(--font-size-xs);font-weight:600;gap:3px;white-space:nowrap}.te-btn.te-btn-icon{width:1.5rem;height:1.5rem;background:transparent;color:var(--color-text-secondary)}.te-btn.te-btn-icon:hover{background:var(--color-neutral-200);color:var(--color-text)}.te-btn.te-btn-icon.te-btn-delete:hover{background:var(--color-danger-light);color:var(--color-danger)}.te-btn.te-btn-confirm{width:1.5rem;height:1.5rem;background:var(--color-success);color:#fff}.te-btn.te-btn-confirm:hover{background:#16a34a}.te-btn.te-btn-cancel{width:1.5rem;height:1.5rem;background:var(--color-neutral-200);color:var(--color-text-secondary)}.te-btn.te-btn-cancel:hover{background:var(--color-neutral-300)}.te-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);border-top:1.5px solid var(--color-border);gap:var(--spacing-md);flex-wrap:wrap}.te-footer .te-add-top-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary-100);color:var(--color-primary-dark);border:1.5px solid var(--color-primary-200);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .15s ease}.te-footer .te-add-top-btn:hover{background:var(--color-primary-200);border-color:var(--color-primary)}.te-footer .te-hint{display:flex;align-items:center;gap:3px;font-size:var(--font-size-xs);color:var(--color-text-pale);font-style:italic}@media (max-width: 640px){.te-hint{display:none}.te-dialog{max-height:90vh}}.app{min-height:100vh;display:flex;flex-direction:column}.app .app-header{background:linear-gradient(135deg,var(--color-primary-700) 0%,var(--color-primary-800) 60%,var(--color-secondary-700) 100%);color:#fff;padding:var(--spacing-lg) var(--spacing-md);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.app .app-header .header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.app .app-header .header-content .header-brand{display:flex;flex-direction:column;gap:2px}.app .app-header .header-content .header-brand h1{font-size:var(--font-size-2xl);font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm);letter-spacing:-.02em;line-height:var(--line-height-tight)}.app .app-header .header-content .header-brand .header-subtitle{font-size:var(--font-size-xs);color:#ffffffa6;padding-left:calc(28px + var(--spacing-sm));letter-spacing:.04em;text-transform:uppercase;font-weight:500}.app .app-header .header-content .header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.app .app-header .header-content .header-actions .btn-header{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:var(--font-size-sm);transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.app .app-header .header-content .header-actions .btn-header:hover{background:#ffffff38;border-color:#ffffff73}.app .app-header .header-content .header-actions .btn-header:active{transform:scale(.97)}.app .app-header .header-content .header-actions .btn-header .badge{background:var(--color-danger);border-radius:9999px;padding:1px 7px;font-size:.7rem;font-weight:700;min-width:1.2rem;text-align:center;animation:pulse-badge 2s infinite}.app .app-main{flex:1;padding:var(--spacing-lg) var(--spacing-md);padding-bottom:calc(var(--spacing-xl) * 2);max-width:1200px;width:100%;margin:0 auto}.app .summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.app .summary-bar .summary-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);border:1.5px solid var(--color-border);position:relative;overflow:hidden;transition:box-shadow .2s ease}.app .summary-bar .summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-neutral-200)}.app .summary-bar .summary-card:hover{box-shadow:var(--shadow-md)}.app .summary-bar .summary-card .summary-icon{position:absolute;top:var(--spacing-md);right:var(--spacing-md);opacity:.1}.app .summary-bar .summary-card .summary-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.app .summary-bar .summary-card .summary-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text);line-height:var(--line-height-tight)}.app .summary-bar .summary-card .summary-sublabel{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.app .summary-bar .summary-card.danger{border-color:var(--color-danger);background:var(--color-danger-light)}.app .summary-bar .summary-card.danger:before{background:var(--color-danger)}.app .summary-bar .summary-card.danger .summary-value{color:var(--color-danger)}.app .summary-bar .summary-card.danger .summary-icon{opacity:.15;color:var(--color-danger)}.app .summary-bar .summary-card.warning{border-color:var(--color-warning);background:var(--color-warning-light)}.app .summary-bar .summary-card.warning:before{background:var(--color-warning)}.app .summary-bar .summary-card.warning .summary-value{color:var(--color-primary-700)}.app .summary-bar .summary-card.warning .summary-icon{opacity:.15;color:var(--color-warning)}.app .summary-bar .summary-card.ok:before{background:var(--color-success)}.app .csv-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0}.app .csv-actions .btn-csv{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);background:#fff;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:var(--font-size-sm);transition:all .2s ease;cursor:pointer}.app .csv-actions .btn-csv:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app .csv-actions .btn-csv:active{transform:translateY(0)}.app .fab{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:3.5rem;height:3.5rem;border-radius:50%;border:none;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));color:#fff;box-shadow:var(--shadow-lg),0 0 #f59e0b66;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:50}.app .fab:hover{transform:scale(1.12) rotate(90deg);box-shadow:var(--shadow-xl),0 0 0 8px #f59e0b26}.app .fab:active{transform:scale(1.05) rotate(90deg)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 640px){.app .app-header{padding:var(--spacing-md)}.app .app-header .header-content .header-brand h1{font-size:var(--font-size-xl)}.app .app-header .header-content .header-subtitle{display:none}.app .app-header .header-content .header-actions .btn-header span:not(.badge){display:none}.app .app-main{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-xl) * 2)}.app .summary-bar{gap:var(--spacing-sm)}.app .summary-bar .summary-card{padding:var(--spacing-sm) var(--spacing-md)}.app .summary-bar .summary-card .summary-value{font-size:var(--font-size-2xl)}.app .summary-bar .summary-card .summary-sublabel{display:none}.app .csv-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.app .csv-actions .btn-csv{justify-content:center}.app .fab{bottom:var(--spacing-lg);right:var(--spacing-lg)}}:root{--color-primary-50: #fffbeb;--color-primary-100: #fef3c7;--color-primary-200: #fde68a;--color-primary-300: #fcd34d;--color-primary-400: #fbbf24;--color-primary-500: #f59e0b;--color-primary-600: #d97706;--color-primary-700: #b45309;--color-primary-800: #92400e;--color-primary-900: #78350f;--color-secondary-50: #fff7ed;--color-secondary-100: #ffedd5;--color-secondary-200: #fed7aa;--color-secondary-300: #fdba74;--color-secondary-400: #fb923c;--color-secondary-500: #f97316;--color-secondary-600: #ea580c;--color-secondary-700: #c2410c;--color-accent-50: #f7fee7;--color-accent-100: #ecfccb;--color-accent-200: #d9f99d;--color-accent-500: #84cc16;--color-accent-600: #65a30d;--color-accent-700: #4d7c0f;--color-success: #22c55e;--color-success-light: #dcfce7;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-danger: #ef4444;--color-danger-light: #fef2f2;--color-danger-dark: #dc2626;--color-neutral-50: #fafaf9;--color-neutral-100: #f5f5f4;--color-neutral-200: #e7e5e4;--color-neutral-300: #d6d3d1;--color-neutral-400: #a8a29e;--color-neutral-500: #78716c;--color-neutral-600: #57534e;--color-neutral-700: #44403c;--color-neutral-800: #292524;--color-neutral-900: #1c1917;--color-primary: var(--color-primary-600);--color-primary-dark: var(--color-primary-700);--color-primary-light: var(--color-primary-100);--color-background: var(--color-neutral-50);--color-surface: #ffffff;--color-text: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-500);--color-text-pale: var(--color-neutral-300);--color-border: var(--color-neutral-200);--color-checked-bg: var(--color-neutral-100);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .04);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .07), 0 1px 2px -1px rgb(0 0 0 / .07);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--line-height-tight: 1.2;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-background);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}
