@font-face{font-family:Schibsted Grotesk;font-weight:600;font-display:swap;src:url(/assets/schibsted-600-Bb8VGrTG.woff2) format("woff2")}@font-face{font-family:Schibsted Grotesk;font-weight:700;font-display:swap;src:url(/assets/schibsted-600-Bb8VGrTG.woff2) format("woff2")}@font-face{font-family:Schibsted Grotesk;font-weight:800;font-display:swap;src:url(/assets/schibsted-600-Bb8VGrTG.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-weight:400;font-display:swap;src:url(/assets/hanken-400-CaVRRdDk.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-weight:500;font-display:swap;src:url(/assets/hanken-400-CaVRRdDk.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-weight:600;font-display:swap;src:url(/assets/hanken-400-CaVRRdDk.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:400;font-display:swap;src:url(/assets/jetbrains-400-6fWv1k7M.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:500;font-display:swap;src:url(/assets/jetbrains-400-6fWv1k7M.woff2) format("woff2")}:root{--paper: #fbf7f1;--surface: #fffdfb;--raised: #ffffff;--ink: #241e19;--ink2: #5a5148;--ink3: #8a8177;--ink4: #b7aea3;--line: rgba(60, 48, 36, .12);--line2: rgba(60, 48, 36, .06);--brand: #e8590c;--brand6: #c7490a;--tint: #fdece0;--tint2: #fadfcb;--honey-ink: #9a5b12;--honey-bg: #faedd6;--clay-ink: #b23a20;--clay-bg: #f8ded4;--moss-ink: #4f6a22;--moss-bg: #e9efd8;--stone-ink: #6e6257;--stone-bg: #eee7dd;--display: "Schibsted Grotesk", system-ui, sans-serif;--body: "Hanken Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, monospace;--lift: 0 6px 20px -8px rgba(60, 48, 36, .22);--rail: 250px;--topbar: 58px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--body);font-weight:400;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.label,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{font-size:.64rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}.topbar{height:var(--topbar);background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 20px;position:sticky;top:0;z-index:40}.brandmark{display:flex;align-items:center;gap:10px}.logo{width:30px;height:30px;border-radius:9px;background:var(--brand);display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ffffff24}.logo svg{width:15px;height:15px}.wordmark{font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.02em;color:var(--ink)}.wordmark b{color:var(--brand);font-weight:700}.search{margin-left:8px;flex:0 1 300px;display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:7px 11px}.search svg{width:15px;height:15px;color:var(--ink3);flex:none}.search input{border:0;background:none;outline:none;width:100%;font:inherit;font-size:.85rem;color:var(--ink)}.search input::placeholder{color:var(--ink4)}.topbar .spacer{flex:1}.bell{position:relative;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink2)}.bell:hover{background:var(--raised);box-shadow:var(--lift)}.bell svg{width:16px;height:16px}.bell .dot{position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px var(--surface)}.me{display:flex;align-items:center;gap:9px}.me .who{line-height:1.15}.me .who .n{font-weight:600;font-size:.84rem}.me .who .r{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.avatar{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.72rem;color:#fff;flex:none;box-shadow:inset 0 0 0 1px #ffffff2e}.shell{display:grid;grid-template-columns:var(--rail) 1fr;min-height:calc(100vh - var(--topbar))}.rail{background:var(--paper);border-right:1px solid var(--line);padding:18px 12px 26px;position:sticky;top:var(--topbar);height:calc(100vh - var(--topbar));overflow-y:auto}.rail .grouphead{display:flex;align-items:center;gap:7px;padding:4px 8px 8px}.cue{width:7px;height:7px;border-radius:2px;background:var(--brand);flex:none}.grouphead .label{padding:0}.grouphead .count{margin-left:auto;color:var(--ink4)}.client{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:none;border:0;border-radius:10px;color:var(--ink2);font:inherit;font-size:.9rem;text-align:left;padding:7px 10px 7px 9px;cursor:pointer;display:flex;align-items:center;gap:10px;position:relative}.client:hover{background:var(--surface)}.client .av{width:26px;height:26px;border-radius:8px;font-size:.62rem}.client .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client .months{font-family:var(--mono);font-size:.62rem;color:var(--ink4);letter-spacing:.02em}.client[aria-current=true]{background:var(--tint);color:var(--brand6);font-weight:600}.client[aria-current=true]:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.client[aria-current=true] .months{color:var(--brand6)}.client.all{margin-bottom:6px}.client.all .glyph{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--stone-bg);color:var(--stone-ink)}.client.all .glyph svg{width:14px;height:14px}.railsep{height:1px;background:var(--line2);margin:12px 4px 14px}.main{padding:24px 28px 72px;max-width:1560px}.head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:4px}.head h2{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.025em;margin:0}.month-pick{display:flex;align-items:center;gap:8px}.month-pick input{font-family:var(--mono);font-size:.8rem;font-variant-numeric:tabular-nums;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.month-pick input:focus{outline:2px solid var(--tint2);border-color:var(--brand)}.traj{display:flex;align-items:flex-end;gap:4px;margin:16px 0 22px;padding:13px 15px 11px;background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow-x:auto}.traj:empty{display:none}.traj .caption{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);align-self:center;margin-left:6px;white-space:nowrap}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0 5px 1px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:50px;border-radius:8px}.chip:hover{background:var(--paper)}.chip .bar{width:100%;min-height:4px;background:var(--tint2);border-radius:3px 3px 0 0;transition:height .18s ease}.chip .m{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.chip .v{font-family:var(--mono);font-size:.6rem;color:var(--ink4)}.chip[aria-current=true] .bar{background:var(--brand);box-shadow:0 0 0 3px var(--tint)}.chip[aria-current=true] .m{color:var(--ink);font-weight:600}.chip[aria-current=true] .v{color:var(--brand6)}.drops{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:22px}.drop{border:1.5px dashed var(--line);border-radius:13px;background:var(--surface);padding:17px 18px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.drop:hover{border-color:var(--ink4);box-shadow:var(--lift)}.drop.over{border-color:var(--brand);background:var(--tint);border-style:solid}.drop .tag{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}.drop h3{font-family:var(--display);font-weight:600;font-size:.98rem;margin:3px 0 2px}.drop p{margin:0;font-size:.82rem;color:var(--ink3)}.drop .have{margin-top:9px;font-family:var(--mono);font-size:.66rem;color:var(--moss-ink)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-size:.86rem;color:var(--ink3);padding:9px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:1px;background:var(--line2);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:18px}.metric{background:var(--surface);padding:15px 17px}.metric .v{font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums;font-size:1.6rem;letter-spacing:-.03em;margin-top:4px}.metric .v.absent{font-family:var(--mono);font-weight:400;font-size:.92rem;color:var(--ink4)}.best{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:13px;padding:15px 17px;margin-bottom:16px}.best .why{margin-top:4px;font-size:.92rem;color:var(--ink2)}.best a{color:var(--brand6)}.write{display:grid;gap:14px}.write label{display:block}textarea{width:100%;font:inherit;font-size:.9rem;padding:11px 13px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);resize:vertical;min-height:76px}textarea::placeholder{color:var(--ink4)}textarea:focus{outline:2px solid var(--tint2);border-color:var(--brand);background:var(--raised)}.tablebar{display:flex;justify-content:flex-end;margin-bottom:10px}.scroll{overflow:auto;max-height:66vh;border:1px solid var(--line);border-radius:13px;background:var(--surface)}table{border-collapse:separate;border-spacing:0;font-size:.77rem;width:max-content}th,td{border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:6px 9px;text-align:left;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}thead th{position:sticky;top:0;z-index:3;background:var(--ink);color:#f4ede4;font-family:var(--mono);font-weight:500;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;white-space:normal;min-width:76px;vertical-align:bottom;padding:8px 9px}thead th.helped{cursor:help;text-decoration:underline dotted rgba(232,89,12,.6);text-underline-offset:3px}tbody td.calc{background:#fffdfb}tbody td.manual,tbody td.select{background:#fff9ef}tbody td.auto{background:var(--paper);color:var(--ink3);font-family:var(--mono);font-size:.7rem}tbody td.n{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}tbody td.absent{color:var(--ink4)}tbody td.chartcell{background:var(--surface);min-width:134px;padding:4px 6px}tbody td[data-manual=analysis],tbody td[data-manual=next_action],tbody td[data-manual=view_graph_analysis]{white-space:normal;overflow:visible;text-overflow:clip;min-width:220px;max-width:340px;vertical-align:top;line-height:1.4}tbody td.aicell{position:relative;padding-right:24px}.ai-text{outline:none;min-height:1.15em}.ai-text:focus{outline:2px solid var(--brand);border-radius:4px}.ai-text.generating{color:var(--ink4);font-style:italic}.ai-gen{position:absolute;top:4px;right:4px;width:18px;height:18px;padding:0;line-height:1;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer;font-size:10px;opacity:0;transition:opacity .12s}tbody td.aicell:hover .ai-gen{opacity:1}.ai-gen:hover{background:var(--tint);border-color:var(--brand)}.ai-gen:disabled{opacity:0!important;cursor:default}tbody tr:hover td{background:var(--tint)}td[contenteditable=true]:focus{outline:2px solid var(--brand);background:#fff9ef;position:relative;z-index:1}th.freeze,td.freeze{position:sticky;z-index:2}thead th.freeze{z-index:6}th.f1,td.f1{left:0;min-width:96px;max-width:96px}th.f2,td.f2{left:96px;min-width:96px;max-width:96px}th.f3,td.f3{left:192px;min-width:210px;max-width:210px;border-right:2px solid var(--line)}tbody td.f1,tbody td.f2{background:#fffdfb}tbody td.f3{background:#fff9ef}td.f3[contenteditable=true]:focus{position:sticky;z-index:4;background:#fff9ef}td a{color:var(--brand6)}td .pill{font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;padding:2px 7px;border-radius:8px;background:var(--stone-bg);color:var(--stone-ink)}select.cellsel{font:inherit;font-size:.74rem;border:1px solid transparent;background:transparent;padding:2px 4px;border-radius:6px;color:var(--ink);width:100%}select.cellsel:hover{border-color:var(--line);background:var(--raised)}select.cellsel:focus{outline:2px solid var(--brand);background:#fff9ef}.chartcell svg{display:block}.chartnote{font-family:var(--mono);font-size:.56rem;color:var(--ink3);display:block;margin-top:2px;letter-spacing:.02em}.chartnote.dim{color:var(--ink4);font-style:italic}.sum{width:100%}.sum td.name{font-weight:600;white-space:nowrap}.sum tr.totals td{background:var(--ink);color:#f4ede4;font-weight:600;border-bottom:0;position:sticky;bottom:0}.sum td.quiet{color:var(--ink4)}.sum a{color:var(--brand6)}.charts{display:grid;gap:18px}.chart{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:17px 19px}.chart h3{font-family:var(--display);font-weight:600;font-size:1rem;margin:0 0 2px}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.legend span{font-family:var(--mono);font-size:.64rem;display:flex;align-items:center;gap:5px;color:var(--ink2)}.legend i{width:12px;height:3px;border-radius:2px}.msg{padding:9px 13px;border-radius:10px;margin:8px 0;font-size:.85rem;border:1px solid var(--line);border-left-width:3px}.msg.ok{background:var(--surface);border-left-color:var(--line)}.msg.warn{background:var(--honey-bg);border-left-color:var(--honey-ink);color:var(--honey-ink)}.msg.err{background:var(--clay-bg);border-left-color:var(--clay-ink);color:var(--clay-ink)}.empty{padding:44px 20px;text-align:center;color:var(--ink3);background:var(--surface);border:1px solid var(--line);border-radius:13px}button.act{font:inherit;font-weight:600;font-size:.85rem;padding:8px 16px;border-radius:9px;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer}button.act:hover{background:var(--brand6);border-color:var(--brand6)}button.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}button.ghost:hover{background:var(--raised);border-color:var(--ink4);box-shadow:var(--lift)}.actions{display:flex;align-items:center;gap:12px;margin:14px 0 4px}dialog{border:1px solid var(--line);border-radius:16px;padding:22px 24px;max-width:430px;font-family:var(--body);color:var(--ink);background:var(--raised);box-shadow:var(--lift)}dialog::backdrop{background:#241e1957}dialog h3{font-family:var(--display);font-weight:700;margin:0 0 6px;font-size:1.08rem}.choices{display:grid;gap:7px;margin:14px 0 4px}.choices button{text-align:left}.user-slot{display:flex;align-items:center;gap:10px;margin-left:auto}.user-slot:empty{display:none}.user-slot .who{font-family:var(--mono);font-size:.72rem;color:var(--ink3);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--paper)}.auth-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--lift);padding:26px 26px 22px;display:grid;gap:13px}.auth-brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:-.02em;color:var(--ink)}.auth-brand b{color:var(--brand)}.auth-card h1{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.025em;margin:4px 0 2px}.auth-field{display:grid;gap:5px}.auth-field span{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}.auth-field input{font:inherit;font-size:.9rem;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:var(--ink)}.auth-field input:focus{outline:2px solid var(--tint2);border-color:var(--brand)}.auth-submit{margin-top:4px;font:inherit;font-weight:600;font-size:.9rem;padding:10px 16px;border-radius:9px;cursor:pointer;border:1px solid var(--brand);background:var(--brand);color:#fff}.auth-submit:hover{background:var(--brand6);border-color:var(--brand6)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-error{margin:0;font-size:.82rem;color:var(--clay-ink);background:var(--clay-bg);border-radius:9px;padding:8px 11px}.auth-note{margin:2px 0 0;font-size:.76rem;color:var(--ink4);text-align:center}@media (max-width: 940px){.shell{grid-template-columns:1fr}.rail{position:static;height:auto}.search{display:none}.drops{grid-template-columns:1fr}.main{padding:18px 16px 60px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
