:root{--ink: #111111;--ink-soft: #1C1C1C;--ink-mute: rgba(17,17,17,.62);--ink-faint: rgba(17,17,17,.36);--teal-dark: #73D0B9;--teal: #73D0B9;--teal-deep: #084b3e;--paper: #F6F6F6;--paper-2: #EFECE4;--paper-3: #E5E1D6;--rule: rgba(17,17,17,.1);--rule-strong: rgba(17,17,17,.22);--warn: #C8553D;--warn-soft: #FCEEE7;--amber: #084b3e;--amber-soft: #FBF2DF;--section: #73D0B9;--section-soft: rgba(15,107,88,.08);--font-serif: "Inter Tight", system-ui, sans-serif;--font-display: "Inter Tight", system-ui, sans-serif;--font-sans: "Inter Tight", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Menlo", monospace;--shadow-sm: 0 1px 0 rgba(17,17,17,.04);--shadow: 0 1px 0 rgba(17,17,17,.04), 0 8px 24px -12px rgba(17,17,17,.16);--shadow-lg: 0 1px 0 rgba(17,17,17,.06), 0 20px 40px -20px rgba(17,17,17,.22)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);font-size:15px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.09 0 0 0 0 0.08 0 0 0 0 0.07 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}#root{position:relative;z-index:1}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font:inherit;color:inherit;outline:none}a{color:var(--section);text-decoration:none;cursor:pointer}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{padding:18px 48px 0;border-bottom:1px solid var(--rule-strong);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f6f6e0}.topbar-row-1{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:30px;height:30px;background:var(--ink);display:grid;place-items:center;border-radius:4px;flex-shrink:0}.brand-mark svg{width:18px;height:18px;stroke:var(--teal);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.brand-logo{font-family:var(--font-sans);font-weight:700;font-size:18px;letter-spacing:-.01em;line-height:1}.brand-logo em{font-style:normal;font-weight:400;color:var(--ink-mute);margin-left:6px;letter-spacing:0}.brand-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);padding-left:14px;border-left:1px solid var(--rule)}.user-menu{display:flex;align-items:center;gap:14px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--teal-dark);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;font-family:var(--font-mono)}.user-info{text-align:right}.user-info .name{font-size:13px;font-weight:500}.user-info .role{font-size:9px;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.section-switcher{display:flex;padding:0}.section-tab{padding:18px 0;margin-right:36px;position:relative;display:flex;align-items:baseline;gap:10px;cursor:pointer;transition:color .2s}.section-tab .label{font-family:var(--font-serif);font-weight:400;font-size:18px;color:var(--ink-mute)}.section-tab .count{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);padding:2px 6px;border:1px solid var(--rule);border-radius:2px}.section-tab:hover .label{color:var(--ink)}.section-tab.active .label{color:var(--ink);font-style:italic}.section-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--section)}.subnav{display:flex;gap:0;padding:12px 48px;background:var(--paper-2);border-bottom:1px solid var(--rule);align-items:center}.subnav-item{padding:6px 14px;font-size:12px;font-weight:500;color:var(--ink-mute);border-radius:2px;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.subnav-item:hover{color:var(--ink)}.subnav-item.active{color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong)}.sync-status{display:flex;align-items:center;gap:8px;padding:5px 12px;background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-right:12px;cursor:pointer}.sync-status:hover{background:var(--paper-3)}.sync-status .sync-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-deep);position:relative}.sync-status.warn .sync-dot{background:var(--warn)}.sync-status .sync-count{color:var(--ink);font-weight:700}.page{flex:1;padding:24px 48px 80px}.masthead{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:end;padding-bottom:18px;border-bottom:1px solid var(--rule-strong);margin-bottom:20px;position:relative}.masthead .stats{grid-column:2;justify-self:center}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px;display:flex;align-items:center;gap:10px}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--section)}.page h1{font-family:var(--font-display);font-weight:700;font-size:clamp(36px,4vw,56px);line-height:.95;letter-spacing:-.025em}.page h1 em{font-style:italic;font-weight:500;color:var(--section)}.masthead .sub{color:var(--ink-mute);font-size:14px;line-height:1.55;margin-top:14px;max-width:520px}.stats{display:flex;gap:36px;align-items:flex-end}.stat{text-align:right}.stat-num{font-family:var(--font-serif);font-size:52px;font-weight:300;line-height:.9;letter-spacing:-.02em}.stat-num.warn{color:var(--warn)}.stat-num.section{color:var(--section)}.stat-num.deep{color:#084b3e}.stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px}.toolbar{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:28px}.filter-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:12px;font-weight:500;padding:6px 13px;border:1px solid var(--rule-strong);border-radius:999px;color:var(--ink);white-space:nowrap;background:transparent}.chip:hover{background:var(--paper-2)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip-count{opacity:.5;margin-left:5px;font-family:var(--font-mono);font-size:10px}.toolbar-right{margin-left:auto;display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:var(--ink);color:var(--paper);font-weight:500;font-size:12px;border-radius:2px;border:1px solid var(--ink);transition:all .18s}.btn:hover{background:var(--section);border-color:var(--section)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--paper-2);color:var(--ink)}.btn.primary{background:var(--section);border-color:var(--section)}.btn.primary:hover{background:var(--ink);border-color:var(--ink)}.btn .plus{font-size:14px;line-height:1;font-weight:300}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.project-card{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:28px 30px;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:all .25s}.project-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--accent, var(--section))}.project-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent, var(--section));font-weight:600;margin-bottom:8px}.project-title{font-family:var(--font-serif);font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.015em;margin-bottom:10px}.project-summary{font-size:13.5px;line-height:1.55;color:var(--ink-mute);margin-bottom:20px}.progress-bar{height:4px;background:var(--paper-3);border-radius:2px;overflow:hidden;margin-bottom:14px}.progress-fill{height:100%;background:var(--accent, var(--section))}.project-stats{display:flex;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:16px}.project-stat{flex:1;border-right:1px solid var(--rule);padding:0 12px}.project-stat:first-child{padding-left:0}.project-stat:last-child{border-right:none;padding-right:0}.project-stat .n{font-family:var(--font-serif);font-size:26px;font-weight:400;line-height:1}.project-stat .n.warn{color:var(--warn)}.project-stat .n.teal{color:var(--teal-deep)}.project-stat .l{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px}.project-foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.mini-avatar{width:22px;height:22px;border-radius:50%;font-size:9px;font-family:var(--font-mono);color:#fff;display:grid;place-items:center;border:2px solid var(--paper);margin-left:-6px;font-weight:600}.mini-avatar:first-child{margin-left:0}.avatars{display:flex}.project-card.add-new{background:transparent;border:1.5px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;min-height:240px}.project-card.add-new:before{display:none}.project-card.add-new:hover{border-color:var(--section);background:var(--section-soft);transform:none}.project-card.add-new .plus-circle{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--rule-strong);display:grid;place-items:center;font-size:24px;color:var(--ink-mute);font-weight:300;margin-bottom:14px}.project-card.add-new .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}.week-wrap{display:flex;flex-direction:column;gap:20px}.client-block{background:var(--paper);border:1px solid var(--rule);border-radius:3px;overflow:hidden;position:relative}.client-block:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--client-color, var(--teal-dark))}.client-block-head{padding:18px 26px 14px;display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper-2)}.client-block-head .client-identity{display:flex;align-items:baseline;gap:14px}.client-name-mono{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--client-color, var(--teal-deep));font-weight:700}.client-name-display{font-family:var(--font-serif);font-size:22px;font-weight:500;line-height:1;letter-spacing:-.015em}.client-counts{display:flex;gap:16px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.client-counts .cnt{display:flex;align-items:baseline;gap:5px}.client-counts .cnt strong{color:var(--ink);font-family:var(--font-serif);font-weight:500;font-size:18px;letter-spacing:-.01em}.client-counts .cnt.warn strong{color:var(--warn)}.owner-line{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;color:var(--ink-mute)}.week-task{display:grid;grid-template-columns:18px auto minmax(0,800px) auto 1fr;gap:14px;padding:12px 26px;align-items:center;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .15s;font-size:14px;line-height:1.4}.week-task:last-child{border-bottom:none}.week-task:hover{background:var(--paper-2)}.week-task .desc{transition:opacity .25s ease}.week-task.done .desc{text-decoration:line-through;opacity:.4}.week-task-check{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1.5px solid var(--rule-strong);border-radius:3px;background:transparent;cursor:pointer;position:relative}.week-task-check:hover{border-color:var(--teal-dark)}.week-task-check:checked{background:var(--teal-deep);border-color:var(--teal-deep)}.week-task-check:checked:after{content:"";position:absolute;left:3.5px;top:.5px;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.urgency{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:3px 10px;border-radius:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;white-space:nowrap}.urgency.overdue{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn)}.urgency.today{background:#fff8e1;color:#8a6b00;border:1px solid var(--amber)}.urgency.soon{background:var(--paper-2);color:var(--ink);border:1px solid var(--rule-strong)}.urgency.later{background:transparent;color:var(--ink-mute);border:1px solid var(--rule)}.week-task-right{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);white-space:nowrap}.owner-chip{display:inline-flex;align-items:center;gap:5px;color:var(--ink)}.owner-chip .dot-avatar{width:8px;height:8px;border-radius:50%;background:var(--avatar-color, var(--teal-dark))}.origin-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;position:relative}.origin-dot.fathom{background:#8869b8}.origin-dot.quick_capture{background:var(--amber)}.origin-dot.email{background:#5a8ac2}.origin-dot.workflow{background:var(--teal);border:1px solid var(--teal-deep)}.origin-dot[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:16px;right:-4px;background:var(--ink);color:var(--paper);padding:4px 8px;font-size:10px;white-space:nowrap;border-radius:2px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono);font-weight:500;z-index:10}.client-card{background:var(--paper);border:1px solid var(--rule);border-radius:2px;overflow:hidden;position:relative;transition:all .25s}.client-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--client-color, var(--teal-dark))}.client-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow)}.client-card-head{padding:20px 26px 16px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}.client-card-head .name-mono{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--client-color, var(--teal-deep));font-weight:600;margin-bottom:4px}.client-card-head h3{font-family:var(--font-serif);font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.015em}.client-card-row{display:grid;grid-template-columns:76px 1fr auto;gap:16px;padding:16px 26px;align-items:center;border-bottom:1px solid var(--rule);cursor:pointer}.client-card-row:last-child{border-bottom:none}.client-card-row:hover{background:var(--paper-2)}.when-col{text-align:center}.when-col .d{font-family:var(--font-serif);font-size:26px;font-weight:300;display:block;line-height:1}.when-col .m{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px;display:block}.when-col.past .d{color:var(--ink-mute)}.when-col.future .d{color:var(--section)}.when-col.today .d{color:var(--warn)}.client-card-row .info .label{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}.client-card-row .info .title{font-size:14px;font-weight:500}.client-card-row .info .meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);margin-top:4px}.client-card-row .action{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--section);padding:4px 10px;border:1px solid var(--rule);border-radius:2px}.client-card-foot{padding:14px 26px;background:var(--paper-2);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.client-card-foot .pending{color:var(--warn);font-weight:600}.client-card-foot .pending.zero{color:var(--ink-mute);font-weight:500}.review-banner{background:linear-gradient(135deg,var(--paper-2) 0%,var(--amber-soft) 100%);border:1px solid var(--amber);border-radius:2px;padding:18px 24px;margin-bottom:32px;display:flex;align-items:center;gap:20px;position:relative}.review-banner:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--amber)}.review-banner .icon{width:36px;height:36px;border-radius:50%;background:var(--amber);color:#fff;display:grid;place-items:center;font-size:18px}.review-banner .msg{flex:1}.review-banner .msg .title{font-family:var(--font-serif);font-size:18px;font-weight:500;margin-bottom:3px}.review-banner .msg .sub{color:var(--ink-mute);font-size:13px}.review-queue{background:var(--paper);border:1px solid var(--rule);border-radius:2px;margin-bottom:24px}.review-item{border-bottom:1px solid var(--rule-strong)}.review-item:last-child{border-bottom:none}.review-item-head{padding:24px 28px 18px;background:var(--paper-2);border-bottom:1px solid var(--rule);position:relative}.review-item-head:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--amber)}.review-item-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:8px;display:flex;gap:14px;align-items:center}.review-item-head h3{font-family:var(--font-serif);font-size:26px;font-weight:500;line-height:1.15;letter-spacing:-.015em}.review-item-summary{color:var(--ink-mute);font-size:13.5px;line-height:1.55;margin-top:10px}.review-item-body{padding:20px 28px 24px}.extracted-task{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--rule);align-items:center}.extracted-task:last-child{border-bottom:none}.extracted-task .keep{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1.5px solid var(--rule-strong);border-radius:2px;background:var(--teal-deep);border-color:var(--teal-deep);cursor:pointer;position:relative}.extracted-task .keep:after{content:"";position:absolute;left:3.5px;top:.5px;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.extracted-task .keep:not(:checked){background:transparent}.extracted-task .keep:not(:checked):after{display:none}.extracted-task .task-text{font-size:13.5px;line-height:1.4}.extracted-task .task-owner{font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);margin-top:3px}.review-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}.review-actions .spacer{flex:1}.fab{position:fixed;bottom:28px;right:28px;z-index:30;background:var(--section);color:#fff;padding:14px 22px;border-radius:999px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px -6px #0f6b5880;font-weight:600;font-size:13px}.fab:hover{transform:translateY(-2px)}.fab .plus{font-size:20px;line-height:1;font-weight:300}.fab .kbd{font-family:var(--font-mono);font-size:10px;padding:2px 6px;border-radius:3px;background:#ffffff2e;letter-spacing:.05em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11111159;z-index:60;opacity:0;pointer-events:none;transition:opacity .2s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:min(540px,calc(100% - 40px));max-height:calc(100vh - 80px);overflow-y:auto;background:var(--paper);border:1px solid var(--rule-strong);border-radius:2px;box-shadow:var(--shadow-lg);z-index:70;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.2,.8,.2,1)}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.modal-head{padding:24px 32px 20px;border-bottom:1px solid var(--rule);position:relative}.modal-head:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--section)}.modal-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--section);margin-bottom:6px;font-weight:600}.modal-head h3{font-family:var(--font-serif);font-size:26px;font-weight:400;letter-spacing:-.015em}.modal-close{position:absolute;top:20px;right:20px;font-size:22px;color:var(--ink-mute);padding:4px 8px}.modal-body{padding:24px 32px 8px}.modal-field{margin-bottom:18px}.modal-field label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:8px}.modal-field input,.modal-field select,.modal-field textarea{width:100%;border:1px solid var(--rule-strong);padding:10px 14px;border-radius:2px;background:var(--paper);font-size:14px;font-family:inherit}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:var(--section)}.modal-field textarea{min-height:80px;resize:vertical}.modal-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.source-options{display:flex;gap:6px;flex-wrap:wrap}.source-chip{padding:6px 12px;border:1px solid var(--rule-strong);border-radius:999px;font-size:12px;font-weight:500;background:transparent;color:var(--ink)}.source-chip:hover{background:var(--paper-2)}.source-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.modal-foot{padding:18px 32px 24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);background:var(--paper-2)}.cycle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:26px}.cycle-card{background:var(--paper);border:1px solid var(--rule);border-radius:2px;overflow:hidden;position:relative;cursor:pointer;transition:all .25s}.cycle-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.cycle-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--client-color, var(--teal-dark))}.cycle-head{padding:22px 26px 16px;display:grid;grid-template-columns:1fr auto;gap:14px;border-bottom:1px solid var(--rule)}.cycle-client-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:4px}.cycle-title{font-family:var(--font-serif);font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.015em}.cycle-subtitle{font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);margin-top:6px}.cycle-health{text-align:right;padding-left:16px}.cycle-health .pct{font-family:var(--font-serif);font-size:36px;font-weight:300;line-height:1;letter-spacing:-.02em}.cycle-health .status{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:6px;font-weight:600}.cycle-health .status.on_track{color:var(--teal-deep)}.cycle-health .status.at_risk{color:var(--amber)}.cycle-health .status.late{color:var(--warn)}.cycle-health .status.done{color:var(--teal-deep)}.step-timeline{padding:18px 26px;display:flex;gap:4px}.step-phase{flex:1;min-height:48px;border-radius:2px;padding:8px 10px;position:relative}.step-phase .phase-name{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;line-height:1.2}.step-phase .phase-progress{font-size:10px;font-family:var(--font-mono);margin-top:4px;opacity:.75}.step-phase.done{background:var(--teal-deep);color:#fff}.step-phase.active{background:#e8f5f0;color:var(--teal-deep);border:1px solid var(--teal)}.step-phase.pending{background:var(--paper-2);color:var(--ink-mute);border:1px solid var(--rule)}.step-phase.blocked{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn)}.cycle-foot{padding:14px 26px;background:var(--paper-2);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);border-top:1px solid var(--rule)}.cycle-foot .due-soon{color:var(--warn);font-weight:600}.cycle-foot .done-date{color:var(--teal-deep);font-weight:600}.cycle-owner{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:.01em;color:var(--ink)}.cycle-owner .mini-avatar{width:18px;height:18px;font-size:8px;border-width:1px;margin-left:0}.cycle-owner-name{font-size:11px;color:var(--ink)}.cycle-owner-unassigned{font-style:italic;color:var(--ink-faint);text-transform:none}.cycle-filters{display:flex;gap:6px;margin:0 0 18px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.cycle-filter{padding:5px 12px;border:1px solid var(--rule);background:transparent;color:var(--ink-mute);cursor:pointer;border-radius:2px}.cycle-filter:hover{color:var(--ink);border-color:var(--rule-strong)}.cycle-filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.run-owner{display:flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute)}.run-owner-label{font-weight:600}.run-owner-chip{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:.01em;color:var(--ink);font-family:var(--font-sans);font-size:13px}.run-owner-chip .mini-avatar{width:20px;height:20px;font-size:9px;border-width:1px;margin-left:0}.run-owner-unassigned{text-transform:none;letter-spacing:.01em;color:var(--ink-faint);font-style:italic;font-family:var(--font-sans);font-size:13px}.run-owner-edit{font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);background:none;border:1px solid var(--rule);padding:2px 6px;cursor:pointer;border-radius:2px}.run-owner-edit:hover{color:var(--ink);border-color:var(--rule-strong)}.run-owner-select{padding:4px 8px;border:1px solid var(--rule-strong);background:var(--paper);font-size:13px;border-radius:2px;font-family:var(--font-sans);text-transform:none;letter-spacing:0}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--paper-2);color:var(--ink-mute);border:1px solid var(--rule);white-space:nowrap;font-weight:500;font-family:var(--font-mono);font-size:10px}.pill.workflow{background:#e8f5f0;color:#0a5547;border-color:#73d0b9;font-weight:600}.pill.workflow:before{content:"⟳";margin-right:3px;font-size:11px}.pill.gate{background:#fff8e1;color:#8a6b00;border-color:var(--amber);font-weight:600}.pill.gate:before{content:"⚑";margin-right:3px}.back-link{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:16px;display:inline-block}.back-link:hover{color:var(--ink)}.run-progress-bar{position:relative;height:44px;background:var(--paper-2);border-radius:2px;margin-bottom:24px;overflow:hidden;border:1px solid var(--rule)}.run-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--teal-deep) 0%,var(--teal-dark) 100%)}.run-progress-markers{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;z-index:2}.run-progress-marker{flex:1;border-right:1px solid rgba(255,255,255,.3);padding:8px 12px;display:flex;flex-direction:column;justify-content:center;color:#ffffffe6;font-size:10px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.run-progress-marker:last-child{border-right:none}.run-progress-marker.pending{color:var(--ink-mute)}.run-progress-marker .marker-days{font-family:var(--font-serif);font-size:18px;font-weight:400;line-height:1;margin-top:2px;text-transform:none}.run-step-list{background:var(--paper);border:1px solid var(--rule);border-radius:2px;margin-bottom:24px}.run-phase-group{border-bottom:1px solid var(--rule-strong)}.run-phase-group:last-child{border-bottom:none}.run-phase-head{padding:16px 26px;background:var(--paper-2);display:flex;justify-content:space-between;align-items:center}.phase-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);font-weight:600;display:flex;align-items:center;gap:10px}.phase-label .num{width:22px;height:22px;border-radius:50%;background:var(--paper-3);color:var(--ink);display:grid;place-items:center;font-size:11px}.phase-label.done .num{background:var(--teal-deep);color:#fff}.phase-label.active .num{background:var(--teal);color:var(--ink)}.phase-status{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--ink-mute);text-transform:uppercase}.phase-status strong{color:var(--ink);font-weight:700}.run-step{display:grid;grid-template-columns:15px 1fr;gap:14px;padding:14px 26px;border-bottom:1px dashed var(--rule);align-items:center}.run-step:last-child{border-bottom:none}.run-step:hover{background:var(--paper-2)}.run-step.done .step-name{text-decoration:line-through;opacity:.45}.run-step .step-name{font-size:13.5px;line-height:1.4}.run-step .step-meta{margin-top:5px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-family:var(--font-mono);font-size:10px}.run-step-body{min-width:0}.run-step .parent-name{font-weight:600;display:flex;align-items:center;gap:8px}.run-step--child{padding-left:64px;background:var(--paper)}.run-step--child:hover{background:var(--paper-2)}.chevron-btn{width:18px;height:18px;padding:0;display:inline-grid;place-items:center;font-size:11px;color:var(--ink-mute);border-radius:2px;flex-shrink:0}.chevron-btn:hover{color:var(--ink);background:var(--paper-2)}.kids-counter{font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);margin-left:auto;padding-left:12px;letter-spacing:.05em}.step-due{color:var(--ink-mute)}.step-due.inherited{color:var(--ink-faint);font-style:italic}.task-attachments{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:4px}.attach-chip{display:inline-flex;align-items:center;border:1px dashed var(--rule-strong);border-radius:2px;padding:2px 4px 2px 6px;font-size:10px;background:var(--paper)}.attach-name{color:var(--ink-mute);background:none;border:none;padding:0;font:inherit;cursor:pointer}.attach-name:hover{color:var(--ink);text-decoration:underline}.attach-remove{margin-left:6px;color:var(--ink-faint);background:none;border:none;cursor:pointer;font-size:11px;line-height:1;padding:0 2px}.attach-remove:hover{color:var(--warn)}.attach-add{font-size:11px;color:var(--ink-mute);background:none;border:1px dashed var(--rule);border-radius:2px;padding:2px 6px;cursor:pointer}.attach-add:hover:not(:disabled){color:var(--ink);border-color:var(--rule-strong)}.attach-add:disabled{opacity:.5;cursor:wait}.comment-btn{font-size:11px;color:var(--ink-mute);background:none;border:1px dashed var(--rule);border-radius:2px;padding:2px 6px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.comment-btn:hover{color:var(--ink);border-color:var(--rule-strong)}.comment-count{font-family:var(--font-mono);font-size:10px}.comment-panel{margin-top:8px;padding:10px 12px;border:1px dashed var(--rule-strong);border-radius:2px;background:var(--paper-2);position:relative}.comment-close{position:absolute;top:4px;right:6px;font-size:14px;color:var(--ink-mute);background:none;border:none;cursor:pointer;line-height:1;padding:2px 4px}.comment-close:hover{color:var(--ink)}.comment-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 10px}.comment-row{font-size:12px;line-height:1.45}.comment-head{display:flex;gap:8px;align-items:baseline;font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);margin-bottom:2px}.comment-author{color:var(--ink);font-weight:600;letter-spacing:.02em}.comment-time{letter-spacing:.05em}.comment-own-actions{margin-left:auto;display:inline-flex;gap:6px}.comment-own-actions button{font:inherit;color:var(--ink-mute);background:none;border:none;cursor:pointer;padding:0}.comment-own-actions button:hover{color:var(--ink);text-decoration:underline}.comment-body{color:var(--ink);white-space:pre-wrap}.comment-edit textarea{width:100%;min-height:50px;padding:6px 8px;border:1px solid var(--rule-strong);border-radius:2px;font:inherit;font-size:12px;resize:vertical;background:var(--paper)}.comment-edit>div{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.comment-edit button{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule);background:var(--paper);cursor:pointer}.comment-add{display:flex;gap:6px;align-items:flex-end;border-top:1px dashed var(--rule);padding-top:8px}.comment-add textarea{flex:1;min-height:40px;padding:6px 8px;border:1px solid var(--rule-strong);border-radius:2px;font:inherit;font-size:12px;resize:vertical;background:var(--paper)}.comment-add button{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer}.comment-add button:disabled{opacity:.4;cursor:not-allowed}.comment-empty{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase}.gate-banner{margin:0 26px 16px;padding:14px 18px;background:#fff8e1;border:1px solid var(--amber);border-radius:2px;display:flex;align-items:center;gap:14px}.gate-banner .gate-icon{width:32px;height:32px;border-radius:50%;background:var(--amber);color:#fff;display:grid;place-items:center;font-size:16px;flex-shrink:0}.gate-banner .msg{flex:1;font-size:13px;line-height:1.45}.icon-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--ink-mute);border:1px solid var(--rule);background:transparent}.icon-btn:hover{color:var(--ink);border-color:var(--rule-strong);background:var(--paper-2)}.icon-btn svg{width:15px;height:15px}.admin-menu-wrap{position:relative}.admin-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--paper);border:1px solid var(--rule-strong);border-radius:2px;box-shadow:var(--shadow);min-width:220px;padding:6px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:all .18s;z-index:50}.admin-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.admin-menu-head{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);padding:10px 12px 6px;font-weight:600}.admin-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:13px;border-radius:2px;text-align:left;width:100%}.admin-menu-item:hover{background:var(--paper-2)}.admin-menu-item .kmeta{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-mute)}.dash-split{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start}.dash-col{min-width:0}.dash-col-meetings{position:sticky;top:24px}@media (max-width: 1100px){.dash-split{grid-template-columns:1fr}.dash-col-meetings{position:static}}.detail-panel{position:fixed;top:50%;left:50%;width:min(640px,calc(100% - 40px));max-height:calc(100vh - 80px);overflow-y:auto;background:var(--paper);border:1px solid var(--rule-strong);border-radius:2px;box-shadow:var(--shadow-lg);z-index:65;opacity:0;pointer-events:none;transform:translate(-50%,-46%);transition:all .25s cubic-bezier(.2,.8,.2,1)}.detail-panel.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.detail-panel .head{padding:24px 28px 18px;border-bottom:1px solid var(--rule)}.detail-panel .body{padding:20px 28px}.detail-panel .field{margin-bottom:14px;font-size:13px;display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center}.detail-panel .field-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute)}.detail-panel select,.detail-panel input[type=date]{width:100%;padding:6px 10px;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper);font-size:13px}.comments-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}.comments-section h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px}.comment{display:grid;grid-template-columns:24px 1fr;gap:10px;margin-bottom:14px}.comment .body{background:var(--paper-2);padding:10px 14px;border-radius:2px;font-size:13px}.comment .author{font-family:var(--font-mono);font-size:10px;color:var(--ink-mute);margin-bottom:2px;font-weight:600}.comment textarea{border:1px solid var(--rule-strong);padding:8px 12px;border-radius:2px;width:100%;font-family:inherit;font-size:13px;min-height:60px;resize:vertical}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--paper)}.login-card{width:min(420px,90vw);background:var(--paper);border:1px solid var(--rule-strong);border-radius:3px;padding:40px;box-shadow:var(--shadow-lg)}.login-card h1{font-family:var(--font-serif);font-size:36px;font-weight:400;letter-spacing:-.015em;margin-bottom:8px}.login-card h1 em{font-style:italic;color:var(--teal-dark)}.login-card .sub{color:var(--ink-mute);font-size:13px;margin-bottom:28px}.login-card .field{margin-bottom:16px}.login-card label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}.login-card input{width:100%;border:1px solid var(--rule-strong);padding:10px 14px;border-radius:2px;background:var(--paper);font-size:14px}.login-card .err{background:var(--warn-soft);color:var(--warn);padding:10px 14px;border-radius:2px;font-size:13px;margin-bottom:16px;border:1px solid var(--warn)}.loading{padding:60px 0;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.empty{padding:48px 0;text-align:center;color:var(--ink-mute);font-style:italic}.budget-list-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:16px}.budget-list-head h1{margin:0}.budget-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.budget-list-card{text-align:left;font-family:inherit;cursor:pointer;background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:20px 22px 18px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s,transform .15s}.budget-list-card:hover{border-color:var(--rule-strong);box-shadow:0 8px 24px -16px #1111112e;transform:translateY(-1px)}.budget-list-card-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.budget-list-card-title{font-size:16px;font-weight:600;line-height:1.25;color:var(--ink)}.budget-list-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;font-size:12px;color:var(--ink-mute)}.badge{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:2px}.badge.status-draft{background:#fef3c7;color:#92400e}.badge.status-in_review{background:#dbeafe;color:#1e40af}.badge.status-approved{background:#d1fae5;color:#065f46}.badge.status-archived{background:#e5e7eb;color:#4b5563}.budget-detail{padding-bottom:32px}.budget-header{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:16px 0 20px;margin-bottom:20px;border-bottom:1px solid var(--rule)}.budget-header-title h2{margin:4px 0 6px;font-size:22px;font-weight:700;letter-spacing:-.01em}.budget-header-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--ink-mute)}.budget-header-actions{display:flex;align-items:center;gap:10px}.scenario-toggle{display:inline-flex;border:1px solid var(--rule-strong);border-radius:2px;background:var(--paper);overflow:hidden}.scenario-chip{background:transparent;border:none;cursor:pointer;padding:6px 14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border-right:1px solid var(--rule);transition:background .12s,color .12s}.scenario-chip:last-child{border-right:none}.scenario-chip:hover{color:var(--ink);background:var(--paper-2)}.scenario-chip.active{background:var(--ink);color:var(--paper)}.scenario-settings{background:var(--section-soft, var(--paper-2));border:1px solid var(--rule);border-radius:4px;padding:18px 20px;margin-bottom:20px}.scenario-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}.scenario-settings-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}.scenario-settings-help{font-size:12px;color:var(--ink-mute);max-width:60ch;line-height:1.45}.scenario-settings-note{font-size:12px;color:var(--ink-mute)}.scenario-settings-actions{display:flex;gap:8px;flex-shrink:0}.scenario-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.scenario-settings-error{margin-top:10px;font-size:12px;color:#b3261e}.budget-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.budget-sidebar{display:flex;flex-direction:column;gap:2px}.budget-sidebar-item{text-align:left;background:transparent;border:none;cursor:pointer;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-family:inherit;border-left:2px solid transparent;transition:background .12s,border-color .12s}.budget-sidebar-item:hover{background:var(--paper-2)}.budget-sidebar-item.active{background:var(--paper-2);border-left-color:var(--teal-deep)}.budget-sidebar-kind{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.budget-sidebar-name{font-size:13px;font-weight:500;line-height:1.3;color:var(--ink)}.budget-main{min-width:0}.budget-grid-scroll{overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--rule);background:var(--paper)}.budget-grid{border-collapse:separate;border-spacing:0;font-size:13px;width:max-content}.budget-grid thead th{position:sticky;top:0;z-index:2;background:#1a1a1a;color:var(--paper);font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:10px 14px;border-right:1px solid rgba(255,255,255,.08);white-space:nowrap;text-align:right}.budget-grid thead th.budget-grid-corner{z-index:3;left:0;text-align:left;min-width:240px;border-right:1px solid rgba(255,255,255,.14)}.budget-grid tbody th.budget-row-label{position:sticky;left:0;z-index:1;background:var(--paper);text-align:left;font-weight:500;padding:8px 14px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:240px;max-width:320px}.budget-row-label-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-row.row-header th.budget-row-label,.budget-row.row-total th.budget-row-label{background:#73d0b92e;font-weight:700}.budget-row.row-header th.budget-row-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep)}.budget-row.row-input th.budget-row-label{color:#2563eb}.budget-row.row-spacer td{padding:6px 0;border:none;background:transparent}.budget-row.row-header .budget-row-label-text{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.budget-row.row-header-prose td.budget-row-prose{position:sticky;left:0;padding:14px 14px 8px;font-style:italic;font-size:12px;color:var(--ink-mute);background:var(--paper);border-bottom:1px solid var(--rule);border-right:none;font-weight:400;text-transform:none;letter-spacing:0;white-space:normal}.budget-cell{padding:8px 14px;text-align:right;font-variant-numeric:tabular-nums;border-right:1px solid rgba(17,17,17,.04);border-bottom:1px solid var(--rule);cursor:pointer;white-space:nowrap;color:var(--ink);background:var(--paper);transition:background .08s}.budget-cell:hover{background:var(--paper-2)}.budget-cell.row-input{color:#2563eb}.budget-cell.row-header,.budget-cell.row-total{background:#73d0b92e;font-weight:700}.budget-cell.row-total:hover{background:#73d0b94d}.budget-cell.cell-negative{color:var(--warn)}.budget-cell.cell-has-formula{color:var(--ink)}.budget-cell.cell-has-formula.cell-negative{color:var(--warn)}.budget-cell.cell-selected{outline:2px solid var(--teal-deep);outline-offset:-2px;background:#73d0b91f}.budget-cover{padding:8px 0 32px;max-width:720px}.budget-cover-heading{margin:28px 0 10px;font-size:14px;font-weight:700;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}.budget-cover-heading:first-child{margin-top:4px}.budget-cover-row{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:10px 0;border-bottom:1px solid var(--rule);align-items:baseline}.budget-cover-label{font-size:12px;color:var(--ink-mute)}.budget-cover-value{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:normal;word-wrap:break-word}.budget-cover-value.mono{font-family:var(--font-mono);font-size:12px}.budget-cover-spacer{height:14px}.budget-inspector{position:fixed;top:0;right:0;bottom:0;width:min(420px,calc(100vw - 40px));background:var(--paper);border-left:1px solid var(--rule-strong);box-shadow:var(--shadow-lg);z-index:70;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.budget-inspector.open{transform:translate(0)}.budget-inspector-head{padding:24px 28px 16px;border-bottom:1px solid var(--rule);position:relative}.budget-inspector-head h3{font-size:16px;font-weight:700;margin:6px 0 2px;letter-spacing:-.005em}.budget-inspector-period{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--ink-mute)}.budget-inspector-body{flex:1;overflow-y:auto;padding:4px 28px 24px}.budget-inspector-section{padding:18px 0;border-bottom:1px solid var(--rule)}.budget-inspector-section:last-child{border-bottom:none}.budget-inspector-section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:10px}.budget-inspector-section-label .count{color:var(--ink-faint);font-weight:400}.budget-inspector-value{font-size:28px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}.budget-inspector-value.is-empty{color:var(--ink-faint);font-weight:400}.budget-inspector-hint{margin-top:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--ink-faint)}.budget-inspector-meta{display:grid;grid-template-columns:90px 1fr;gap:8px 14px;margin:0;font-size:12px}.budget-inspector-meta dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.budget-inspector-meta dd{margin:0;color:var(--ink);word-break:break-word}.budget-inspector-meta dd.cap{text-transform:capitalize}.budget-inspector-meta dd.wrap{white-space:pre-wrap}.budget-inspector-meta dd.mono{font-family:var(--font-mono);font-size:11px}.budget-inspector-empty{font-style:italic;color:var(--ink-mute);font-size:12px;padding:6px 0}.budget-inspector-comments{list-style:none;padding:0;margin:0 0 12px}.budget-inspector-comments li{padding:10px 0;border-bottom:1px solid var(--rule)}.budget-inspector-comments li:last-child{border-bottom:none}.comment-meta{display:flex;gap:8px;align-items:center;font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);margin-bottom:4px}.comment-resolved{font-size:9px;padding:2px 6px;border-radius:2px;background:#d1fae5;color:#065f46;letter-spacing:.1em;text-transform:uppercase}.comment-body{font-size:13px;color:var(--ink);line-height:1.5;white-space:pre-wrap}.budget-inspector-comment-form{margin-top:12px}.budget-inspector-comment-form textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--rule-strong);border-radius:2px;resize:vertical;min-height:56px;font-family:inherit;font-size:13px;background:var(--paper)}.budget-inspector-comment-form textarea:focus{outline:none;border-color:var(--teal-deep)}.budget-inspector-comment-foot{display:flex;justify-content:flex-end;margin-top:8px}.budget-inspector-audit{list-style:none;padding:0;margin:0}.budget-inspector-audit li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--rule)}.budget-inspector-audit li:last-child{border-bottom:none}.audit-line{font-size:12px;color:var(--ink)}.audit-time{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint)}@media (max-width: 1000px){.topbar{padding:16px 24px 0}.subnav{padding:10px 24px;overflow-x:auto}.page{padding:28px 24px 60px}.masthead{grid-template-columns:1fr}.stats{justify-content:flex-start;gap:24px}.card-grid,.cycle-grid{grid-template-columns:1fr}.section-tab{margin-right:24px}.detail-panel{width:100%}}.report-shell{max-width:1180px;margin:0 auto;background:#fff;border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #00000008;color:#111;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.report-nav{background:#111;color:#fff;padding:14px 32px;display:flex;justify-content:space-between;align-items:center}.report-brand{display:flex;align-items:center;gap:10px}.report-brand-name{font-size:15px;font-weight:700;letter-spacing:.5px}.report-brand-by{font-size:12px;font-weight:400;color:#9dc;letter-spacing:.5px}.report-user{font-size:11px;color:#9dc;letter-spacing:1.2px;display:flex;align-items:center;gap:10px}.report-user-name{white-space:nowrap}.report-user-mode{font-size:9px;padding:3px 8px;background:#99ddcc2e;border-radius:2px;letter-spacing:.15em}.report-pdf-btn{background:transparent;border:1px solid rgba(153,221,204,.4);color:#9dc;padding:5px 10px;font-size:11px;font-family:inherit;letter-spacing:.5px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s,border-color .12s}.report-pdf-btn:hover{background:#99ddcc1f;border-color:#9dc}.report-hero{padding:32px 36px 8px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.report-hero-title h1{font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1.1}.report-hero-sub{font-size:13px;color:#666;margin-top:4px}.report-pill{background:#bfeadf;color:#0a5a48;padding:6px 16px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.report-scorecard{padding:22px 36px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.report-stat{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:18px;position:relative;overflow:hidden}.report-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.report-stat.accent-mint:before{background:#9dc}.report-stat.accent-coral:before{background:#e88670}.report-stat.accent-teal:before{background:#0a7f6e}.report-stat.accent-dark:before{background:#111}.report-stat-label{font-size:10px;color:#777;letter-spacing:1.2px;font-weight:700}.report-stat-val{font-size:28px;font-weight:700;margin:8px 0 2px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.report-stat-delta{font-size:11px;color:#555}.report-stat-delta.up{color:#0a7f56}.report-stat-delta.down{color:#b03030}.report-stat-spark{position:absolute;bottom:10px;right:10px;opacity:.4}.report-row{padding:0 36px;display:grid;gap:16px;margin-bottom:20px}.report-row.two{grid-template-columns:2fr 1fr}.report-row.split{grid-template-columns:1fr 1fr}.report-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px 22px}.report-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.report-card-head h3{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#777}.report-tag{font-size:10px;font-weight:700;color:#0a5a48;background:#bfeadf;padding:3px 10px;border-radius:4px;letter-spacing:.5px}.report-tag.warn{color:#7a4b00;background:#fce8c2}.report-tag.bad{color:#7a1f1f;background:#f9d6d4}.report-waterfall{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:end;height:240px;padding-bottom:24px}.report-wf-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.report-wf-fill{width:70%;min-height:6px;border-radius:2px 2px 0 0;transition:height .5s ease}.report-wf-bar.kind-revenue .report-wf-fill{background:#9dc}.report-wf-bar.kind-cogs .report-wf-fill{background:#e88670}.report-wf-bar.kind-gp .report-wf-fill{background:#bfeadf}.report-wf-bar.kind-opex .report-wf-fill{background:#d65a3f}.report-wf-bar.kind-net .report-wf-fill{background:#111}.report-wf-bar.kind-net_loss .report-wf-fill{background:#b03030}.report-wf-lbl{font-size:10px;color:#666;margin-top:8px;text-align:center;letter-spacing:.5px;text-transform:uppercase;font-weight:700}.report-wf-amt{font-size:13px;font-weight:700;color:#111;margin-top:2px;font-variant-numeric:tabular-nums}.report-wf-amt.loss{color:#b03030}.report-chart{width:100%;height:220px;display:block}.report-chart.tall{height:280px}.report-donut-wrap{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}.report-donut{width:160px;height:160px}.report-donut-legend{display:flex;flex-direction:column;gap:6px}.report-leg-item{display:flex;align-items:center;gap:8px;font-size:12px}.report-leg-sw{width:12px;height:12px;border-radius:3px;flex-shrink:0}.report-leg-lbl{flex:1;color:#333}.report-leg-val{font-weight:700;font-variant-numeric:tabular-nums;color:#111}.report-runway{background:#9dc;color:#0a3d35;padding:18px 20px;border-radius:8px;display:flex;align-items:center;gap:18px;margin-bottom:16px}.report-runway-num{font-size:40px;font-weight:700;letter-spacing:-1.5px;line-height:1;font-variant-numeric:tabular-nums}.report-runway-num small{font-size:13px;font-weight:500;opacity:.7;margin-left:4px}.report-runway-desc{flex:1;font-size:12px;line-height:1.45}.report-runway-desc strong{display:block;font-weight:700;margin-bottom:2px;font-size:13px}.report-health-bar{margin-top:14px}.report-health-bar-row{display:flex;justify-content:space-between;font-size:12px;color:#555}.report-health-bar-val{font-weight:700;color:#111;font-variant-numeric:tabular-nums}.report-health-bar-val.ok{color:#0a7f6e}.report-progress-track{height:12px;background:#f0f0f0;border-radius:8px;overflow:hidden;margin-top:5px}.report-progress-bar{height:100%;border-radius:8px;transition:width .6s ease}.report-progress-bar.tone-mint{background:#9dc}.report-progress-bar.tone-coral{background:#e88670}.report-progress-bar.tone-teal{background:#0a7f6e}.report-health-note{font-size:11px;color:#777;margin-top:4px}.report-lit-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:13px}.report-lit-row:last-child{border-bottom:none}.report-lit-ico{width:32px;height:32px;background:#f6f6f6;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#0a7f6e;flex-shrink:0}.report-lit-text{flex:1;color:#333}.report-lit-ttl{font-weight:700;color:#111}.report-lit-val{font-weight:700;color:#111;font-variant-numeric:tabular-nums}.report-open-items-wrap{padding:0 36px 24px}.report-open-items{background:#fff8e1;border:1px solid #f3d97b;border-radius:8px;padding:16px 20px;display:flex;align-items:center;gap:14px}.report-open-items-badge{background:#d4a017;color:#fff;width:32px;height:32px;border-radius:100px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.report-open-items-copy{flex:1;font-size:12px;color:#6b4e00}.report-open-items-copy strong{display:block;color:#5a4100;margin-bottom:2px;font-size:13px}.report-footer{padding:20px 36px 28px;background:#111;color:#9dc;text-align:center;font-size:11px;letter-spacing:.4px}.report-footer-firm{color:#fff;font-weight:700;margin-bottom:4px;font-size:13px}.report-footer-meta{opacity:.7;margin-top:4px}@media (max-width: 900px){.report-scorecard{grid-template-columns:repeat(2,1fr)}.report-row.two,.report-row.split{grid-template-columns:1fr}.report-hero{flex-direction:column;align-items:flex-start;gap:12px}.report-donut-wrap{grid-template-columns:1fr}.report-donut{margin:0 auto}}@media print{body *{visibility:hidden}.report-shell,.report-shell *{visibility:visible}.report-shell{position:absolute;top:0;left:0;width:100%;max-width:100%;border:none;box-shadow:none;border-radius:0}.report-pdf-btn{display:none!important}.report-nav,.report-pill,.report-runway,.report-footer,.report-stat,.report-card,.report-open-items,.report-tag,.report-progress-bar,.report-wf-fill,.report-leg-sw{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{margin:.4in}}.report-detail-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.share-modal{width:min(520px,calc(100% - 40px))}.share-modal-head{padding:24px 28px 16px;border-bottom:1px solid var(--rule);position:relative}.share-modal-head:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--section, #99DDCC)}.share-modal-body{padding:20px 28px 24px}.share-success-meta{font-size:12px;color:var(--ink-mute);margin-top:4px}.share-panel{margin-top:28px;border:1px solid var(--rule);border-radius:4px;padding:16px 18px;background:var(--paper)}.share-panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.share-panel-head h3{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--ink-mute);text-transform:uppercase}.share-panel-count{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);letter-spacing:.1em}.share-panel-empty{font-size:13px;color:var(--ink-mute);padding:12px 4px}.share-panel-table{width:100%;border-collapse:collapse;font-size:12px}.share-panel-table th{text-align:left;font-weight:600;color:var(--ink-mute);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 8px 6px 0;border-bottom:1px solid var(--rule)}.share-panel-table td{padding:8px 8px 8px 0;border-bottom:1px solid var(--rule);color:var(--ink)}.share-panel-table td.num{font-variant-numeric:tabular-nums}.share-actions{display:flex;gap:8px;flex-wrap:nowrap;white-space:nowrap}.link-btn{background:transparent;border:none;cursor:pointer;padding:2px 4px;font-family:inherit;font-size:12px;color:var(--ink-mute);text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--ink)}.link-btn.danger{color:#b03030}.link-btn.danger:hover{color:#8a1f1f}.share-status{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:2px}.share-status.tone-ok{background:#0a7f561f;color:#0a7f56}.share-status.tone-warn{background:#d4a01729;color:#7a5500}.share-status.tone-bad{background:#b030301a;color:#b03030}.ink-mute{color:var(--ink-mute)}.public-shell{min-height:100vh;background:#f6f6f6;padding:28px 16px 60px}.public-loading,.public-error{max-width:480px;margin:80px auto 0;background:#fff;border:1px solid #e8e8e8;border-radius:6px;padding:28px 32px;text-align:center;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#111}.public-loading{color:#555;font-size:14px}.public-error h2{font-size:22px;font-weight:700;margin-bottom:10px;letter-spacing:-.5px}.public-error p{font-size:13px;color:#555;line-height:1.5;margin-bottom:10px}.public-error-detail{font-family:var(--font-mono);font-size:11px;color:#999;background:#fafafa;padding:8px;border-radius:3px}.public-error-foot{margin-top:18px;font-size:11px;color:#888}
