        body {
            font-family: 'Segoe UI', '微軟正黑體', 'Poppins', system-ui, sans-serif;
            background: linear-gradient(135deg, #0A0F24 0%, #181D45 50%, #0C1230 100%);
            min-height: 100vh;
            display: flex; flex-direction: column; align-items: center;
            padding: 20px; position: relative; overflow-x: hidden;
        }
        body::before { content:''; position:absolute; width:100%; height:100%;
            background-image: linear-gradient(rgba(0,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0,255,255,0.03) 1px, transparent 1px);
            background-size: 40px 40px; pointer-events:none; }
        body::after { content:''; position:absolute; width:150%; height:150%; top:-25%; left:-25%;
            background: radial-gradient(circle at 30% 40%, rgba(99,102,241,0.2), transparent 55%), radial-gradient(circle at 72% 65%, rgba(34,211,238,0.14), transparent 50%);
            animation: pulse 8s ease-in-out infinite; pointer-events:none; }
        .glass-card {
            background: rgba(248, 250, 255, 0.96);
            backdrop-filter: blur(14px);
            border-radius: 40px;
            box-shadow: 0 25px 55px rgba(15,23,42,0.28), 0 0 40px rgba(99,102,241,0.18);
            width: 100%; max-width: 1080px; padding: 2.2rem 2rem 2.8rem;
            position: relative; z-index: 2; isolation: isolate;
        }
        h1 {
            font-size: 2rem; font-weight: 700;
            background: linear-gradient(120deg, #22d3ee, #818cf8 45%, #ec4899);
            background-clip: text; -webkit-background-clip: text; color: transparent;
            margin-bottom: 0.5rem; display: flex; align-items: center; justify-content: center; gap: 12px;
        }
        .subtitle { text-align:center; font-size:0.9rem; margin-bottom:1.8rem; border-bottom:1px solid rgba(139,92,246,0.25); padding-bottom:0.8rem; font-weight:600;
            background: linear-gradient(90deg,#6366f1,#8b5cf6,#ec4899); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:0.4px; }
        .card { background:#fff; border-radius:26px; padding:1.8rem 1.6rem; box-shadow:0 10px 30px rgba(15,23,42,0.06); margin-bottom:1.6rem; border:1px solid rgba(99,102,241,0.12); }
        .card-title { font-size:1.15rem; font-weight:700; color:#1e293b; margin-bottom:1.2rem; display:flex; align-items:center; gap:8px; }
        .input-group { margin-bottom:1.1rem; }
        label { display:block; font-weight:600; color:#475569; margin-bottom:0.4rem; font-size:0.88rem; }
        input[type=text], input[type=password], input[type=date], select, textarea {
            width:100%; padding:11px 14px; border:1px solid #e2e8f0; border-radius:12px; font-size:0.95rem;
            background:#f8fafc; color:#0f172a; box-sizing:border-box; transition:border-color .15s, box-shadow .15s;
        }
        select { cursor:pointer; }
        input:focus, select:focus, textarea:focus { outline:none; border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,0.15); background:#fff; }
        textarea { resize:vertical; min-height:120px; font-family:inherit; }
        .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
        @media (max-width:640px){ .grid2{ grid-template-columns:1fr; } }
        .card button, .login-box button {
            border:none; cursor:pointer; border-radius:14px; padding:12px 22px; font-size:0.95rem; font-weight:600;
            background: linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff; transition:transform .15s, box-shadow .15s; box-shadow:0 6px 16px rgba(99,102,241,0.35);
        }
        .card button:hover, .login-box button:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(99,102,241,0.45); }
        .card button:disabled, .login-box button:disabled { opacity:.6; cursor:not-allowed; transform:none; }
        .card button.secondary { background:#64748b; box-shadow:0 6px 16px rgba(100,116,139,0.3); }
        .card button.upload { background: linear-gradient(135deg,#10b981,#059669); box-shadow:0 6px 16px rgba(16,185,129,0.35); }
        .status { margin-top:1rem; padding:12px 16px; border-radius:12px; font-size:0.92rem; }
        .status.ok { background:#d1fae5; color:#065f46; }
        .status.err { background:#fee2e2; color:#991b1b; }
        .status.info { background:#dbeafe; color:#1e40af; }
        .hidden { display:none; }
        table.preview { width:100%; border-collapse:collapse; font-size:0.85rem; margin-top:1rem; }
        table.preview th, table.preview td { border:1px solid #e2e8f0; padding:8px 10px; text-align:left; white-space:nowrap; }
        table.preview th { background:#f1f5f9; color:#475569; }
        .hint { font-size:0.82rem; color:#64748b; margin-top:0.4rem; }
        .back-link { display:inline-flex; align-items:center; gap:6px; margin-bottom:1rem; color:#6366f1; text-decoration:none; font-weight:600; font-size:0.9rem; }
        code { background:#f1f5f9; padding:1px 6px; border-radius:6px; font-size:0.85rem; color:#6366f1; }
        .login-box { max-width:440px; margin:0 auto; }
        .login-box h2 { text-align:center; margin-bottom:1.2rem; color:#1e293b; }
        .lang-switch { display:flex; gap:3px; padding:3px; background:rgba(99,102,241,0.08); border:1px solid rgba(99,102,241,0.15); border-radius:40px; backdrop-filter:blur(8px); }
        .lang-switch button { width:auto; padding:6px 14px; border:none; background:transparent; color:#cbd5e1; font-size:0.8rem; font-weight:600; border-radius:30px; cursor:pointer; transition:all 0.2s; white-space:nowrap; }
        .lang-switch button.active { background:linear-gradient(90deg,#22d3ee,#818cf8); color:#fff; }
    