:root{--ink:#111;--paper:#f7f6f3;--muted:#8a8a85;--line:#d8d6d0;--line-strong:#111;--mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;--sans:-apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.app{min-height:100vh;display:flex}.sheet-wrap{border:1px solid var(--line-strong);background:#fff;max-height:calc(100vh - 220px);overflow:auto}.sheet{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;font-size:11px;line-height:1.3}.sheet th,.sheet td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:#fff;width:150px;padding:4px 8px;overflow:hidden}.sheet thead th{z-index:3;background:var(--paper);border-bottom:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px;position:sticky;top:0}.sheet tbody tr.is-clickable:hover td{background:#efeeea}.sheet__c1{width:32px;min-width:32px;max-width:32px;padding-left:4px;padding-right:4px}.sheet__c2{width:200px;min-width:200px;max-width:200px}.sheet__c3{width:220px;min-width:220px;max-width:220px}.sheet__c4{width:70px;min-width:70px;max-width:70px}.sheet__comment{font-size:10px}.sheet__comment-text{text-overflow:ellipsis;display:block;overflow:hidden}.sheet__comment-date{font-family:var(--mono);color:var(--muted);font-size:9px;display:block}.sheet__status.is-good{color:#1a7a2e;font-weight:600}.sheet__status.is-bad{color:#b00020}.sheet__status.is-muted{color:var(--ink);text-align:center;font-size:13px;font-weight:800}@media (width>=901px){.sheet__sticky{z-index:2;background:#fff;position:sticky}.sheet thead th.sheet__sticky{z-index:4;background:var(--paper)}.sheet tbody tr.is-clickable:hover td.sheet__sticky{background:#efeeea}.sheet__c1{left:0}.sheet__c2{left:32px}.sheet__c3{left:232px}.sheet__c4{box-shadow:2px 0 0 var(--line-strong);left:452px}}.bank-chips{flex-wrap:wrap;gap:4px 6px;max-width:640px;display:flex}.bank-chip{white-space:nowrap;font-size:10px;font-family:var(--mono);border:1px solid var(--line);background:#fff;padding:2px 7px;display:inline-block}.bank-chip--opened,.bank-chip--paid{color:#1a7a2e;border-color:#1a7a2e}.bank-chip--stage3{border-color:var(--ink);font-weight:600}.bank-chip--problem{color:#b00020;border-color:#b00020}.bank-chip--empty{color:var(--muted)}.bcard.is-clickable{cursor:pointer;transition:border-color .12s}.bcard.is-clickable:hover{border-color:var(--ink)}.bcard__comment{border-top:1px solid var(--line);margin-top:8px;padding-top:6px;font-size:11px}.ref-lead{border-top:1px dashed var(--line);padding:6px 0}.ref-lead__head{font-size:12px}.ref-lead__dirs{flex-wrap:wrap;gap:4px 6px;margin-top:3px;display:flex}.drawer-overlay{z-index:50;background:#11111159;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--paper);border-left:1px solid var(--line-strong);width:min(720px,100%);height:100%;padding:24px;overflow-y:auto}.drawer__head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;display:flex}.drawer__title{letter-spacing:-.02em;font-size:20px;font-weight:800}.drawer__cols{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=700px){.drawer__cols{grid-template-columns:1fr}}.drawer__col-title{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:10px}.drawer__label{margin-bottom:3px;font-size:11px;display:block}.drawer__label.is-missing,.drawer__star{color:#b00020}.input--error{border-color:#b00020!important}.drawer__banks{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px;display:grid}.drawer__bank{cursor:pointer;align-items:center;gap:7px;padding:3px 0;font-size:12px;display:flex}.pin-input{letter-spacing:.5em;text-align:center;font-size:28px;font-family:var(--mono)}.collage--cards{columns:2;column-gap:14px}@media (width<=900px){.collage--cards{columns:1}}.table--compact{font-size:12px}.table--compact th,.table--compact td{padding:6px 10px}.topbar{z-index:20;background:var(--paper);border-bottom:1px solid var(--line-strong);width:100%;display:none;position:sticky;top:0}.topbar__row{justify-content:space-between;align-items:center;padding:12px 16px 8px;display:flex}.topbar__logo{letter-spacing:-.04em;font-size:18px;font-weight:800}.topbar__logo .ast{font-weight:400}.topbar__logout{border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;background:0 0;padding:4px 10px;font-size:10px}.topbar__nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid var(--line);display:flex;overflow-x:auto}.topbar__nav::-webkit-scrollbar{display:none}.topbar__link{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--ink);border-right:1px solid var(--line);flex:none;padding:9px 14px;font-size:11px}.topbar__link.is-active{background:var(--ink);color:var(--paper)}.sidebar{border-right:1px solid var(--line-strong);flex-direction:column;flex-shrink:0;width:232px;height:100vh;display:flex;position:sticky;top:0}.sidebar__logo{border-bottom:1px solid var(--line-strong);letter-spacing:-.04em;padding:28px 24px;font-size:22px;font-weight:800}.sidebar__logo .ast{font-weight:400}.sidebar__nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar__group{margin-bottom:14px}.sidebar__group:last-child{margin-bottom:0}.sidebar__group-title{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:0 24px 6px;font-size:9px}.sidebar__link{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);justify-content:space-between;align-items:center;padding:10px 24px;font-size:12px;transition:background .12s;display:flex}.sidebar__link:hover{background:#1111110d}.sidebar__link.is-active{background:var(--ink);color:var(--paper)}.sidebar__link.is-disabled{color:var(--muted);cursor:default;pointer-events:none}.sidebar__soon{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line);padding:1px 5px;font-size:9px}.sidebar__user{border-top:1px solid var(--line-strong);padding:16px 24px}.sidebar__user-name{font-size:13px;font-weight:600}.sidebar__user-role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:2px;font-size:10px}.sidebar__logout{border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;background:0 0;margin-top:10px;padding:5px 12px;font-size:11px}.sidebar__logout:hover{border-color:var(--ink)}.content{flex:1;min-width:0;padding:40px 48px 80px}.page-head{border-bottom:1px solid var(--line-strong);margin-bottom:36px;padding-bottom:24px}.page-head__kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px}.page-head__title{letter-spacing:-.04em;font-size:clamp(34px,4.5vw,56px);font-weight:800;line-height:1}.page-head__title .ast{margin-right:12px;font-weight:300}.metric-grid{border:1px solid var(--line-strong);border-right:none;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:48px;display:grid}.metric{border-right:1px solid var(--line-strong);padding:20px}.metric__label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.metric__value{letter-spacing:-.04em;margin-top:8px;font-size:40px;font-weight:800;line-height:1.1}.metric__value small{font-size:18px;font-weight:400}.section{margin-bottom:48px}.section__title{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin:34px 0 16px;font-size:13px;font-weight:700;display:flex}.section__title:first-child{margin-top:0}.section__title--heavy{border-top:2px solid var(--line-strong);margin-top:42px;padding-top:16px}.section__title:before{content:"*";font-weight:300}.section--with-anchor-nav{position:relative}.anchor-target{scroll-margin-top:28px}.anchor-nav{z-index:20;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7f6f3f0;flex-direction:column;min-width:132px;display:flex;position:fixed;top:62%;right:22px;transform:translateY(-50%);box-shadow:0 12px 30px #11111114}.anchor-nav a{border-bottom:1px solid var(--line);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:10px 12px;font-size:10px;display:block}.anchor-nav a:last-child{border-bottom:0}.anchor-nav a:hover{background:var(--ink);color:var(--paper)}.summary-line{border-top:2px solid var(--line-strong);color:var(--ink);margin-top:16px;padding-top:14px;font-size:14px;line-height:1.7}.summary-line__sep{color:var(--muted);padding:0 10px}.funnel-row{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr 60px;align-items:center;gap:16px;padding:8px 0;display:grid}.funnel-row__label{font-size:13px}.funnel-row__bar{background:var(--ink);min-width:2px;height:18px;transition:width .4s}.funnel-row__count{font-family:var(--mono);text-align:right;font-size:13px}.table{border-collapse:collapse;border-top:1px solid var(--line-strong);width:100%}.table th{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line-strong);padding:12px 16px 12px 0;font-size:10px;font-weight:400}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px 14px 0;font-size:13px;transition:background-color .12s}.table tbody tr:hover td{background:#1111110f}.table tr.is-clickable{cursor:pointer}.table tr.is-clickable:hover td{background:#1111111a}.table .mono{font-family:var(--mono);font-size:12px}.status-tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);white-space:nowrap;padding:3px 8px;font-size:10px;display:inline-block}.status-tag.is-active{background:var(--ink);color:var(--paper)}.status-tag.is-muted{border-color:var(--line);color:var(--muted)}.notice{border:1px solid var(--line-strong);background:#fff;margin:-18px 0 28px;padding:14px 16px;font-size:13px}.cd-status-row{flex-wrap:wrap;gap:8px;margin:-28px 0 32px;display:flex}.tabs{border-bottom:1px solid var(--line-strong);flex-wrap:wrap;gap:0;margin-bottom:24px;display:flex}.tab{color:var(--ink);border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border-bottom:none;padding:10px 18px;font-size:10px}.tab+.tab{border-left:none}.tab.is-active{background:var(--ink);color:var(--paper)}.muted{color:var(--muted);font-size:12px}.detail-head{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 22px;display:flex}.detail-head h2{margin-right:8px;font-size:28px;line-height:1.1}.action-grid{flex-wrap:wrap;gap:8px;margin:18px 0 28px;display:flex}.link-button{color:var(--ink);background:0 0;border:none;padding:0;text-decoration:underline}.input,.select,.textarea{font:inherit;color:var(--ink);border:1px solid var(--line);appearance:none;background:0 0;border-radius:0;outline:none;padding:9px 12px;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink)}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%23111'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.btn{letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:10px 22px;font-size:11px;font-weight:600;transition:opacity .12s}.btn:hover{opacity:.85}.btn:disabled{opacity:.4;cursor:default}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);color:var(--paper);opacity:1}.btn--small{padding:6px 14px;font-size:10px}.filters{flex-wrap:wrap;gap:10px;width:100%;margin-bottom:24px;display:flex}.filters .select,.filters .input{min-width:150px}.filters .input{flex:420px;max-width:760px}.login-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{border:1px solid var(--line-strong);background:var(--paper);width:360px;padding:40px}.login-box__logo{letter-spacing:-.04em;margin-bottom:4px;font-size:32px;font-weight:800}.login-box__sub{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:32px;font-size:11px}.login-box form{flex-direction:column;gap:12px;display:flex}.login-box .error{font-family:var(--mono);color:#b00020;font-size:11px}.kanban{border:1px solid var(--line-strong);gap:0;min-height:60vh;display:flex;overflow-x:auto}.kanban__col{border-right:1px solid var(--line-strong);flex-direction:column;flex:0 0 250px;display:flex}.kanban__col:last-child{border-right:none}.kanban__col-head{border-bottom:1px solid var(--line-strong);background:var(--paper);justify-content:space-between;align-items:baseline;padding:12px 14px;display:flex;position:sticky;top:0}.kanban__col-title{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.kanban__col-count{font-family:var(--mono);color:var(--muted);font-size:11px}.kanban__cards{flex-direction:column;flex:1;gap:8px;min-height:120px;padding:10px;transition:background .12s;display:flex}.kanban__cards.is-over{background:#1111110d}.kanban-card{border:1px solid var(--line);cursor:grab;background:#fff;padding:10px 12px}.kanban-card:active{cursor:grabbing}.kanban-card.is-dragging{opacity:.35}.kanban-card__name{font-size:13px;font-weight:600}.kanban-card__meta{font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:8px;margin-top:4px;font-size:10px;display:flex}.lead-grid{grid-template-columns:1fr 1fr;gap:48px;display:grid}@media (width<=1100px){.lead-grid{grid-template-columns:1fr}}.def-list{border-top:1px solid var(--line-strong)}.def-list__row{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:16px;padding:10px 0;display:grid}.def-list__key{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:2px;font-size:11px}.def-list__val{font-size:13px}.timeline{border-left:1px solid var(--line-strong);flex-direction:column;gap:14px;padding-left:20px;display:flex}.timeline__item{position:relative}.timeline__item:before{content:"";background:var(--ink);width:7px;height:7px;position:absolute;top:6px;left:-24px}.timeline__date{font-family:var(--mono);color:var(--muted);font-size:10px}.timeline__text{font-size:13px}.comment{border:1px solid var(--line);background:#fff;margin-bottom:10px;padding:12px 14px}.comment__head{font-family:var(--mono);color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.comment__text{white-space:pre-wrap;font-size:13px}.comment-form{flex-direction:column;gap:10px;margin-top:16px;display:flex}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:16px;display:flex}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.empty{font-family:var(--mono);color:var(--muted);text-align:center;padding:40px 0;font-size:12px}.loading{font-family:var(--mono);color:var(--muted);text-align:center;letter-spacing:.2em;text-transform:uppercase;padding:60px 0;font-size:12px}.pagination{font-family:var(--mono);align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.copy-link{font-family:var(--mono);border:1px dashed var(--line);cursor:pointer;background:0 0;padding:4px 8px;font-size:11px}.copy-link:hover{border-color:var(--ink)}.modal-form{border:1px solid var(--line-strong);background:#fff;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:32px;padding:24px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px}.overall-status{align-items:center;gap:6px;font-size:12px;display:inline-flex}.overall-status__dot{font-size:12px;line-height:1}.overall-status__label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px}.growth-banner{border:1px solid var(--line-strong);background:#fff;padding:16px 20px}.growth-banner__label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px}.growth-banner__text{letter-spacing:-.02em;font-size:18px;font-weight:600}.check-grid{flex-direction:column;gap:8px;display:flex}.check-item{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--ink)}.nested-card{border:1px solid var(--line);background:#fff;margin-bottom:10px;padding:12px 14px}.def-list__val .input,.def-list__val .select,.def-list__val .textarea{width:100%;max-width:360px}@media (width<=900px){.app{flex-direction:column}.topbar{display:block}.content{padding:20px 16px 60px}.sidebar{display:none}.page-head{margin-bottom:24px;padding-bottom:16px}.page-head__title{overflow-wrap:break-word;font-size:clamp(26px,7vw,34px)}.inline-form .input,.inline-form .select{max-width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric__value{font-size:clamp(20px,6.5vw,28px)}.action-grid .btn{flex:auto}.table{display:block;overflow-x:auto}.anchor-nav{z-index:10;width:100%;min-width:0;box-shadow:none;flex-direction:row;margin:0 0 18px;position:sticky;top:0;right:auto;overflow-x:auto;transform:none}.anchor-nav a{text-align:center;border-bottom:0;border-right:1px solid var(--line);white-space:nowrap;flex:1 0 auto}.anchor-nav a:last-child{border-right:0}}.schedule-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.schedule-day__title{letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);margin-bottom:12px;padding-bottom:8px;font-size:13px;font-weight:700}.schedule-day__slots{flex-direction:column;gap:6px;display:flex}.schedule-slot{text-align:left;border:1px solid var(--line);font:inherit;background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.schedule-day.is-blocked .schedule-day__title{color:var(--muted)}.schedule-slot.is-blocked{color:var(--muted);cursor:pointer;background:#11111108;border-style:dashed}.schedule-slot.is-free{cursor:pointer}.schedule-slot.is-pending{border-color:var(--ink);cursor:pointer;background:#1111110a}.schedule-slot.is-booked{background:var(--ink);color:var(--paper);border-color:var(--ink);cursor:pointer}.schedule-slot__time{font-family:var(--mono);letter-spacing:.06em;font-size:12px}.schedule-slot__meta{font-size:13px;font-weight:600}.schedule-slot__tg{opacity:.7;font-size:10px}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.pcard{border:1px solid var(--line-strong);background:var(--paper);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.pcard.is-clickable:hover{cursor:pointer;background:#1111110a}.pcard--selected{margin:12px 0 20px}.pcard__head{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding-bottom:6px;display:flex}.pcard__bank-name{font-size:12px}.pcard__bank-info{color:var(--muted);font-size:11px}.collage{columns:2;column-gap:14px}@media (width<=900px){.collage{columns:1}}.bcard{break-inside:avoid;border:1px solid var(--line-strong);background:var(--paper);margin-bottom:14px;padding:12px 14px}.bcard__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.bcard__actions{align-items:center;gap:10px;margin-bottom:8px;display:flex}.bcard__person{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:3px 0;font-size:11px;display:flex}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.inline-form .input,.inline-form .select{max-width:220px}.person-actions{margin:14px 0}.form-error{color:#b00020;font-size:11px;font-family:var(--mono)}.btn.is-active{background:var(--ink);color:var(--paper)}.plan-builder{border:1px solid var(--line-strong);margin:14px 0;padding:12px 14px}.plan-result{margin-top:10px}.plan-result__log{font-family:var(--mono);white-space:pre-wrap;background:#1111110a;max-height:320px;margin-top:8px;padding:10px 12px;font-size:11px;overflow-y:auto}.stub{flex-direction:column;gap:10px;max-width:560px;font-size:15px;display:flex}.stub code{font-family:var(--mono);border:1px solid var(--line);background:#1111110a;padding:1px 6px;font-size:13px}.stub__muted{color:var(--muted)}.status-tag.is-danger{color:var(--paper);background:#b00020}
