:root{--qb-primary: #e63946;--qb-primary-dark: #c62828;--qb-primary-light: #ff6b6b;--qb-secondary: #1d3557;--qb-accent: #457b9d;--qb-white: #ffffff;--qb-black: #0a0a0a;--qb-gray-50: #f8fafc;--qb-gray-100: #f1f5f9;--qb-gray-200: #e2e8f0;--qb-gray-300: #cbd5e1;--qb-gray-400: #94a3b8;--qb-gray-500: #64748b;--qb-gray-600: #475569;--qb-gray-700: #334155;--qb-gray-800: #1e293b;--qb-gray-900: #0f172a;--qb-success: #22c55e;--qb-warning: #f59e0b;--qb-danger: #ef4444;--qb-info: #3b82f6;--qb-font: "Segoe UI", system-ui, -apple-system, sans-serif;--qb-font-mono: "Consolas", "Courier New", monospace;--qb-text: var(--qb-gray-800);--qb-text-muted: var(--qb-gray-500);--qb-space-1: 4px;--qb-space-2: 8px;--qb-space-3: 12px;--qb-space-4: 16px;--qb-space-5: 20px;--qb-space-6: 24px;--qb-space-8: 32px;--qb-space-10: 40px;--qb-space-12: 48px;--qb-space-16: 64px;--qb-radius-sm: 6px;--qb-radius: 10px;--qb-radius-lg: 16px;--qb-radius-xl: 24px;--qb-radius-full: 9999px;--qb-shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--qb-shadow: 0 4px 16px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);--qb-shadow-lg: 0 10px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.08);--qb-shadow-xl: 0 20px 60px rgba(0,0,0,.15);--qb-sidebar-w: 260px;--qb-header-h: 60px;--qb-max-width: 1280px;--qb-transition: .2s ease;--qb-transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--qb-font);color:var(--qb-text);background:var(--qb-gray-50);line-height:1.6;min-height:100vh}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.2}h2{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;line-height:1.3}h3{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600}h4{font-size:1.1rem;font-weight:600}p{margin-bottom:var(--qb-space-4)}small{font-size:.8rem}.qb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--qb-radius);font-size:.9rem;font-weight:600;transition:all var(--qb-transition);cursor:pointer;min-height:44px;white-space:nowrap;border:2px solid transparent;text-decoration:none;font-family:var(--qb-font)}.qb-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.qb-btn--primary{background:var(--qb-primary);color:#fff;border-color:var(--qb-primary)}.qb-btn--primary:hover{background:var(--qb-primary-dark);border-color:var(--qb-primary-dark);transform:translateY(-1px);box-shadow:var(--qb-shadow)}.qb-btn--secondary{background:var(--qb-secondary);color:#fff;border-color:var(--qb-secondary)}.qb-btn--secondary:hover{opacity:.9;transform:translateY(-1px)}.qb-btn--outline{background:transparent;color:var(--qb-primary);border-color:var(--qb-primary)}.qb-btn--outline:hover{background:var(--qb-primary);color:#fff}.qb-btn--ghost{background:transparent;color:var(--qb-gray-600);border-color:transparent}.qb-btn--ghost:hover{background:var(--qb-gray-100);color:var(--qb-gray-800)}.qb-btn--white{background:#fff;color:var(--qb-primary)}.qb-btn--white:hover{background:var(--qb-gray-100)}.qb-btn--danger{background:var(--qb-danger);color:#fff;border-color:var(--qb-danger)}.qb-btn--danger:hover{opacity:.85;transform:translateY(-1px)}.qb-btn--success{background:var(--qb-success);color:#fff}.qb-btn--sm{padding:7px 14px;font-size:.8rem;min-height:36px}.qb-btn--xs{padding:4px 10px;font-size:.75rem;min-height:28px}.qb-btn--lg{padding:14px 28px;font-size:1rem;min-height:52px}.qb-btn--full{width:100%}.qb-btn--loading{pointer-events:none;opacity:.7}.qb-btn--loading:after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:qb-spin .6s linear infinite}.qb-input{width:100%;padding:10px 14px;border:1.5px solid var(--qb-gray-300);border-radius:var(--qb-radius-sm);font-size:.9rem;color:var(--qb-text);background:#fff;transition:border-color var(--qb-transition);font-family:var(--qb-font);line-height:1.5;min-height:44px}.qb-input:focus{outline:none;border-color:var(--qb-primary);box-shadow:0 0 0 3px #e639461f}.qb-input::placeholder{color:var(--qb-gray-400)}.qb-input--textarea{min-height:auto;resize:vertical}.qb-input--sm{padding:7px 10px;font-size:.8rem;min-height:36px}.qb-input--code{font-family:var(--qb-font-mono);font-size:.8rem}.qb-input--error{border-color:var(--qb-danger)}.qb-input--error:focus{box-shadow:0 0 0 3px #ef44441f}.qb-input-group{position:relative}.qb-input-group .qb-input{padding-right:44px}.qb-input-group__icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--qb-gray-400)}.qb-form{display:flex;flex-direction:column;gap:var(--qb-space-4)}.qb-form-group{display:flex;flex-direction:column;gap:var(--qb-space-2)}.qb-form-group--inline{flex-direction:row;align-items:center;justify-content:space-between}.qb-label{font-size:.85rem;font-weight:600;color:var(--qb-gray-700)}.qb-hint{font-size:.78rem;color:var(--qb-gray-400)}.qb-error-msg{font-size:.8rem;color:var(--qb-danger)}.qb-fieldset{border:1.5px solid var(--qb-gray-200);border-radius:var(--qb-radius-sm);padding:var(--qb-space-4)}.qb-fieldset legend{padding:0 8px;font-size:.8rem;font-weight:600;color:var(--qb-gray-500)}.qb-toggle{position:relative;display:inline-block;width:44px;height:24px}.qb-toggle input{opacity:0;width:0;height:0}.qb-toggle span{position:absolute;inset:0;background:var(--qb-gray-300);border-radius:var(--qb-radius-full);transition:var(--qb-transition);cursor:pointer}.qb-toggle span:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:var(--qb-transition)}.qb-toggle input:checked+span{background:var(--qb-primary)}.qb-toggle input:checked+span:before{transform:translate(20px)}.qb-toggle-label{display:flex;align-items:center;gap:10px;font-size:.85rem;cursor:pointer}.qb-color-row{display:flex;gap:8px;align-items:center}.qb-color-input{width:44px;height:44px;padding:2px;border:1.5px solid var(--qb-gray-300);border-radius:var(--qb-radius-sm);cursor:pointer}.qb-input--sm{max-width:100px}.qb-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--qb-radius-full);font-size:.75rem;font-weight:600}.qb-badge--success{background:#22c55e26;color:#16a34a}.qb-badge--danger{background:#ef444426;color:#dc2626}.qb-badge--warning{background:#f59e0b26;color:#d97706}.qb-badge--info{background:#3b82f626;color:#2563eb}.qb-badge--gray{background:var(--qb-gray-100);color:var(--qb-gray-600)}.qb-label{display:inline-flex;align-items:center;padding:2px 8px;background:var(--qb-primary);color:#fff;border-radius:var(--qb-radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.qb-card{background:#fff;border-radius:var(--qb-radius-lg);box-shadow:var(--qb-shadow-sm);border:1px solid var(--qb-gray-100);overflow:hidden}.qb-card__header{padding:var(--qb-space-4) var(--qb-space-6);border-bottom:1px solid var(--qb-gray-100);display:flex;align-items:center;justify-content:space-between}.qb-card__body{padding:var(--qb-space-6)}.qb-card__footer{padding:var(--qb-space-4) var(--qb-space-6);border-top:1px solid var(--qb-gray-100);background:var(--qb-gray-50)}.qb-loader{display:flex;align-items:center;justify-content:center;padding:var(--qb-space-16)}.qb-loader:after{content:"";width:36px;height:36px;border:3px solid var(--qb-gray-200);border-top-color:var(--qb-primary);border-radius:50%;animation:qb-spin .8s linear infinite}.qb-loader-inline{font-size:.85rem;color:var(--qb-gray-400);text-align:center;padding:var(--qb-space-8)}.qb-skeleton{background:linear-gradient(90deg,var(--qb-gray-100) 25%,var(--qb-gray-200) 50%,var(--qb-gray-100) 75%);background-size:200% 100%;animation:qb-shimmer 1.5s infinite;border-radius:var(--qb-radius-sm)}@keyframes qb-spin{to{transform:rotate(360deg)}}@keyframes qb-shimmer{to{background-position:-200% 0}}.qb-progress-bar{height:8px;background:var(--qb-gray-200);border-radius:var(--qb-radius-full);overflow:hidden}.qb-progress-bar__fill{height:100%;background:var(--qb-primary);border-radius:var(--qb-radius-full);transition:width .3s ease}.qb-progress-bar__text{font-size:.8rem;color:var(--qb-gray-500);margin-top:6px;display:block}.qb-modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--qb-space-4);opacity:0;transition:opacity var(--qb-transition)}.qb-modal-backdrop.show{opacity:1}.qb-modal{background:#fff;border-radius:var(--qb-radius-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;transform:scale(.95);transition:transform var(--qb-transition);overflow:hidden;box-shadow:var(--qb-shadow-xl)}.qb-modal-backdrop.show .qb-modal{transform:scale(1)}.qb-modal--sm{max-width:400px}.qb-modal--md{max-width:600px}.qb-modal--lg{max-width:900px}.qb-modal--xl{max-width:1100px}.qb-modal__header{padding:var(--qb-space-5) var(--qb-space-6);border-bottom:1px solid var(--qb-gray-100);display:flex;align-items:center;justify-content:space-between}.qb-modal__title{font-size:1.1rem;font-weight:700}.qb-modal__close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--qb-gray-400);transition:var(--qb-transition)}.qb-modal__close:hover{background:var(--qb-gray-100);color:var(--qb-gray-700)}.qb-modal__body{padding:var(--qb-space-6);overflow-y:auto;flex:1}.qb-modal__footer{padding:var(--qb-space-4) var(--qb-space-6);border-top:1px solid var(--qb-gray-100);display:flex;gap:var(--qb-space-3);justify-content:flex-end}.qb-toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.qb-toast{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--qb-gray-900);color:#fff;border-radius:var(--qb-radius);box-shadow:var(--qb-shadow-lg);max-width:360px;pointer-events:all;transform:translate(120%);transition:transform .3s ease;font-size:.875rem}.qb-toast.show{transform:translate(0)}.qb-toast--success{background:#166534}.qb-toast--error{background:#991b1b}.qb-toast--warning{background:#92400e}.qb-toast--info{background:var(--qb-secondary)}.qb-toast__msg{flex:1}.qb-toast__close{color:#fff9;font-size:1.1rem;cursor:pointer;flex-shrink:0}.qb-toast__close:hover{color:#fff}.qb-toast__action{background:#fff3;color:#fff;padding:4px 10px;border-radius:var(--qb-radius-sm);font-size:.8rem;cursor:pointer}.qb-table{width:100%}.qb-table th{background:var(--qb-gray-50);color:var(--qb-gray-600);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;text-align:left;border-bottom:2px solid var(--qb-gray-200)}.qb-table td{padding:12px 14px;border-bottom:1px solid var(--qb-gray-100);font-size:.875rem;vertical-align:middle}.qb-table tr:hover td{background:var(--qb-gray-50)}.qb-table--sticky th{position:sticky;top:0;z-index:1}.qb-dropzone{border:2px dashed var(--qb-gray-300);border-radius:var(--qb-radius);padding:var(--qb-space-10);text-align:center;cursor:pointer;transition:var(--qb-transition);background:var(--qb-gray-50)}.qb-dropzone:hover,.qb-dropzone.drag-over{border-color:var(--qb-primary);background:#e639460a}.qb-dropzone__icon{font-size:2.5rem;margin-bottom:var(--qb-space-3)}.qb-dropzone__text{font-size:.9rem;color:var(--qb-gray-600);margin-bottom:6px}.qb-dropzone__browse{color:var(--qb-primary);cursor:pointer;font-weight:600}.qb-dropzone__hint{font-size:.78rem;color:var(--qb-gray-400)}.qb-dropzone__input{display:none}.qb-media-preview{width:100%;max-height:200px;object-fit:contain;border-radius:var(--qb-radius-sm);border:1px solid var(--qb-gray-200);margin-bottom:8px;background:var(--qb-gray-50)}.qb-media-preview--empty{display:flex;align-items:center;justify-content:center;height:80px;border:1.5px dashed var(--qb-gray-300);border-radius:var(--qb-radius-sm);color:var(--qb-gray-400);font-size:.8rem;margin-bottom:8px}.qb-media-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;max-height:400px;overflow-y:auto;padding:var(--qb-space-2)}.qb-media-item{position:relative;border-radius:var(--qb-radius-sm);overflow:hidden;background:var(--qb-gray-100);aspect-ratio:1;cursor:pointer}.qb-media-item__img{width:100%;height:100%;object-fit:cover}.qb-media-item__overlay{position:absolute;inset:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:var(--qb-transition)}.qb-media-item:hover .qb-media-item__overlay{opacity:1}.qb-media-item__video-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font-size:1.5rem;padding:8px}.qb-media-item__video-thumb span{font-size:.65rem;text-align:center;word-break:break-all;color:var(--qb-gray-500)}.qb-media-uploader__tabs{display:flex;border-bottom:1.5px solid var(--qb-gray-200);margin-bottom:var(--qb-space-4)}.qb-media-uploader__tab{padding:8px 16px;font-size:.85rem;font-weight:600;color:var(--qb-gray-500);border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:var(--qb-transition);cursor:pointer}.qb-media-uploader__tab.active{color:var(--qb-primary);border-bottom-color:var(--qb-primary)}.qb-media-library__empty{text-align:center;color:var(--qb-gray-400);font-size:.85rem;padding:var(--qb-space-10)}.qb-list-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--qb-gray-50);border-radius:var(--qb-radius-sm);border:1px solid var(--qb-gray-200)}.qb-list-item--col{flex-direction:column;align-items:stretch}.qb-list-item__row{display:flex;gap:8px;align-items:center}.qb-gallery-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.qb-gallery-editor__item{position:relative;border-radius:var(--qb-radius-sm);overflow:hidden}.qb-gallery-editor__thumb{width:100%;aspect-ratio:1;object-fit:cover}.qb-gallery-editor__remove{position:absolute;top:2px;right:2px}[data-anim]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}[data-anim].anim-visible{opacity:1;transform:none}[data-anim=fade-up]{transform:translateY(30px)}[data-anim=fade-down]{transform:translateY(-30px)}[data-anim=fade-left]{transform:translate(-30px)}[data-anim=fade-right]{transform:translate(30px)}[data-anim=zoom-in]{transform:scale(.9)}[data-anim=zoom-out]{transform:scale(1.1)}[data-anim=flip]{transform:perspective(400px) rotateX(-15deg)}.qb-hidden{display:none!important}.qb-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.qb-text-center{text-align:center}.qb-text-right{text-align:right}.qb-text-muted{color:var(--qb-text-muted)}.qb-text-primary{color:var(--qb-primary)}.qb-text-danger{color:var(--qb-danger)}.qb-flex{display:flex}.qb-flex-center{display:flex;align-items:center;justify-content:center}.qb-gap-2{gap:var(--qb-space-2)}.qb-gap-3{gap:var(--qb-space-3)}.qb-gap-4{gap:var(--qb-space-4)}.qb-mt-4{margin-top:var(--qb-space-4)}.qb-mb-4{margin-bottom:var(--qb-space-4)}.qb-p-4{padding:var(--qb-space-4)}.qb-separator{height:1px;background:var(--qb-gray-200);margin:var(--qb-space-4) 0}.qb-error{padding:var(--qb-space-4);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--qb-radius-sm);color:var(--qb-danger);font-size:.875rem}@media (max-width: 768px){:root{--qb-sidebar-w: 240px}.qb-hide-mobile{display:none!important}.qb-toast-container{bottom:10px;right:10px;left:10px}.qb-toast{max-width:100%}}@media (min-width: 769px){.qb-hide-desktop{display:none!important}}
