@charset "UTF-8";:root{--accent: #FE2C55;--accent-hover: #ff4d6f;--bg: #000;--bg-elevated: #121212;--bg-card: #1c1c1e;--border: #2a2a2c;--text: #fff;--text-secondary: rgba(255, 255, 255, .75);--text-muted: rgba(255, 255, 255, .5);--sidebar-width: 240px;--admin-sidebar-width: 220px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:32px 28px;width:100%;max-width:400px}.field{margin-bottom:16px}.field label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:6px}.field input,.field textarea{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:12px 14px;font-size:15px;outline:none;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.field textarea{resize:vertical;min-height:80px}.field .hint{font-size:12px;color:var(--text-muted);margin-top:4px}.field .error{font-size:13px;color:var(--accent);margin-top:4px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:600;transition:background .15s,opacity .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.form-error{background:#fe2c551f;border:1px solid rgba(254,44,85,.4);color:#ff8fa5;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:16px}.admin-page{padding:24px 20px 48px;max-width:960px}.admin-page h1{margin:0 0 4px;font-size:24px;font-weight:800}.admin-page .page-sub{margin:0 0 24px;font-size:14px;color:var(--text-muted)}.admin-page h2{margin:32px 0 12px;font-size:17px;font-weight:700}.admin-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:20px}.admin-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 0;color:var(--text-muted);font-size:15px}.admin-state p{margin:0}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.btn-ghost:hover:not(:disabled){background:#ffffff14}.btn-ghost:disabled{opacity:.35;cursor:not-allowed}.btn-ghost.danger{color:#ff8fa5;border-color:#fe2c5566}.btn-ghost.danger:hover:not(:disabled){background:#fe2c551f}.form-success{background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:#6ee7b7;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:16px}.spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:sf-spin .8s linear infinite}@keyframes sf-spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:0;height:0}
