:root{--color-red:#c30e23;--color-red-dark:#a30b1d;--color-red-soft:#fbe5e8;--color-blue:#1b1cb8;--color-blue-dark:#14149a;--color-blue-soft:#e1e1f7;--color-navy:#0f172a;--color-ink:#272727;--color-text:#272727;--color-muted:#666;--color-tertiary:#a3a3a3;--color-border:#e0e0e0;--color-bg:#fff;--color-surface:#f5f5f5;--color-surface-2:#ebebeb;--color-green:#094;--color-green-dark:#067538;--color-red-darker:#a41021;--color-quaternary:#d3d3d3;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 2px 8px #0003;--shadow-lg:0 12px 32px #0000002e;--radius-sm:0;--radius-md:8px;--radius-lg:12px;--font-heading:"Noto Sans TC", "Source Han Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-body:"Noto Sans TC", "Source Han Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;height:100%}body{background:var(--color-surface);min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,Helvetica Neue,Arial,sans-serif;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:32px}@media (max-width:768px){.container{padding-inline:16px}}.btn{min-width:88px;font-family:var(--font-heading);white-space:nowrap;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:16px;font-weight:700;line-height:1.25;transition:background .15s,color .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-quaternary);color:#fff;cursor:not-allowed;opacity:1}.btn-primary,.btn-red{background:var(--color-red);color:#fff}.btn-primary:hover,.btn-red:hover{background:var(--color-red-darker)}.btn-outline{color:var(--color-red);border:1.5px solid var(--color-red);background:#fff;padding:10.5px}.btn-outline:hover{background:var(--color-quaternary);border-color:var(--color-red-darker)}.btn-secondary,.btn-ghost{background:var(--color-quaternary);color:var(--color-ink);font-weight:400}.btn-secondary:hover,.btn-ghost:hover{background:var(--color-tertiary)}.btn-success,.btn-green{background:var(--color-green);color:#fff}.btn-success:hover,.btn-green:hover{background:var(--color-green-dark)}.btn-blue{background:var(--color-blue);color:#fff}.btn-blue:hover{background:var(--color-blue-dark)}.btn-square{border:1px solid var(--color-muted);width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.btn-square:hover{background:var(--color-quaternary)}.btn-square.danger:hover{background:var(--color-red-soft);border-color:var(--color-red);color:var(--color-red)}.btn-text{font-family:var(--font-heading);color:var(--color-ink);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;padding:0;font-size:14px;font-weight:700;line-height:1.25;display:inline-flex}.btn-text:hover{color:var(--color-red)}.tag{color:#fff;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.25;font-family:var(--font-heading);border-radius:0;justify-content:center;align-items:center;padding:4px 8px;display:inline-flex}.tag-grey{background:var(--color-muted)}.tag-blue{background:var(--color-blue)}.tag-red{background:var(--color-red)}.tag-navy{background:var(--color-navy)}.card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.grid{gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.section{margin-block:32px}.muted{color:var(--color-muted)}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-lg{font-size:18px}.hr{border:0;border-top:1px solid var(--color-border);margin-block:16px}.input,.select,.textarea{border:1.5px solid var(--color-muted);width:100%;font-family:var(--font-body);color:var(--color-ink);background:#fff;border-radius:8px;padding:12px 16px;font-size:16px;line-height:1.6;transition:border-color .15s}.input::placeholder,.textarea::placeholder{color:var(--color-tertiary)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-red)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-red);outline:none}.table{border-collapse:collapse;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;width:100%;font-size:13px;overflow:hidden}.table th,.table td{text-align:center;border-bottom:1px solid var(--color-border);padding:10px 12px}.table thead.blue th{background:var(--color-blue);color:#fff;font-weight:700}.table thead.red th{background:var(--color-red);color:#fff;font-weight:700}.table thead.dark th{background:var(--color-navy);color:#fff;font-weight:700}.table tbody tr:nth-child(2n) td{background:var(--color-surface)}.table tbody tr:hover td{background:#fef2f2}.badge-status{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-status.live{background:var(--color-red);color:#fff}.badge-status.scheduled{background:var(--color-surface-2);color:var(--color-text)}.badge-status.finished{background:var(--color-blue);color:#fff}
