:root{--bg: #0f1720;--surface: #182231;--surface-2: #202c3d;--border: #2c3a4f;--text: #e7edf5;--text-muted: #93a2b8;--accent: #4fb0ff;--accent-2: #22c58b;--danger: #ff6b6b;--warn: #ffb84f;--on-accent: #071018;--accent-tint: rgba(79, 176, 255, .12);--danger-tint: rgba(255, 107, 107, .12);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root[data-theme=light]{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef1f6;--border: #d7dee7;--text: #17212e;--text-muted: #5b6b80;--accent: #1f7bd1;--accent-2: #178a5d;--danger: #d1403a;--warn: #b9750a;--on-accent: #ffffff;--accent-tint: rgba(31, 123, 209, .1);--danger-tint: rgba(209, 64, 58, .1)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}h1,h2,h3{font-weight:600;margin:0 0 .5rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:.95rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.5rem .9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.danger{border-color:var(--danger);color:var(--danger)}input,select,textarea{font-family:inherit;font-size:.95rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.45rem .6rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem;max-width:100%}.card-primary{border-top:3px solid var(--accent)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.table-scroll{overflow-x:auto}th{color:var(--text-muted);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em}.muted{color:var(--text-muted)}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-line{height:14px;margin-bottom:.6rem}.skeleton-line:last-child{margin-bottom:0;width:65%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-banner{background:var(--danger-tint);border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:.6rem .9rem;margin-bottom:1rem}.form-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-2);border:1px solid var(--border)}.badge.setup{color:var(--warn);border-color:var(--warn)}.badge.in_progress{color:var(--accent);border-color:var(--accent)}.badge.finished{color:var(--accent-2);border-color:var(--accent-2)}.badge.paused{color:var(--warn);border-color:var(--warn)}.badge.cancelled{color:var(--danger);border-color:var(--danger)}.badge.em_andamento{color:var(--accent);border-color:var(--accent)}.badge.encerrada{color:var(--accent-2);border-color:var(--accent-2)}.pill-group{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.pill{font-family:inherit;font-size:.9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:.4rem .9rem;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.pill:hover{border-color:var(--accent)}.pill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-tint);font-weight:600}@media(max-width:640px){.card{padding:1rem;border-radius:10px}button{padding:.6rem .9rem;min-height:40px}input,select{padding:.55rem .6rem;min-height:40px}h1{font-size:1.4rem}h2{font-size:1.15rem}}
