:root{--bg-void:#040404;--bg-primary:#0a0a09;--bg-secondary:#111110;--bg-elevated:#171614;--bg-surface:#1d1c19;--bg-glass:rgba(255,255,255,0.022);--bg-glass-hover:rgba(255,255,255,0.045);--border-faint:rgba(255,255,255,0.04);--border-subtle:rgba(255,255,255,0.07);--border-medium:rgba(255,255,255,0.14);--border-accent:rgba(200,167,126,0.28);--text-primary:#ece8e1;--text-secondary:#8a857d;--text-muted:#504e48;--text-accent:#c8a77e;--accent:#c8a77e;--accent-hover:#dbc09b;--accent-subtle:rgba(200,167,126,0.08);--accent-glow:0 0 24px rgba(200,167,126,0.15);--danger:#c44040;--danger-hover:#d45555;--danger-subtle:rgba(196,64,64,0.1);--success:#4d9e5f;--success-subtle:rgba(77,158,95,0.1);--font-display:"Playfair Display",Georgia,"Times New Roman",serif;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code","Consolas",monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px rgba(0,0,0,0.4);--shadow-md:0 4px 16px rgba(0,0,0,0.5);--shadow-lg:0 12px 40px rgba(0,0,0,0.55);--shadow-xl:0 20px 60px rgba(0,0,0,0.6);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--transition-fast:150ms var(--ease-in-out);--transition-normal:250ms var(--ease-in-out);--transition-slow:400ms var(--ease-out)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100%;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden}#__next{min-height:100vh}img{display:block;max-width:100%}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18)}::selection{background:rgba(200,167,126,.3);color:var(--text-primary)}.ambient-bg{position:relative;min-height:100vh}.ambient-bg:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(200,167,126,.05) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 100% 100%,rgba(200,167,126,.025) 0,transparent 70%),radial-gradient(ellipse 40% 30% at 0 70%,rgba(200,167,126,.02) 0,transparent 70%);pointer-events:none;z-index:0}.ambient-bg>*{position:relative;z-index:1}.card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.card-hover:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1;letter-spacing:.01em;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);outline:none;white-space:nowrap;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:focus-visible{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent)}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);color:#0a0a0a;border-color:var(--accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--accent-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-subtle)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-glass-hover);border-color:var(--border-medium)}.btn-danger{background:transparent;color:var(--danger);border-color:rgba(196,64,64,.2)}.btn-danger:hover:not(:disabled){background:var(--danger-subtle);border-color:var(--danger)}.btn-danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger-solid:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover);box-shadow:0 0 20px rgba(196,64,64,.15)}.btn-icon{padding:8px;border-radius:var(--radius-sm)}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:14px 32px;font-size:15px}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.input-field{width:100%;padding:12px 16px;font-family:var(--font-body);font-size:15px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);outline:none;transition:all var(--transition-normal)}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.input-field:disabled{opacity:.5;cursor:not-allowed}.input-with-icon{position:relative}.input-with-icon .input-field{padding-left:44px}.input-with-icon .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.input-with-icon:focus-within .input-icon{color:var(--accent)}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:52px 28px;border:1.5px dashed var(--border-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-slow);background:var(--bg-glass)}.upload-zone:hover{border-color:var(--text-muted);background:var(--bg-glass-hover)}.upload-zone.drag-over{border-color:var(--accent);border-style:solid;background:var(--accent-subtle);box-shadow:0 0 40px rgba(200,167,126,.08),inset 0 0 40px rgba(200,167,126,.03)}.upload-zone.drag-over .upload-zone-icon{color:var(--accent);transform:translateY(-4px)}.upload-zone-icon{color:var(--text-muted);transition:all var(--transition-slow)}.upload-zone:hover .upload-zone-icon{color:var(--text-secondary)}.upload-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{padding:14px 16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}.data-table th:first-child{border-top-left-radius:var(--radius-md)}.data-table th:last-child{border-top-right-radius:var(--radius-md)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-faint);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-glass-hover)}.data-table tbody tr:last-child td{border-bottom:none}.table-thumb{width:52px;height:52px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-faint);cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.table-thumb:hover{transform:scale(1.2);box-shadow:var(--shadow-md);z-index:2;position:relative}.pagination{gap:4px}.pagination,.pagination-btn{display:flex;align-items:center;justify-content:center}.pagination-btn{width:36px;height:36px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled):not(.active){color:var(--text-primary);background:var(--bg-glass-hover);border-color:var(--border-subtle)}.pagination-btn.active{color:#0a0a0a;background:var(--accent);border-color:var(--accent);font-weight:600}.pagination-btn:disabled{opacity:.25;cursor:not-allowed}.pagination-dots{width:36px;text-align:center;color:var(--text-muted);font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toast-container{position:fixed;top:24px;right:24px;z-index:10001;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:14px;color:var(--text-primary);pointer-events:auto;animation:toastSlideIn .35s var(--ease-out) forwards}.toast.exiting{animation:toastSlideOut .25s var(--ease-in-out) forwards}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--accent)}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(40px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(40px) scale(.96)}}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;animation:modalFadeIn .2s ease forwards}.modal-content{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow:auto;animation:modalScaleIn .3s var(--ease-out) forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spinnerRotate .7s linear infinite}.spinner-sm{width:16px;height:16px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:2.5px}@keyframes spinnerRotate{to{transform:rotate(1turn)}}.page-enter{animation:pageSlideUp .6s var(--ease-out) forwards}@keyframes pageSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:pageSlideUp .5s var(--ease-out) forwards}.stagger-item:first-child{animation-delay:.04s}.stagger-item:nth-child(2){animation-delay:.08s}.stagger-item:nth-child(3){animation-delay:.12s}.stagger-item:nth-child(4){animation-delay:.16s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.24s}.stagger-item:nth-child(7){animation-delay:.28s}.stagger-item:nth-child(8){animation-delay:.32s}.stagger-item:nth-child(9){animation-delay:.36s}.stagger-item:nth-child(10){animation-delay:.4s}.preview-image{max-width:100%;max-height:220px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border-faint)}.preview-image-lg{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm)}.ornament{display:inline-block;width:6px;height:6px;background:var(--accent);transform:rotate(45deg);opacity:.6}.ornament-line{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.ornament-line:after,.ornament-line:before{content:"";flex:1 1;height:1px;background:var(--border-subtle)}.error-box{background:var(--danger-subtle);border:1px solid rgba(196,64,64,.2);border-radius:var(--radius-md);color:#e88}.error-box,.success-box{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:14px}.success-box{background:var(--success-subtle);border:1px solid rgba(77,158,95,.2);border-radius:var(--radius-md);color:#6dbe80}.text-display{font-family:var(--font-display)}.text-mono{font-family:var(--font-mono)}.text-accent{color:var(--text-accent)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.truncate{text-overflow:ellipsis}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border-width:0}@media (max-width:768px){.upload-zone{padding:36px 20px}.table-thumb{width:44px;height:44px}.toast-container{top:12px;right:12px;left:12px}}@media (max-width:480px){:root{font-size:14px}.btn{padding:9px 16px;font-size:13px}.btn-lg{padding:12px 24px;font-size:14px}}