:root{--transition:.45s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-base:#050a12;--bg-grid:#ffffff0a;--glow-teal:#0d4f6e;--glow-magenta:#8b0060;--accent-teal:#00c9c8;--accent-magenta:#e0137c;--text-primary:#e8f0fe;--text-secondary:#7eb8d4;--text-muted:#4a7a90;--nav-bg:#050a12d1;--nav-border:#00c9c81f;--sidebar-bg:#050c16b3;--sidebar-link:#3ab8d4;--sidebar-hover:#00c9c81f;--card-bg:#081626bf;--card-border:#00c9c826;--card-shadow:0 8px 40px #0000008c;--btn-bg:#0f1a24;--btn-border:#2a4a5e;--btn-text:#b0d8e8;--btn-hover-bg:#00c9c81f;--stat-icon-bg:#00c9c814;--badge-online:#00e5b8;--badge-away:#e0b010;--divider:#00c9c81a;--scrollbar:#0d3040}[data-theme=light]{--bg-base:#f0f4f8;--bg-grid:#0000000a;--glow-teal:#c0eaf5;--glow-magenta:#fce4f5;--accent-teal:#0077a8;--accent-magenta:#c0006a;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--nav-bg:#ffffffeb;--nav-border:#0077a826;--sidebar-bg:#ffffffe0;--sidebar-link:#0077a8;--sidebar-hover:#0077a814;--card-bg:#fffffff2;--card-border:#0077a81f;--card-shadow:0 4px 24px #00000014;--btn-bg:#fff;--btn-border:#d1e8f0;--btn-text:#0077a8;--btn-hover-bg:#0077a812;--stat-icon-bg:#0077a814;--badge-online:#00a878;--badge-away:#c07800;--divider:#00000012;--scrollbar:#c5dce8}.w-100{width:100%}.w-50{width:50%}#navbarSupportedContent{justify-content:end}#container{min-height:calc(100vh - 56px);display:flex;position:relative}#left{flex-shrink:0;width:220px;transition:transform .3s,width .3s;overflow-y:auto}#main{flex:1;min-width:0;overflow-x:hidden}body.backstage{background-color:var(--bg-base);color:var(--text-primary);transition:background-color var(--transition), color var(--transition)}body.backstage .navbar{border-bottom:1px solid var(--nav-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color var(--transition), border-color var(--transition);background-color:var(--nav-bg)!important}body.backstage .navbar .navbar-brand,body.backstage .navbar .nav-link{transition:color var(--transition);color:var(--text-primary)!important}body.backstage .navbar-toggler{border-color:var(--btn-border)}[data-theme=dark] body.backstage .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-theme=light] body.backstage .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}body.backstage aside#left{background-color:var(--sidebar-bg);border-right:1px solid var(--divider);transition:background-color var(--transition), border-color var(--transition)}.sidebar-inner{flex-direction:column;gap:20px;padding:16px 12px;display:flex}.side-menu-group{flex-direction:column;gap:6px;display:flex}.side-menu-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:2px;padding:0 10px;font-size:11px;font-weight:700;display:block}.side-menu-items{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.side-menu-items li{margin:0;padding:0;list-style:none}.side-menu-items li a{color:var(--text-secondary);border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.side-menu-items li a svg{color:var(--text-muted);flex-shrink:0;transition:color .2s,transform .2s}.side-menu-items li a:hover{background:var(--sidebar-hover);color:var(--text-primary);transform:translate(2px)}.side-menu-items li a:hover svg{color:var(--accent-teal);transform:scale(1.1)}.side-menu-items li a.active{background:var(--sidebar-hover);color:var(--accent-teal);box-shadow:inset 3px 0 0 var(--accent-teal);border-color:#00c9c833;font-weight:600}.side-menu-items li a.active svg{color:var(--accent-teal)}body.backstage main#main{background-color:var(--bg-base);transition:background-color var(--transition)}.theme-toggle{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;width:46px;height:26px;transition:background var(--transition), border-color var(--transition);border-radius:30px;flex-shrink:0;position:relative}.theme-toggle:before{content:"";background:var(--accent-teal);width:18px;height:18px;transition:transform .35s cubic-bezier(.34, 1.56, .64, 1), background var(--transition);box-shadow:0 0 8px var(--accent-teal);border-radius:50%;position:absolute;top:3px;left:3px}[data-theme=light] .theme-toggle:before{background:var(--accent-magenta);box-shadow:0 0 8px var(--accent-magenta);transform:translate(20px)}.toggle-icon{pointer-events:none;font-size:11px;transition:opacity .25s;position:absolute;top:50%;transform:translateY(-50%)}.toggle-icon.moon{opacity:1;left:6px}.toggle-icon.sun{opacity:0;right:5px}[data-theme=light] .toggle-icon.moon{opacity:0}[data-theme=light] .toggle-icon.sun{opacity:1}body.admin-login-main{background:#f5f7fa;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Inter,sans-serif;display:flex}.backstage-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:600;transition:transform .2s}.backstage-btn:hover{color:#fff;text-decoration:none;transform:translateY(-2px)}.admin-login-main .login-wrapper{background:#fff;border-radius:16px;width:100%;max-width:1000px;height:520px;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000001a}.admin-login-main .login-left{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px;display:flex;position:relative;overflow:hidden}.admin-login-main .login-left:before{content:"";background:#ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-100px}.admin-login-main .login-left:after{content:"";background:#ffffff1a;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-50px;left:-50px}.admin-login-main .brand-content{z-index:1;text-align:center;position:relative}.admin-login-main .brand-logo{width:80px;height:80px;color:var(--primary);background:#fff;border-radius:16px;justify-content:center;align-items:center;margin:0 auto 30px;font-size:36px;font-weight:700;display:flex;box-shadow:0 10px 30px #0003}.admin-login-main .brand-content h2{letter-spacing:-.5px;margin-bottom:20px;font-size:32px;font-weight:700}.admin-login-main .brand-content p{opacity:.9;max-width:350px;font-size:16px;line-height:1.6}.admin-login-main .login-right{flex-direction:column;flex:1;justify-content:center;padding:60px;display:flex}.admin-login-main .login-header{margin-bottom:40px}.admin-login-main .login-header h1{color:#1a202c;margin-bottom:8px;font-size:28px;font-weight:700}.admin-login-main .login-header p{color:#718096;font-size:15px}.admin-login-main .form-group{margin-bottom:24px}.admin-login-main .form-label{color:#2d3748;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.admin-login-main .form-control{color:#2d3748;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:14px 16px;font-size:15px;font-weight:400;transition:all .2s}.admin-login-main .form-control::placeholder{color:#a0aec0}.admin-login-main .form-control:focus{border-color:var(--primary);color:#2d3748;background:#fff;outline:none;box-shadow:0 0 0 3px #3097a51a}.admin-login-main .forgot-password{text-align:right;margin-top:-16px;margin-bottom:24px}.admin-login-main .forgot-password a{color:var(--primary);font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.admin-login-main .forgot-password a:hover{color:var(--secondary)}.admin-login-main .btn-login{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border:none;border-radius:8px;margin-top:8px;padding:14px;font-size:16px;font-weight:600;transition:all .3s}.admin-login-main .btn-login:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #3097a54d}.admin-login-main .btn-login:active{transform:translateY(0)}.divider{align-items:center;margin:30px 0;display:flex}.divider:before,.divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.divider span{color:#a0aec0;padding:0 16px;font-size:14px;font-weight:500}.admin-login-main .frontend-link{color:var(--primary);justify-content:center;align-items:center;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.admin-login-main .frontend-link:hover{color:var(--secondary);text-decoration:none}.admin-login-main .frontend-link:hover:after{margin-left:12px}.welcome-message{background:var(--card-bg);transition:background var(--transition), border-color var(--transition);border-radius:16px;margin-top:18px;padding:16px;border:1px solid var(--card-border)!important}.welcome-message .back-btn{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-text);transition:background var(--transition);border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none}.box-container .card,.product-list-box{background:var(--card-bg);transition:background var(--transition), border-color var(--transition);border-radius:16px;border:1px solid var(--card-border)!important}.form-control-flied{box-sizing:border-box;background:var(--btn-bg);border:1px solid var(--btn-border);width:100%;height:48px;color:var(--text-primary);transition:border-color var(--transition);border-radius:8px;outline:none;padding:0 14px;font-size:15px}select.form-control-flied{box-sizing:border-box;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237eb8d4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;height:48px;padding:0 36px 0 14px}select.form-control-flied option{background:var(--btn-bg);color:var(--text-primary)}textarea.form-control-flied{height:auto;min-height:100px;padding:12px 14px;line-height:1.5}label{color:var(--text-secondary);margin-bottom:6px;font-weight:600;display:block}.multi-color-picker{background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:50px;padding:0 12px;transition:border-color .2s;display:flex}.multi-color-picker:hover{border-color:var(--accent-teal,#3097a5)}.color-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-chip{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-secondary);letter-spacing:.3px;border-radius:8px;align-items:center;gap:6px;padding:4px 8px 4px 4px;font-family:Courier New,monospace;font-size:12px;transition:border-color .15s,background .15s;animation:.2s chipIn;display:inline-flex}@keyframes chipIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.color-chip:hover{border-color:var(--accent-magenta,#e0137c)}.chip-dot{border:2px solid #ffffff26;border-radius:6px;flex-shrink:0;width:24px;height:24px}.chip-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;font-weight:600;line-height:1;transition:color .15s}.chip-remove:hover{color:var(--accent-magenta,#e0137c)}.color-add-btn{border:2px dashed var(--btn-border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,color .2s,background .2s;display:flex}.color-add-btn:hover{border-color:var(--accent-teal,#3097a5);color:var(--accent-teal,#3097a5);background:var(--btn-hover-bg)}.color-picker-hidden{opacity:0;pointer-events:none;border:none;width:0;height:0;padding:0;position:absolute}.photo-upload-zone{border:2px dashed var(--btn-border);background:var(--btn-bg);cursor:pointer;text-align:center;color:var(--text-muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 20px;transition:border-color .2s,background .2s;display:flex;position:relative}.photo-upload-zone:hover,.photo-upload-zone.drag-over{border-color:var(--accent-teal,#3097a5);background:#3097a50d}.photo-upload-zone.drag-over{background:#3097a51a}.photo-upload-zone svg{color:var(--text-muted);opacity:.6}.upload-text{color:var(--text-secondary);margin:0;font-size:14px}.upload-link{color:var(--accent-teal,#3097a5);cursor:pointer;font-weight:600;text-decoration:underline}.upload-hint{color:var(--text-muted);margin:0;font-size:12px}.photo-file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.photo-preview-grid{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.photo-thumb{border:2px solid var(--card-border);background:var(--card-bg);cursor:grab;border-radius:10px;width:110px;height:110px;transition:border-color .2s,transform .15s,box-shadow .2s;animation:.2s chipIn;position:relative;overflow:hidden}.photo-thumb:hover{border-color:var(--accent-teal,#3097a5);box-shadow:0 4px 14px #00000026}.photo-thumb.dragging{opacity:.4;transform:scale(.95)}.photo-thumb.drag-over-thumb{border-color:var(--accent-teal,#3097a5);box-shadow:0 0 0 3px #3097a54d}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-drag-handle{opacity:0;cursor:grab;background:#00000080;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .15s;display:flex;position:absolute;top:4px;left:4px}.photo-thumb:hover .thumb-drag-handle{opacity:1}.thumb-drag-handle svg{color:#fff}.thumb-remove{color:#fff;cursor:pointer;opacity:0;background:#e0137cd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:700;line-height:1;transition:opacity .15s,background .15s;display:flex;position:absolute;top:4px;right:4px}.photo-thumb:hover .thumb-remove{opacity:1}.thumb-remove:hover{background:#e0137c}.thumb-badge{color:#fff;text-align:center;letter-spacing:.5px;text-transform:uppercase;background:#3097a5d9;padding:2px 0;font-size:10px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.form-checkbox{align-items:center;gap:12px;display:flex}.form-checkbox input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.form-checkbox label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);align-items:center;gap:10px;margin-bottom:0;font-size:15px;font-weight:500;display:inline-flex;position:relative}.form-checkbox label:before{content:"";background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .3s,border-color .3s}.form-checkbox label:after{content:"";background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:transform .3s,background .3s;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.form-checkbox input[type=checkbox]:checked+label:before{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);border-color:#0000}.form-checkbox input[type=checkbox]:checked+label:after{background:#fff;transform:translateY(-50%)translate(20px)}.form-checkbox input[type=checkbox]:focus+label:before{box-shadow:0 0 0 3px #3097a540}.bs-list-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.bs-list{width:100%}.bs-list-min-width{min-width:620px}.bs-col-name{flex:0 0 25%;max-width:25%}.bs-col-slug{flex:0 0 22%;max-width:22%}.bs-col-count{flex:0 0 13%;max-width:13%}.bs-col-status{flex:0 0 15%;max-width:15%}.bs-col-action{flex:0 0 25%;max-width:25%}.bs-list-head{border-bottom:2px solid var(--divider);color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;flex-wrap:nowrap;justify-content:space-between;padding:10px 0;font-size:12px;font-weight:700}.bs-list-head>[class*=col]{padding:8px 12px}.bs-list-row{border-bottom:1px solid var(--divider);transition:background var(--transition);flex-wrap:nowrap;justify-content:space-between;padding:4px 0}.bs-list-row:last-child{border-bottom:none}.bs-list-row:hover{background:var(--btn-bg);border-radius:8px}.bs-list-row>[class*=col]{color:var(--text-secondary);padding:14px 12px;font-size:14px}.bs-list-name{font-weight:600;color:var(--text-primary)!important}.bs-list-slug{font-family:monospace;font-size:13px!important}.bs-list-count{font-size:13px!important}.bs-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.category-badge{white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.category-badge.badge-active{color:var(--badge-online);background:#00e5b826}.category-badge.badge-draft{color:var(--badge-away);background:#e0b01026}.filter-tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.filter-tab{border:1px solid var(--card-border);background:var(--btn-bg);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s}.filter-tab.active,.filter-tab:hover{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border-color:var(--accent-teal)}.product-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:16px;height:100%;transition:transform .18s;overflow:hidden}.product-card:hover{transform:translateY(-3px)}.product-img{background:var(--stat-icon-bg);justify-content:center;align-items:center;height:170px;display:flex;position:relative;overflow:hidden}.product-img img{object-fit:cover;width:100%;height:100%}.product-img .img-icon{opacity:.35;color:var(--text-muted)}.badge-status{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700;position:absolute;top:10px;left:10px}.badge-published{color:var(--badge-online);background:#00e5b826;border:1px solid #00e5b84d}.badge-draft{color:var(--badge-away);background:#e0b01026;border:1px solid #e0b0104d}.badge-type{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:600;position:absolute;top:10px;right:10px}body.backstage .product-body{padding:16px 18px}body.backstage .product-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:15px;font-weight:600;overflow:hidden}body.backstage .product-type-line{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:12px;font-size:12px;display:flex}body.backstage .product-meta-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}body.backstage .product-price{color:var(--accent-teal);font-size:18px;font-weight:700}body.backstage .product-sku{color:var(--text-muted);background:var(--stat-icon-bg);border:1px solid var(--card-border);border-radius:6px;padding:2px 8px;font-family:Courier New,monospace;font-size:11px}body.backstage .product-divider{border:none;border-top:1px solid var(--divider);margin:0 0 14px}.btn-action{border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 0;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-action:hover{background:var(--btn-hover-bg);border-color:var(--accent-teal);color:var(--accent-teal)}.btn-action.btn-delete:hover{border-color:var(--accent-magenta);color:var(--accent-magenta);background:#e0137c1a}.btn-publish{cursor:pointer;border:none;border-radius:8px;flex:1.4;justify-content:center;align-items:center;gap:5px;padding:7px 0;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-publish.is-published{color:var(--accent-magenta);background:#e0137c1f;border:1px solid #e0137c40}.btn-publish.is-published:hover{background:#e0137c38}.btn-publish.is-draft{background:var(--accent-teal);color:#fff}.btn-publish.is-draft:hover{opacity:.85}.actions-row{gap:6px;display:flex}.fm-container{gap:20px;min-height:500px;display:flex}.fm-tree{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;flex-shrink:0;width:260px;max-height:calc(100vh - 200px);padding:16px;position:sticky;top:80px;overflow-y:auto}.fm-tree-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.fm-tree-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.fm-tree-add-btn{border:1px dashed var(--btn-border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.fm-tree-add-btn:hover{border-color:var(--accent-teal);color:var(--accent-teal);background:var(--btn-hover-bg)}.fm-tree-root{color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.fm-tree-root:hover{background:var(--sidebar-hover);color:var(--sidebar-link)}.fm-tree-root.active{color:var(--accent-teal);background:#00c9c81a}.fm-tree-node{margin-bottom:1px}.fm-tree-item{cursor:default;border-radius:8px;align-items:center;gap:4px;padding:6px 8px;font-size:13px;transition:all .15s;display:flex}.fm-tree-item:hover{background:var(--sidebar-hover)}.fm-tree-item.active{background:#00c9c81a}.fm-tree-item.active .fm-tree-link{color:var(--accent-teal);font-weight:600}.fm-tree-toggle{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .2s;display:flex}.fm-tree-toggle:hover{background:var(--btn-hover-bg);color:var(--accent-teal)}.fm-tree-node:not(.collapsed)>.fm-tree-item>.fm-tree-toggle{transform:rotate(90deg)}.fm-tree-toggle-spacer{flex-shrink:0;width:18px}.fm-tree-link{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;min-width:0;text-decoration:none;display:flex;overflow:hidden}.fm-tree-link span{text-overflow:ellipsis;overflow:hidden}.fm-tree-link:hover{color:var(--sidebar-link)}.fm-tree-children{transition:all .2s}.fm-tree-node.collapsed>.fm-tree-children{display:none}.fm-content{flex:1;min-width:0}.fm-breadcrumb{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;padding:12px 16px;display:flex}.fm-breadcrumb-link{color:var(--sidebar-link);align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.fm-breadcrumb-link:hover{color:var(--accent-teal)}.fm-breadcrumb-sep{color:var(--text-muted);align-items:center;display:flex}.fm-breadcrumb-current{color:var(--text-primary);font-size:13px;font-weight:600}.fm-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.fm-toolbar-left{flex-wrap:wrap;gap:8px;display:flex}.fm-count{color:var(--text-muted);font-size:13px;font-weight:500}.fm-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.fm-btn-sm{border-radius:8px;padding:6px 14px;font-size:12px}.fm-btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border:none}.fm-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #3097a54d}.fm-btn-secondary{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border)}.fm-btn-secondary:hover{background:var(--btn-hover-bg);border-color:var(--accent-teal);color:var(--accent-teal)}.fm-btn-ghost{color:var(--text-muted);background:0 0;border:1px solid #0000}.fm-btn-ghost:hover{color:var(--text-primary);background:var(--btn-hover-bg)}.fm-btn-danger{color:#fff;background:#e0137ce6;border:none}.fm-btn-danger:hover{background:#e0137c;transform:translateY(-1px)}.fm-upload-zone{margin-bottom:16px}.fm-upload-destination{color:var(--text-secondary);background:#06b6d414;border:1px solid #06b6d440;border-radius:8px;align-items:center;gap:7px;margin-bottom:10px;padding:8px 14px;font-size:12.5px;display:flex}.fm-upload-destination strong{color:#06b6d4;font-family:Courier New,monospace;font-size:12px}.fm-drop-area{border:2px dashed var(--btn-border);background:var(--card-bg);cursor:pointer;text-align:center;color:var(--text-muted);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 20px;transition:all .2s;display:flex}.fm-drop-area:hover,.fm-drop-area.drag-over{border-color:var(--accent-teal);background:#3097a50d}.fm-drop-area.drag-over{background:#3097a51a;transform:scale(1.01)}.fm-drop-text{color:var(--text-secondary);margin:0;font-size:14px}.fm-drop-link{color:var(--accent-teal);font-weight:600;text-decoration:underline}.fm-drop-hint{color:var(--text-muted);margin:0;font-size:12px}.fm-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.fm-upload-progress{align-items:center;gap:12px;margin-top:12px;display:flex}.fm-progress-bar{background:var(--btn-bg);border-radius:3px;flex:1;height:6px;overflow:hidden}.fm-progress-fill{background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:3px;width:0%;height:100%;transition:width .3s}.fm-progress-text{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.fm-alert{border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:500;animation:.3s chipIn;display:flex}.fm-alert-success{color:var(--badge-online);background:#00e5b81a;border:1px solid #00e5b840}.fm-new-folder-inline{margin-bottom:16px;animation:.2s chipIn}.fm-new-folder-row{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;align-items:center;gap:10px;padding:10px 16px;display:flex}.fm-new-folder-row svg{color:var(--accent-teal);flex-shrink:0}.fm-inline-input{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:14px;transition:border-color .2s}.fm-inline-input:focus{border-color:var(--accent-teal)}.fm-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.fm-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;flex-direction:column;transition:border-color .2s,transform .18s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.fm-card:hover{border-color:#00c9c880;transform:translateY(-3px);box-shadow:0 8px 28px #00000040}.fm-card-link{color:inherit;cursor:pointer;flex-direction:column;flex:1;align-items:center;padding:22px 12px 10px;text-decoration:none;display:flex}a.fm-card-link,a.fm-card-link:hover{color:inherit;text-decoration:none}.fm-card-thumb{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:12px;display:flex;position:relative;overflow:hidden}.fm-folder-thumb{color:var(--accent-teal);background:linear-gradient(145deg,#00c9c82e,#00c9c80f);border:1px solid #00c9c833}.fm-file-thumb{background:var(--stat-icon-bg);border:1px solid var(--card-border)}.fm-file-thumb .fm-preview-img{object-fit:cover;border-radius:13px;width:100%;height:100%}.fm-pdf-thumb{width:100%;height:100%;color:var(--accent-magenta);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.fm-pdf-badge{letter-spacing:.5px;color:var(--accent-magenta);background:#e0137c1f;border:1px solid #e0137c40;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:800}.fm-card-info{text-align:center;width:100%}.fm-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;width:100%;margin:0 0 3px;font-size:12.5px;font-weight:600;line-height:1.3;overflow:hidden}.fm-card-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:10.5px;overflow:hidden}.fm-card-actions{border-top:1px solid var(--divider);opacity:0;justify-content:center;align-items:center;gap:4px;padding:8px 10px 10px;transition:opacity .15s;display:flex}.fm-card:hover .fm-card-actions{opacity:1}.fm-action-btn{border:1px solid var(--btn-border);background:var(--btn-bg);width:28px;height:28px;color:var(--btn-text);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex}.fm-action-btn:hover{background:var(--btn-hover-bg);border-color:var(--accent-teal);color:var(--accent-teal);text-decoration:none}.fm-btn-del:hover{border-color:var(--accent-magenta)!important;color:var(--accent-magenta)!important;background:#e0137c1a!important}.fm-empty{color:var(--text-muted);text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:70px 20px;display:flex}.fm-empty svg{opacity:.25;margin-bottom:20px}.fm-empty p{color:var(--text-secondary);margin:0 0 6px;font-size:16px;font-weight:700}.fm-empty span{color:var(--text-muted);font-size:13px}.fm-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fm-modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;width:100%;max-width:440px;margin:20px;animation:.2s chipIn;box-shadow:0 24px 64px #00000080}.fm-modal-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.fm-modal-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.fm-modal-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:all .15s;display:flex}.fm-modal-close:hover{color:var(--accent-magenta);background:#e0137c1a}.fm-modal-body{padding:22px}.fm-modal-body p{color:var(--text-secondary);margin:0 0 8px;font-size:14px;line-height:1.6}.fm-modal-body label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.fm-delete-warning{background:#e0137c12;border:1px solid #e0137c2e;border-radius:8px;font-weight:500;color:var(--accent-magenta)!important;margin-top:4px!important;padding:8px 12px!important;font-size:12.5px!important}.fm-modal-footer{border-top:1px solid var(--divider);justify-content:flex-end;align-items:center;gap:8px;padding:14px 22px;display:flex}.fm-preview-modal{max-width:580px}.fm-preview-body{padding:0}.fm-preview-img-wrap{background:#0000004d;border-radius:0;justify-content:center;align-items:center;min-height:260px;max-height:340px;display:flex;overflow:hidden}.fm-preview-full-img{object-fit:contain;max-width:100%;max-height:340px;display:block}.fm-preview-file-icon{min-height:180px;color:var(--text-muted);background:#0003;justify-content:center;align-items:center;display:flex}.fm-preview-details{flex-direction:column;gap:12px;padding:18px 22px 6px;display:flex}.fm-preview-detail-row{align-items:flex-start;gap:12px;display:flex}.fm-preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex-shrink:0;min-width:44px;padding-top:2px;font-size:11.5px;font-weight:700}.fm-preview-value{color:var(--text-primary);word-break:break-all;font-size:13.5px;font-weight:500;line-height:1.5}.fm-preview-path{color:var(--text-secondary);border:1px solid var(--divider);background:#ffffff0a;border-radius:6px;padding:5px 9px;font-family:Courier New,monospace;font-size:12px}@media (width<=991px){.fm-container{flex-direction:column}.fm-tree{width:100%;max-height:220px;position:static;overflow-x:auto}}@media (width<=576px){.fm-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.fm-card-thumb{width:52px;height:52px}}.art-section-actions{border-top:1px solid var(--divider);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;display:flex}.art-flash{border-radius:8px;margin-bottom:20px;padding:12px 18px;font-size:13px;font-weight:500}.art-flash--success{background:color-mix(in srgb, var(--accent-teal) 12%, transparent);color:var(--accent-teal);border:1px solid color-mix(in srgb, var(--accent-teal) 30%, transparent)}.art-records{border:1px solid var(--divider);border-radius:10px;margin-bottom:28px;overflow:hidden}.art-tabs{border-bottom:1px solid var(--divider);gap:6px;margin-bottom:18px;padding-bottom:16px;display:flex}.art-tab{border:1px solid var(--divider);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.art-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.art-tab.active{background:color-mix(in srgb, var(--accent-teal) 14%, transparent);border-color:color-mix(in srgb, var(--accent-teal) 35%, transparent);color:var(--accent-teal)}.art-tab-badge{background:var(--accent-teal);color:#000;border-radius:99px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.art-tab-cancel{color:#ff4d6d;cursor:pointer;background:#ff4d6d14;border:1px solid #ff4d6d4d;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.art-tab-cancel:hover{background:#ff4d6d29}.art-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:36px 0;display:flex}.art-empty svg{opacity:.35}.art-empty p{margin:0;font-size:13px}.art-records-head{background:color-mix(in srgb, var(--surface-2) 80%, transparent);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--divider);padding:10px 16px;font-size:11px;font-weight:600}.art-record-list{margin:0;padding:0;list-style:none}.art-record-item{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;transition:background .15s;display:flex}.art-record-item:last-child{border-bottom:none}.art-record-item:hover{background:color-mix(in srgb, var(--accent-teal) 4%, transparent)}.art-record-info{flex-direction:column;gap:2px;min-width:0;display:flex}.art-record-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.art-record-meta{color:var(--text-muted);font-size:11px}.art-record-actions{flex-shrink:0;gap:8px;display:flex}.art-btn-edit,.art-btn-delete{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.art-btn-edit{background:color-mix(in srgb, var(--accent-teal) 12%, transparent);color:var(--accent-teal);border-color:color-mix(in srgb, var(--accent-teal) 25%, transparent)}.art-btn-edit:hover{background:color-mix(in srgb, var(--accent-teal) 22%, transparent)}.art-btn-delete{color:#ff4d6d;background:#ff4d6d1a;border-color:#ff4d6d40}.art-btn-delete:hover{background:#ff4d6d33}.settings-accordion{flex-direction:column;gap:20px;margin-bottom:2rem;display:flex}.acc-item{background:var(--card-bg);border:1px solid var(--card-border);border-left:4px solid var(--text-muted);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;transition:all .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.acc-item:hover{border-color:color-mix(in srgb, var(--accent-teal) 35%, transparent);box-shadow:var(--card-shadow), 0 12px 30px #00000026;transform:translateY(-2px)}.acc-item.open{border-color:color-mix(in srgb, var(--accent-teal) 45%, transparent);box-shadow:var(--card-shadow), 0 16px 40px #0003;transform:translateY(0)}.acc-item#acc-social{border-left-color:var(--accent-teal)}.acc-item#acc-logo{border-left-color:var(--accent-magenta)}.acc-item#acc-contact{border-left-color:var(--accent-teal)}.acc-item.open#acc-social{border-color:color-mix(in srgb, var(--accent-teal) 45%, transparent)}.acc-item.open#acc-logo{border-color:color-mix(in srgb, var(--accent-magenta) 45%, transparent)}.acc-item.open#acc-contact{border-color:color-mix(in srgb, var(--accent-teal) 45%, transparent)}.acc-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:20px 24px;transition:background .3s;display:flex}.acc-header:hover{background:var(--sidebar-hover)}.acc-header-left{align-items:center;gap:18px;display:flex}.acc-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex}.acc-icon--teal{background:color-mix(in srgb, var(--accent-teal) 8%, transparent);color:var(--accent-teal);border:1px solid color-mix(in srgb, var(--accent-teal) 20%, transparent);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-teal) 8%, transparent)}.acc-icon--magenta{background:color-mix(in srgb, var(--accent-magenta) 8%, transparent);color:var(--accent-magenta);border:1px solid color-mix(in srgb, var(--accent-magenta) 20%, transparent);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-magenta) 8%, transparent)}.acc-item:hover .acc-icon--teal{background:color-mix(in srgb, var(--accent-teal) 15%, transparent);box-shadow:0 0 15px color-mix(in srgb, var(--accent-teal) 30%, transparent)}.acc-item:hover .acc-icon--magenta{background:color-mix(in srgb, var(--accent-magenta) 15%, transparent);box-shadow:0 0 15px color-mix(in srgb, var(--accent-magenta) 30%, transparent)}.acc-label{color:var(--text-primary);letter-spacing:.2px;font-size:15px;font-weight:700;transition:color .3s}.acc-item.open#acc-social .acc-label,.acc-item.open#acc-contact .acc-label{color:var(--accent-teal)}.acc-item.open#acc-logo .acc-label{color:var(--accent-magenta)}.acc-sub{color:var(--text-secondary);opacity:.85;margin-top:4px;font-size:12px}.acc-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s}.acc-item.open .acc-chevron{color:var(--accent-teal);transform:rotate(180deg)}.acc-item.open#acc-logo .acc-chevron{color:var(--accent-magenta)}.acc-body{max-height:0;transition:max-height .45s cubic-bezier(.16,1,.3,1);overflow:hidden}.acc-item.open .acc-body{max-height:1500px}.acc-content{border-top:1px solid var(--divider);background:color-mix(in srgb, var(--bg-base) 20%, transparent);padding:24px 28px 32px}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field-group{flex-direction:column;gap:8px;display:flex}.field-group--full{grid-column:1/-1}.field-group label{color:var(--text-secondary);letter-spacing:.8px;text-transform:uppercase;font-size:12px;font-weight:700;transition:color .3s}.field-group:focus-within label{color:var(--accent-teal)}.acc-item#acc-logo .field-group:focus-within label{color:var(--accent-magenta)}.field-group input,.field-group textarea{border:1px solid var(--btn-border);background:var(--btn-bg);width:100%;color:var(--text-primary);border-radius:12px;outline:none;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 4px #0000000d}.field-group input:focus,.field-group textarea:focus{border-color:var(--accent-teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-teal) 15%, transparent)}.acc-item#acc-logo .field-group input:focus,.acc-item#acc-logo .field-group textarea:focus{border-color:var(--accent-magenta);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-magenta) 15%, transparent)}.field-group input::placeholder,.field-group textarea::placeholder{color:var(--text-muted);opacity:.6}.field-group textarea{resize:vertical;min-height:110px;line-height:1.6}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap input{padding-left:44px}.input-icon{color:var(--text-muted);pointer-events:none;flex-shrink:0;transition:color .3s;position:absolute;left:16px}.field-group:focus-within .input-icon{color:var(--accent-teal)}.acc-item#acc-logo .field-group:focus-within .input-icon{color:var(--accent-magenta)}.field-hint{color:var(--text-muted);margin-top:4px;margin-bottom:0;font-size:12px;line-height:1.5}.image-picker-field{background:color-mix(in srgb, var(--bg-base) 30%, transparent);border:1px dashed color-mix(in srgb, var(--accent-teal) 20%, transparent);border-radius:16px;align-items:center;gap:24px;padding:16px;transition:all .3s;display:flex}.acc-item#acc-logo .image-picker-field{border-color:color-mix(in srgb, var(--accent-magenta) 20%, transparent)}.image-picker-field:hover{background:color-mix(in srgb, var(--bg-base) 50%, transparent);border-color:var(--accent-teal)}.acc-item#acc-logo .image-picker-field:hover{border-color:var(--accent-magenta)}.image-picker-preview{border:1px solid var(--btn-border);background:var(--btn-bg);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:84px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000000d}.image-picker-preview--sm{width:84px;height:84px}.image-picker-preview:hover{border-color:var(--accent-teal);transform:scale(1.03)}.acc-item#acc-logo .image-picker-preview:hover{border-color:var(--accent-magenta)}.image-picker-preview img{object-fit:contain;width:100%;height:100%;padding:6px;transition:transform .3s}.image-picker-preview:hover img{transform:scale(1.05)}.image-picker-placeholder{flex-direction:column;align-items:center;gap:6px;display:flex}.image-picker-placeholder span{color:var(--text-muted);text-align:center;font-size:11px;font-weight:500;line-height:1.4}.image-picker-placeholder svg{color:var(--text-muted);opacity:.6}.image-picker-actions{flex-direction:column;flex-grow:1;gap:8px;display:flex}.settings-pick-btn{background:var(--btn-bg);border:1px solid var(--accent-teal);color:var(--accent-teal);cursor:pointer;letter-spacing:.2px;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .25s;display:inline-flex}.acc-item#acc-logo .settings-pick-btn{border-color:var(--accent-magenta);color:var(--accent-magenta)}.settings-pick-btn:hover{background:color-mix(in srgb, var(--accent-teal) 8%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-teal) 15%, transparent);transform:translateY(-1px)}.acc-item#acc-logo .settings-pick-btn:hover{background:color-mix(in srgb, var(--accent-magenta) 8%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-magenta) 15%, transparent)}.settings-clear-btn{border:1px solid var(--btn-border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.settings-clear-btn:hover{color:#ff3b6b;background:#ff3b6b0d;border-color:#ff3b6b}.settings-save-bar{z-index:100;background:color-mix(in srgb, var(--card-bg) 85%, transparent);border:1px solid color-mix(in srgb, var(--accent-teal) 20%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--card-shadow), 0 0 20px color-mix(in srgb, var(--accent-teal) 5%, transparent);border-radius:16px;justify-content:flex-end;align-items:center;gap:12px;margin-top:30px;padding:16px 24px;transition:all .3s;display:flex;position:sticky;bottom:20px}.settings-save-bar:hover{border-color:color-mix(in srgb, var(--accent-teal) 35%, transparent);box-shadow:var(--card-shadow), 0 0 25px color-mix(in srgb, var(--accent-teal) 10%, transparent)}.settings-save-msg{color:var(--accent-teal);background:color-mix(in srgb, var(--accent-teal) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent-teal) 15%, transparent);border-radius:20px;align-items:center;gap:8px;margin-right:auto;padding:6px 14px;font-size:13px;font-weight:600;animation:2s ease-in-out infinite pulseGlow;display:inline-flex}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #00c9c80d}50%{box-shadow:0 0 15px color-mix(in srgb, var(--accent-teal) 25%, transparent)}}.settings-btn-save{background:var(--accent-teal);color:var(--bg-base);cursor:pointer;letter-spacing:.3px;box-shadow:0 4px 15px color-mix(in srgb, var(--accent-teal) 25%, transparent);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 28px;font-size:14px;font-weight:700;transition:all .3s;display:inline-flex}.settings-btn-save:hover{box-shadow:0 6px 20px color-mix(in srgb, var(--accent-teal) 45%, transparent);opacity:.95;transform:translateY(-1px)}.settings-btn-save:active{transform:translateY(1px)}.settings-btn-reset{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-secondary);cursor:pointer;border-radius:12px;align-items:center;padding:12px 22px;font-size:14px;font-weight:600;transition:all .25s;display:inline-flex}.settings-btn-reset:hover{border-color:var(--text-muted);color:var(--text-primary);background:#00000008}[data-theme=dark] .settings-btn-reset:hover{background:#ffffff08}.fp-overlay{z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000bf;justify-content:center;align-items:center;padding:24px;animation:.3s fadeInOverlay;display:flex;position:fixed;inset:0}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.fp-modal{background:var(--card-bg);border:1px solid var(--card-border);width:100%;max-width:920px;max-height:85vh;box-shadow:0 25px 80px #0000004d, 0 0 30px color-mix(in srgb, var(--accent-teal) 10%, transparent);border-radius:20px;flex-direction:column;animation:.4s cubic-bezier(.16,1,.3,1) slideUpModal;display:flex;overflow:hidden}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fp-header{border-bottom:1px solid var(--divider);background:color-mix(in srgb, var(--bg-base) 30%, transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.fp-header-left{color:var(--text-primary);letter-spacing:.2px;align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.fp-header-left svg{color:var(--accent-teal);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent-teal) 40%, transparent))}.fp-close{background:var(--btn-bg);border:1px solid var(--btn-border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.fp-close:hover{color:var(--accent-magenta);border-color:var(--accent-magenta);background:color-mix(in srgb, var(--accent-magenta) 5%, transparent);transform:rotate(90deg)}.fp-body{flex:1;min-height:0;display:flex;overflow:hidden}.fp-sidebar{border-right:1px solid var(--divider);background:color-mix(in srgb, var(--bg-base) 20%, transparent);flex-shrink:0;width:210px;padding:20px 0;overflow-y:auto}.fp-sidebar-title{letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;padding:0 20px 12px;font-size:11px;font-weight:800}.fp-folder-item{color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s;display:flex;overflow:hidden}.fp-folder-item:hover{background:var(--sidebar-hover);color:var(--text-primary);padding-left:23px}.fp-folder-item.active{background:color-mix(in srgb, var(--accent-teal) 8%, transparent);color:var(--accent-teal);border-left-color:var(--accent-teal);font-weight:700}.fp-folder-item--sub{padding-left:34px}.fp-folder-item--sub:hover{padding-left:37px}.fp-folder-item svg{color:var(--text-muted);flex-shrink:0;transition:color .2s}.fp-folder-item.active svg{color:var(--accent-teal);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent-teal) 30%, transparent))}.fp-main{background:color-mix(in srgb, var(--bg-base) 10%, transparent);flex-direction:column;flex:1;display:flex;overflow:hidden}.fp-toolbar{border-bottom:1px solid var(--divider);background:color-mix(in srgb, var(--bg-base) 15%, transparent);flex-shrink:0;align-items:center;gap:14px;padding:14px 20px;display:flex}.fp-search{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:13px;transition:all .3s}.fp-search::placeholder{color:var(--text-muted)}.fp-search:focus{border-color:var(--accent-teal);background:var(--btn-bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-teal) 15%, transparent)}.fp-count{color:var(--accent-teal);white-space:nowrap;background:color-mix(in srgb, var(--accent-teal) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent-teal) 15%, transparent);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.fp-loading,.fp-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px;font-size:14px;display:flex}.fp-empty svg{color:var(--text-muted);opacity:.4;filter:drop-shadow(0 0 8px #0000001a)}.fp-empty p{color:var(--text-muted);margin:0;font-weight:500}.fp-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;padding:20px;display:grid;overflow-y:auto}.fp-img-card{border:1px solid var(--card-border);background:var(--btn-bg);cursor:pointer;border-radius:14px;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 4px 10px #0000000d}.fp-img-card:hover{border-color:var(--accent-teal);transform:translateY(-3px);box-shadow:0 8px 24px #0006,0 0 10px #00c9c826}.fp-img-card.selected{border-color:var(--accent-teal);background:#00c9c80d;box-shadow:0 0 0 3px #00c9c840,0 8px 24px #0006}.fp-img-card.selected:after{content:"✓";background:var(--accent-teal);color:#03070d;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00c9c866}.fp-img-card img{object-fit:cover;width:100%;height:100px;transition:transform .3s;display:block}.fp-img-card:hover img{transform:scale(1.04)}.fp-img-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;border-top:1px solid var(--divider);background:color-mix(in srgb, var(--card-bg) 80%, transparent);padding:8px 10px;font-size:11px;font-weight:600;overflow:hidden}.fp-footer{border-top:1px solid var(--divider);background:color-mix(in srgb, var(--bg-base) 30%, transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.fp-selected-info{color:var(--text-secondary);font-size:13px;font-weight:600}.fp-footer-actions{gap:10px;display:flex}.fp-btn-cancel{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.fp-btn-cancel:hover{border-color:var(--text-muted);color:var(--text-primary);background:#00000008}[data-theme=dark] .fp-btn-cancel:hover{background:#ffffff08}.fp-btn-confirm{background:var(--accent-teal);color:var(--bg-base);cursor:pointer;letter-spacing:.2px;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 24px;font-size:13px;font-weight:700;transition:all .25s;display:inline-flex}.fp-btn-confirm:disabled{opacity:.35;cursor:not-allowed;background:var(--btn-border);color:var(--text-muted)}.fp-btn-confirm:not(:disabled):hover{box-shadow:0 4px 15px color-mix(in srgb, var(--accent-teal) 30%, transparent);transform:translateY(-1px)}@keyframes fp-spin{to{transform:rotate(360deg)}}.fp-spin{animation:.85s linear infinite fp-spin}#variants-section{border:1px solid var(--card-border);background:var(--card-bg);transition:border-color var(--transition);border-radius:12px;padding:20px 22px 18px}.variants-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.variants-title{color:var(--text-primary);letter-spacing:.3px;margin-bottom:3px;font-size:15px;font-weight:700}.variants-hint{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.5}.variant-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3097a5 0%,#1d7a86 100%);border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 3px 12px #3097a54d}.variant-add-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3097a566}.variant-add-btn:active{transform:translateY(0)}.variant-notice{color:#e5527a;background:#b1245e1f;border:1px solid #b1245e59;border-radius:7px;align-items:center;gap:8px;margin-bottom:14px;padding:9px 14px;font-size:13px;display:flex}.variants-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--divider);border-radius:8px;overflow-x:auto}.variants-table{border-collapse:collapse;width:100%;min-width:560px}.variants-table thead tr{border-bottom:1px solid var(--divider);background:#3097a512}.variants-table th{text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);text-align:left;white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:700}.variants-table th:first-child{text-align:center;width:42px}.variants-table th:last-child{text-align:center;width:60px}.variant-row{border-bottom:1px solid var(--divider);transition:background .18s;animation:.22s vrRowIn}@keyframes vrRowIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.variant-row:last-child{border-bottom:none}.variant-row:hover{background:#3097a50a}.variant-row td{vertical-align:middle;padding:10px 14px}.vr-num{text-align:center}.variant-badge{color:#3097a5;background:#3097a51f;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.variant-row .form-control-flied{border-radius:7px;min-width:130px;padding:9px 11px;font-size:13.5px}.variant-row .vr-qty{min-width:90px;max-width:120px}.variant-remove-btn{color:#b1245e;cursor:pointer;background:#b1245e12;border:1px solid #b1245e4d;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;margin:auto;transition:background .18s,border-color .18s,transform .18s;display:flex}.variant-remove-btn:hover{background:#b1245e2e;border-color:#b1245e8c;transform:scale(1.08)}.variants-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:36px 20px;font-size:13.5px;display:flex}.variants-empty svg{opacity:.4}@media (width<=600px){.variants-header{flex-direction:column;align-items:flex-start}.variant-add-btn{justify-content:center;width:100%}#variants-section{padding:14px}}
