:root{--accent: oklch(.52 .16 256);--accent-press: oklch(.46 .16 256);--accent-soft: oklch(.96 .03 256);--accent-ring: oklch(.52 .16 256 / .32);--bg: oklch(.984 .0025 250);--surface: #ffffff;--surface-2: oklch(.975 .003 250);--surface-hover: oklch(.965 .004 250);--border: oklch(.918 .005 250);--border-strong: oklch(.86 .006 250);--text: oklch(.27 .012 262);--text-2: oklch(.45 .012 262);--text-3: oklch(.6 .011 262);--text-on-accent: #fff;--green: oklch(.58 .13 155);--green-soft: oklch(.95 .04 155);--amber: oklch(.72 .14 75);--amber-soft: oklch(.96 .05 80);--red: oklch(.58 .18 25);--red-soft: oklch(.96 .04 25);--violet: oklch(.55 .15 295);--violet-soft: oklch(.96 .03 295);--r-sm: 5px;--r-md: 7px;--r-lg: 10px;--sh-sm: 0 1px 2px oklch(.4 .02 262 / .06), 0 1px 1px oklch(.4 .02 262 / .04);--sh-md: 0 4px 12px oklch(.4 .02 262 / .08), 0 1px 3px oklch(.4 .02 262 / .06);--sh-lg: 0 16px 40px oklch(.35 .03 262 / .16), 0 4px 12px oklch(.35 .03 262 / .08);--row-h: 46px;--pad: 16px;--font-base: 13.5px;--font: "Helvetica Neue", Helvetica, Arial, "Segoe UI", system-ui, sans-serif;--mono: "SF Mono", "JetBrains Mono", ui-monospace, "Menlo", monospace}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);font-size:var(--font-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.45}#root{height:100%}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#cbced2;border-radius:8px;border:3px solid var(--surface)}::-webkit-scrollbar-thumb:hover{background:#b4b8bc}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s}.btn:hover{background:var(--surface-hover)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:var(--sh-sm)}.btn.primary:hover{background:var(--accent-press);border-color:var(--accent-press)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-hover)}.btn.sm{height:28px;padding:0 10px;font-size:12.5px}.btn.icon{width:34px;padding:0;justify-content:center}.chip{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 9px;border-radius:100px;font-size:11.5px;font-weight:500;white-space:nowrap;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600;letter-spacing:.01em}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:100px;font-weight:600;color:#fff;font-size:12px;letter-spacing:.01em;-webkit-user-select:none;user-select:none}.field-label{font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:6px;display:block}.input{width:100%;height:38px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:13.5px;transition:border-color .12s,box-shadow .12s;outline:none}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea.input{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}.shell{height:100%;display:flex}.sidebar{width:248px;flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px;gap:14px}.nav-group-label{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--text-2);text-transform:uppercase;padding:0 11px;height:36px;border-radius:var(--r-md)}.nav-group-label:hover{background:var(--surface-hover);color:var(--text)}.nav-item{display:flex;align-items:center;gap:11px;border:none;background:transparent;color:var(--text-2);border-radius:var(--r-md);font-weight:500;font-size:13.5px;padding:0 11px;width:100%;height:38px;text-align:left}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item .count{margin-left:auto;font-size:11px;font-weight:700;color:var(--text-3);background:var(--surface-2);border-radius:100px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:56px;flex:none;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--border);background:var(--surface)}.search-wrap{position:relative;flex:1 1 auto;max-width:420px}.search-wrap .input{height:36px;padding-left:35px;background:var(--surface-2)}.search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3)}.panel-head{flex:none;padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;background:var(--surface)}.panel-head h1{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.panel-head .sub{font-size:12.5px;color:var(--text-3);margin-top:2px}.panel-body{flex:1;overflow:auto;min-height:0;padding:24px}.card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:18px}.card-head{display:flex;align-items:center;margin-bottom:12px}.card-head .t{font-weight:650;font-size:14px}.grid{display:grid;gap:14px}.kpi{text-align:left;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:16px;cursor:pointer;transition:box-shadow .12s,transform .1s;width:100%}.kpi:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}.kpi.accent{background:var(--accent-soft)}.kpi .label{font-size:12px;color:var(--text-2);font-weight:500}.kpi .icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.kpi.accent .icon{background:var(--accent);color:#fff}.kpi .value{font-size:26px;font-weight:750;letter-spacing:-.02em;line-height:1}.kpi .delta{font-size:11.5px;color:var(--text-3);margin-top:7px;font-weight:500}.tbl{width:100%;border-collapse:collapse;background:var(--surface)}.tbl th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:11px 14px;border-bottom:1px solid var(--border);font-size:13px}.tbl tr:hover td{background:var(--surface-2)}.tbl-wrap{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.board-col{flex:none;width:270px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px}.board-col-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:2px 4px}.deal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:11px;margin-bottom:8px;box-shadow:var(--sh-sm)}.dot{width:8px;height:8px;border-radius:100px;flex:none}.muted{color:var(--text-3)}.center-screen{height:100%;display:grid;place-items:center;padding:24px}.spinner{width:22px;height:22px;border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:100px;animation:spin .7s linear infinite}.empty{text-align:center;color:var(--text-3);padding:40px 16px}.row{display:flex;align-items:center}.stack{display:flex;flex-direction:column}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .25s ease both}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#282e3857;z-index:40;animation:fadeIn .15s ease both}.drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:94vw;z-index:41;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--sh-lg);display:flex;flex-direction:column;animation:slideInRight .2s ease both}.drawer-head{flex:none;display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-body{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.drawer-foot{flex:none;display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.icon-link{background:none;border:none;color:var(--text-3);padding:4px;border-radius:6px}.icon-link:hover{background:var(--surface-hover);color:var(--text)}@keyframes slideInRight{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toast-host{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{background:var(--text);color:#fff;padding:10px 14px;border-radius:var(--r-md);font-size:13px;box-shadow:var(--sh-lg);animation:fadeUp .2s ease both;max-width:320px}.toast.error{background:var(--red)}.toast.success{background:var(--green)}.btn{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.btn.primary:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}.btn.primary:active{transform:translateY(.5px);box-shadow:var(--sh-sm)}.btn.icon:hover{transform:translateY(-1px)}.icon-link{transition:background .12s ease,color .12s ease,transform .1s ease}.icon-link:active{transform:scale(.92)}.card{transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease}button.card:hover,a.card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--border-strong)}button.card:active,a.card:active{transform:translateY(0);box-shadow:var(--sh-sm)}.deal-card{transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.deal-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px);border-color:var(--border-strong)}.chip{transition:background .12s ease,border-color .12s ease,color .12s ease}.badge{transition:background .12s ease,color .12s ease}.tbl td{transition:background .12s ease}.tbl tbody{animation:fadeUp .28s ease both}.nav-item{transition:background .13s ease,color .13s ease,transform .1s ease}.nav-item:active{transform:translate(1px)}.nav-group-label{transition:background .13s ease,color .13s ease}.sidebar .nav-item{animation:navItemIn .2s ease both}@keyframes navItemIn{0%{opacity:0;transform:translate(-7px)}to{opacity:1;transform:none}}.kpi{transition:box-shadow .16s ease,transform .16s ease,background .16s ease}.avatar{transition:transform .16s ease}button.card:hover .avatar,a.card:hover .avatar,.tbl tr:hover .avatar{transform:scale(1.05)}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.pop-in{animation:popIn .2s ease both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
