:root{--navy:#082f53;--ink:#102e4e;--blue:#3d94d3;--bg:#eef4f8;--line:#d9e4ed;--muted:#72859a;--green:#45c694}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Avenir,Arial,sans-serif}.app-shell{grid-template-columns:112px 1fr;min-height:100vh;display:grid}.rail{background:var(--navy);color:#9bb2c4;z-index:5;flex-direction:column;width:112px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--navy);background:#fff;border-radius:15px;place-items:center;width:46px;height:46px;margin:20px auto 12px;font-size:23px;font-weight:900;display:grid}.rail nav{flex-direction:column;gap:2px;display:flex;overflow:auto}.rail nav button{color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:68px;display:flex;position:relative}.rail nav button b{font-size:24px;line-height:1}.rail nav button span{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.rail nav button.active{color:#fff;background:#0d3a61}.rail nav button.active:before{content:"";background:#f5c84e;border-radius:0 4px 4px 0;width:4px;height:36px;position:absolute;left:0}.rail-user{color:#fff;background:#318bc9;border-radius:50%;place-items:center;width:38px;height:38px;margin:auto auto 20px;font-weight:800;display:grid}.workspace{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:4;background:#fff;grid-template-columns:1fr minmax(300px,580px) 1fr;align-items:center;height:96px;padding:0 36px;display:grid;position:sticky;top:0}.topbar h1{margin:2px 0;font-size:24px}.eyebrow{color:#8ea0b1;letter-spacing:.14em;margin:0;font-size:10px;font-weight:800}.eyebrow.blue{color:#348dca}.search{color:#668097;background:#edf3f7;border-radius:14px;align-items:center;height:48px;padding:0 17px;display:flex}.search span{font-size:27px}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0 12px;font-size:14px}.top-actions{justify-self:end;align-items:center;gap:12px;display:flex}.top-actions>button{color:var(--navy);background:0 0;border:0;font-size:18px}.avatar{color:#227dbb;background:#dceefa;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.top-actions div:last-child{flex-direction:column;display:flex}.top-actions small{color:var(--muted);margin-top:2px}.content{max-width:1600px;margin:auto;padding:34px 40px 56px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-head h2{letter-spacing:-.03em;margin:7px 0 5px;font-size:32px}.page-head>div>p:last-child,.panel-head p{color:var(--muted);margin:0}button{font:inherit}.primary,.secondary{cursor:pointer;border:0;border-radius:10px;padding:13px 20px;font-weight:800}.primary{background:var(--green);color:#073e36;box-shadow:0 7px 18px #45c69430}.secondary{color:var(--ink);background:#edf2f5}.stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:15px;padding:21px 22px;position:relative;overflow:hidden}.stat:before{content:"";background:var(--blue);width:5px;position:absolute;inset:0 auto 0 0}.stat.green:before{background:#4ec99a}.stat.purple:before{background:#8b79d6}.stat.yellow:before{background:#f1c64f}.stat p{color:var(--muted);margin:0 0 12px;font-size:13px}.stat strong{font-size:27px;display:block}.stat small{color:#678197;margin-top:7px;display:block}.dashboard-grid{grid-template-columns:1.3fr .7fr;gap:20px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:23px;box-shadow:0 6px 25px #193b5c0a}.panel.wide{min-height:300px}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.panel-head h3{margin:0 0 6px;font-size:17px}.link{color:#248ad1;cursor:pointer;background:0 0;border:0;font-weight:700}.flow-summary{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.flow-summary>div{border-right:1px solid var(--line);align-items:center;gap:10px;padding:15px;display:flex}.flow-summary>div:last-child{border:0}.flow-summary i{border-radius:8px;width:9px;height:42px}.flow-summary span{flex-direction:column;flex:1;display:flex}.flow-summary small,.mini-jobs small,.quick small,.table-row small,.toggle-row small{color:var(--muted);margin-top:4px;display:block}.flow-summary strong{font-size:23px}.mini-jobs{margin-top:12px}.mini-jobs>div{border-bottom:1px solid #edf1f4;align-items:center;gap:12px;padding:11px 4px;display:flex}.mini-jobs>div>i{border-radius:50%;width:8px;height:8px}.mini-jobs span{flex:1}.mini-jobs em{color:var(--muted);font-size:12px;font-style:normal}.chart,.revenue{border-bottom:1px solid var(--line);align-items:flex-end;gap:9px;height:195px;padding:8px;display:flex}.chart>div,.revenue>div{flex:1;justify-content:center;align-items:flex-end;gap:3px;height:100%;padding-bottom:25px;display:flex;position:relative}.chart span,.chart b{background:#f2c94c;border-radius:5px 5px 0 0;width:10px}.chart b{background:#55c99a}.chart small,.revenue small{color:#8798a8;font-size:10px;position:absolute;bottom:4px}.legend{text-align:center;color:var(--muted);margin-top:12px;font-size:11px}.legend i{background:#f2c94c;width:8px;height:8px;margin:0 5px 0 12px;display:inline-block}.legend i+i{background:#55c99a}.quick{gap:10px;display:grid}.quick button{border:1px solid var(--line);text-align:left;color:#318dcc;cursor:pointer;background:#f9fbfc;border-radius:12px;align-items:center;gap:13px;padding:14px;font-size:22px;display:flex}.quick span{color:var(--ink);flex-direction:column;font-size:13px;display:flex}.revenue{gap:18px}.revenue span{background:linear-gradient(#4aa4df,#337eb7);border-radius:7px 7px 0 0;width:70%}.kanban{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.kanban>section{background:#e5eef5;border:1px solid #cfdee9;border-radius:15px;min-height:540px;overflow:hidden}.kanban>section>header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;height:58px;padding:0 18px;display:flex}.kanban header span{background:#edf3f7;border-radius:20px;margin-left:auto;padding:4px 9px}.dot{background:#77afe0;border-radius:50%;width:9px;height:9px}.dot.d1{background:#4385be}.dot.d2{background:#174d7d}.kanban>section>div{padding:12px}.job{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:11px;padding:17px}.job h3{margin:9px 0 4px;font-size:15px}.job p{color:var(--muted);margin:0;font-size:13px}.job footer{color:var(--muted);border-top:1px solid #edf1f4;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;font-size:12px;display:flex}.job footer b{color:#277eb8;background:#dceefa;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.table{padding:0;overflow:hidden}.table-row{border-bottom:1px solid var(--line);grid-template-columns:1.7fr 1.3fr .8fr .8fr .7fr;align-items:center;min-height:72px;padding:10px 20px;font-size:13px;display:grid}.table-row:last-child{border:0}.table-row.head{color:#73879a;background:#e8f0f5;min-height:48px;font-weight:800}.table-row.customer{grid-template-columns:1.2fr .8fr 1.5fr .7fr}.badge{color:#247dbb;background:#e8f5ff;border-radius:20px;padding:7px 10px;font-size:11px;font-style:normal;font-weight:800}.badge.green{color:#238463;background:#e7f8f1}.connection{color:#c65538;background:#fff0eb;border-radius:20px;padding:9px 14px;font-size:12px;font-weight:800}.connection.ok{color:#25835f;background:#e5f8ef}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.integration-title{align-items:center;gap:14px;margin-bottom:25px;display:flex}.integration-title h3{margin:0 0 4px}.integration-title p{color:var(--muted);margin:0}.economic-logo{color:#fff;background:#ec3849;border-radius:12px;place-items:center;width:48px;height:48px;font-size:30px;font-weight:900;display:grid}.settings label,.form-grid label{flex-direction:column;gap:8px;margin:15px 0;font-size:12px;font-weight:800;display:flex}.settings input,.form-grid input,.form-grid select,.form-grid textarea{font:inherit;background:#fbfcfd;border:1px solid #cddbe5;border-radius:9px;outline:none;padding:13px}.notice{color:#3479a8;background:#edf7fe;border-radius:9px;margin:15px 0;padding:12px;font-size:12px}.full{width:100%}.toggle-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.toggle{background:#a5b1bb;border:0;border-radius:20px;width:43px;height:24px;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:3px}.toggle.on{background:#46c493}.toggle.on:after{left:22px}.sync-footer{background:#edf2f6;border-radius:0 0 15px 15px;justify-content:space-between;margin:15px -23px -23px;padding:14px;font-size:12px;display:flex}.empty{text-align:center;padding:100px 20px}.empty b{font-size:25px}.empty p{color:var(--muted)}.modal-backdrop{z-index:20;background:#06223dcc;place-items:center;padding:25px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(850px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 90px #00172b66}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:26px 30px 20px;display:flex}.modal h2{margin:4px 0}.modal>header button{color:#708497;border:0;border-radius:50%;width:38px;height:38px;font-size:25px}.form-grid{grid-template-columns:1fr 1fr;gap:2px 22px;padding:10px 30px;display:grid}.full-label{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:100px}.modal>footer{background:#f3f6f8;justify-content:flex-end;gap:10px;padding:20px 30px;display:flex}.success{text-align:center;padding:70px 30px}.success>b{color:#27916a;background:#dff7ed;border-radius:50%;place-items:center;width:65px;height:65px;margin:auto;font-size:30px;display:grid}.success p{color:var(--muted)}@media (max-width:1050px){.topbar{grid-template-columns:1fr 1fr}.top-actions{display:none}.stats{grid-template-columns:1fr 1fr}.dashboard-grid,.settings-grid,.kanban{grid-template-columns:1fr}.kanban>section{min-height:250px}.table-row{grid-template-columns:1.5fr 1fr 1fr}.table-row>:nth-child(3),.table-row>:nth-child(4){display:none}}@media (max-width:700px){.app-shell{grid-template-columns:1fr}.rail{width:auto;height:70px;position:fixed;inset:auto 0 0}.rail .brand,.rail-user{display:none}.rail nav{flex-direction:row;overflow:auto}.rail nav button{min-width:76px;min-height:70px}.rail nav button.active:before{width:36px;height:4px;inset:auto 20px 0}.workspace{grid-column:1;padding-bottom:70px}.topbar{grid-template-columns:1fr;height:auto;padding:16px}.topbar>div:first-child{display:none}.search{width:100%}.content{padding:25px 16px}.page-head{align-items:flex-start}.page-head h2{font-size:27px}.stats{grid-template-columns:1fr}.dashboard-grid{display:block}.panel{margin-bottom:15px}.flow-summary{grid-template-columns:1fr}.flow-summary>div{border:0;border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.full-label{grid-column:1}.table-row{grid-template-columns:1.5fr 1fr}.table-row>:nth-child(n+3){display:none}}.secret-row{border:1px solid var(--line);border-radius:9px;justify-content:space-between;align-items:center;margin:10px 0;padding:14px;font-size:13px;display:flex}.secret-row b{color:#28835f;background:#e5f8ef;border-radius:12px;padding:6px 9px;font-size:10px}.flow-summary.four,.four-cols{grid-template-columns:repeat(4,1fr)}.job{cursor:pointer;transition:transform .16s,box-shadow .16s}.job:hover{transform:translateY(-2px);box-shadow:0 8px 24px #153c5d18}.job:active{cursor:grabbing}.dot.d3{background:#174d7d}.job-detail{width:min(1050px,100%)}.detail-body{grid-template-columns:1.25fr .75fr;display:grid}.detail-main{padding:28px 32px}.detail-body aside{border-left:1px solid var(--line);background:#f2f6f9;padding:28px}.detail-card{vertical-align:top;border:1px solid var(--line);border-radius:12px;flex-direction:column;width:calc(50% - 8px);margin:0 10px 22px 0;padding:17px;display:inline-flex}.detail-card span,.detail-meta small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.detail-card b{margin:8px 0 3px}.detail-main>p{color:#536b80;line-height:1.65}.detail-meta{border-top:1px solid var(--line);gap:14px;margin-top:24px;padding-top:20px;display:flex}.detail-meta span{flex-direction:column;flex:1;gap:6px;display:flex}.detail-body label{flex-direction:column;gap:7px;font-size:12px;font-weight:800;display:flex}.detail-body input,.detail-body select{font:inherit;background:#fff;border:1px solid #cbd9e3;border-radius:8px;width:100%;padding:11px}.detail-body aside>h3{margin-top:26px}.journal-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.journal-fields label:first-child{grid-column:1/-1}.hint{color:var(--muted);text-align:center;margin-top:10px;display:block}.customer-notice{margin-bottom:16px}.table-empty{text-align:center;color:var(--muted);padding:48px}.table-row.clickable{text-align:left;width:100%;color:inherit;cursor:pointer;background:#fff;border-top:0;border-left:0;border-right:0}.table-row.clickable:hover{background:#f5f9fc}.primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1250px){.four-cols,.flow-summary.four{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.four-cols,.detail-body{grid-template-columns:1fr}.detail-body aside{border-left:0;border-top:1px solid var(--line)}.flow-summary.four{grid-template-columns:1fr}.detail-card{width:100%;margin-right:0}}.card-edit{color:#2f88c6;cursor:pointer;background:#edf5fa;border:0;border-radius:8px;width:28px;height:28px;position:absolute;top:12px;right:12px}.job{position:relative}.job-price{margin-top:12px;font-weight:850}.editable-block{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden}.editable-block>header{color:var(--muted);text-transform:uppercase;background:#f2f6f9;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:800;display:flex}.editable-block>header button{color:#287fb9;cursor:pointer;background:#dceefa;border:0;border-radius:7px;width:28px;height:28px}.editable-block>div{padding:12px}.editable-block input,.editable-block select,.editable-block textarea{width:100%;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;font-weight:700}.editable-block textarea{resize:vertical;min-height:70px}.editable-block>div:not(.editing) input,.editable-block>div:not(.editing) select,.editable-block>div:not(.editing) textarea{pointer-events:none}.editable-block .editing{box-shadow:inset 0 0 0 2px #3d94d3}.detail-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.line-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.line-table>div{border-bottom:1px solid var(--line);grid-template-columns:1.5fr 75px 110px 120px 30px;align-items:center;gap:8px;padding:10px;display:grid}.line-table>div:last-child{border-bottom:0}.line-table input{border:1px solid var(--line);border-radius:7px;width:100%;padding:8px}.line-table button{color:#b15959;background:0 0;border:0;font-size:20px}.add-product{color:#277fb9;border-radius:9px;width:100%;margin-top:10px;background:#f5fbff!important;border:1px dashed #69aee0!important;padding:12px!important}.order-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;margin:15px 0;padding:20px 0;display:flex}.order-total strong{margin-top:7px;font-size:28px}.invoice-action{color:#21815f;cursor:pointer;background:#e8f8f1;border:1px solid #36ac7f;border-radius:10px;width:100%;margin-top:10px;padding:13px;font-weight:800}.inline-add{color:#2d8dcd;text-align:left;cursor:pointer;background:0 0;border:0;padding:5px 0;font-weight:700}.line-table.compact>div{grid-template-columns:1.5fr 80px 120px 30px}.new-total{justify-content:flex-end;align-items:center;gap:30px;padding:18px 0;font-size:14px;display:flex}.new-total strong{font-size:24px}.invoice-list{padding:0;overflow:hidden}.invoice-row{border-bottom:1px solid var(--line);grid-template-columns:35px 1.4fr 1fr 1fr .7fr 70px;align-items:center;gap:12px;min-height:70px;padding:10px 18px;display:grid}.invoice-row.head{min-height:45px;color:var(--muted);background:#e8f0f5;font-size:12px;font-weight:800}.invoice-row span small{color:var(--muted);margin-top:4px;display:block}.invoice-row>input:not([type=checkbox]){border:1px solid var(--line);border-radius:7px;padding:9px}.settings-layout{grid-template-columns:285px 1fr;min-height:calc(100vh - 96px);display:grid}.settings-nav{border-right:1px solid var(--line);background:#fff}.settings-nav h3{color:#fff;background:#3d94d3;margin:0;padding:25px 28px}.settings-nav button{text-align:left;color:#8c9aa7;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e7edf2;width:100%;padding:17px 28px;font-weight:750;display:block}.settings-nav button.active{color:#2889cc;background:#f0f7fc;border-left:4px solid #2889cc}.settings-content{max-width:1200px;padding:34px 40px}.settings-table{padding:0;overflow:hidden}.setting-row{border-bottom:1px solid var(--line);grid-template-columns:1.8fr 1fr;align-items:center;min-height:64px;padding:0 22px;display:grid}.setting-row:last-child{border:0}.setting-row>button{justify-self:end}.setting-value{color:#53697d;background:0 0;border:0;font-weight:750}.economic-settings{max-width:650px}.economic-settings>label{flex-direction:column;gap:7px;margin:14px 0;font-size:12px;font-weight:800;display:flex}.economic-settings>label input{border:1px solid var(--line);border-radius:8px;padding:12px}.sync-summary{gap:15px;margin-top:20px;display:flex}.sync-summary span{background:#f2f6f9;border-radius:8px;padding:12px}.empty-setting{text-align:center;padding:50px}.empty-setting p{color:var(--muted)}@media (max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow:auto}.settings-nav h3{display:none}.settings-nav button{min-width:max-content}.settings-content{padding:24px 16px}.detail-pair{grid-template-columns:1fr}.line-table>div{grid-template-columns:1fr 60px 90px 30px}.line-table>div strong{display:none}.invoice-row{grid-template-columns:35px 1.5fr 1fr}.invoice-row>:nth-child(n+4){display:none}}.invoice-config{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;padding:16px 20px;display:grid}.invoice-config label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;font-weight:800;display:flex}.invoice-config input{border:1px solid var(--line);font:inherit;color:var(--ink);border-radius:8px;padding:10px}@media (max-width:700px){.invoice-config{grid-template-columns:1fr}}
