*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#1f2937;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}.app{max-width:960px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0 16px}.topbar h1{margin:0;font-size:1.6rem}.topbar nav{display:flex;gap:14px}main{display:flex;flex-direction:column;gap:16px}h2{margin:0 0 12px;font-size:1.1rem}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px}.muted{color:#6b7280}.small{font-size:.8rem}.hero-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.big{font-size:2.4rem;font-weight:700;color:#0f766e;line-height:1.1}.pct{font-size:1.8rem;font-weight:700;color:#1f2937}.bar{height:16px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:14px 0}.bar-fill{height:100%;background:#0f766e;border-radius:999px;transition:width .6s ease}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat{background:#f4f6f8;border-radius:8px;padding:10px 12px}.stat-value{font-weight:700;font-size:1.1rem}.chart{width:100%}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.num{text-align:right;white-space:nowrap}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.pill.ok{background:#d1fae5;color:#065f46}.pill.late{background:#fee2e2;color:#991b1b}.pill.ahead{background:#dbeafe;color:#1e40af}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600}input,select{font:inherit;font-weight:400;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1f2937;min-width:0}input:focus,select:focus{outline:2px solid #0f766e;outline-offset:1px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}.inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.inline input{flex:1 1 140px}ul.plain{list-style:none;margin:0;padding:0}.row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e5e7eb}button{font:inherit;cursor:pointer}button.primary{background:#0f766e;color:#fff;border:0;border-radius:8px;padding:9px 16px;font-weight:600}button.primary:disabled{background:#94a3b8;cursor:not-allowed}button.link{background:none;border:0;color:#0f766e;padding:4px;font-weight:600}button.link:hover{text-decoration:underline}button.danger{background:#fee2e2;color:#991b1b;border:0;border-radius:8px;padding:6px 10px;font-weight:600}.danger-text{color:#b91c1c!important}.actions{white-space:nowrap}tr.editing input{width:100%;margin-top:4px}.banner{padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:8px}.banner.error{background:#fee2e2;color:#991b1b}.banner.ok{background:#d1fae5;color:#065f46}.login{max-width:360px;margin:24px auto;display:flex;flex-direction:column;gap:12px}@media (max-width: 520px){.big{font-size:2rem}.app{padding:10px}}
