@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sora-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sora-600-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sora-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sora-700-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jakarta-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jakarta-400-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jakarta-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jakarta-500-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jakarta-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jakarta-600-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600-ext.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #07070e;--txt: #fff;--txt-2: rgba(255, 255, 255, .72);--txt-3: rgba(255, 255, 255, .5);--line: rgba(255, 255, 255, .1);--line-2: rgba(255, 255, 255, .06);--glass-brd: rgba(255, 255, 255, .1);--glass: rgba(255, 255, 255, .045);--accent: #8aa0ff;--accent-2: #b7a6ff;--good: #41e08a;--bad: #ff6b6b;--grad: linear-gradient(118deg, #2e5bff 0%, #7c5cff 100%);--display: "Sora", system-ui, sans-serif;--body: "Plus Jakarta Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:var(--body);background:var(--bg);color:var(--txt);line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:#7c5cf680;color:#fff}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;background:radial-gradient(120% 120% at 50% -10%,#10112a,#07070e 55%)}.app-bg:before,.app-bg:after{content:"";position:fixed;z-index:-2;border-radius:50%;filter:blur(95px);opacity:.32;pointer-events:none}.app-bg:before{width:560px;height:560px;background:#2e5bff;top:-200px;left:-140px}.app-bg:after{width:520px;height:520px;background:#7c5cff;bottom:-200px;right:-160px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}::-webkit-scrollbar-track{background:transparent}.shell{min-height:100dvh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:sticky;top:0;align-self:start;height:100dvh;display:flex;flex-direction:column;gap:6px;padding:22px 16px;border-right:1px solid var(--line);background:#08081080;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brandmark{font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;padding:4px 10px 18px}.brandmark b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--txt-2);font-weight:500;font-size:.94rem;border:1px solid transparent;background:none;width:100%;text-align:left;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.nav-item:hover{color:#fff;background:#ffffff0a}.nav-item.on{color:#fff;background:#ffffff0f;border-color:var(--glass-brd)}.nav-item .dot{width:7px;height:7px;border-radius:50%;background:var(--grad)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--txt-3);padding:8px 12px 0;border-top:1px solid var(--line-2)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 28px;border-bottom:1px solid var(--line);background:#08081099;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1{font-family:var(--display);font-weight:700;font-size:1.4rem;letter-spacing:-.02em;margin:0}.topbar .sub{color:var(--txt-3);font-size:.86rem;margin-top:2px}.topbar-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.identity{text-align:right;font-size:.84rem;line-height:1.3}.identity .who{color:var(--txt-2)}.identity .role{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2)}.content{padding:28px;display:flex;flex-direction:column;gap:26px;max-width:1240px;width:100%}.segmented{display:inline-flex;background:#ffffff0d;border:1px solid var(--glass-brd);border-radius:999px;padding:3px}.segmented button{border:0;background:transparent;color:var(--txt-3);padding:6px 13px;border-radius:999px;cursor:pointer;font-family:var(--mono);font-size:.74rem;font-weight:500;transition:background .15s,color .15s}.segmented button.on{background:#fff;color:#0a0a14}.card{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius);padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card h2{font-family:var(--display);font-size:1.05rem;font-weight:600;margin:0 0 14px}.section-title{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);margin:0 0 12px}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:14px}.stat{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.stat.feature{background:linear-gradient(180deg,#2e5bff1f,#7c5cf60f);border-color:#7c5cf64d}.stat .label{font-size:.8rem;color:var(--txt-3);display:flex;align-items:center;gap:6px}.stat .value{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;line-height:1.1}.stat .value.mono{font-family:var(--mono);font-size:1.3rem}.stat .meta{font-size:.78rem;color:var(--txt-3)}.pos{color:var(--good)}.neg{color:var(--bad)}.tag{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.04em;color:var(--accent-2);border:1px solid var(--glass-brd);border-radius:999px;padding:1px 6px;vertical-align:middle}.tag.private{color:var(--bad);border-color:#ff6b6b66}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-weight:500;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--txt-3);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid var(--line-2);white-space:nowrap}.table td.num,.table th.num{text-align:right;font-family:var(--mono)}.table tr:hover td{background:#ffffff05}.truncate{max-width:18rem;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.74rem;border:1px solid var(--glass-brd);color:var(--txt-2)}.badge--active,.badge--approved,.badge--paid{color:var(--good);border-color:#41e08a66}.badge--inactive,.badge--rejected,.badge--failed{color:var(--txt-3)}.badge--pending,.badge--draft{color:var(--accent-2);border-color:#b7a6ff66}.empty{color:var(--txt-3);font-size:.92rem;padding:18px 4px;text-align:center}.status{margin:0;font-size:.95rem}.status--error{color:var(--bad)}.status--ok{color:var(--good)}.status--checking{color:var(--txt-3)}.muted{color:var(--txt-3);font-size:.85rem}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.btn,button[type=submit]{font-family:var(--body);font-weight:600;font-size:.92rem;border-radius:11px;padding:9px 16px;cursor:pointer;border:1px solid transparent;background:var(--grad);color:#fff;display:inline-flex;align-items:center;gap:8px;transition:transform .15s,box-shadow .2s}.btn:hover,button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 10px 30px -12px #7864ffd9}.btn.ghost{background:#ffffff0d;border-color:var(--glass-brd)}.btn:disabled,button:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}button.link,.link{padding:0;border:0;background:none;color:var(--accent);cursor:pointer;text-decoration:underline;font-size:.9rem}button.link.danger,.danger{color:var(--bad)}button.link:hover,.link:hover{color:#fff;text-decoration-thickness:2px}button.link.danger:hover,.danger:hover{color:#ff9b9b}.table td.actions{display:flex;align-items:center;gap:16px}label{display:flex;flex-direction:column;gap:5px;font-size:.86rem;color:var(--txt-2)}input,select,textarea{font-family:inherit;font-size:.95rem;padding:9px 11px;border-radius:10px;border:1px solid var(--glass-brd);background:#ffffff0a;color:var(--txt)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}select option{background:#14141f;color:var(--txt)}.project-form .private{display:flex;flex-direction:column;gap:12px;border:1px dashed rgba(255,107,107,.5);border-radius:12px;padding:12px;margin:0}.project-form .private legend{font-family:var(--mono);font-size:.7rem;color:var(--bad);padding:0 6px}.auth{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.auth .wordmark{font-family:var(--display);font-weight:700;font-size:clamp(2rem,7vw,2.8rem);letter-spacing:-.02em;margin:0}.auth .card{width:100%;max-width:23rem;display:flex;flex-direction:column;gap:14px}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}.brandmark{padding:0 8px 0 4px;font-size:1.15rem}.nav-item{width:auto}.sidebar-foot{display:none}.content{padding:18px}.topbar{padding:14px 18px}}
