:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;background:#03121a;color:#e5f3fa}.container{max-width:1200px;margin:0 auto;padding:24px}.header{justify-content:space-between;margin-bottom:16px}.header,.header-right{display:flex;align-items:center}.header-right{gap:16px}.auth-info{display:flex;align-items:center;gap:12px}.role-badge{padding:4px 8px;border-radius:6px;background:#163542;color:#9ccae3;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.logout-btn{padding:6px 12px;font-size:12px}.logo{display:flex;align-items:center;gap:12px}.logo img{height:26px}.tabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.tabs::-webkit-scrollbar{display:none}.tab{padding:8px 12px;border-radius:0;border:1px solid #0e2a36;background:#0b1e27;color:#e5f3fa;white-space:nowrap;font-size:13px;flex-shrink:0}.tab.active{background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 2px 8px rgba(220,38,38,.4)}.card{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(74,107,122,.3);border-radius:8px;padding:20px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn{padding:8px 14px;border-radius:6px;background:#229de1;color:#03121a;border:1px solid #229de1;cursor:pointer;font-weight:600;transition:all .2s ease}.btn:hover{background:#1a8bc7;box-shadow:0 2px 8px rgba(34,157,225,.4)}.btn.secondary{background:#0b1e27;color:#e5f3fa;border-color:#163542}.btn.secondary:hover{background:#163542}.grid{display:grid;grid-gap:16px;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.small{font-size:12px;color:#9ccae3}h1{margin:0;font-size:22px}h2{margin:0 0 6px;font-size:18px;color:#d6effb}label{font-size:12px;color:#9ccae3}input[type=date],input[type=number],input[type=text]{padding:8px;border-radius:0;border:1px solid #163542;background:#0b1e27;color:#e5f3fa}input[type=file]{display:block;color:#9ccae3}hr{border:none;border-top:1px solid #163542;margin:12px 0}.footer{margin-top:24px;font-size:12px;color:#9ccae3;text-align:right}.drop{border:2px dashed #163542;border-radius:0;padding:16px;text-align:center;background:#0a1b23;color:#9ccae3}.drop.drag{border-color:#229de1;background:#0e2833}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:6px 10px;border-radius:0;border:1px solid #163542;background:#0b1e27;color:#9ccae3;cursor:pointer}.pill.active{background:#229de1;color:#03121a;border-color:#229de1}.positive{color:#22c55e}.negative{color:#ef4444}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:32px;height:32px;border:3px solid #163542;border-top-color:#229de1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInOut{0%,to{opacity:.7}50%{opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes twinkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>label{display:flex;flex-direction:column;gap:6px;min-width:180px}body,html{overflow-x:hidden}body{max-width:100vw}.container{max-width:100%;overflow-x:hidden;box-sizing:border-box}table{width:100%;border-collapse:collapse}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:1024px){.container{padding:12px}.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.container{padding:8px}.header{flex-direction:column;gap:8px;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.tabs{gap:4px}.tab{padding:6px 10px;font-size:12px}.card{padding:10px}.grid-3{grid-template-columns:1fr}.row{flex-direction:column;align-items:stretch}.row>label{min-width:unset}h1{font-size:18px}h2{font-size:15px}.btn{padding:8px 12px;font-size:13px}input[type=date],input[type=number],input[type=text]{max-width:100%;font-size:16px;box-sizing:border-box}table{font-size:12px}table td,table th{padding:6px 4px;white-space:nowrap}.filter-bar{padding:10px 12px!important;gap:8px!important}}@media (max-width:480px){.container{padding:4px}.tabs{gap:2px}.tab{padding:5px 8px;font-size:11px}.card{padding:8px}h1{font-size:16px}.logo img{height:20px}}