:root{--bg:#f4f6f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#d1d5db;--primary:#1f4e78}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}header{background:var(--primary);color:white;padding:16px 22px;display:flex;justify-content:space-between;flex-wrap:wrap}.container{max-width:1500px;margin:auto;padding:18px}.notice{padding:11px;border-radius:10px;margin-bottom:14px;background:#eff6ff;border:1px solid #bfdbfe}.warn{background:#fffbeb;border-color:#fde68a}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:9px 13px;border:1px solid var(--border);border-radius:8px;background:#fff}.tab.active{background:var(--primary);color:#fff}.section{display:none}.section.active{display:block}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px}.stat .num{font-size:28px;font-weight:700}.muted{color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:390px 1fr;gap:16px}.field{margin:10px 0}label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}input,select,textarea{width:100%;padding:9px;border:1px solid var(--border);border-radius:7px}.btn{border:0;border-radius:8px;padding:9px 12px}.primary{background:var(--primary);color:#fff}.secondary{background:#e5e7eb}.owner-list{border:1px solid var(--border);border-radius:8px;padding:8px;max-height:180px;overflow:auto}.owner-list label{font-weight:400;display:flex;gap:7px}.owner-list input{width:auto}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:9px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:13px}th{background:#eef3f7}.badge{padding:3px 8px;border-radius:999px;font-size:11px}.b-new{background:#e0f2fe}.b-wait{background:#fef3c7}.b-work{background:#dbeafe}.b-done{background:#dcfce7}.b-late{background:#fee2e2}.pathbox{background:#f9fafb;border:1px dashed #9ca3af;border-radius:8px;padding:8px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}