*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:#f5f5f5;color:#1a1a1a}.layout{display:flex;min-height:100vh}.sidebar{width:200px;background:#1e293b;color:#cbd5e1;padding:1.5rem 1rem}.sidebar h1{font-size:1rem;color:#fff;margin-bottom:1.5rem}.sidebar a{display:block;padding:.5rem;color:#94a3b8;text-decoration:none;border-radius:4px}.sidebar a:hover,.sidebar a.active{background:#334155;color:#fff}.main{flex:1;padding:2rem}.card{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}h2{font-size:1.25rem;margin-bottom:1rem}label{display:block;font-size:.875rem;margin-bottom:.25rem;color:#475569}input,select{width:100%;padding:.5rem;border:1px solid #cbd5e1;border-radius:4px;margin-bottom:.75rem}button{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer}button:hover{background:#2563eb}button.danger{background:#ef4444}button.secondary{background:#64748b}.error{color:#dc2626;font-size:.875rem;padding:.5rem;background:#fee2e2;border-radius:4px;margin-bottom:.75rem}.success{color:#16a34a;font-size:.875rem;padding:.5rem;background:#dcfce7;border-radius:4px;margin-bottom:.75rem}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}th{font-size:.75rem;text-transform:uppercase;color:#64748b}.badge-ok{color:#16a34a}.badge-no{color:#dc2626}
