@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--blue:#2563eb;--ink:#17243b;--muted:#7a8597;--line:#e8edf3;--bg:#f5f7fb;--nav:#111c30}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',sans-serif;color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:750;letter-spacing:-.04em;margin:0}h1{font-size:30px}h2{font-size:23px}h3{font-size:16px;letter-spacing:-.025em}p{line-height:1.6}small{font-size:11px}.hidden{display:none!important}.blue{color:var(--blue)}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:999}.skip:focus{top:10px}:focus-visible{outline:3px solid #8eb8ff;outline-offset:3px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650;color:#455169}input,select,textarea{width:100%;min-height:46px;border:1px solid #dce3ee;background:white;border-radius:9px;padding:11px 13px;color:var(--ink);font-weight:400;font-size:14px}input:focus,textarea:focus,select:focus{border-color:#87aef7;outline:2px solid #dbeafe}textarea{resize:vertical;min-height:110px}.btn{border:1px solid #dfe5ef;border-radius:9px;background:white;min-height:42px;padding:10px 17px;font-size:12px;font-weight:650;display:inline-flex;justify-content:center;align-items:center;gap:10px;white-space:nowrap}.btn:hover{background:#f2f5fa}.primary{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 3px 6px #2563eb17}.primary:hover{background:#1c50c9}.danger{color:#c23544;background:#fff3f4;border-color:#f6d8dc}.full{width:100%}.text-button{border:0;background:none;color:var(--blue);font-size:12px;font-weight:600;padding:12px 0}.icon-button{display:inline-grid;place-items:center;border:1px solid var(--line);background:white;border-radius:8px;min-width:36px;height:36px;font-size:18px;color:#65718a}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.2px;display:flex;gap:5px;align-items:center}.brand .blue{margin-left:-5px}.brand-symbol{background:var(--blue);width:33px;height:33px;border-radius:10px;color:white;display:inline-grid;place-items:center;font-style:italic;font-size:31px;line-height:1;font-family:Manrope;font-weight:800;margin-right:6px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:750}.auth-screen{display:grid;grid-template-columns:1.07fr 1fr;min-height:100dvh}.auth-story{background:var(--nav);color:white;padding:52px 9%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-story:after{content:'';position:absolute;width:430px;height:430px;border:1px solid #294c83;transform:rotate(-25deg);border-radius:80px;right:-260px;bottom:100px;box-shadow:0 0 0 50px #1a2d491f,0 0 0 100px #1a2d491f}.auth-story .brand{font-size:30px}.auth-story .brand small{font:9px 'DM Sans';letter-spacing:2px;margin-left:15px;color:#95a7c2}.auth-story h1{font-size:clamp(45px,4.8vw,76px);line-height:1.12;letter-spacing:-3px;margin:24px 0}.auth-story em{font-style:normal;color:#6193ff}.auth-story p{color:#a9b5cb;font-size:14px}.auth-story footer{font-size:9px;letter-spacing:1.5px;display:flex;justify-content:space-between;color:#9baac2}.auth-story footer span{font-size:23px;color:#6095ff}.auth-form-wrap{display:grid;place-items:center;padding:40px 24px;background:white}.auth-form{max-width:365px;width:100%}.auth-form h2{font-size:30px;margin-top:18px}.auth-form>p{color:var(--muted);margin:10px 0 30px}.auth-form form{display:flex;flex-direction:column;gap:18px}.forgot{align-self:flex-end;padding:0}.password-wrap{position:relative}.password-wrap input{padding-right:45px}.password-wrap button{position:absolute;right:10px;top:10px;border:0;background:transparent;color:#7d8ba0}.google{margin:16px 0 6px}.auth-note{font-size:11px;line-height:1.8;color:#96a0b1;border-top:1px solid var(--line);padding-top:22px;margin-top:20px}#auth-error,#editor-error{color:#b73548;font-size:12px;white-space:pre-wrap}.setup-screen{min-height:100dvh;display:grid;place-items:center;padding:20px}.panel{background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 4px #20334b02}.setup{width:min(100%,480px);padding:32px}.setup h1{font-size:24px;margin-top:20px}.setup p{color:var(--muted)}.setup form{display:flex;flex-direction:column;gap:14px}.divider{text-align:center;padding:18px;color:var(--muted);font-size:12px}.hint{font-size:12px;color:var(--muted);line-height:1.7}code{overflow-wrap:anywhere;font-size:12px}#sidebar{width:239px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#98a7c0;padding:30px 18px 15px;display:flex;flex-direction:column;z-index:30;overflow-y:auto}#sidebar .brand{color:white;margin:0 12px 29px}#sidebar .brand-symbol{width:29px;height:29px;font-size:27px}#sidebar .brand .blue{color:#679aff}.workspace-label{display:flex;align-items:center;gap:10px;padding:14px 10px;border:1px solid #2b3549;border-radius:10px;margin-bottom:27px}.workspace-avatar{font-size:10px;background:#25334c;padding:9px;border-radius:7px;color:#b9cdf5}.workspace-label strong{font-size:11px;color:#e8eef9;display:block}.workspace-label small{font-size:9px;display:block;margin-top:4px;color:#8495b2}.dot{width:5px;height:5px;background:#49b795;border-radius:100%;margin-left:auto}.nav-caption{font-size:8px;letter-spacing:1.6px;color:#6b7e9e;margin:0 14px 12px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:0;border-radius:7px;background:transparent;color:#a4b1c8;text-align:left;font-size:11px;font-weight:500;margin-bottom:4px}.nav-item svg{width:17px;height:17px;flex-shrink:0}.nav-item:hover{background:#1d2c46;color:white}.nav-item.active{background:#2563eb;color:white;box-shadow:0 3px 10px #0002}.nav-item .nav-count{margin-left:auto;font-size:8px;letter-spacing:1px;background:#ffffff1c;padding:3px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:22px}.mini-note{border:1px solid #29374e;background:linear-gradient(130deg,#1e304e,#162239);border-radius:10px;padding:14px;margin-bottom:18px}.mini-note>span{color:#7ba5ff;font-size:22px;display:block;margin-bottom:8px}.mini-note strong{font-size:10px;color:#e4eaf7;display:block}.mini-note small{font-size:9px;color:#8497b6;display:block;margin-top:6px}.profile{border-top:1px solid #293349;padding:18px 10px 0;margin-top:15px;display:flex;gap:10px;align-items:center}.profile>span{display:grid;place-items:center;background:#324663;color:#d4e2ff;border-radius:100%;width:30px;height:30px;font-size:11px}.profile strong{color:#dce5f6;font-size:10px;display:block;max-width:135px;overflow:hidden;text-overflow:ellipsis}.profile small{font-size:9px;margin-top:4px;display:block}.app-body{margin-left:239px;min-height:100dvh;display:flex;flex-direction:column}.topbar{height:70px;padding:0 35px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:11px;color:#95a0b1}.breadcrumb span{margin:0 13px;color:#c0c8d3}.breadcrumb strong{color:#46516a;font-weight:500}.topbar-right{display:flex;align-items:center;gap:9px;font-size:10px;color:#7b899d}.topbar-right .icon-button{margin-left:13px}.live-dot{width:5px;height:5px;border-radius:50%;background:#31ac80}.mobile-menu{display:none}#main{padding:32px 35px 40px;max-width:1600px;width:100%;margin:0 auto;flex:1;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px;color:var(--muted);margin:9px 0 0}.heading-actions{display:flex;gap:8px;align-items:center}.date-picker{min-height:40px;font-size:11px;width:150px;background:white}.welcome-label{font-size:9px;letter-spacing:1.3px;color:#8b98ac;margin-bottom:9px;display:block}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.stat-card{padding:19px 20px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#7a879b;font-size:10px;font-weight:500}.stat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#f0f5ff;color:#4079ed}.stat-icon svg{width:15px;height:15px}.stat-value{font-family:Manrope;font-weight:800;font-size:25px;letter-spacing:-1px;margin-top:17px;color:#1e2a42}.stat-foot{font-size:9px;color:#96a0b1;margin-top:9px}.stat-foot b{color:#2a9978;font-weight:550}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px;margin-bottom:23px}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 23px 0;gap:10px}.panel-heading h3{font-size:13px}.panel-heading p{font-size:10px;color:var(--muted);margin:5px 0}.panel-link{color:var(--blue);font-size:10px;white-space:nowrap}.chart-key{display:flex;gap:13px;font-size:9px;color:var(--muted)}.chart-key i{display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:4px}.chart{height:215px;padding:20px 23px 15px;display:flex;gap:12px}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:8px;color:#9aa4b4;padding-bottom:22px;min-width:45px}.chart-bars{flex:1;display:flex;justify-content:space-around;gap:10px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#f0f3f7 calc(25% - 1px),#f0f3f7 25%)}.chart-group{display:flex;align-items:flex-end;justify-content:center;position:relative;flex:1;max-width:60px;padding-bottom:22px;gap:4px}.chart-bar{width:14px;max-width:35%;background:#3578ef;border-radius:3px 3px 0 0;min-height:2px}.chart-bar.out{background:#cddcf7}.chart-group>small{position:absolute;bottom:4px;font-size:8px;color:#95a0b2}.cash-summary{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin:0 23px;padding:14px 0;color:#8e9bae;font-size:10px}.cash-summary strong{color:var(--ink);font-size:12px}.list-body{padding:6px 22px 12px}.activity-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #f0f3f7}.activity-row:last-child{border:0}.activity-avatar{width:32px;height:32px;border-radius:9px;background:#edf3ff;color:#5a80c5;font-size:10px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-content strong{font-size:11px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-content small{font-size:9px;color:#99a3b3;display:block;margin-top:5px}.badge{font-size:9px;line-height:1.3;padding:5px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;background:#edf3ff;color:#4876ca}.badge.green{background:#e9f7f0;color:#309773}.badge.orange{background:#fff4e6;color:#c48a32}.badge.red{background:#fff0f1;color:#c65e68}.empty{padding:35px 20px;text-align:center;color:#96a0b0;font-size:12px}.empty svg{width:30px;height:30px;margin:0 auto 12px;color:#b8c9e4}.empty strong{display:block;color:#63748f;margin-bottom:7px;font-weight:550}.toolbar{display:flex;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);align-items:center}.search-box{max-width:310px;position:relative;width:100%}.search-box input{min-height:37px;font-size:11px;padding-left:35px;background:#f9fafc}.search-box svg{position:absolute;top:11px;left:12px;width:14px;height:14px;color:#9aa8be}.toolbar-note{font-size:10px;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{background:#fafbfd;border-bottom:1px solid var(--line);color:#8c98ac;font-size:9px;font-weight:550;padding:13px 21px;letter-spacing:.15px}td{padding:17px 21px;border-bottom:1px solid #eef1f6;color:#65728b}td:first-child{color:#23334f;font-weight:550}td .client-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;font-size:9px;font-weight:700;background:#eff3fb;color:#6984b3;margin-right:10px}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:white;border-radius:6px;padding:5px 9px;font-size:10px;color:#667b9b}.row-actions button:hover{border-color:#93b6ff;color:var(--blue)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;font-size:10px;color:#95a0b2}.app-footer{display:flex;gap:20px;padding:19px 35px;border-top:1px solid var(--line);font-size:8px;letter-spacing:1.5px;color:#a4afc0}.app-footer>span{letter-spacing:.1px}.app-footer>span:last-child{margin-left:auto}#mobile-nav{display:none}.notice{background:#edf3ff;border:1px solid #dce7fb;color:#526c97;padding:14px 18px;border-radius:9px;line-height:1.7;font-size:11px;margin-bottom:20px}.notice.warn{background:#fff8ec;border-color:#f5e7ce;color:#957b50}.kanban{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:15px;overflow-x:auto;padding-bottom:15px}.kanban-column{background:#edf1f7;border:1px solid #e5eaf2;border-radius:10px;padding:12px;min-height:230px}.kanban-column h3{font-size:11px;display:flex;justify-content:space-between;margin-bottom:13px;letter-spacing:0}.kanban-card{background:white;border:1px solid var(--line);border-radius:8px;padding:15px;margin-bottom:10px;cursor:pointer}.kanban-card strong{font-size:12px}.kanban-card p{font-size:10px;color:var(--muted);margin:8px 0}.kanban-card small{font-size:9px;color:#8290a6}.tabs{display:flex;gap:5px;margin-bottom:21px;border-bottom:1px solid var(--line);overflow:auto}.tab{border:0;border-bottom:2px solid transparent;background:transparent;font-size:11px;padding:12px 16px;color:#7f8da4;white-space:nowrap}.tab.active{color:var(--blue);border-bottom-color:var(--blue)}.close-panel{padding:24px;margin-top:20px}.close-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.close-panel p{font-size:12px;color:var(--muted)}.summary-line{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.summary-line.total{font-weight:700;color:var(--blue)}dialog{border:0;border-radius:15px;padding:0;width:min(680px,calc(100% - 28px));max-height:90dvh;box-shadow:0 25px 100px #12264d40;color:var(--ink);background:#fff}dialog::backdrop{background:#0b193a80;backdrop-filter:blur(3px)}dialog form{padding:26px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal-header h2{font-size:22px;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.modal-actions .delete{margin-right:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:23px}.detail-field{border-bottom:1px solid var(--line);padding-bottom:13px}.detail-field small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.detail-field p{font-size:12px;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.detail-field a{color:var(--blue)}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 23px 23px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:23px}.quick-card{padding:20px;text-align:left;border:1px solid var(--line);background:white;border-radius:12px;display:flex;align-items:center;gap:14px}.quick-card svg{width:22px;height:22px;color:var(--blue)}.quick-card strong{display:block;font-size:12px;font-weight:600}.quick-card small{display:block;font-size:10px;color:var(--muted);margin-top:5px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#162946;color:white;padding:13px 22px;border-radius:10px;box-shadow:0 8px 35px #15273a33;font-size:12px;max-width:calc(100vw - 30px);text-align:center}.onboarding{padding:24px;display:flex;gap:20px;align-items:center;margin-bottom:23px;background:linear-gradient(110deg,#eff5ff,#fff);border-color:#dce7fa}.onboarding h3{font-size:15px;margin-bottom:7px}.onboarding p{font-size:11px;color:var(--muted);margin:0}.onboarding .btn{margin-left:auto}.spinner{width:22px;height:22px;border:2px solid #dbe5f5;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;margin:50px auto}@keyframes spin{to{transform:rotate(360deg)}}.month-input{min-height:39px;max-width:155px;font-size:12px}.section-label{font-size:10px;color:var(--muted);margin:22px 0 12px;letter-spacing:1px}.error-panel{padding:30px;border:1px solid #f5d7dc;color:#af4456;background:#fff7f8;border-radius:12px}.error-panel p{font-size:12px;white-space:pre-wrap}.safe-secret{font-family:monospace;background:#f2f5fa;padding:12px;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere}.card-note{font-size:11px;color:var(--muted);padding:0 23px 15px}.nav-overlay{position:fixed;inset:0;background:#101d3690;z-index:29}.progress-track{background:#e8edf5;height:6px;border-radius:9px;margin:10px 0}.progress-track span{display:block;background:var(--blue);height:100%;border-radius:9px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1550px){#main{padding:40px 50px}.topbar{padding:0 50px}.stats{gap:23px}.stat-value{font-size:29px}}
@media(max-width:1150px){#sidebar{width:210px;padding-left:13px;padding-right:13px}.app-body{margin-left:210px}#main{padding:27px 24px}.topbar{padding:0 24px}.stats{gap:10px}.stat-card{padding:16px 14px}.stat-value{font-size:21px}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:15px}}
@media(max-width:850px){#sidebar{transform:translateX(-100%);transition:transform .2s;width:250px}#sidebar.open{transform:translateX(0)}.app-body{margin-left:0}.mobile-menu{display:inline-grid}.dashboard-grid{grid-template-columns:1fr 1fr}.topbar{height:61px}#main{padding:25px 20px 30px}#mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--line);z-index:20;padding:7px 8px max(7px,env(safe-area-inset-bottom));justify-content:space-around}#mobile-nav a{display:flex;flex-direction:column;align-items:center;font-size:9px;color:#91a0b6;gap:5px;padding:4px 13px}#mobile-nav svg{width:19px;height:19px}#mobile-nav a.active{color:var(--blue)}.app-footer{margin-bottom:65px;padding:18px 20px}#toast{bottom:85px}.auth-story{padding:40px 30px}.auth-story .brand small{display:none}.auth-story h1{font-size:52px}}
@media(max-width:600px){.auth-screen{grid-template-columns:1fr}.auth-story{padding:24px;min-height:220px}.auth-story .brand{font-size:24px}.auth-story h1{font-size:33px;letter-spacing:-1.3px;margin:22px 0 8px}.auth-story h1 br{display:none}.auth-story .eyebrow,.auth-story p,.auth-story footer{display:none}.auth-form-wrap{padding:30px 24px}.auth-form h2{font-size:25px}.auth-form>p{font-size:12px;margin-bottom:23px}.auth-note{margin-top:15px;padding-top:15px}.topbar{padding:0 16px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 7px}.topbar-right{gap:6px}.topbar-right .icon-button{margin-left:4px}#connection-label{display:none}#main{padding:23px 16px 28px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;max-width:300px}.page-heading .heading-actions{width:100%;justify-content:space-between}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.stat-card{padding:16px 13px}.stat-value{font-size:23px;margin-top:13px}.stat-top{font-size:9px}.stat-foot{font-size:8px;line-height:1.6}.dashboard-grid{grid-template-columns:1fr;gap:17px;margin-bottom:18px}.panel-heading{padding:19px 17px 0}.list-body{padding:5px 17px 10px}.chart{padding-left:17px;padding-right:17px}.chart-key{font-size:8px;gap:8px}.chart{height:200px}.cash-summary{margin:0 17px}.toolbar{padding:14px;flex-wrap:wrap}.toolbar-note{font-size:9px}.search-box{max-width:none}.table-wrap table{font-size:11px}td,th{padding:14px}.pagination{padding:13px 14px;font-size:9px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}dialog form{padding:22px 18px}.modal-header h2{font-size:20px}.modal-actions{position:sticky;bottom:-22px;background:white;padding-bottom:12px;z-index:2}.detail-grid{grid-template-columns:1fr;padding:18px}.detail-actions{padding:0 18px 18px}.quick-grid{grid-template-columns:1fr;gap:8px}.quick-card{padding:14px 17px}.onboarding{padding:20px;flex-wrap:wrap;gap:14px}.onboarding .btn{margin-left:0}.onboarding p{font-size:11px}.close-grid{grid-template-columns:1fr}.close-panel{padding:18px}.app-footer>span:last-child{display:none}.setup{padding:25px 20px}.kanban{grid-template-columns:repeat(6,245px)}.tabs .tab{padding:12px 11px;font-size:10px}.page-heading .date-picker{width:142px}.btn{min-height:42px}.row-actions button{min-height:32px}.auth-story:after{width:250px;height:250px;right:-180px;bottom:-120px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.heading-actions{flex-wrap:wrap}.lookup-search{min-height:37px;font-size:12px}.activity-avatar svg{width:18px;height:18px}@media(max-width:600px){.heading-actions .btn{flex:1}.heading-actions .month-input{max-width:none;flex:1;min-width:140px}.heading-actions{width:100%}.modal-actions .btn{flex:1}}
.page-heading{flex-wrap:wrap}.heading-actions{flex-shrink:0}
