:root{--bg: #0a0a12;--bg-elev: #12121d;--bg-card: #181824;--bg-hover: #22222f;--border: #272735;--border-strong: #3a3a4d;--text: #f6f6f9;--text-dim: #adadc0;--text-muted: #70708a;--accent: #ff4757;--accent-hover: #e03547;--accent-glow: rgba(255, 71, 87, .35);--accent-soft: rgba(255, 71, 87, .12);--green: #1ed87a;--green-dim: #0e3d26;--green-soft: rgba(30, 216, 122, .12);--red: #ff4757;--red-dim: #3a1419;--red-soft: rgba(255, 71, 87, .12);--yellow: #ffba08;--yellow-soft: rgba(255, 186, 8, .12);--blue: #3b82f6;--blue-soft: rgba(59, 130, 246, .12);--purple: #a855f7;--purple-soft: rgba(168, 85, 247, .12);--cyan: #06b6d4;--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--sidebar-w: 240px;--mono: "SF Mono", "JetBrains Mono", "Consolas", "Monaco", monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, Helvetica, Arial, sans-serif;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow: 0 2px 4px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.2);--shadow-lg: 0 4px 8px rgba(0,0,0,.3), 0 16px 40px rgba(0,0,0,.3);--shadow-glow: 0 0 0 1px var(--border)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--bg);background-image:radial-gradient(ellipse 800px 400px at 10% 0%,rgba(255,71,87,.05),transparent),radial-gradient(ellipse 600px 500px at 90% 100%,rgba(30,216,122,.03),transparent);background-attachment:fixed;color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@media (max-width: 860px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:100;transform:translate(-100%);transition:transform .25s ease;height:100vh;height:100dvh;width:82vw;max-width:300px}.sidebar.open{transform:translate(0);box-shadow:8px 0 40px #0009}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}}.sidebar{background:linear-gradient(180deg,var(--bg-elev),var(--bg));border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 0;overflow-y:auto}.sidebar-logo{padding:4px 20px 24px;display:flex;align-items:center;gap:12px}.sidebar-logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--accent) 0%,#c81e2a 100%);border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:19px;box-shadow:0 4px 16px var(--accent-glow),inset 0 1px #fff3}.sidebar-logo-text{display:flex;flex-direction:column;line-height:1.1}.sidebar-logo-name{font-weight:700;font-size:15px;letter-spacing:-.3px}.sidebar-logo-sub{font-size:10px;color:var(--text-muted);letter-spacing:1.2px;text-transform:uppercase;margin-top:2px}.nav{display:flex;flex-direction:column;padding:0 10px;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-dim);font-size:14px;font-weight:500;width:100%;text-align:left;transition:background .12s,color .12s,transform .08s;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item:active{transform:scale(.98)}.nav-item.active{background:linear-gradient(90deg,var(--accent-soft),transparent);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav-item-icon{width:20px;text-align:center;opacity:.9;font-size:15px}.nav-item-count{margin-left:auto;background:var(--border-strong);color:var(--text-dim);padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600}.nav-item.active .nav-item-count{background:var(--accent);color:#fff}.sidebar-footer{margin:16px 10px 0;padding:14px;background:linear-gradient(135deg,var(--green-soft),transparent);border-radius:var(--radius-sm);border:1px solid var(--green-dim)}.sidebar-footer-title{display:flex;align-items:center;gap:6px;color:var(--green);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.sidebar-footer-body{font-size:11px;color:var(--text-muted);line-height:1.4}.main{overflow-y:auto;padding:24px 32px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.page-title{font-size:26px;font-weight:700;letter-spacing:-.5px}.page-sub{font-size:13px;color:var(--text-muted);margin-top:4px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:13px;font-weight:600;transition:background .12s,transform .08s,box-shadow .12s;border:1px solid var(--border)}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-color:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.btn-primary:hover{background:linear-gradient(135deg,#ff5a68,var(--accent));box-shadow:0 4px 16px var(--accent-glow)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{background:var(--red-soft);border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red-dim);color:#fff}.btn-success{background:var(--green-soft);border-color:var(--green);color:var(--green)}.btn-sm{padding:6px 12px;font-size:12px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.case-card{background:linear-gradient(180deg,var(--bg-card),var(--bg-elev));border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;position:relative;overflow:hidden;transition:transform .15s ease,border-color .15s,box-shadow .2s;box-shadow:var(--shadow-sm)}.case-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--yellow),var(--green));opacity:.85}.case-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}.case-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:10px}.case-card-title{font-size:16px;font-weight:700;letter-spacing:-.2px}.case-card-sub{font-size:12px;color:var(--text-muted);margin-top:3px}.case-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.case-metric{background:var(--bg-elev);padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border)}.case-metric-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.case-metric-value{font-family:var(--mono);font-size:13px;font-weight:600;margin-top:2px}.case-profit{padding:12px 14px;background:var(--bg-elev);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;border-left:3px solid var(--green);border:1px solid var(--border);border-left-width:3px}.case-profit.negative{border-left-color:var(--red)}.case-profit-label{font-size:11px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.case-profit-value{font-family:var(--mono);font-size:16px;font-weight:700}.money{font-family:var(--mono);font-feature-settings:"tnum"}.money.in{color:var(--green)}.money.out{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:700;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.badge-new,.badge-in_progress{background:var(--blue-soft);color:#7dd3fc}.badge-waiting{background:var(--yellow-soft);color:var(--yellow)}.badge-replace{background:var(--purple-soft);color:var(--purple)}.badge-success{background:var(--green-soft);color:var(--green)}.badge-fail{background:var(--red-soft);color:var(--red)}.badge-partial{background:var(--yellow-soft);color:var(--yellow)}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-cases{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.stat-big{padding:20px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:hidden}.stat-big-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);font-weight:700}.stat-big-value{font-family:var(--mono);font-size:28px;font-weight:700;margin-top:6px;letter-spacing:-.5px}.stat-big-sub{font-size:11px;color:var(--text-muted);margin-top:6px}.stat-big.highlight{background:linear-gradient(135deg,var(--green-soft) 0%,var(--bg-card) 60%);border-color:var(--green-dim)}.stat-big.highlight:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.stat-big.danger{background:linear-gradient(135deg,var(--red-soft) 0%,var(--bg-card) 60%);border-color:var(--red-dim)}.stat-big.danger:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent)}.stat-big.brand{background:linear-gradient(135deg,var(--accent-soft) 0%,var(--bg-card) 60%);border-color:var(--accent)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.cat-tile{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .12s;text-align:center}.cat-tile:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.cat-tile.selected{background:linear-gradient(135deg,var(--accent-soft),var(--bg-hover));border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 16px var(--accent-glow)}.cat-tile-icon{font-size:22px;line-height:1}.cat-tile-label{font-size:11px;font-weight:600;color:var(--text-dim);line-height:1.2}.cat-tile.selected .cat-tile-label{color:var(--text)}.op-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:16px}.op-type-tile{padding:14px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev);cursor:pointer;text-align:center;transition:all .12s}.op-type-tile:hover{background:var(--bg-hover);transform:translateY(-1px)}.op-type-tile.selected{border-color:var(--accent);background:var(--accent-soft)}.op-type-icon{font-size:22px}.op-type-label{font-size:12px;font-weight:600;margin-top:4px}.op-type-tile.in.selected{border-color:var(--green);background:var(--green-soft)}.op-type-tile.out.selected{border-color:var(--red);background:var(--red-soft)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted)}.input,.select,.textarea{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;color:var(--text);font-size:16px;width:100%;transition:border-color .12s,background .12s;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-card)}.textarea{min-height:80px;resize:vertical;font-family:inherit}.modal input,.modal select,.modal textarea,.modal-backdrop input,.modal-backdrop select,.modal-backdrop textarea{-webkit-user-select:text!important;user-select:text!important;pointer-events:auto!important;touch-action:manipulation}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;animation:fadeIn .18s ease}.modal{background:linear-gradient(180deg,var(--bg-card),var(--bg-elev));border-radius:var(--radius-lg);padding:26px;width:100%;max-width:520px;border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:slideUp .22s ease}.modal-title{font-size:20px;font-weight:700;margin-bottom:18px;letter-spacing:-.3px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty{padding:60px 20px;text-align:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius)}.empty-title{font-size:16px;font-weight:600;color:var(--text-dim);margin-bottom:8px}.list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background .12s,border-color .12s}.list-item:hover{background:var(--bg-hover);border-color:var(--border-strong)}.tabs{display:inline-flex;background:var(--bg-card);padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border);gap:2px}.tab{padding:7px 14px;font-size:12px;font-weight:600;border-radius:7px;color:var(--text-dim);transition:all .12s}.tab:hover{color:var(--text)}.tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.pill-tabs{position:relative;display:flex;gap:4px;background:var(--bg-elev);padding:4px;border-radius:12px;border:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;margin-bottom:16px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%)}.pill-tabs::-webkit-scrollbar{display:none}.pill-tab{flex-shrink:0;padding:10px 14px;font-size:12px;font-weight:600;border-radius:9px;color:var(--text-muted);white-space:nowrap;transition:all .12s;scroll-snap-align:start;border:none;background:transparent;cursor:pointer}.pill-tab:hover{color:var(--text);background:var(--bg-hover)}.pill-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.skeleton{background:linear-gradient(90deg,var(--bg-card) 0%,var(--bg-hover) 50%,var(--bg-card) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mobile-toggle{display:none;padding:10px 14px;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);margin-right:12px;font-size:18px;line-height:1}@media (max-width: 860px){.mobile-toggle{display:flex}.main{padding:16px}.page-title{font-size:20px}.stat-big-value{font-size:24px}.grid-cases{grid-template-columns:1fr}.op-type-grid,.cat-grid{grid-template-columns:repeat(3,1fr)}.modal{padding:20px;max-height:calc(100vh - 32px);overflow-y:auto;border-radius:20px 20px 0 0}.modal-backdrop{padding:16px 0 0;align-items:flex-end}.case-metric-value{font-size:12px}.case-profit-value{font-size:15px}}@media (max-width: 480px){.op-type-grid,.cat-grid{grid-template-columns:repeat(2,1fr)}.stat-big{padding:16px}.stat-big-value{font-size:22px}.page-title{font-size:20px}.card{padding:16px}}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--border);font-size:11px;color:var(--text-dim)}.divider{height:1px;background:var(--border);margin:16px 0}.mono{font-family:var(--mono)}.text-dim{color:var(--text-dim)}.text-muted{color:var(--text-muted)}.text-green{color:var(--green)}.text-red{color:var(--red)}
