:root{--wiwi-orange-50:#fef9f0;--wiwi-orange-100:#fdf2e1;--wiwi-orange-200:#fbdcab;--wiwi-orange-300:#f8c46f;--wiwi-orange-400:#f5ae42;--wiwi-orange-500:#f2971b;--wiwi-orange-600:#dd8103;--wiwi-orange-700:#b76a01;--wiwi-orange-800:#8d5202;--wiwi-orange-900:#643a02;--wiwi-teal-50:#f5fbfc;--wiwi-teal-100:#eaf7f9;--wiwi-teal-200:#c4e9ef;--wiwi-teal-300:#96d8e3;--wiwi-teal-400:#6bc9d8;--wiwi-teal-500:#44bcce;--wiwi-teal-600:#22a1b4;--wiwi-teal-700:#157e8e;--wiwi-teal-800:#0f6471;--wiwi-teal-900:#0b4851;--wiwi-ember-500:#cd4400;--wiwi-ember-600:#a83800;--wiwi-ember-700:#822b00;--wiwi-gray-50:#f7f7f7;--wiwi-gray-100:#f0f0f0;--wiwi-gray-200:#ddd;--wiwi-gray-300:#c4c4c4;--wiwi-gray-400:#8a8a8a;--wiwi-gray-500:#626262;--wiwi-gray-600:#555;--wiwi-gray-700:#333;--wiwi-gray-800:#22262a;--wiwi-gray-900:#14181a;--wiwi-white:#fff;--wiwi-green-500:#1f7a45;--wiwi-green-100:#e6f4ec;--wiwi-amber-500:#8a5a00;--wiwi-amber-100:#fdf3dc;--wiwi-red-500:#c0281f;--wiwi-red-100:#fceae8;--wiwi-blue-500:#1e5fa8;--wiwi-blue-100:#e8f0fa;--wiwi-bg:var(--wiwi-white);--wiwi-surface:var(--wiwi-white);--wiwi-surface-sunken:var(--wiwi-gray-50);--wiwi-surface-raised:var(--wiwi-white);--wiwi-text:var(--wiwi-gray-700);--wiwi-text-muted:var(--wiwi-gray-500);--wiwi-text-subtle:var(--wiwi-gray-400);--wiwi-border:var(--wiwi-gray-200);--wiwi-border-strong:var(--wiwi-gray-400);--wiwi-focus-ring:var(--wiwi-ember-500);--wiwi-overlay:#14181a8c;--wiwi-success:var(--wiwi-green-500);--wiwi-success-tint:var(--wiwi-green-100);--wiwi-warning:var(--wiwi-amber-500);--wiwi-warning-tint:var(--wiwi-amber-100);--wiwi-danger:var(--wiwi-red-500);--wiwi-danger-tint:var(--wiwi-red-100);--wiwi-info:var(--wiwi-blue-500);--wiwi-info-tint:var(--wiwi-blue-100)}[data-theme=dark]{--wiwi-bg:var(--wiwi-gray-900);--wiwi-surface:var(--wiwi-gray-800);--wiwi-surface-sunken:#101315;--wiwi-surface-raised:#2a2f34;--wiwi-text:#eceef0;--wiwi-text-muted:#a8aeb4;--wiwi-text-subtle:#7c8288;--wiwi-border:#343a40;--wiwi-border-strong:#6a727a;--wiwi-focus-ring:var(--wiwi-orange-500);--wiwi-overlay:#000000b3;--wiwi-success:#4ade80;--wiwi-success-tint:#16281d;--wiwi-warning:#fbbf4e;--wiwi-warning-tint:#2a2110;--wiwi-danger:#f87171;--wiwi-danger-tint:#2c1717;--wiwi-info:#7db3f0;--wiwi-info-tint:#14202e}:root,[data-thermal=warm]{--wiwi-thermal-tint:var(--wiwi-orange-100);--wiwi-thermal-tint-strong:var(--wiwi-orange-200);--wiwi-thermal-fill:var(--wiwi-orange-500);--wiwi-thermal-fill-hover:var(--wiwi-orange-400);--wiwi-thermal-on-fill:var(--wiwi-gray-700);--wiwi-thermal-solid:var(--wiwi-ember-500);--wiwi-thermal-solid-hover:var(--wiwi-ember-600);--wiwi-thermal-solid-active:var(--wiwi-ember-700);--wiwi-thermal-on-solid:var(--wiwi-white);--wiwi-thermal-text:var(--wiwi-ember-500);--wiwi-thermal-text-strong:var(--wiwi-ember-600);--wiwi-thermal-border:var(--wiwi-orange-500);--wiwi-thermal-arrow:"▲";--wiwi-thermal-label:"溫感"}[data-thermal=cool]{--wiwi-thermal-tint:var(--wiwi-teal-100);--wiwi-thermal-tint-strong:var(--wiwi-teal-200);--wiwi-thermal-fill:var(--wiwi-teal-500);--wiwi-thermal-fill-hover:var(--wiwi-teal-400);--wiwi-thermal-on-fill:var(--wiwi-gray-700);--wiwi-thermal-solid:var(--wiwi-teal-700);--wiwi-thermal-solid-hover:var(--wiwi-teal-800);--wiwi-thermal-solid-active:var(--wiwi-teal-900);--wiwi-thermal-on-solid:var(--wiwi-white);--wiwi-thermal-text:var(--wiwi-teal-700);--wiwi-thermal-text-strong:var(--wiwi-teal-800);--wiwi-thermal-border:var(--wiwi-teal-500);--wiwi-thermal-arrow:"▼";--wiwi-thermal-label:"涼感"}[data-theme=dark],[data-theme=dark] [data-thermal=warm],[data-theme=dark][data-thermal=warm]{--wiwi-thermal-tint:#2a1e0b;--wiwi-thermal-tint-strong:#3d2c10;--wiwi-thermal-text:var(--wiwi-orange-500);--wiwi-thermal-text-strong:var(--wiwi-orange-500);--wiwi-thermal-border:var(--wiwi-orange-600)}[data-theme=dark] [data-thermal=cool],[data-theme=dark][data-thermal=cool]{--wiwi-thermal-tint:#0c2429;--wiwi-thermal-tint-strong:#113238;--wiwi-thermal-text:var(--wiwi-teal-500);--wiwi-thermal-text-strong:var(--wiwi-teal-500);--wiwi-thermal-border:var(--wiwi-teal-600)}
html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--wiwi-text);background:var(--wiwi-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,PingFang TC,Microsoft JhengHei,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}#__next,body>div{display:contents}.container{width:100%;max-width:1080px;margin:0 auto;padding:28px 20px 64px}.topbar{background:var(--wiwi-surface);border-bottom:1px solid var(--wiwi-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:0 20px;display:flex}.topbar-left{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.topbar-brand{color:var(--wiwi-text);white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.topbar-brand-mark{background:var(--wiwi-thermal-solid);border-radius:6px;width:22px;height:22px;display:inline-flex}.topbar-nav{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.topbar-link{color:var(--wiwi-text-muted);border-radius:6px;padding:7px 12px;font-size:14px}.topbar-link:hover{background:var(--wiwi-surface-sunken);color:var(--wiwi-text)}.topbar-link.is-active{background:var(--wiwi-thermal-tint);color:var(--wiwi-thermal-text-strong);font-weight:600}.topbar-user{color:var(--wiwi-text-muted);white-space:nowrap;align-items:center;gap:12px;font-size:13px;display:flex}.topbar-user strong{color:var(--wiwi-text);font-weight:600}.topbar-role{background:var(--wiwi-surface-sunken);color:var(--wiwi-text-muted);border-radius:999px;padding:2px 8px;font-size:12px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.page-title{color:var(--wiwi-text);font-size:21px;font-weight:700}.page-subtitle{color:var(--wiwi-text-muted);margin-top:4px;font-size:13px}.card{background:var(--wiwi-surface);border:1px solid var(--wiwi-border);border-radius:10px;padding:18px 20px}.card-list{flex-direction:column;gap:12px;display:flex}.card-title{color:var(--wiwi-text);margin-bottom:2px;font-size:15px;font-weight:700}.card-meta{color:var(--wiwi-text-muted);font-size:13px}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--wiwi-thermal-solid);color:var(--wiwi-thermal-on-solid)}.btn-primary:hover:not(:disabled){background:var(--wiwi-thermal-solid-hover)}.btn-secondary{background:var(--wiwi-surface);border-color:var(--wiwi-border-strong);color:var(--wiwi-text)}.btn-secondary:hover:not(:disabled){background:var(--wiwi-surface-sunken)}.btn-danger{background:var(--wiwi-surface);border-color:var(--wiwi-danger);color:var(--wiwi-danger)}.btn-danger:hover:not(:disabled){background:var(--wiwi-danger-tint)}.btn-ghost{color:var(--wiwi-text-muted);background:0 0;padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--wiwi-surface-sunken);color:var(--wiwi-text)}.btn-sm{padding:5px 10px;font-size:13px}.btn-block{width:100%}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--wiwi-text);font-size:13px;font-weight:600}.field-hint{color:var(--wiwi-text-muted);font-size:12px}.field-error{color:var(--wiwi-danger);font-size:12px}.input,.select,.textarea{border:1px solid var(--wiwi-border-strong);background:var(--wiwi-surface);color:var(--wiwi-text);border-radius:6px;width:100%;padding:9px 11px;font-size:14px}.textarea{resize:vertical;min-height:64px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--wiwi-focus-ring);outline-offset:1px;border-color:var(--wiwi-focus-ring)}.checkbox-field{color:var(--wiwi-text);align-items:center;gap:8px;font-size:14px;display:flex}.form-actions{gap:10px;margin-top:18px;display:flex}.pill{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-neutral{background:var(--wiwi-surface-sunken);color:var(--wiwi-text-muted)}.pill-thermal{background:var(--wiwi-thermal-tint);color:var(--wiwi-thermal-text-strong)}.pill-success{background:var(--wiwi-success-tint);color:var(--wiwi-success)}.pill-danger{background:var(--wiwi-danger-tint);color:var(--wiwi-danger)}.table-wrap{border:1px solid var(--wiwi-border);border-radius:10px;overflow-x:auto}table.table{border-collapse:collapse;background:var(--wiwi-surface);width:100%;font-size:14px}.table th{text-align:left;color:var(--wiwi-text-muted);background:var(--wiwi-surface-sunken);border-bottom:1px solid var(--wiwi-border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--wiwi-border);vertical-align:middle;padding:10px 14px}.table tr:last-child td{border-bottom:none}.table .num{font-variant-numeric:tabular-nums;text-align:right}.table tfoot td{background:var(--wiwi-surface-sunken);border-bottom:none;font-weight:700}.tabs{border-bottom:1px solid var(--wiwi-border);flex-wrap:wrap;gap:4px;margin-bottom:18px;display:flex}.tab{color:var(--wiwi-text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:14px}.tab:hover{color:var(--wiwi-text)}.tab.is-active{color:var(--wiwi-thermal-text);border-bottom-color:var(--wiwi-thermal-border);font-weight:600}.step-row{border-bottom:1px solid var(--wiwi-border);grid-template-columns:28px 1fr 90px 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.step-row:last-child{border-bottom:none}.step-seq{background:var(--wiwi-thermal-tint);width:24px;height:24px;color:var(--wiwi-thermal-text-strong);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.step-row-actions{gap:2px;display:flex}@media (max-width:720px){.step-row{grid-template-columns:1fr;gap:6px}}.empty-state{text-align:center;color:var(--wiwi-text-muted);border:1px dashed var(--wiwi-border);border-radius:10px;padding:40px 20px;font-size:14px}.alert{border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.alert-danger{background:var(--wiwi-danger-tint);color:var(--wiwi-danger)}.alert-info{background:var(--wiwi-info-tint);color:var(--wiwi-info)}.tabular-nums{font-variant-numeric:tabular-nums}.text-muted{color:var(--wiwi-text-muted)}.stack{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.align-end{align-items:flex-end}.flex-1{flex:1;min-width:160px}.section-gap{margin-bottom:20px}.meta-grid{flex-wrap:wrap;gap:28px;display:flex}.complete-panel{min-width:240px;max-width:320px}.complete-panel .field{margin-bottom:8px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--wiwi-surface);border:1px solid var(--wiwi-border);border-radius:10px;padding:16px 18px}.stat-value{color:var(--wiwi-text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.stat-label{color:var(--wiwi-text-muted);margin-top:4px;font-size:13px}.section-title{color:var(--wiwi-text);margin-bottom:10px;font-size:16px;font-weight:700}.text-danger{color:var(--wiwi-danger)}.text-success{color:var(--wiwi-success)}.auth-shell{background:var(--wiwi-surface-sunken);flex:1;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--wiwi-surface);border:1px solid var(--wiwi-border);border-radius:12px;width:100%;max-width:380px;padding:34px 28px}.auth-title{margin-bottom:4px;font-size:20px;font-weight:700}.auth-subtitle{color:var(--wiwi-text-muted);margin-bottom:26px;font-size:13px}.auth-divider{color:var(--wiwi-text-subtle);align-items:center;gap:10px;margin:22px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--wiwi-border);flex:1;height:1px}
