*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f172a;color:#e2e8f0;font-size:14px}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#1e293b;display:flex;flex-direction:column;padding:1.5rem 1rem;gap:.5rem;border-right:1px solid #334155;position:fixed;top:0;left:0;bottom:0}.sidebar-brand{font-size:1.2rem;font-weight:700;color:#3b82f6;margin-bottom:1rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar nav a{color:#94a3b8;text-decoration:none;padding:.5rem .75rem;border-radius:6px;transition:background .15s}.sidebar nav a:hover,.sidebar nav a.active{background:#334155;color:#e2e8f0}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem;font-size:12px;color:#64748b}.sidebar-footer button{background:none;border:1px solid #334155;color:#94a3b8;padding:.4rem;border-radius:6px;cursor:pointer}.content{margin-left:220px;padding:2rem;flex:1}h2{font-size:1.4rem;margin-bottom:1.5rem;color:#f1f5f9}h3{font-size:1rem;margin-bottom:.75rem;color:#cbd5e1}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.card{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:1.25rem}.card h3{font-size:.8rem;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.card p.big{font-size:2rem;font-weight:700;color:#3b82f6}.card p{font-size:.8rem;color:#64748b;margin-top:.25rem}.table{width:100%;border-collapse:collapse;background:#1e293b;border-radius:10px;overflow:hidden;border:1px solid #334155}.table th{background:#0f172a;padding:.75rem 1rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.table td{padding:.65rem 1rem;border-top:1px solid #334155;color:#cbd5e1;font-size:.85rem}.table tr:hover td{background:#263348}.pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem;color:#64748b}.pagination button{background:#1e293b;border:1px solid #334155;color:#94a3b8;padding:.4rem .8rem;border-radius:6px;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-form{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:2.5rem;display:flex;flex-direction:column;gap:1rem;width:320px}.login-form h1{font-size:1.5rem;color:#3b82f6;text-align:center}input,select{background:#0f172a;border:1px solid #334155;color:#e2e8f0;padding:.6rem .8rem;border-radius:6px;font-size:.9rem;width:100%}input:focus,select:focus{outline:2px solid #3b82f6;border-color:transparent}button{background:#3b82f6;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .15s}button:hover{background:#2563eb}button:disabled{opacity:.5;cursor:default}.btn-danger{background:#ef4444;font-size:.8rem;padding:.3rem .7rem}.btn-danger:hover{background:#dc2626}.error{color:#f87171;font-size:.85rem}.inline-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:1.25rem}.inline-form input,.inline-form select{width:auto;flex:1;min-width:140px}@media (max-width: 640px){.sidebar{position:fixed;bottom:0;top:auto;left:0;right:0;width:100%;height:60px;flex-direction:row;align-items:center;padding:0 1rem;border-right:none;border-top:1px solid #334155;z-index:100}.sidebar-brand{display:none}.sidebar nav{flex-direction:row;flex:1;justify-content:center;gap:.5rem}.sidebar nav a{padding:.4rem .75rem;font-size:.85rem;white-space:nowrap}.sidebar-footer{flex-direction:row;align-items:center;gap:.5rem;font-size:11px}.sidebar-footer span{display:none}.content{margin-left:0;padding:1rem;padding-bottom:80px}.cards{grid-template-columns:repeat(2,1fr)}.card p.big{font-size:1.5rem}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.login-form{width:90%;padding:1.5rem}.inline-form{flex-direction:column}.inline-form input,.inline-form select{width:100%;min-width:unset}.pagination{flex-wrap:wrap;justify-content:center}h2{font-size:1.2rem}}
