:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#1b2a4a;--orange:#f28c28;--ink:#111827;--muted:#4b5563;--line:#e5e7eb;--soft:#f7f8fa;--bg:#fff;--bad:#b42318}*{box-sizing:border-box}html,body{color:var(--ink);background:#fff;margin:0}body{font-family:Helvetica Neue,Helvetica,Arial,system-ui,sans-serif;font-size:18px;line-height:1.5}button,input,textarea{font:inherit}a{color:var(--navy)}.top{border-bottom:3px solid var(--orange);background:#fff;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.brand{color:var(--navy);letter-spacing:.5px;font-size:24px;font-weight:800}.brand span{color:var(--orange)}.btn{border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:700}.btn:hover{background:#24375f}.btn.ghost{color:var(--navy);background:#fff}.btn.orange{background:var(--orange);border-color:var(--orange);color:#111}.btn:disabled{opacity:.6;cursor:default}.grid{--lw:260px;--rw:260px;grid-template-columns:var(--left,var(--lw)) 10px minmax(0, 1fr) 10px var(--right,var(--rw));gap:20px 8px;max-width:1800px;margin:0 auto;padding:20px;display:grid}.col-bar{cursor:col-resize;touch-action:none;border-radius:6px;outline:none;position:relative}.col-bar:after{content:"";background:var(--line);border-radius:2px;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:4px}.col-bar:hover:after,.col-bar:focus-visible:after,body.dragging-cols .col-bar:after{background:var(--navy)}.col-bar:focus-visible{box-shadow:0 0 0 2px var(--orange)}body.dragging-cols,body.dragging-cols *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.col{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px}.col h2{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 12px;font-size:16px}.report h1{color:var(--navy);margin:0 0 6px;font-size:28px}.sub{color:var(--muted);margin:0 0 14px;font-size:16px}table{border-collapse:collapse;width:100%;font-size:18px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:14px}td.num,th.num{text-align:right}td.num strong{color:var(--navy);font-size:22px}tr.total td{border-top:2px solid var(--navy);font-weight:800}.note{border-left:4px solid var(--orange);background:#fff7ed;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:16px}.err{border-left:4px solid var(--bad);color:var(--bad);background:#fef3f2;border-radius:8px;padding:10px 12px;font-weight:600}.coming{text-align:center;color:var(--muted);padding:30px 10px;font-size:22px}.coming strong{color:var(--navy);margin-bottom:6px;font-size:30px;display:block}.chat{border-top:2px solid var(--line);margin-top:20px;padding-top:16px}.chat h2{color:var(--navy);margin:0 0 10px;font-size:20px}.msgs{flex-direction:column;gap:10px;max-height:360px;margin-bottom:10px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;border-radius:12px;max-width:90%;padding:10px 14px}.msg.user{background:var(--navy);color:#fff;align-self:flex-end}.msg.assistant{background:var(--soft);border:1px solid var(--line);align-self:flex-start}.msg .meta{color:var(--muted);margin-top:4px;font-size:13px;display:block}.chatform{gap:8px;display:flex}.chatform textarea{resize:vertical;border:2px solid var(--line);min-height:56px;color:var(--ink);background:#fff;border-radius:10px;flex:1;padding:10px}.chatform textarea:focus{border-color:var(--navy);outline:none}.links{flex-direction:column;gap:10px;display:flex}.links a{text-align:center;text-decoration:none;display:block}.hint{color:var(--muted);margin-top:10px;font-size:15px}.login{background:#fff;place-items:center;min-height:100vh;padding:16px;display:grid}.card{border:1px solid var(--line);border-top:6px solid var(--navy);background:#fff;border-radius:14px;width:100%;max-width:480px;padding:28px}.card h1{color:var(--navy);margin:0 0 4px;font-size:32px}.card label{margin:18px 0 6px;font-weight:700;display:block}.card input{border:2px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px;font-size:20px}.card input:focus{border-color:var(--navy);outline:none}.card .btn{width:100%;margin-top:16px;font-size:20px}@media (max-width:900px){.grid{grid-template-columns:1fr;padding:16px}.col-bar{display:none}.top{padding:12px 16px}}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:22px}.md li{margin:2px 0}.md code{background:#eef1f6;border-radius:4px;padding:1px 5px;font-size:16px}.md a{color:var(--navy);font-weight:600}.msg.assistant{white-space:normal}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.who{color:var(--muted);font-size:15px}a.btn{text-decoration:none;display:inline-block}.btn.big{border-radius:12px;width:100%;min-height:64px;margin-top:18px;padding:18px 16px;font-size:22px;display:block}.btn.danger{color:var(--bad);border-color:var(--bad);background:#fff;padding:8px 14px}.btn.danger:hover{background:#fef3f2}.lead{color:var(--ink);margin:10px 0 6px;font-size:22px}.card .hint{text-align:center}.linkbtn{color:var(--navy);cursor:pointer;background:0 0;border:none;margin:18px auto 0;padding:6px;font-weight:700;text-decoration:underline;display:block}.card.wide{max-width:560px;margin:0 auto}.ok{color:#05603a;background:#ecfdf3;border-left:4px solid #027a48;border-radius:8px;padding:10px 12px;font-weight:600}.codesbox h2{color:var(--navy);margin:0 0 8px;font-size:26px}.codesbox p{margin:0 0 10px}.codesbox .row .btn{flex:1;width:auto;margin-top:0}.codes{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.codes li{border:2px solid var(--line);text-align:center;background:#fff;border-radius:10px;padding:10px}.card:has(.codesbox){max-width:580px}.codes code{white-space:nowrap;letter-spacing:1px;color:var(--navy);font-family:SF Mono,Menlo,Consolas,monospace;font-size:20px;font-weight:700}.page{max-width:900px;margin:0 auto;padding:20px 16px 40px}.page>h1{color:var(--navy);margin:6px 0 16px;font-size:32px}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:20px}.panel h2{color:var(--navy);margin:0 0 12px;font-size:22px}.panel h3{color:var(--navy);margin:22px 0 10px;font-size:19px}.notice{border:2px solid var(--orange);background:#fff7ed;border-radius:14px;margin-bottom:20px;padding:18px}.notice p{margin:0 0 6px}.keys{margin:0 0 14px;padding:0;list-style:none}.keys li{border:1px solid var(--line);border-radius:10px;flex-direction:column;margin-bottom:8px;padding:10px 12px;display:flex}.keys li span{color:var(--muted);font-size:16px}.split{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.split p{margin:0}.small{font-size:14px}.invite input,.linkbox input{border:2px solid var(--line);min-width:220px;color:var(--ink);background:#fff;border-radius:10px;flex:1;padding:10px 12px}.invite input:focus,.linkbox input:focus{border-color:var(--navy);outline:none}.linkbox{background:var(--soft);border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:14px}.linkbox input{width:100%;margin:8px 0 10px;font-family:Menlo,Consolas,monospace;font-size:15px}@media (max-width:600px){.codes{grid-template-columns:1fr}.top .who{display:none}}@media print{.noprint,.top{display:none!important}.login{min-height:0;display:block}.card{border:none}}.page.wide{max-width:1240px}.lead-sub{color:var(--muted);max-width:900px;margin:-6px 0 20px;font-size:18px}.conn-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.conn{border:1px solid var(--line);border-top:5px solid var(--navy);background:#fff;border-radius:14px;padding:20px}.conn.is-bad{border-top-color:var(--bad)}.conn-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.conn-head h2{color:var(--navy);margin:0 0 4px;font-size:24px}.conn-head .sub{margin:0 0 10px}.opt{color:var(--muted);border:1px solid var(--line);vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700}.pill{white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:15px;font-weight:800}.pill.ok{color:#05603a;background:#ecfdf3;border:2px solid #027a48}.pill.bad{color:var(--bad);border:2px solid var(--bad);background:#fef3f2}.pill.grey{background:var(--soft);color:var(--muted);border:2px solid var(--line)}.okline{color:#05603a;margin:4px 0 10px;font-weight:700}.facts{border:1px solid var(--line);border-radius:10px;margin:0 0 8px;padding:0;list-style:none}.facts li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 12px;display:flex}.facts li:last-child{border-bottom:none}.facts li span{color:var(--muted)}.facts strong{color:var(--navy);font-family:SF Mono,Menlo,Consolas,monospace;font-size:16px}.conn-form{flex-direction:column;gap:12px;margin-top:6px;display:flex}.conn-form label{flex-direction:column;gap:4px;font-weight:700;display:flex}.conn-form input,.conn-form select{font:inherit;border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px;font-weight:400}.conn-form input:focus,.conn-form select:focus{border-color:var(--navy);outline:none}.conn .btn{padding:12px 20px;font-size:18px}.conn .hint{margin:4px 0 0}.conn .err,.conn .ok{margin:8px 0}.busy{color:var(--navy);margin:8px 0 0;font-weight:700}.linkbtn.left{text-align:left;margin:12px 0 0;padding:4px 0}.help{background:var(--soft);border:1px solid var(--line);border-radius:12px;margin-top:8px;padding:12px 16px}.help ol{margin:0;padding-left:22px}.help li{margin:6px 0}@media (max-width:1000px){.conn-grid{grid-template-columns:1fr}}.menu{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menu-parent{border:1px solid var(--line);cursor:pointer;width:100%;color:var(--navy);text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:11px 12px;font-size:18px;font-weight:800;display:flex}.menu-parent:hover,.menu-parent.has-sel{border-color:var(--navy)}.menu-parent.single.on{background:var(--navy);color:#fff;border-color:var(--navy)}.menu-parent:focus-visible,.menu-child:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.menu .chev{color:var(--muted);font-size:16px}.submenu{border-left:3px solid var(--line);flex-direction:column;gap:4px;margin:4px 0 6px;padding:0 0 0 10px;list-style:none;display:flex}.menu-child{cursor:pointer;width:100%;color:var(--ink);text-align:left;background:#fff;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:17px;display:flex}.menu-child:hover{border-color:var(--line);background:var(--soft)}.menu-child.on{background:var(--navy);color:#fff}.menu-child.add{color:var(--navy);font-weight:700}.menu-child.on.add{color:#fff}.menu .tag{color:var(--muted);background:var(--soft);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.menu .tag.bad{color:var(--bad);border-color:var(--bad);background:#fef3f2}.menu-child.on .tag{background:#fff}.menu .live{background:var(--orange);color:#111;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}.panel-what{margin:6px 0 16px;font-size:20px}.btn.big-inline{padding:14px 22px;font-size:20px;display:inline-block}.connect-note{background:var(--soft);border:1px solid var(--line);border-radius:12px;margin:10px 0 14px;padding:14px 16px}.connect-note p{margin:0 0 10px;font-weight:600}.connect-note .hint{margin:0}.empty{color:var(--muted);background:var(--soft);border:1px dashed var(--line);text-align:center;border-radius:12px;margin:12px 0;padding:16px;font-size:18px}.search{flex-direction:column;gap:6px;margin:6px 0 12px;font-weight:700;display:flex}.search input{font:inherit;border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;max-width:520px;padding:12px;font-weight:400}.search input:focus{border-color:var(--navy);outline:none}table.reports{margin-top:8px}.col h2.aside-second{margin-top:26px}.tabs{gap:8px;margin:4px 0 14px;display:flex}.tab{border:2px solid var(--navy);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;padding:6px 16px;font-weight:700}.tab.on{background:var(--navy);color:#fff}.tab:focus-visible,.pl-open:focus-visible{outline:3px solid var(--orange);outline-offset:2px}table.pl td{vertical-align:top}.pl-open{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:700}.pl-label{font-weight:700}.pl-means{color:var(--muted);font-size:14px;display:block}.pl-row.d1 td:first-child{padding-left:28px}.pl-row.d1 .pl-open,.pl-row.d1 .pl-label{font-weight:600}.pl-row.muted td{color:var(--muted)}.pl-items td{background:var(--soft)}table.items{font-size:15px}table.items td,table.items th{padding:6px 8px}.pl-net td{border-top:3px solid var(--navy);color:var(--navy);font-size:22px;font-weight:800}.pl-net td.num{color:var(--orange)}.held,.pl-costs{border-top:2px solid var(--line);margin-top:18px;padding-top:12px}.held h2,.pl-costs h2{color:var(--navy);margin:0 0 6px;font-size:20px}.pl-notes{color:var(--muted);padding-left:20px;font-size:15px}.cost-input{align-items:center;gap:4px;display:inline-flex}.cost-input input{width:110px;font:inherit;border:2px solid var(--line);border-radius:8px;padding:6px 8px}.tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.tile{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}.tile span{color:var(--muted);font-size:14px;display:block}.tile strong{color:var(--navy);font-size:22px}@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}table td.num,table th.num{white-space:nowrap}.report h2.sec{color:var(--navy);margin:24px 0 8px;font-size:20px}table.health{font-size:16px}table.health td{vertical-align:top}table.health tr.notsent td{color:var(--muted)}.state-none{background:var(--soft);border:1px dashed var(--line);color:var(--ink);border-radius:10px;padding:10px 12px}.small-note{margin-top:8px;font-size:15px}.tile .tile-foot{margin-top:4px;font-size:13px}ul.alerts{margin:0;padding-left:22px;font-size:17px}ul.alerts li{margin:6px 0}ul.alerts a{color:var(--navy);font-weight:700}@media (max-width:700px){table.health{width:0;min-width:100%;display:block;overflow-x:auto}.report[data-panel^=health-] .tiles.three{grid-template-columns:1fr}}.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.report[data-panel^=returns-] .tiles.four{grid-template-columns:1fr}}@media (min-width:901px) and (max-width:1300px){.grid{--lw:210px;--rw:210px}}table th.num{white-space:normal}.report{overflow-x:auto}@media (min-width:901px) and (max-width:1100px){.grid{--lw:200px;--rw:160px;padding:14px}.report table{font-size:15px}.report th,.report td{padding:8px 5px}.report th{font-size:12px}.report td.num strong{font-size:18px}.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr))}}table.sched{font-size:16px}table.sched td{vertical-align:top}table.sched .job-what{color:var(--muted);max-width:280px;font-size:14px;display:block}table.sched select{font:inherit;border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:6px 8px;font-size:16px}table.sched select:focus{border-color:var(--navy);outline:none}.onoff{white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-weight:700;display:inline-flex}.onoff input,.day input{width:18px;height:18px;accent-color:var(--navy)}.days{flex-wrap:wrap;gap:4px 8px;max-width:220px;display:flex}.day{white-space:nowrap;cursor:pointer;align-items:center;gap:3px;font-size:14px;display:inline-flex}.run-state{white-space:nowrap;border:2px solid var(--line);background:var(--soft);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:800;display:inline-block}.run-state.ok{color:#05603a;background:#ecfdf3;border-color:#027a48}.run-state.partial{color:#9a3412;border-color:var(--orange);background:#fff7ed}.run-state.failed{color:var(--bad);border-color:var(--bad);background:#fef3f2}.run-state.running,.run-state.waiting{color:var(--navy);border-color:var(--navy);background:#eef1f6}table.sched .when{color:var(--muted);font-size:14px}table.sched .run-sum{color:var(--ink);margin-top:4px;font-size:14px;display:block}table.sched .run-sum-cell{font-size:14px}.sched-save{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 6px;display:flex}.sched-save .err{margin:0}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.report[data-panel=schedules]{container-type:inline-size}@container (max-width:1000px){table.sched[data-table=jobs],table.sched[data-table=jobs] tbody{width:100%;display:block}table.sched[data-table=jobs] thead{display:none}table.sched[data-table=jobs] tr{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:start;gap:8px 16px;margin-bottom:12px;padding:12px 14px;display:grid}table.sched[data-table=jobs] td{border:none;min-width:0;padding:0;display:block}table.sched[data-table=jobs] td:first-child,table.sched[data-table=jobs] td[data-last]{grid-column:1/-1}table.sched[data-table=jobs] td[data-label=Days]{grid-column:span 2}table.sched[data-table=jobs] td[data-label]:not([data-label=""]):before{content:attr(data-label);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:700;display:block}table.sched .job-what,.days{max-width:none}}@container (max-width:360px){table.sched[data-table=jobs] td[data-label=Days]{grid-column:1/-1}}@container (max-width:640px){table.sched.runs,table.sched.runs tbody,table.sched.runs tr,table.sched.runs td{width:100%;display:block}table.sched.runs thead{display:none}table.sched.runs tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:8px 10px}table.sched.runs td{border:none;padding:2px 0}table.sched.runs td[data-label]:before{content:attr(data-label) ": ";text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:12px;font-weight:700}}.report[data-panel^=sales-] .tile strong{font-size:28px}table.sales tr.total td{background:var(--soft);border-top:2px solid var(--navy)}table.sales tr.total+tr:not(.total) td{border-top:2px solid var(--navy)}table.sales tr.notsent td{color:var(--muted)}
