.btn-primary,.btn-cancel,.btn-danger,.btn-success,.btn-warning,.btn-ghost,.btn-secondary{border-radius:var(--radius-md);transition:var(--transition-med);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:10px 24px;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-secondary-glow-subtle);color:var(--accent-secondary-light);border:1px solid var(--accent-secondary-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;box-shadow:0 4px 15px var(--glass-shadow)}.btn-primary:hover{background:var(--accent-secondary-glow);color:var(--color-white);border-color:var(--accent-primary);box-shadow:0 4px 20px var(--accent-secondary-glow-subtle);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-cancel{background:var(--glass-reflection);color:var(--text-muted);border:1px solid var(--glass-border);text-align:center}.btn-cancel:hover{background:var(--glass-bg-hover);color:var(--text-tertiary);border-color:var(--glass-border-bright);transform:translateY(-1px)}.btn-cancel:active{transform:translateY(0)}.btn-secondary{background:var(--color-neutral-bg);color:var(--text-primary);border:1px solid var(--color-neutral-border);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:var(--color-neutral-bg-hover);color:var(--text-primary);border-color:var(--color-neutral-border);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-danger:hover{background:var(--color-error-bg);filter:brightness(1.3);border-color:var(--color-error);transform:translateY(-1px)}.btn-danger:active{transform:translateY(0)}.btn-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-success:hover{background:var(--color-success-bg);filter:brightness(1.3);border-color:var(--color-success);transform:translateY(-1px)}.btn-success:active{transform:translateY(0)}.btn-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-warning:hover{background:var(--color-warning-bg);filter:brightness(1.3);border-color:var(--color-warning);transform:translateY(-1px)}.btn-warning:active{transform:translateY(0)}.action-btn-circle{border-radius:var(--radius-full);background:var(--glass-bg-subtle);border:1px solid var(--glass-border);width:40px;height:40px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.action-btn-circle:hover{background:var(--accent-secondary-glow-subtle);color:var(--color-white);border-color:var(--accent-primary);transform:translateY(-3px)}.action-btn-circle.delete:hover{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.action-btn-circle.accept:hover{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.btn-icon{border:1px solid var(--glass-border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;margin-left:5px;padding:8px}.btn-icon:hover{background:var(--glass-bg-hover);color:var(--text-primary);border-color:var(--glass-border-bright)}.btn-icon.active{background:var(--accent-secondary-glow-subtle);color:var(--accent-primary);border-color:var(--accent-primary)}.btn-icon.delete:hover{color:var(--color-error)}.btn-icon-bare{color:var(--text-muted);cursor:pointer;transition:var(--transition-med);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.25rem;display:inline-flex}.btn-icon-bare:hover{color:var(--accent-primary);transform:scale(1.1)}.view-toggle-buttons{gap:.5rem;display:flex}.btn-status-off:hover{color:var(--color-error);border-color:var(--color-error-border)}.btn-status-on:hover{color:var(--color-success);border-color:var(--color-success-border)}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-md{padding:10px 24px;font-size:.9rem}.btn-lg{padding:14px 32px;font-size:1rem}.w-full{width:100%}.btn-ghost{color:var(--text-muted);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--glass-bg-hover);color:var(--text-light);border-color:var(--glass-border-bright)}.btn-ghost:active{transform:translateY(0)}button:disabled,input:disabled,select:disabled,.btn-primary:disabled,.btn-danger:disabled,.btn-success:disabled,.btn-warning:disabled,.btn-cancel:disabled,.action-btn-circle:disabled,.btn-disabled{pointer-events:none;opacity:.5!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.button-text{margin:0}@media (width<=768px){.btn-icon-mobile .button-text{display:none}.btn-icon-mobile{padding:10px}}.form-main-container{flex-direction:column;gap:12px;display:flex}.form-full-width{width:100%}.form-wrapper{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass);overflow:hidden}.form-header{border-bottom:1px solid var(--glass-border);background:var(--glass-reflection);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.form-body{padding:20px}.form-controls{grid-template-columns:1fr;gap:16px;display:grid}.form-group{flex-wrap:wrap;grid-column:1/-1;gap:12px;display:flex}.form-group .form-control{flex:1;min-width:200px}.form-control{flex-direction:column;gap:6px;display:flex}.form-control label{color:var(--text-muted);transition:var(--transition-med);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.form-control:focus-within label{color:var(--accent-primary);text-shadow:0 0 8px var(--accent-secondary-glow-subtle)}.form-input,.form-textarea,.form-select{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-muted);transition:all var(--transition-med);outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:16px}.form-input:-webkit-autofill{caret-color:var(--text-muted);transition:background-color 5000s ease-in-out,color 5000s ease-in-out;-webkit-text-fill-color:var(--text-muted)!important}.form-input:-webkit-autofill:hover{caret-color:var(--text-muted);transition:background-color 5000s ease-in-out,color 5000s ease-in-out;-webkit-text-fill-color:var(--text-muted)!important}.form-input:-webkit-autofill:focus{caret-color:var(--text-muted);transition:background-color 5000s ease-in-out,color 5000s ease-in-out;-webkit-text-fill-color:var(--text-muted)!important}.form-input:-webkit-autofill:active{caret-color:var(--text-muted);transition:background-color 5000s ease-in-out,color 5000s ease-in-out;-webkit-text-fill-color:var(--text-muted)!important}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='rgba(255, 255, 255, 0.5)'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:19px;padding-right:40px}.form-select:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")}.form-select option{background:var(--bg-secondary);color:var(--text-muted)}.form-input::-webkit-calendar-picker-indicator{filter:invert();opacity:.5;cursor:pointer;transition:var(--transition-med)}.form-input::-webkit-calendar-picker-indicator:hover{opacity:1}.form-input:hover,.form-textarea:hover,.form-select:hover{background-color:var(--glass-bg-hover);border-color:var(--glass-reflection)}.form-input:focus,.form-textarea:focus,.form-select:focus{background-color:var(--glass-reflection);border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-secondary-glow), inset 0 0 10px var(--accent-secondary-glow-subtle)}.form-input.input-error,.form-textarea.input-error,.form-select.input-error{border-color:var(--color-error)!important;box-shadow:0 0 0 4px var(--color-error-border)!important}.form-checkbox-control{cursor:pointer;background:var(--glass-reflection);border-radius:var(--radius-md);border:1px solid var(--glass-border);transition:var(--transition-med);flex-direction:row;align-items:flex-start;gap:12px;padding:16px}.form-checkbox-control:hover{background:var(--color-neutral-bg);border-color:var(--accent-secondary-glow)}.form-checkbox-input{cursor:pointer;width:20px;height:20px;margin-top:2px}.form-checkbox-label{color:var(--text-dim);cursor:pointer;font-size:14px;font-weight:500;line-height:1.4}.form-error-message{color:var(--color-error);margin-top:4px;font-size:12px;font-weight:500}.form-errors{margin-top:16px}.form-error-box,.form-text{border-radius:var(--radius-md);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid;padding:16px;font-size:14px;font-weight:500}.form-error-box{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error);box-shadow:0 0 15px #ff4c4c1a}.form-text{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success);box-shadow:0 0 15px #2ecc711a}.form-actions{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:12px;padding-top:20px;display:flex}.form-actions-right{gap:12px;margin-left:auto;display:flex}.form-group-card{background:var(--glass-bg-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);flex-direction:column;gap:16px;width:100%;padding:20px;display:flex}.form-card-title{color:var(--text-primary);margin-top:0;margin-bottom:16px}.form-group-card .form-group{margin-bottom:0}.modal-overlay{background:var(--overlay-heavy);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;padding:16px;display:flex;position:fixed;top:0;left:0}.modal-container{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-glass);flex-direction:column;display:flex}.modal-title{border-bottom:1px solid var(--glass-border);background:var(--glass-reflection-bright);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.modal-content{padding:32px;overflow-y:auto}.form-modal-container{flex-direction:column;gap:24px;display:flex}.context-menu{z-index:1000;background:var(--glass-bg-deep);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border-bright);border-radius:var(--radius-md);box-shadow:0 10px 30px var(--overlay-darker);flex-direction:column;gap:4px;min-width:180px;padding:8px;animation:.2s cubic-bezier(.4,0,.2,1) contextMenuFadeIn;display:flex;position:absolute}.context-menu-item{color:var(--text-tertiary);border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.context-menu-item:hover{background:var(--glass-bg-hover);color:var(--text-primary);transform:translate(4px)}.context-menu-item.active{background:var(--accent-secondary-glow-subtle);color:var(--accent-primary);font-weight:600}.context-menu-item.danger{color:var(--color-error)}.context-menu-item.danger:hover{background:var(--color-error-bg);color:var(--color-white)}.context-menu-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;padding:6px 14px;font-size:12px;font-weight:700}.context-menu-divider{background:var(--glass-border);height:1px;margin:6px 0}@keyframes contextMenuFadeIn{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.form-body{padding:16px}}.selection-quantity-set{background:var(--overlay-dark);border:1px solid var(--glass-border);border-radius:var(--radius-md);align-items:center;gap:1.25rem;padding:.4rem .5rem;display:flex}.selection-quantity-set .qty-btn{border-radius:var(--radius-md);background:var(--glass-reflection);width:32px;height:32px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.selection-quantity-set .qty-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff}.selection-quantity-set .qty-btn:disabled{opacity:.3;cursor:not-allowed}.selection-quantity-set .qty-value{color:var(--text-primary);text-align:center;-webkit-user-select:none;user-select:none;min-width:24px;font-size:1.15rem;font-weight:700}.btn-action-toggle{background:var(--glass-reflection);color:var(--text-muted);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;padding:6px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.btn-action-toggle:hover{background:var(--glass-bg-hover);color:var(--text-tertiary);border-color:var(--glass-border-bright)}.btn-action-toggle.is-active{background:var(--accent-secondary-glow-subtle);color:var(--accent-secondary-light);border-color:var(--accent-secondary-glow)}.form-switch{background:var(--glass-bg-deep);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;width:50px;height:26px;transition:var(--transition-med);flex-shrink:0;position:relative}.form-switch.active{background:var(--accent-primary);border-color:var(--accent-secondary-glow);box-shadow:0 0 15px var(--accent-secondary-glow-subtle)}.form-switch-handle{background:var(--text-primary);border-radius:var(--radius-full);width:20px;height:20px;transition:var(--transition-med);box-shadow:0 2px 5px var(--overlay-dark);position:absolute;top:2px;left:2px}.form-switch.active .form-switch-handle{background:#fff;left:calc(100% - 22px)}.switch-control{flex-direction:column;flex:none;gap:.5rem;display:flex}.switch-control label{color:var(--text-muted);transition:var(--transition-med);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.switch-control:focus-within label{color:var(--accent-primary)}.form-switch-control{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-med);cursor:pointer;justify-content:space-between;align-items:center;width:100%;padding:.6rem .85rem;display:flex}.form-switch-control:hover{background-color:var(--glass-bg-hover);border-color:var(--glass-reflection)}.form-unlock-container{justify-content:center;width:100%;padding:1rem 0;display:flex}.form-unlock-track{background:var(--glass-bg-thin);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);cursor:pointer;align-items:center;width:100%;height:56px;padding:4px;display:flex;position:relative;overflow:hidden}.form-unlock-track.unlocked{background:var(--accent-secondary-glow-subtle);border-color:var(--accent-primary)}.form-unlock-handle{background:var(--glass-bg-deep);border:1px solid var(--glass-border-bright);border-radius:var(--radius-full);width:48px;height:48px;color:var(--text-primary);box-shadow:0 4px 10px var(--overlay-darker);transition:var(--transition-med);justify-content:center;align-items:center;display:flex;position:relative;left:0}.unlocked .form-unlock-handle{background:var(--accent-primary);box-shadow:0 0 15px var(--accent-secondary-glow);left:calc(100% - 48px)}.form-unlock-text{text-align:center;pointer-events:none;width:100%;position:absolute;left:0}.form-unlock-text p{color:var(--text-muted);margin:0;font-size:.875rem;font-weight:600}#reader{overflow:hidden;border:1px solid var(--glass-border)!important;border-radius:var(--radius-lg)!important;background:var(--glass-bg-subtle)!important}#reader button{border-radius:var(--radius-md);transition:var(--transition-med);cursor:pointer;white-space:nowrap;background:var(--accent-secondary-glow-subtle);color:var(--accent-secondary-light);border:1px solid var(--accent-secondary-glow);justify-content:center;align-items:center;gap:.5rem;padding:10px 20px;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}#reader button:hover{background:var(--accent-secondary-glow);color:var(--color-white);border-color:var(--accent-primary)}#reader button:active{transform:translateY(1px)}#reader button#html5-qrcode-button-camera-stop{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}#reader button#html5-qrcode-button-camera-stop:hover{background:var(--color-error-bg);filter:brightness(1.2);border-color:var(--color-error)}#reader select{background:var(--bg-secondary)!important;border:1px solid var(--glass-border)!important;border-radius:var(--radius-md)!important;color:var(--text-muted)!important;cursor:pointer!important;outline:none!important;margin:10px 0!important;padding:8px 12px!important;font-size:14px!important}#reader select:focus{border-color:var(--accent-primary)!important}#reader a{color:var(--accent-secondary-light)!important;text-decoration:none!important}#reader a:hover{text-decoration:underline!important}
