:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dfe3e8;--text: #1c2430;--text-dim: #667085;--primary: #fc4c02;--primary-600: #e64500;--success: #16a34a;--danger: #dc2626;--radius: 10px;--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .06)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}.container{max-width:1080px;margin:0 auto;padding:2rem 1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:.92rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-600)}.btn.danger{color:var(--danger);border-color:#f3c2c2}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-dim)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-2);color:var(--text-dim)}.badge.published{background:#dcfce7;color:#15803d}.badge.finished{background:#e2e8f0;color:#475569}.badge.draft{background:#fef9c3;color:#a16207}label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.35rem}input,select,textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(252,76,2,.35);border-color:var(--primary)}.field{margin-bottom:1.1rem}.field .hint{font-size:.8rem;color:var(--text-dim);margin-top:.25rem}.field .err{font-size:.8rem;color:var(--danger);margin-top:.25rem}.muted{color:var(--text-dim)}table.data{width:100%;border-collapse:collapse}table.data th,table.data td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--border);font-size:.9rem}table.data th{color:var(--text-dim);font-weight:600}.progress{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary)}
