:root{--color-primary:#f59e0b;--color-primary-hover:#d97706;--color-primary-light:#fef3c7;--color-primary-glow:#f59e0b40;--color-bg:#f5f3ef;--color-surface:#fff;--color-surface-hover:#fafaf8;--color-surface-alt:#ede9e3;--color-text:#1a1a2e;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-border:#e5e2db;--color-border-strong:#d1ccc3;--color-success:#10b981;--color-success-bg:#ecfdf5;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--color-info:#3b82f6;--color-info-bg:#eff6ff;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000f;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 25px -3px #00000014, 0 4px 10px -2px #0000000a;--shadow-glow:0 0 20px var(--color-primary-glow);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--navbar-bg:#ffffffd9;--navbar-border:var(--color-border)}.dark{--color-primary:#fbbf24;--color-primary-hover:#f59e0b;--color-primary-light:#fbbf241f;--color-primary-glow:#fbbf244d;--color-bg:#0f1117;--color-surface:#1a1d27;--color-surface-hover:#22252f;--color-surface-alt:#14161e;--color-text:#f1f1f1;--color-text-secondary:#9ca3af;--color-text-muted:#6b7280;--color-border:#2a2d3a;--color-border-strong:#3a3d4a;--color-success:#34d399;--color-success-bg:#10b9811a;--color-danger:#f87171;--color-danger-bg:#ef44441a;--color-info:#60a5fa;--color-info-bg:#3b82f61a;--color-warning:#fbbf24;--color-warning-bg:#fbbf241a;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 25px -3px #0006;--shadow-glow:0 0 25px var(--color-primary-glow);--navbar-bg:#0f1117e0;--navbar-border:var(--color-border)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-base), color var(--transition-base);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:800;line-height:1.2}.font-mono{font-family:JetBrains Mono,Fira Code,monospace}.page-container{max-width:1200px;margin:0 auto;padding:24px 16px}@media (width>=640px){.page-container{padding:32px 24px}}@media (width>=1024px){.page-container{padding:40px 32px}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base), border-color var(--transition-base), transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#1a1a2e;box-shadow:0 2px 8px var(--color-primary-glow)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);filter:brightness(1.08)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #0000}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-lg{border-radius:var(--radius-lg);padding:16px 28px;font-size:16px}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:12px}.btn-block{width:100%}.input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 16px;font-family:inherit;font-size:14px}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.input::placeholder{color:var(--color-text-muted)}.input-passcode{text-align:center;letter-spacing:.5em;font-family:JetBrains Mono,monospace;font-size:20px;font-weight:600}.select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;outline:none;padding:12px 16px;font-family:inherit;font-size:14px}.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--color-surface-alt);color:var(--color-text-secondary)}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow-x:auto}.table{text-align:left;border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}.table thead{background:var(--color-surface-alt)}.table th{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:14px 16px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);padding:14px 16px}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:flex-end;padding:0;animation:.2s ease-out overlayFadeIn;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-overlay{align-items:center;padding:16px}}.modal-panel{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:100%;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) forwards modalSlideUp;display:flex;overflow:hidden}@media (width>=640px){.modal-panel{border-radius:var(--radius-xl);max-width:480px;animation:.3s cubic-bezier(.16,1,.3,1) forwards modalScaleIn}}.modal-panel-lg{max-width:640px}.modal-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-alt);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{font-size:18px}.modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);flex-shrink:0;padding:20px 24px}.modal-close{border-radius:var(--radius-full);background:var(--color-danger-bg);width:36px;height:36px;color:var(--color-danger);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.modal-close:hover{background:var(--color-danger);color:#fff}.section-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.section-header h2{color:var(--color-text);font-size:18px;font-weight:800}.section-icon{border-radius:var(--radius-sm);background:var(--color-primary-light);justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.alert{border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:16px 20px;font-size:14px;display:flex}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #0000}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #0000}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid #0000}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:18px;height:18px}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px var(--color-primary-glow)}50%{box-shadow:0 0 20px var(--color-primary-glow)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.empty-state{text-align:center;color:var(--color-text-muted);padding:48px 24px}.empty-state-icon{opacity:.4;margin-bottom:12px;font-size:48px}.app-shell{background:var(--color-bg);min-height:100vh;color:var(--color-text);transition:background-color var(--transition-base), color var(--transition-base)}.navbar{z-index:50;background:var(--navbar-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--navbar-border);box-shadow:var(--shadow-sm);position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;height:56px;margin:0 auto;padding:0 16px;display:flex}.navbar-brand{color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:flex}.navbar-logo{font-size:22px;line-height:1}.navbar-title{letter-spacing:-.03em;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:900}.navbar-actions{align-items:center;gap:8px;display:flex}.navbar-link{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:flex}.navbar-link:hover{background:var(--color-primary-light);color:var(--color-primary)}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.theme-toggle-icon{justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex}.theme-toggle-icon.is-dark{transform:rotate(180deg)}.profile-card{border-radius:var(--radius-md);background:var(--color-primary-light);border:1px solid var(--color-border);align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.profile-avatar{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#1a1a2e;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:900;display:flex}.profile-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:2px;font-size:11px;font-weight:700}.profile-name{color:var(--color-text);font-size:18px;font-weight:800}.form-section{margin-bottom:20px}.form-section-title{color:var(--color-text);margin-bottom:16px;font-size:15px;font-weight:800}
