
:root{color-scheme:light;--bg:#fff;--side:#fafafb;--ink:#24262b;--muted:#686d77;--line:#e9eaed;--hover:#f7f8fa;--selected:#f0f1f4;--accent:#3c74ef;--accent-wash:#edf3ff;--calc:#faf9fe;--green:#167447;--green-bg:#e8f7ee;--purple:#7143d8;--purple-bg:#f2ecff;--amber:#9b5b1b;--amber-bg:#fff1df;--red:#b34145;--red-bg:#fcecee;--shadow:0 12px 35px #171c2920;--sidebar:236px;--gutter:20px;--row:44px}
[data-theme="dark"]{color-scheme:dark;--bg:#191a1e;--side:#1d1e22;--ink:#e7e8ed;--muted:#a1a4ae;--line:#2e3037;--hover:#22242b;--selected:#2c2e36;--accent:#86a7ff;--accent-wash:#25324d;--calc:#1e1c28;--green:#80d4a5;--green-bg:#20382b;--purple:#bb9cff;--purple-bg:#312642;--amber:#e9bd85;--amber-bg:#3a2e20;--red:#ee9ca3;--red-bg:#3b242b;--shadow:0 12px 35px #0005}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,input,select{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{border:0;background:none}button:disabled{cursor:default;opacity:.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-wash);color:var(--ink)}[hidden]{display:none!important}svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button:active{transform:none}h1,h2,h3,p{margin:0}h1{font-size:14px;font-weight:600}h2{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.025em}h3{font-size:13px;font-weight:600}input,select{background:var(--bg)}input[type=checkbox]{margin:0;vertical-align:middle;width:15px;height:15px;accent-color:var(--accent);cursor:pointer}kbd{font:11px -apple-system,BlinkMacSystemFont,sans-serif;color:var(--muted);border:1px solid var(--line);padding:2px 4px;border-radius:4px}small{font-size:11px;color:var(--muted)}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap}.flex{display:flex;align-items:center;gap:8px;min-width:0}.spacer{flex:1}.btn{height:29px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);white-space:nowrap;font-size:12px;font-weight:500;flex:none}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .btn.primary{color:#151c2d}.icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;flex:none;color:var(--muted)}.icon-btn:hover{background:var(--selected);color:var(--ink)}.label{font-size:11px;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);padding:2px 6px;border-radius:5px;font-size:11px;font-weight:500;line-height:16px;white-space:nowrap;max-width:100%}.chip.green{color:var(--green);background:var(--green-bg);border-color:transparent}.chip.purple{color:var(--purple);background:var(--purple-bg);border-color:transparent}.chip.amber{color:var(--amber);background:var(--amber-bg);border-color:transparent}.chip.red{color:var(--red);background:var(--red-bg);border-color:transparent}.chip.blue{color:var(--accent);background:var(--accent-wash);border-color:transparent}.chip svg{width:12px;height:12px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;font-size:8px;font-weight:600;background:var(--selected);flex:none;color:var(--ink)}.avatar.blue{background:#e5edff;color:#3969ce}.avatar.orange{background:#fff0df;color:#a76920}.avatar.purple{background:#efe9fc;color:#7955c3}.project-mark{height:21px;width:21px;border-radius:5px;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:650;flex:none}.project-mark svg{width:13px;height:13px}.dot{width:6px;height:6px;display:inline-block;background:var(--green);border-radius:50%;flex:none}.dot.amber{background:var(--amber)}.dot.red{background:var(--red)}.cut{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-count{margin-left:auto;font-size:11px;color:var(--muted)}
.app{height:100dvh;min-height:480px;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);overflow:hidden}.sidebar{background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;z-index:30}.workspace{height:49px;display:flex;align-items:center;padding:0 14px;gap:9px;border-bottom:1px solid var(--line)}.brand-mark{background:transparent;color:#ff0600;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:none}.brand-mark svg{width:26px;height:26px;fill:currentColor;stroke:none}[data-theme=dark] .brand-mark{color:#f1f2f4}.workspace strong{font-size:14px;letter-spacing:-.02em}.workspace .chev{width:13px;color:var(--muted)}.quickbar{display:grid;grid-template-columns:1fr 32px;gap:6px;padding:10px 12px 11px}.quickbar .btn{justify-content:flex-start;padding:0 7px}.quickbar kbd{margin-left:auto;font-size:9px}.sidebar-nav{padding:0 10px;overflow:auto;flex:1}.nav{width:100%;height:31px;display:flex;gap:9px;align-items:center;text-align:left;padding:0 9px;border-radius:6px;margin:1px 0;font-size:12px;white-space:nowrap}.nav svg{width:15px;height:15px;color:var(--muted)}.nav:hover{background:var(--hover)}.nav.active{background:var(--selected);font-weight:550}.nav.active svg{color:var(--accent)}.nav-group{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);padding:22px 9px 7px}.nav-group svg{width:11px;height:11px}.nav.nested{padding-left:12px}.nav .project-mark{height:15px;width:15px;border-radius:4px;font-size:8px}.side-bottom{padding:11px 12px;border-top:1px solid var(--line)}.demo-state{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);padding:0 4px 12px}.demo-state .dot{background:var(--muted);width:5px;height:5px}.theme-switch{display:flex;gap:3px;background:var(--selected);padding:3px;border-radius:7px;margin-bottom:11px}.theme-switch button{flex:1 1 0;min-width:0;padding:0 3px;height:25px;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);border-radius:5px;font-size:10px}.theme-switch button.selected{background:var(--bg);color:var(--ink);box-shadow:0 1px 2px #0000000a}.theme-switch svg{width:13px;height:13px}.profile{display:flex;align-items:center;gap:8px;padding:0 3px}.profile .avatar{width:25px;height:25px;font-size:9px}.profile-name{font-size:11px;font-weight:550}.profile-role{font-size:10px;color:var(--muted);margin-top:1px}
.main{min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:49px;min-height:49px;display:flex;align-items:center;gap:8px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}.section-icon{height:17px;width:17px;background:#34b688;color:white;border-radius:4px;display:grid;place-items:center}.section-icon svg{height:12px;width:12px}.topbar .info{height:13px;width:13px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.avatar-stack{display:flex;padding:0 4px}.avatar-stack .avatar{border:2px solid var(--bg);margin-left:-6px;width:24px;height:24px}.divider-v{height:15px;width:1px;background:var(--line);margin:0 3px}.mobile-menu{display:none}.viewbar{height:50px;min-height:50px;padding:0 var(--gutter);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.view-select{font-size:13px;font-weight:550;gap:7px}.view-select svg:first-child{color:#22b27d}.toolbar-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.filterbar{min-height:44px;display:flex;align-items:center;gap:7px;padding:7px var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap}.filterbar .btn{height:27px;font-size:11px}.search-wrap{height:27px;display:flex;gap:6px;align-items:center;margin-left:auto;border:1px solid transparent;border-radius:5px;padding:0 6px;min-width:0}.search-wrap:focus-within{border-color:var(--line);background:var(--bg)}.search-wrap svg{height:14px;width:14px;color:var(--muted)}.search-wrap input{border:0;width:143px;font-size:11px;padding:3px 0;background:transparent;min-width:0}.search-wrap input::placeholder{color:var(--muted)}.filter-count{background:var(--selected);padding:1px 4px;font-size:10px;border-radius:3px}.subtabs{display:flex;align-self:stretch;gap:22px;margin-left:16px;min-width:0}.subtabs button{position:relative;height:100%;font-size:12px;color:var(--muted);padding:0 1px}.subtabs button[aria-selected=true]{color:var(--ink);font-weight:550}.subtabs button[aria-selected=true]:after{position:absolute;content:"";left:0;right:0;height:2px;bottom:0;background:var(--ink)}.content{flex:1;min-height:0;overflow:auto;position:relative}.table-scroll{overflow:auto;height:100%;width:100%;scrollbar-gutter:stable;position:relative}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1110px;table-layout:fixed;font-size:12px}.data-table th{position:sticky;top:0;background:var(--bg);font-weight:500;color:var(--muted);font-size:11px;height:38px;z-index:3;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.data-table td{height:var(--row);border-bottom:1px solid var(--line);font-weight:400}.data-table th,.data-table td{padding:0 12px;border-right:1px solid var(--line);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.data-table th:first-child,.data-table td:first-child{padding:0 11px;text-align:center;border-right:0}.data-table th:last-child,.data-table td:last-child{border-right:0}.data-table th .flex{gap:6px}.data-table th svg{width:13px;height:13px}.data-table td.calculated,.data-table th.calculated{background:var(--calc)}.data-table tr[data-project]:hover td{background:var(--hover);cursor:pointer}.data-table tr[data-project]:focus-within td{background:var(--accent-wash)}.data-table .project-name{font-weight:550;border-bottom:1px solid transparent;text-align:left;font-size:12px;padding:0;min-width:0}.data-table .project-name:hover{border-bottom-color:var(--line)}.data-table td.money{text-align:right;font-variant-numeric:tabular-nums}.person{display:flex;align-items:center;gap:7px}.time-balance{font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:7px}.time-balance svg{width:12px;height:12px;color:var(--muted)}.table-bottom{height:36px;min-height:36px;display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding:0 var(--gutter);font-size:11px;color:var(--muted)}.table-bottom strong{color:var(--ink);font-weight:550;font-variant-numeric:tabular-nums}.table-bottom .right{margin-left:auto}.view-note{font-size:10px;color:var(--muted)}.status{display:flex;align-items:center;gap:6px;font-size:11px}.empty{display:grid;place-content:center;min-height:300px;text-align:center;gap:10px;padding:35px}.empty svg{margin:auto;width:24px;height:24px;color:var(--muted)}.empty p{max-width:300px;font-size:12px;color:var(--muted);line-height:1.6}.mobile-projects,.mobile-works,.mobile-team,.mobile-finance,.mobile-bottom-nav{display:none}.short-label{display:none}.app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.app.sidebar-collapsed .sidebar{visibility:hidden;overflow:hidden}.app.sidebar-collapsed .mobile-menu{display:inline-flex}.report-summary{display:flex;gap:32px;padding:19px var(--gutter);border-bottom:1px solid var(--line)}.report-summary .label{margin-bottom:6px}.report-summary strong{font-size:18px;font-weight:550;letter-spacing:-.02em}.date-input{border:1px solid var(--line);border-radius:5px;padding:4px 7px;font-size:11px;height:28px}.compact-select{border:1px solid var(--line);border-radius:5px;max-width:200px;font-size:11px;padding:4px 6px;height:28px}.report-type{display:flex;gap:2px;border:1px solid var(--line);padding:2px;border-radius:6px;margin-left:auto;flex:none}.report-type button{padding:4px 8px;border-radius:4px;font-size:11px;color:var(--muted)}.report-type button.selected{background:var(--selected);color:var(--ink)}.report-sheet{padding:0 0 30px}.report-sheet .data-table{min-width:850px}.table-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--accent)}.table-link svg{width:12px;height:12px}.summary-copy{padding:20px var(--gutter);font-size:12px;line-height:1.7;color:var(--muted);max-width:680px}.section-heading{padding:24px var(--gutter) 15px;display:flex;align-items:center;gap:9px}.section-heading h2{font-size:17px}.finance-ledger{max-width:1000px;padding:0 var(--gutter) 30px}.ledger-row{display:grid;grid-template-columns:1fr 180px;align-items:center;min-height:47px;border-bottom:1px solid var(--line);font-size:13px}.ledger-row.total{border-top:1px solid var(--ink);border-bottom:0;font-weight:600}.ledger-row .num{text-align:right}.ledger-row.sub{font-size:12px;color:var(--muted);padding-left:18px}.finance-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:0 var(--gutter) 20px;border:1px solid var(--line);border-radius:7px}.finance-strip>div{padding:18px;border-right:1px solid var(--line)}.finance-strip>div:last-child{border:0}.finance-strip strong{display:block;margin-top:7px;font-size:20px;font-weight:550;letter-spacing:-.02em}.finance-strip small{display:block;margin-top:7px}
.overlay{position:fixed;inset:0;background:#151b2525;z-index:40;display:flex;justify-content:flex-end}.drawer{width:450px;max-width:100%;background:var(--bg);border-left:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;height:100%;animation:drawer-in .18s cubic-bezier(.2,.8,.2,1)}@keyframes drawer-in{from{transform:translateX(24px);opacity:.7}to{transform:translateX(0);opacity:1}}.drawer-top{height:49px;min-height:49px;display:flex;align-items:center;padding:0 16px;gap:5px;border-bottom:1px solid var(--line)}.drawer-top .label{margin-left:4px}.drawer-head{padding:24px 22px 18px}.drawer-title{display:flex;gap:11px;align-items:center;margin-bottom:14px}.drawer-title .project-mark{width:34px;height:34px;font-size:15px;border-radius:8px}.drawer-tabs{height:39px;min-height:39px;display:flex;gap:22px;padding:0 22px;border-bottom:1px solid var(--line)}.drawer-tabs button{height:39px;color:var(--muted);font-size:12px;padding:0;position:relative}.drawer-tabs button.selected{color:var(--ink)}.drawer-tabs button.selected:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink)}.drawer-body{padding:20px 22px;overflow:auto;flex:1}.drawer-section{margin-bottom:25px}.drawer-section h3{margin-bottom:12px}.field-row{display:grid;grid-template-columns:155px minmax(0,1fr);gap:14px;padding:9px 0;align-items:start;font-size:12px}.field-row dt{color:var(--muted)}.field-row dd{margin:0;min-width:0;line-height:1.5}.drawer-note{font-size:11px;line-height:1.6;color:var(--muted);padding-top:12px}.drawer-footer{border-top:1px solid var(--line);padding:13px 22px;display:flex;gap:7px}.work-item{padding:14px 0;border-bottom:1px solid var(--line)}.work-title{font-size:12px;line-height:1.5;margin-bottom:8px}.work-meta{font-size:10px;color:var(--muted);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.work-times{display:grid;grid-template-columns:1fr 1fr;margin-top:9px;gap:9px}.work-times>div{background:var(--hover);padding:9px;border-radius:5px;font-size:11px}.work-times strong{display:block;font-weight:550;margin-top:4px}.form-grid{display:grid;gap:15px}.form-field{display:grid;gap:7px;font-size:12px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);padding:9px 10px;border-radius:6px;background:var(--bg);color:var(--ink);font:inherit}.form-field textarea{resize:vertical;min-height:85px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:var(--red);font-size:11px;line-height:1.5}.access-person{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.access-person .avatar{width:28px;height:28px}.access-person strong{font-size:12px;font-weight:500;display:block}.access-person small{font-size:10px;display:block;margin-top:4px}.switch{height:19px;width:33px;background:var(--selected);border:1px solid var(--line);border-radius:12px;padding:2px;margin-left:auto;flex:none;position:relative}.switch:before{content:"";position:absolute;width:13px;height:13px;top:2px;left:3px;background:var(--muted);border-radius:50%}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]:before{left:16px;background:var(--bg)}.access-table{min-width:900px}.access-table .switch{display:block;margin:0 auto}.access-tag{display:inline-flex;border:1px solid var(--line);border-radius:4px;font-size:10px;padding:2px 5px;margin:2px}.report-callout{margin:16px var(--gutter);padding:12px;border:1px solid var(--line);border-radius:6px;font-size:11px;line-height:1.6;color:var(--muted)}.toast{position:fixed;left:calc(50% + 100px);bottom:24px;transform:translateX(-50%);z-index:90;max-width:calc(100vw - 32px);padding:11px 16px;background:var(--ink);color:var(--bg);border-radius:7px;font-size:12px;box-shadow:var(--shadow);line-height:1.5}.nav-shade{display:none}.badge-key{border:1px solid var(--line);color:var(--muted);font-size:9px;border-radius:3px;padding:1px 4px}.selection-count{font-size:11px;color:var(--accent)}.permission-note{font-size:11px;line-height:1.65;color:var(--muted);margin-top:18px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.settings-row span{font-size:12px}.settings-row .theme-switch{margin:0;width:218px}.cell-neutral{font-size:11px;color:var(--muted)}.integration-badge{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:5px}.integration-badge svg{width:12px;height:12px}.app[data-density=compact]{--row:36px}
@media(min-width:1600px){:root{--sidebar:250px}.data-table{font-size:13px}.data-table .project-name{font-size:13px}.data-table th{font-size:12px}}
@media(max-width:1100px){.subtabs{gap:15px;margin-left:7px}.toolbar-actions .btn .optional{display:none}.avatar-stack{display:none}.search-wrap input{width:110px}.topbar .top-actions .btn{font-size:11px}.finance-strip>div{padding:14px}}
@media(max-width:900px){:root{--sidebar:210px;--gutter:16px}.workspace strong{font-size:13px}.viewbar .subtabs{display:none}.filterbar .search-wrap{flex:1;max-width:190px}.search-wrap input{width:100%}.view-note{display:none}}
@media(max-width:700px){:root{--gutter:16px}.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:246px;transform:translateX(-100%);box-shadow:var(--shadow)}.app.nav-open .sidebar{transform:translateX(0)}.app.nav-open .nav-shade{display:block;position:fixed;inset:0;background:#1115;z-index:29}.mobile-menu{display:inline-flex;margin-left:-5px}.topbar{gap:7px}.topbar h1{font-size:13px}.topbar .top-actions>.divider-v,.topbar .top-actions>.access-top{display:none}.top-actions{gap:2px}.viewbar{height:49px;min-height:49px;gap:6px}.viewbar .toolbar-actions{gap:5px}.toolbar-actions .btn{padding:0 7px;font-size:11px}.toolbar-actions .btn[data-action=report] .optional{display:none}.toolbar-actions .view-settings{display:none}.view-select{font-size:12px;padding:0 7px}.filterbar{gap:6px}.filterbar>.btn{font-size:10px;padding:0 6px}.filterbar>.btn.sort-button{max-width:165px;overflow:hidden}.filterbar .search-wrap{width:100%;max-width:none;flex-basis:100%;margin:0;border-color:var(--line);padding:0 8px;height:30px}.filterbar .search-wrap input{font-size:12px}.desktop-projects{display:none}.mobile-projects{display:block}.project-card{padding:17px 16px;border-bottom:1px solid var(--line)}.project-card-header{display:flex;gap:9px;align-items:center}.project-card-header strong{font-size:13px;font-weight:550;line-height:1.5;white-space:normal}.project-card-header button{margin-left:auto}.project-card .card-grid{margin:13px 0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:11px 14px}.project-card .card-grid dt{font-size:10px;color:var(--muted);margin-bottom:5px}.project-card .card-grid dd{margin:0;font-size:12px;line-height:1.5}.card-person{margin:8px 0 0 30px;font-size:11px;color:var(--muted)}.table-bottom{font-size:10px;padding:0 16px}.table-bottom .right{display:none}.drawer{width:100%;border:0}.drawer-head{padding:20px 18px 15px}.drawer-body{padding:18px}.drawer-tabs,.drawer-footer{padding-left:18px;padding-right:18px}.drawer .field-row{grid-template-columns:125px minmax(0,1fr);font-size:11px}.report-summary{gap:23px;padding:15px 16px;flex-wrap:wrap}.report-summary strong{font-size:17px}.date-input{max-width:125px}.compact-select{max-width:155px}.report-type{margin-left:0}.toast{left:50%;width:max-content;bottom:15px}.finance-strip{grid-template-columns:1fr}.finance-strip>div{border-right:0;border-bottom:1px solid var(--line)}.finance-strip strong{font-size:19px}.ledger-row{grid-template-columns:minmax(0,1fr) 110px;gap:12px;font-size:12px}.avatar-stack{display:none}.content.report-mode{overflow:auto}.report-sheet{min-width:0;overflow:auto}.integration-badge{display:none}}
@media(max-width:700px){
 .app.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app.sidebar-collapsed .sidebar{visibility:visible;overflow:visible}
 .topbar{height:53px;min-height:53px}.topbar>.info,.top-actions [data-action=help]{display:none}.icon-btn{width:40px;height:40px}.topbar .icon-btn{width:40px;height:40px}.mobile-menu{margin-left:-8px}
 .viewbar{height:58px;min-height:58px}.viewbar .btn{height:38px}.viewbar .primary{height:40px}.view-select{min-width:0;max-width:190px}.view-title{white-space:nowrap}.filterbar .btn{height:35px}.filterbar .search-wrap{height:38px}.filterbar .search-wrap input{font-size:16px}.viewbar .short-label{display:inline}.viewbar .wide-label{display:none}.viewbar .toolbar-actions{flex:none}.viewbar .view-select .view-title{font-size:11px}
 .compact-select,.date-input{height:38px;font-size:13px}.compact-select{max-width:100%}.report-type{height:36px}.report-type button{font-size:12px;padding:5px 10px}.form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:44px}
 .drawer-tabs,.drawer-tabs button{height:46px;min-height:46px}.drawer-footer .btn{height:42px}.drawer-top{height:53px;min-height:53px}.drawer-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}
 .project-card-header>.icon-btn{width:44px;height:44px;margin-top:-9px;margin-bottom:-9px}.project-card{cursor:pointer}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.project-card .card-grid dd{font-size:13px}.project-card .card-grid dt{font-size:11px}.card-person{font-size:12px}
 .table-bottom{display:none}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:61px;flex:none;border-top:1px solid var(--line);background:var(--bg);padding:5px 3px max(5px,env(safe-area-inset-bottom))}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;min-height:48px;color:var(--muted);border-radius:6px}.mobile-bottom-nav button.active{color:var(--accent);background:var(--accent-wash)}.mobile-bottom-nav svg{width:19px;height:19px}
 .desktop-report,.desktop-team,.desktop-finance{display:none}.mobile-works,.mobile-team,.mobile-finance{display:block}.mobile-work{padding:17px 16px;border-bottom:1px solid var(--line)}.mobile-work .task-name{font-size:13px;line-height:1.55;margin:9px 0 10px}.mobile-work .work-meta{font-size:11px;line-height:1.5;justify-content:space-between}.mobile-work .work-times{margin-top:12px}.mobile-work .work-times>div{padding:11px;font-size:12px}.mobile-work .work-times strong{font-size:14px}.mobile-work .table-link{min-height:38px;font-size:12px;display:inline-flex;margin-top:5px}
 .team-card{padding:18px 16px;border-bottom:1px solid var(--line)}.team-card-header{display:flex;gap:8px;align-items:center;margin-bottom:12px}.team-card-header .switch{margin-left:auto;min-width:40px;height:25px}.team-card-header .switch:before{width:17px;height:17px;top:3px;left:3px}.team-card-header .switch[aria-checked=true]:before{left:18px}.team-card .access-tag{font-size:11px;padding:6px 8px;margin:3px;min-height:30px}.team-card>.btn{height:39px;margin-top:14px}
 .mobile-finance .field-row{grid-template-columns:1fr 1fr;padding:7px 0}.mobile-finance .field-row dd{text-align:right}.mobile-finance .project-card-header{margin-bottom:12px}.mobile-finance .field-row dt{font-size:12px}
 .report-summary{gap:18px}.report-summary .label{font-size:11px}.side-bottom .theme-switch button{font-size:10px}.side-bottom .theme-switch svg{width:12px;height:12px}
}
@media(max-width:360px){.viewbar .view-select{padding:0 6px;gap:4px}.viewbar .view-select>svg:first-child{display:none}.viewbar .view-title{max-width:119px;overflow:hidden;text-overflow:ellipsis}.viewbar .toolbar-actions .btn{padding:0 6px}.two-fields{gap:9px}.drawer .field-row{grid-template-columns:114px minmax(0,1fr)}}
@media print{.mobile-bottom-nav,.mobile-works,.mobile-team,.mobile-finance{display:none!important}.desktop-report{display:block!important}}
.money-tabs{display:flex;gap:22px;height:100%;min-width:0}.money-tabs button{font-size:12px;white-space:nowrap;height:100%;padding:0;position:relative;color:var(--muted)}.money-tabs button[aria-selected=true]{color:var(--ink);font-weight:550}.money-tabs button[aria-selected=true]:after{position:absolute;content:"";left:0;right:0;bottom:0;height:2px;background:var(--ink)}
@media(max-width:700px){.money-tabs{gap:20px}.money-tabs button{font-size:12px}.viewbar:has(.money-tabs){height:49px;min-height:49px}.money-tabs+ .spacer{display:none}.settings-row .theme-switch{width:202px}}
@media(max-width:360px){.money-tabs{gap:15px}.money-tabs button{font-size:11px}.settings-row{align-items:flex-start;gap:10px;flex-direction:column}.settings-row .theme-switch{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.viewbar,.filterbar,.table-bottom,.overlay,.toast,.report-callout{display:none!important}.app,.main,.content,.report-sheet,.table-scroll{height:auto!important;overflow:visible!important;display:block!important}.report-sheet .data-table{min-width:0;font-size:10px}.data-table th,.data-table td{white-space:normal;height:auto;padding:8px}.report-summary{border-top:0}.report-summary:before{content:"CRM Project — демонстрационный отчёт";font-size:12px;width:100%}.report-summary{flex-wrap:wrap}body{background:white;color:black}}
/* Live application: shared axes and compact rows match the approved prototype. */
.periodbar{display:flex;align-items:center;gap:8px;padding:10px var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap}.periodbar label{display:flex;align-items:center;gap:10px;color:var(--muted)}.periodbar input,.periodbar select{border:1px solid var(--line);border-radius:5px;padding:5px 7px;min-width:0}.content{overflow:auto;min-height:0;flex:1}.page-pad{padding:24px var(--gutter)}.page-pad>h2{margin-bottom:6px}.page-pad>p{margin-bottom:22px;line-height:1.6}.live-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px}.live-table th{font-size:11px;text-align:left;color:var(--muted);font-weight:500;background:var(--side)}.live-table th,.live-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:9px 12px;line-height:1.5;overflow-wrap:anywhere;vertical-align:middle}.live-table td:last-child,.live-table th:last-child{border-right:0}.live-table tbody tr:hover{background:var(--hover)}.live-table .task{width:30%}.live-table .actions{width:78px;text-align:right}.table-scroll{overflow:auto}.subtle{color:var(--muted);font-size:11px}.text-link{color:var(--accent);text-align:left;padding:0;font:inherit;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:7px;margin:20px 0 24px}.metric{padding:20px;border-right:1px solid var(--line);min-width:0}.metric:last-child{border-right:0}.metric strong{display:block;font-size:23px;letter-spacing:-.03em;margin-top:10px;overflow-wrap:anywhere}.metric small{display:block;margin-top:8px;line-height:1.5}.empty{padding:50px 24px;max-width:600px;margin:auto;text-align:center}.empty h2{font-size:18px;margin-bottom:10px}.empty p{line-height:1.7;color:var(--muted);margin-bottom:20px}.alert{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--hover);line-height:1.6;margin:12px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.section-title h3{font-size:13px}.tab{align-self:stretch;border-bottom:2px solid transparent;padding:0 3px;color:var(--muted);margin-right:16px}.tab.active{border-color:var(--ink);color:var(--ink)}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:0;width:620px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow)}dialog::backdrop{background:#10121b66}.dialog-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 20px;position:sticky;top:0;background:var(--bg);z-index:1}.dialog-header h2{font-size:15px;max-width:90%;overflow-wrap:anywhere}#dialog-body{padding:20px}.live-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.live-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px}.live-field.wide,.form-actions,.form-error{grid-column:1/-1}.live-field input,.live-field select,.live-field textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font:inherit;min-height:36px}.live-field textarea{min-height:70px;resize:vertical}.live-field input[type=checkbox]{width:18px;height:18px;min-height:18px}.live-field small{line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:6px}.form-error{color:var(--red);line-height:1.6;white-space:pre-line}.danger{color:var(--red)}.setting-list{display:grid;gap:0}.setting-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.setting-row>div{min-width:0;flex:1}.setting-row strong{font-size:12px;display:block}.setting-row small{display:block;margin-top:5px;overflow-wrap:anywhere}.setting-row .btn{flex:none}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.login{min-height:100dvh;display:grid;place-items:center;background:var(--side);padding:24px}.login-card{border:1px solid var(--line);border-radius:10px;padding:32px;background:var(--bg);width:440px;max-width:100%;line-height:1.6}.login-card h2{margin:12px 0}.login-card form{margin-top:24px}.login-card form p{margin:16px 0}.login-card label{display:block;margin-bottom:6px}.login-card input{width:100%;padding:10px;border:1px solid var(--line);border-radius:5px}.login-card .helptext{font-size:11px;color:var(--muted);display:block}.login-card ul{font-size:11px;padding-left:18px;color:var(--muted)}.login-card .errorlist{color:var(--red)}.profile form{margin-left:auto}.mobile-bottom-nav{display:none}.report-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px var(--gutter);border-bottom:1px solid var(--line)}.report-controls select{padding:6px;border:1px solid var(--line);border-radius:5px;max-width:220px}.amount-in{color:var(--green)}.amount-out{color:var(--red)}.h-scroll-note{display:none}.busy{opacity:.65;pointer-events:none}
@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.sidebar{z-index:50}.app.nav-open::before{content:"";position:fixed;inset:0;background:#0005;z-index:40}.periodbar{gap:6px;padding:10px 16px}.periodbar label{gap:6px;font-size:11px}.periodbar input{font-size:12px;width:128px;min-height:38px}.periodbar .btn{height:36px}.periodbar>span{display:none}.viewbar{flex-wrap:wrap;height:auto;min-height:54px;padding-top:8px;padding-bottom:8px}.viewbar>.btn{height:38px}.tab{height:40px;margin-right:10px}.saved-label{font-size:10px}.metrics{margin-top:16px}.metric{padding:16px 12px}.metric strong{font-size:21px}.live-table{min-width:650px}.live-table.mobile-cards{min-width:0;display:block}.mobile-cards thead{display:none}.mobile-cards tbody{display:block}.mobile-cards tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line);padding:14px 16px;gap:10px 16px}.mobile-cards td{display:block;border:0;padding:0;width:auto;text-align:left;overflow-wrap:anywhere}.mobile-cards td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.mobile-cards td:first-child{grid-column:1/-1;font-size:14px}.mobile-cards td:first-child::before,.mobile-cards .actions::before{display:none}.mobile-cards .actions{display:flex;justify-content:flex-end;grid-column:2;width:auto}.mobile-cards .actions button{height:40px;width:40px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.live-form{grid-template-columns:1fr}.live-field{grid-column:1/-1}.live-field input,.live-field select,.live-field textarea{font-size:16px;min-height:44px}dialog{max-width:100vw;width:100vw;max-height:100dvh;border-radius:0;margin:0 auto;top:auto;bottom:0}.dialog-header .icon-btn{width:44px;height:44px}.form-actions .btn{height:44px}.h-scroll-note{display:block;padding:8px 16px;color:var(--muted);font-size:11px}.settings-tabs .btn{min-height:38px}.setting-row{flex-wrap:wrap}.setting-row .btn{min-height:38px}.report-controls select{width:100%;max-width:none;min-height:40px}.page-pad{padding-top:18px}.quickbar .btn{height:40px}.sidebar .nav{height:40px}.toast{bottom:80px}}
@media print{.sidebar,.topbar,.periodbar,.viewbar,.mobile-bottom-nav,.report-controls,.actions,dialog,.toast{display:none!important}.app,.main,.content{height:auto;display:block;overflow:visible}.live-table{min-width:0}.live-table tr,.live-table td,.live-table tbody{display:revert}.live-table thead{display:table-header-group}.live-table td::before{display:none!important}body{color:#111;background:white}}
.brand-menu{color:#ff0600}.brand-menu svg{width:25px;height:25px;fill:currentColor;stroke:none}[data-theme=dark] .brand-menu{color:#f1f2f4}
@media(max-width:700px){.periodbar label{flex:1;font-size:0;gap:0;min-width:0}.periodbar input{width:100%;min-width:0}.periodbar>#period-end{width:0;flex:1}.periodbar .btn{flex:none;padding:0 7px;font-size:11px}}
.wide{grid-column:1/-1}.income-reserve{padding:16px;border:1px solid var(--line);border-radius:7px;display:grid;gap:10px;background:var(--hover)}.income-reserve select,.reserve-row input,.reserve-row select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:8px;min-height:36px;color:var(--ink);font:inherit}.reserve-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0;border-top:1px solid var(--line)}.reserve-row label{display:grid;gap:6px;min-width:0;font-size:11px}.reserve-note,.reserve-row-actions{grid-column:1/-1}.reserve-row-actions{flex-wrap:wrap}.reserve-total{margin-top:14px;line-height:1.6;font-weight:500}.reserve-custom>.btn{margin-top:8px}.income-reserve p{line-height:1.6}details summary{cursor:pointer;color:var(--muted);padding:8px 0}details .live-form{margin-top:10px}.settings-tabs>select{border:1px solid var(--line);border-radius:5px;padding:6px;background:var(--bg);color:var(--ink)}
@media(max-width:700px){.income-reserve{padding:12px}.income-reserve select,.reserve-row input,.reserve-row select{font-size:16px;min-height:44px}.reserve-row{grid-template-columns:1fr}.reserve-row-actions .btn{min-height:38px}.dialog-body .flex{flex-wrap:wrap}}
.dialog-header{z-index:3}.form-actions{position:sticky;bottom:-20px;background:var(--bg);z-index:2;padding-bottom:12px}.live-field>label{display:grid;gap:7px}
@media(max-width:700px){.report-controls .btn{min-height:40px}.report-controls [data-action=transfer]{display:none}.mobile-cards .actions button{height:44px;width:44px}}
/* Project search uses the same compact controls and alignment as the workspace. */
.project-searchbar{padding-top:10px;padding-bottom:10px}
.project-search{display:flex;align-items:center;gap:7px;width:280px;max-width:100%;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);transition:border-color .12s,box-shadow .12s}
.project-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}
.project-search>svg{width:15px;height:15px;flex:none}
.project-search .search-input{appearance:none;-webkit-appearance:none;display:block;min-width:0;width:100%;height:100%;padding:0;border:0;border-radius:0;outline:none;box-shadow:none;background:transparent;color:var(--ink);font:inherit;font-size:12px;line-height:normal}
.project-search .search-input:focus-visible{outline:none}
.project-search .search-input::placeholder{color:var(--muted);opacity:1}
.project-search .search-input::-webkit-search-cancel-button,.project-search .search-input::-webkit-search-decoration{-webkit-appearance:none}
.search-clear{display:grid;place-items:center;flex:none;width:24px;height:24px;margin-right:-5px;padding:0;border:0;border-radius:4px;color:var(--muted);background:transparent}
.search-clear:hover{background:var(--selected);color:var(--ink)}
.search-clear svg{width:13px;height:13px}
@media(max-width:700px){.project-search{width:100%;height:42px;padding-left:11px}.project-search .search-input{font-size:16px}.search-clear{width:36px;height:36px;margin-right:-7px}.search-clear svg{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.project-search{transition:none}}
.quickbar.finance-quickbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px}
.finance-quickbar .btn{height:31px;justify-content:center;font-size:12px;padding:0 6px;min-width:0}
.finance-quickbar .quick-deferred{grid-column:1/-1;color:var(--muted)}
@media(max-width:700px){.finance-quickbar .btn{height:42px}}

.bank-key-details{margin:12px 0}.bank-key-details summary{cursor:pointer;padding:8px 0;font-size:13px}.bank-key-details[open] summary{margin-bottom:8px}

.monthly-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:16px}.monthly-balances>div{display:flex;flex-direction:column;gap:8px}.monthly-balances strong{font-size:22px}.monthly-summary .section-title{gap:12px;flex-wrap:wrap}@media(max-width:700px){.monthly-balances{grid-template-columns:1fr;gap:16px}}

.monthly-content>.table-scroll{height:auto;min-height:0;flex:none}.monthly-content>.page-pad{flex:none}

.bank-review-intro{border-bottom:1px solid var(--line)}.review-filters{display:grid;grid-template-columns:190px minmax(0,360px);gap:12px;align-items:center;margin:16px 0}.review-filters select{height:34px;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit}.review-filters .project-search{width:100%;margin:0}.bank-review-purpose{max-width:460px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#bank-review-results>.table-scroll{height:auto;min-height:0}.bank-source-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.bank-source-summary strong{font-size:22px}.bank-source{margin:12px 0 20px}.bank-source summary{cursor:pointer}.bank-source p{overflow-wrap:anywhere}@media(max-width:700px){.review-filters{grid-template-columns:minmax(0,1fr)}.review-filters select{height:42px;font-size:16px}.bank-review-purpose{max-width:100%}.bank-review-intro .section-title{gap:12px;flex-wrap:wrap}}
