:root{color-scheme:dark;--bg: #020617;--bg-elevated: #0f172a;--card-bg: #0f172a;--border-subtle: rgba(148, 163, 184, .15);--border-hover: rgba(148, 163, 184, .3);--accent: #38bdf8;--accent-hover: #0ea5e9;--accent-soft: rgba(56, 189, 248, .15);--accent-strong: rgba(56, 189, 248, .5);--accent-glow: rgba(56, 189, 248, .3);--danger: #f97373;--danger-hover: #ef4444;--danger-soft: rgba(248, 113, 113, .15);--success: #4ade80;--text: #f1f5f9;--text-secondary: #cbd5e1;--muted: #94a3b8;--shadow-soft: 0 20px 60px rgba(0, 0, 0, .4);--shadow-glow: 0 0 30px rgba(56, 189, 248, .2);--radius-xl: 20px;--radius-lg: 12px;--radius-md: 10px;--radius-pill: 999px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at top,#1e293b,#0f172a 40%,#020617);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-root{min-height:100vh;display:flex;flex-direction:column;padding:32px 16px 24px}.app-header{text-align:center;margin-bottom:32px}.app-title{margin:0;font-size:clamp(2.2rem,4vw,3rem);letter-spacing:.05em;text-transform:uppercase;font-weight:800;background:linear-gradient(135deg,#38bdf8,#0ea5e9,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(56,189,248,.3);animation:titleGlow 3s ease-in-out infinite alternate}@keyframes titleGlow{0%{filter:brightness(1)}to{filter:brightness(1.2)}}.app-subtitle{margin:10px auto 0;max-width:650px;font-size:.98rem;color:var(--muted)}.app-main{max-width:960px;width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:20px;align-items:flex-start}@media(max-width:820px){.app-main{grid-template-columns:minmax(0,1fr)}}.app-footer{margin-top:auto;text-align:center;font-size:.8rem;color:var(--muted);opacity:.7}.card{background:linear-gradient(135deg,#0f172acc,#020617e6);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:0 8px 32px #0000004d,0 0 0 1px #94a3b80d;padding:24px 22px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-smooth);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.3),transparent);opacity:0;transition:opacity var(--transition-smooth)}.card:hover:before{opacity:1}.card:hover{border-color:var(--border-hover);box-shadow:0 12px 40px #0006,0 0 0 1px #38bdf81a;transform:translateY(-2px)}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.upload-title{font-size:1.05rem;font-weight:600}.upload-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);border-radius:var(--radius-pill);padding:4px 10px;border:1px solid rgba(148,163,184,.4)}.upload-dropzone{border-radius:var(--radius-lg);border:2px dashed var(--border-subtle);background:linear-gradient(135deg,#0f172a66,#02061799);padding:48px 24px;text-align:center;transition:all var(--transition-smooth);cursor:pointer;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;outline:none}.upload-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.upload-dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(56,189,248,.05),transparent 70%);opacity:0;transition:opacity var(--transition-smooth);pointer-events:none}.upload-dropzone:hover:not(.is-dragging):not(.is-uploading){border-color:var(--accent);background:linear-gradient(135deg,#0f172a99,#020617cc);transform:translateY(-2px);box-shadow:0 8px 24px #38bdf826}.upload-dropzone:hover:not(.is-dragging):not(.is-uploading):before{opacity:1}.upload-dropzone.is-dragging{border-color:var(--accent);border-style:solid;border-width:3px;box-shadow:0 0 0 4px var(--accent-soft),0 16px 48px #38bdf84d;background:linear-gradient(135deg,#0f172ae6,#020617f2);transform:scale(1.02);cursor:grabbing}.upload-dropzone.is-dragging:before{opacity:1;background:radial-gradient(circle at center,rgba(56,189,248,.15),transparent 70%);animation:dragPulse 2s ease-in-out infinite}.upload-dropzone.is-uploading{border-color:var(--accent-strong);cursor:wait;pointer-events:none}.upload-dropzone.is-uploading:before{opacity:1;background:radial-gradient(circle at center,rgba(56,189,248,.1),transparent 70%)}@keyframes dragPulse{0%,to{opacity:.15}50%{opacity:.25}}.upload-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;background:linear-gradient(135deg,#38bdf8,#0ea5e9,#a855f7);color:#fff;box-shadow:0 8px 24px #38bdf84d;transition:all var(--transition-smooth);position:relative}.upload-icon svg{width:32px;height:32px;transition:transform var(--transition-smooth)}.upload-dropzone:hover:not(.is-dragging):not(.is-uploading) .upload-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 32px #38bdf866}.upload-dropzone.is-dragging .upload-icon{transform:scale(1.15);box-shadow:0 16px 40px #38bdf880;animation:iconBounce .6s ease-in-out infinite}.upload-icon.dragging{background:linear-gradient(135deg,#0ea5e9,#38bdf8,#0ea5e9);background-size:200% 100%;animation:iconGradient 2s ease infinite}.upload-icon.uploading{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}.upload-icon.uploading .spinner{width:32px;height:32px}@keyframes iconBounce{0%,to{transform:scale(1.15) translateY(0)}50%{transform:scale(1.2) translateY(-4px)}}@keyframes iconGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.upload-icon svg{width:22px;height:22px}.upload-text-main{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:8px;transition:color var(--transition-fast)}.upload-dropzone.is-dragging .upload-text-main{color:var(--accent)}.upload-browse-link{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-color:#38bdf866;text-underline-offset:3px;transition:all var(--transition-fast)}.upload-dropzone:hover .upload-browse-link{color:var(--accent-hover);text-decoration-color:var(--accent)}.upload-text-sub{margin-top:4px;font-size:.85rem;color:var(--muted);line-height:1.5}.upload-dropzone.is-dragging .upload-text-sub{color:var(--text-secondary)}.upload-file-meta{margin-top:12px;font-size:.8rem;color:var(--muted);display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.upload-actions{margin-top:18px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.btn{border-radius:var(--radius-pill);border:1px solid transparent;padding:7px 16px;font-size:.86rem;font-weight:500;cursor:pointer;background:none;color:var(--text);display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary{background:linear-gradient(135deg,#38bdf8,#0ea5e9);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 4px 16px #38bdf866,0 0 0 1px #38bdf833;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #38bdf880,0 0 0 1px #38bdf84d;background:linear-gradient(135deg,#0ea5e9,#0284c7)}.btn-primary:active{transform:translateY(0)}.btn-outline{border-color:#94a3b880;color:var(--muted)}.btn-outline:hover{border-color:var(--accent-strong);color:#e5e7eb;background:#0f172ab3}.btn:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.alert{margin-top:12px;padding:8px 10px;font-size:.8rem;border-radius:10px}.alert-info{background:var(--accent-soft);color:#e0f2fe;border:1px solid var(--accent-strong)}.alert-error{background:var(--danger-soft);color:#fee2e2;border:1px solid rgba(248,113,113,.4)}.list-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.list-title{font-size:1.02rem;font-weight:600}.list-count{font-size:.78rem;color:var(--muted)}.list-empty{font-size:.86rem;color:var(--muted);text-align:center;padding:18px 4px}.file-list{max-height:340px;overflow-y:auto;padding-right:4px}.file-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;transition:background var(--transition-fast),transform var(--transition-fast)}.file-row:hover{background:radial-gradient(circle at top left,#020617,#020617);transform:translateY(-.5px)}.file-main{min-width:0}.file-meta{font-size:.76rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:3px}.file-actions{display:flex;justify-content:flex-end;gap:6px}.btn-ghost{border-radius:999px;border:1px solid transparent;padding:6px 10px;font-size:.78rem;cursor:pointer;background:none;color:var(--muted);display:inline-flex;align-items:center;gap:4px;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-ghost-primary{color:#e5f4ff;border-color:#38bdf880;background:#0f172acc}.btn-ghost-primary:hover{background:#0f172a;border-color:#38bdf8;transform:translateY(-.5px)}.btn-ghost-danger{border-color:#f8717180;color:#fecaca}.btn-ghost-danger:hover{background:#7f1d1dd9;border-color:#f97373;color:#fee2e2;transform:translateY(-.5px)}.badge{border-radius:var(--radius-pill);padding:2px 8px;font-size:.71rem;border:1px solid rgba(148,163,184,.5);color:var(--muted)}.file-list::-webkit-scrollbar{width:6px}.file-list::-webkit-scrollbar-track{background:transparent}.file-list::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:999px}.text-danger{color:var(--danger)}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:400px;width:100%;pointer-events:none}.toast{background:radial-gradient(circle at top,#0f172afa,#020617);border:1px solid var(--border-subtle);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;animation:toastSlideIn .3s ease-out}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.toast-icon{width:18px;height:18px;flex-shrink:0}.toast-message{font-size:.88rem;line-height:1.4}.toast-success{border-color:#22c55e80;background:radial-gradient(circle at top,#0f172afa,#064e3b33)}.toast-success .toast-icon{color:#4ade80}.toast-error{border-color:#f8717180;background:radial-gradient(circle at top,#0f172afa,#7f1d1d33)}.toast-error .toast-icon{color:#f97373}.toast-info{border-color:var(--accent-strong);background:radial-gradient(circle at top,#0f172afa,#0f172a4d)}.toast-info .toast-icon{color:var(--accent)}.toast-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.toast-close:hover{background:#94a3b81a;color:var(--text)}.toast-close svg{width:16px;height:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#0f172af2,#020617fa);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 24px 64px #0009,0 0 0 1px #94a3b81a;max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@keyframes modalSlideIn{0%{transform:scale(.95) translateY(-10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.modal-title{font-size:1.1rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:#94a3b81a;color:var(--text)}.modal-close svg{width:20px;height:20px}.modal-body{padding:24px;color:var(--muted);line-height:1.6}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:20px 24px;border-top:1px solid var(--border-subtle)}.btn-danger{background:linear-gradient(135deg,#f97373,#ef4444);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 4px 16px #f9717166,0 0 0 1px #f9717133;position:relative;overflow:hidden}.btn-danger:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-danger:hover:before{left:100%}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 24px #f9717180,0 0 0 1px #f971714d;background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-danger:active{transform:translateY(0)}.search-container{position:relative;margin-bottom:16px;display:flex;align-items:center}.search-icon{position:absolute;left:12px;width:18px;height:18px;color:var(--muted);pointer-events:none;z-index:1}.search-input{width:100%;padding:12px 40px 12px 42px;background:linear-gradient(135deg,#0f172a99,#020617cc);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text);font-size:.9rem;transition:all var(--transition-smooth)}.search-input:focus{outline:none;border-color:var(--accent);background:linear-gradient(135deg,#0f172acc,#020617e6);box-shadow:0 0 0 3px var(--accent-soft),0 4px 16px #38bdf826}.search-input::placeholder{color:var(--muted)}.search-clear{position:absolute;right:8px;background:none;border:none;color:var(--muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background var(--transition-fast),color var(--transition-fast)}.search-clear:hover{background:#94a3b81a;color:var(--text)}.search-clear svg{width:16px;height:16px}.file-icon-wrapper{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.file-icon{width:32px;height:32px;color:var(--accent);display:flex;align-items:center;justify-content:center}.file-icon svg{width:100%;height:100%}.file-preview{width:52px;height:52px;border-radius:var(--radius-md);overflow:hidden;background:#0f172a99;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all var(--transition-smooth)}.file-row:hover .file-preview{border-color:var(--accent-strong);box-shadow:0 4px 12px #38bdf833;transform:scale(1.05)}.file-preview img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth)}.file-row:hover .file-preview img{transform:scale(1.1)}.file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid transparent;transition:all var(--transition-smooth);position:relative}.file-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(56,189,248,.05),transparent);opacity:0;transition:opacity var(--transition-smooth)}.file-row:hover{background:#0f172a80;border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 16px #0003}.file-row:hover:before{opacity:1}.file-main{min-width:0;display:flex;flex-direction:column;gap:4px}.file-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:.76rem;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-date{color:var(--muted)}.file-actions{display:flex;gap:4px;align-items:center}.btn-icon{width:38px;height:38px;padding:0;border-radius:var(--radius-md);border:1px solid transparent;background:#0f172a99;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-smooth);position:relative}.btn-icon svg{width:18px;height:18px;transition:transform var(--transition-fast)}.btn-icon:hover{background:#0f172ae6;border-color:var(--border-hover);color:var(--text);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.btn-icon:hover svg{transform:scale(1.1)}.btn-icon:active{transform:translateY(0)}.btn-icon-primary{color:var(--accent);border-color:#38bdf84d;background:#38bdf814}.btn-icon-primary:hover{background:#38bdf826;border-color:var(--accent);color:var(--accent-hover);box-shadow:0 4px 16px #38bdf840}.btn-icon-danger{color:var(--danger);border-color:#f971714d;background:#f8717114}.btn-icon-danger:hover{background:#7f1d1d40;border-color:var(--danger);color:var(--danger-hover);box-shadow:0 4px 16px #f8717140}.loading-skeleton-container{display:flex;flex-direction:column;gap:12px}.file-row-skeleton{display:flex;gap:12px;align-items:center;padding:12px}.skeleton-icon{width:48px;height:48px;border-radius:8px;background:linear-gradient(90deg,#94a3b81a 25%,#94a3b833,#94a3b81a 75%);background-size:200% 100%;animation:skeletonLoading 1.5s ease-in-out infinite}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#94a3b81a 25%,#94a3b833,#94a3b81a 75%);background-size:200% 100%;animation:skeletonLoading 1.5s ease-in-out infinite}.skeleton-title{width:70%}.skeleton-meta{width:50%}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.list-empty{text-align:center;padding:64px 20px;color:var(--muted)}.empty-icon{width:80px;height:80px;margin:0 auto 20px;color:var(--muted);opacity:.4;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:all var(--transition-smooth)}.list-empty:hover .empty-icon{opacity:.6;transform:scale(1.05)}.list-empty p{margin:8px 0;font-size:.95rem}.empty-subtitle{font-size:.85rem!important;opacity:.7}.upload-file-info{margin-top:18px;padding:16px;background:linear-gradient(135deg,#0f172a99,#020617cc);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0003;transition:all var(--transition-smooth)}.upload-file-info:hover{border-color:var(--border-hover);box-shadow:0 6px 20px #0000004d}.upload-file-details{display:flex;align-items:center;gap:12px}.upload-file-icon{width:40px;height:40px;color:var(--accent);flex-shrink:0}.upload-file-text{flex:1;min-width:0}.upload-file-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.upload-file-size{font-size:.8rem;color:var(--muted)}.upload-file-remove{background:none;border:none;color:var(--muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.upload-file-remove:hover{background:#f871711a;color:#f97373}.upload-file-remove svg{width:18px;height:18px}.upload-progress{margin-top:12px;height:4px;background:#0f172a80;border-radius:2px;overflow:hidden}.upload-progress-bar{height:100%;background:linear-gradient(90deg,#38bdf8,#0ea5e9,#a855f7);background-size:200% 100%;border-radius:2px;transition:width .3s ease-out;box-shadow:0 0 12px #38bdf899;animation:progressShimmer 2s ease-in-out infinite}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn svg{width:16px;height:16px}.btn{display:inline-flex;align-items:center;gap:8px}.alert{display:flex;align-items:center;gap:10px;padding:12px 14px}.alert svg{width:18px;height:18px;flex-shrink:0}.list-subtitle{font-size:.8rem;color:#9ca3af;margin-top:4px}@media(max-width:768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.modal-content{margin:10px}.file-row{grid-template-columns:auto minmax(0,1fr);gap:8px}.file-actions{grid-column:1 / -1;justify-content:flex-end;margin-top:8px}.file-meta{font-size:.72rem}.upload-file-details{flex-wrap:wrap}}@media(max-width:480px){.app-main{gap:16px}.card,.modal-header,.modal-body,.modal-footer{padding:16px}}.auth-main{max-width:480px;margin:0 auto;grid-template-columns:1fr}.auth-card,.auth-container{width:100%}.auth-header{text-align:center;margin-bottom:32px}.auth-title{font-size:1.5rem;font-weight:700;margin:0 0 8px;color:var(--text)}.auth-subtitle{font-size:.9rem;color:var(--muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;padding:12px 16px;background:linear-gradient(135deg,#0f172a99,#020617cc);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text);font-size:.9rem;transition:all var(--transition-smooth);font-family:inherit}.form-input:focus{outline:none;border-color:var(--accent);background:linear-gradient(135deg,#0f172acc,#020617e6);box-shadow:0 0 0 3px var(--accent-soft),0 4px 16px #38bdf826}.form-input::placeholder{color:var(--muted)}.form-input:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%;justify-content:center;padding:12px 20px;font-size:.9rem}.auth-footer{margin-top:24px;text-align:center;padding-top:24px;border-top:1px solid var(--border-subtle)}.auth-switch-text{font-size:.85rem;color:var(--muted);margin:0}.auth-switch-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;font-weight:600;text-decoration:underline;text-decoration-color:#38bdf866;text-underline-offset:3px;transition:all var(--transition-fast);padding:0;font-family:inherit}.auth-switch-link:hover{color:var(--accent-hover);text-decoration-color:var(--accent)}.auth-switch-link:disabled{opacity:.6;cursor:not-allowed}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--accent)}.header-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:24px;width:100%;max-width:1000px;margin:0 auto}.header-content>div:first-child{text-align:center;grid-column:2;min-width:0}.header-actions{grid-column:3;display:flex;align-items:center;gap:12px;flex-shrink:0;justify-content:flex-end}.user-name{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap}.btn-logout{padding:8px 16px;font-size:.85rem;white-space:nowrap}@media(max-width:768px){.header-content{grid-template-columns:1fr;gap:20px}.header-content>div:first-child{grid-column:1}.header-actions{grid-column:1;flex-direction:row;justify-content:center;width:100%;gap:12px}}
