:root{--navy:#0f172a;--blue:#0ea5e9;--cyan:#22d3ee;--green:#16a34a;--red:#dc2626;--bg:#f8fafc;--card:#fff;--text:#1e293b;--muted:#64748b;--line:#e2e8f0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}.layout{display:flex;min-height:100vh}.sidebar{width:268px;background:linear-gradient(180deg,var(--navy),#111827);color:white;padding:20px;position:sticky;top:0;height:100vh}.brand{font-size:22px;font-weight:900;margin-bottom:4px}.brand span{color:var(--cyan)}.tag{color:#bae6fd;font-size:12px;margin-bottom:24px}.nav{display:grid;gap:8px}.nav a{color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:12px;transition:.2s}.nav a:hover,.nav a.active{background:rgba(14,165,233,.18);color:white;transform:translateX(3px)}.main{flex:1;min-width:0}.topbar{height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.menu-btn{display:none}.content{padding:28px;animation:fade .35s ease}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:10px 14px;background:var(--blue);color:white;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{filter:brightness(.95);transform:translateY(-1px)}.btn.secondary{background:#e2e8f0;color:#0f172a}.btn.danger{background:var(--red)}.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(4,minmax(160px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05);transition:.2s}.card:hover{transform:translateY(-2px)}.card h3{margin:0 0 8px;font-size:14px;color:var(--muted)}.value{font-size:28px;font-weight:900}.green{color:var(--green)}.red{color:var(--red)}.filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:800}.input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:white;color:var(--text)}textarea{min-height:88px;resize:vertical}.invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:940px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{background:#f1f5f9;color:#475569;font-size:12px;text-transform:uppercase}.loading,.empty,.error-state{padding:26px;text-align:center;color:var(--muted)}.error-state{color:var(--red);background:#fef2f2;border-radius:14px}.spinner{display:inline-block;width:18px;height:18px;border:3px solid #cbd5e1;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.modal-backdrop.open{display:flex}.modal{background:white;border-radius:22px;max-width:860px;width:100%;max-height:92vh;overflow:auto;animation:slide .22s ease}.modal header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.modal form{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.span-2{grid-column:span 2}.toast-stack{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:30}.toast{padding:13px 16px;border-radius:14px;background:#052e16;color:white;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:slide .2s ease}.toast.error{background:#7f1d1d}.badge{padding:5px 9px;border-radius:99px;background:#e0f2fe;color:#075985;font-weight:800;font-size:12px}.mobile-only{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{from{opacity:0;transform:translateY(8px)}}@keyframes slide{from{opacity:0;transform:translateY(16px)}}@media(max-width:980px){.sidebar{position:fixed;left:-280px;z-index:15;transition:.25s}.sidebar.open{left:0}.menu-btn{display:block}.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.content{padding:18px}.topbar{padding:0 16px}.mobile-only{display:inline-flex}}@media(max-width:620px){.cards,.filters,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.value{font-size:22px}.actions{width:100%}.btn{flex:1}.topbar h1{font-size:18px}}
