@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;700&display=swap";:root{color-scheme:light;font-family:Plus Jakarta Sans,Noto Sans TC,sans-serif;background:radial-gradient(circle at 20% -10%,#d6f3ff,#f5f7ff 34%,#f0f3ff 62%,#eaf0ff);color:#152136;--text-primary: #152136;--text-secondary: #4d5c79;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .92);--border: rgba(121, 141, 188, .26);--shadow: 0 20px 45px rgba(22, 44, 88, .12);--primary: #2563eb;--primary-strong: #174bbf;--danger: #cc334a;--ok: #22824c;--warning: #ac6d09}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text-primary);background:inherit}a{color:inherit}code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem;border-radius:8px;padding:.15rem .4rem;background:#20439517}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 80%,#ffffff 20%);outline-offset:2px}.app-shell{width:min(1400px,96vw);margin:1.25rem auto 3rem;display:grid;gap:1rem}.app-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem}.app-header h1{margin:0;font-size:clamp(1.35rem,1.8vw,2rem);letter-spacing:.01em}.app-header p{margin:.45rem 0 0;color:var(--text-secondary)}.header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.glass-panel{border-radius:18px;border:1px solid var(--border);background:linear-gradient(150deg,var(--surface-strong),var(--surface));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow)}.status-grid{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr))}.status-card{padding:.9rem}.status-card header{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary)}.status-card h3{margin:0;font-size:.86rem;font-weight:600}.status-card strong{display:block;margin-top:.5rem;font-size:1.2rem}.status-card p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.82rem}.status-card-wide{grid-column:span 2}.jobs-panel,.command-panel{padding:1rem}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.panel-header h2{margin:0;font-size:1.05rem}.panel-header p{margin:.3rem 0 0;color:var(--text-secondary);font-size:.88rem}.search-box{display:flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:#ffffffdb;border-radius:12px;padding:.45rem .55rem}.search-box input{border:none;background:transparent;min-width:260px}.search-box input:focus{outline:none}.table-scroll{margin-top:.8rem;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:1040px}th,td{text-align:left;padding:.75rem .55rem;border-bottom:1px solid rgba(98,126,184,.16);vertical-align:top;font-size:.9rem}th{color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.job-name-wrap{display:grid;gap:.2rem}.job-name-wrap small{color:var(--text-secondary);font-size:.73rem}.pill-on,.pill-off{width:fit-content;border-radius:999px;padding:.14rem .55rem;font-size:.72rem;font-weight:600}.pill-on{background:#2aa75f24;color:var(--ok)}.pill-off{background:#be445c24;color:var(--danger)}.job-message{max-width:350px;color:var(--text-secondary)}.action-row{display:flex;gap:.3rem}.btn-icon,.btn-primary,.btn-ghost{border-radius:10px;border:1px solid var(--border);background:#ffffffe6;color:var(--text-primary);padding:.4rem .64rem;display:inline-flex;gap:.35rem;align-items:center;justify-content:center}.btn-primary{border-color:color-mix(in srgb,var(--primary) 40%,#ffffff 60%);color:#fff;background:linear-gradient(140deg,var(--primary),var(--primary-strong))}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost:hover:not(:disabled),.btn-icon:hover:not(:disabled){background:#ebf3fff2}.connection-chip{display:inline-flex;gap:.35rem;align-items:center;background:#22824c1f;color:#13522e;border:1px solid rgba(34,130,76,.28);padding:.35rem .62rem;border-radius:999px;font-size:.8rem;font-weight:600}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.16rem .52rem;font-size:.76rem;font-weight:600}.status-ok,.status-done{color:var(--ok);background:#22824c21}.status-error,.status-failed{color:var(--danger);background:#cc334a24}.status-pending,.status-processing,.status-neutral{color:var(--warning);background:#ac6d0924}.command-panel ul{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.5rem}.command-panel li{border:1px solid rgba(105,131,187,.2);border-radius:12px;padding:.62rem;background:#ffffffd1;display:grid;gap:.35rem}.command-panel li div{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.command-panel strong{text-transform:uppercase;font-size:.83rem;letter-spacing:.04em}.command-panel small{color:var(--text-secondary)}.command-meta{color:var(--text-secondary);font-size:.78rem;align-items:center}.token-gate{padding:1rem;display:grid;gap:.72rem;max-width:550px}.token-gate h2{margin:0}.token-gate p{margin:0;color:var(--text-secondary)}.token-gate label{font-size:.88rem;font-weight:600}.token-gate input,.modal-card input,.modal-card textarea,.modal-card select{border:1px solid var(--border);border-radius:10px;padding:.55rem .62rem;background:#ffffffeb;color:var(--text-primary)}.modal-root{position:fixed;inset:0;background:#0f192c80;display:grid;place-items:center;padding:1rem;z-index:100}.modal-card{width:min(840px,96vw);max-height:92vh;overflow:auto;padding:.95rem;animation:modal-enter .22s ease}@keyframes modal-enter{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-card header,.modal-card footer{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.modal-card h3{margin:0}.modal-card header p{margin:.3rem 0 0;color:var(--text-secondary);font-size:.78rem}.form-grid{margin-top:.85rem;display:grid;gap:.7rem}.form-grid label{display:grid;gap:.35rem;font-size:.82rem;font-weight:600}.form-grid textarea{min-height:180px;resize:vertical;font-family:JetBrains Mono,Fira Code,monospace;font-size:.83rem}.error-banner,.error-text{border-radius:10px;border:1px solid rgba(204,51,74,.33);background:#cc334a17;color:#8d2235;padding:.64rem .72rem}.empty-state{margin:.8rem 0 0;color:var(--text-secondary)}@media(max-width:1100px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card-wide{grid-column:span 2}.search-box input{min-width:170px}}@media(max-width:760px){.app-shell{width:min(100%,100vw);margin:0;padding:.75rem}.app-header{display:grid}.header-actions{justify-content:flex-start}.status-grid{grid-template-columns:1fr}.status-card-wide{grid-column:span 1}.panel-header{flex-direction:column}.search-box{width:100%}.search-box input{min-width:0;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
