:root{--ink:#14232c;--muted:#687783;--dark:#0d1b28;--dark2:#142633;--lime:#cef36f;--mint:#e7f7e4;--line:#e5eae9;--bg:#f7f9f8;--white:#fff;--radius:18px;--shadow:0 20px 60px rgba(15,38,43,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #90b846;outline-offset:2px}p{line-height:1.6}h1,h2,h3,p{margin-top:0}.wrap{width:min(1180px,calc(100% - 72px));margin-inline:auto}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-1.2px;font-size:24px}.brand-symbol{display:inline-grid;place-items:center;background:var(--lime);color:#11232a;border-radius:12px;width:38px;height:38px;font-size:31px;line-height:1}.brand-highlight{color:#75953b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:11px;padding:13px 20px;font-size:14px;font-weight:750;white-space:nowrap;transition:transform .18s,background .18s,box-shadow .18s;line-height:1.3}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--lime);color:#152623}.btn-primary:hover{background:#bbed55}.btn-dark{background:#10202c;color:#fff}.btn-dark:hover{background:#1e3641}.btn-white{background:#fff;color:#14232c}.btn-ghost{background:#f2f5f3;color:#283942;border:1px solid #e7eceb}.btn-outline{background:#fff;border:1px solid #d7e0dd;color:#20323a}.btn-danger{background:#fff1ef;color:#af382f}.btn-sm{padding:11px 16px}.btn-lg{padding:17px 24px;border-radius:13px;font-size:15px}.text-link{font-weight:750;font-size:14px}.text-link:hover{color:#587e20}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:850;display:inline-flex;align-items:center;gap:10px}.eyebrow.soft{color:#739448}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#95d14a;box-shadow:0 0 0 4px rgba(149,209,74,.13)}
/* Landing */
.landing-page{background:#fbfcf8}.landing-nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-links{display:flex;gap:34px;font-size:13px;font-weight:650;color:#50616a}.landing-links a:hover{color:#111}.hero{min-height:602px;display:grid;grid-template-columns:49% 51%;gap:6px;align-items:center;padding-block:44px 78px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(45px,5.1vw,74px);line-height:1.075;letter-spacing:-4.5px;font-weight:860;margin:22px 0 25px}.hero h1 em{font-style:normal;color:#82aa43}.hero-copy>p{font-size:17px;color:#63737c;max-width:505px;line-height:1.8}.hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin:29px 0 25px}.hero-foot{color:#7b898d;font-size:12px;display:flex;align-items:center;gap:10px}.mini-check{color:#7faa45;font-weight:900}.mini-divider{width:1px;height:15px;background:#d7dcd7;margin-inline:7px}.hero-visual{position:relative;padding:45px 0 50px 25px;min-width:0}.hero-visual:before{content:"";position:absolute;inset:15px -13px 10px 0;background:#eff5e4;border-radius:44% 55% 38% 52%;transform:rotate(-10deg)}.preview-app{position:relative;display:flex;height:390px;border:6px solid #fff;background:#fff;border-radius:17px;box-shadow:0 35px 55px rgba(29,55,42,.18);overflow:hidden;transform:rotate(-3deg);max-width:590px}.preview-sidebar{width:88px;flex:none;background:#13242f;padding:20px 15px}.preview-mark{font-size:32px;color:var(--lime);margin-bottom:43px}.preview-line{width:54px;height:7px;background:#30434c;border-radius:20px;margin:17px 0}.preview-line.bright{background:#d4f58a}.preview-line.short{width:35px}.preview-space{height:60px}.preview-body{padding:29px 25px;min-width:0;flex:1;background:#fafcfb}.preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.preview-kicker{font-size:8px;font-weight:850;letter-spacing:1.6px;color:#8c979d;margin-bottom:7px}.preview-heading{font-weight:820;font-size:19px;letter-spacing:-.7px}.preview-avatar,.top-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#d5eab2;color:#45621b;font-size:10px;font-weight:850}.preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.preview-card{border:1px solid #e8eeeb;border-radius:10px;background:#fff;padding:15px;min-width:0}.preview-card span,.preview-card small{font-size:10px;color:#83908f;display:block}.preview-card b{display:block;font-size:24px;letter-spacing:-1.2px;margin:7px 0}.preview-card small{color:#6d9e42}.preview-list{background:#fff;margin-top:16px;border:1px solid #e8eeeb;border-radius:10px;padding:13px}.preview-list-head{display:flex;justify-content:space-between;font-size:10px;margin-bottom:10px}.preview-list-head span{color:#7e968b;font-size:9px}.preview-entry{display:flex;align-items:center;gap:9px;border-top:1px solid #f0f3f2;padding:10px 0}.preview-entry>div:nth-child(2){flex:1;min-width:0}.preview-icon{display:grid;place-items:center;background:#dcefe1;color:#5c8e69;border-radius:7px;flex:none;width:26px;height:26px;font-size:11px;font-weight:800}.preview-icon.peach{background:#f9e6d7;color:#ad7749}.preview-icon.lilac{background:#ebe5fa;color:#846bbb}.preview-entry strong{font-size:10px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-entry small{font-size:8px;color:#abb4b1;display:block}.preview-entry>b{font-size:9px}.preview-entry i{font-style:normal;background:#f9f1dd;color:#af8d40;font-size:8px;padding:5px 7px;border-radius:12px}.preview-entry i.success{background:#e3f4e9;color:#469764}.floating-note{position:absolute;right:-20px;bottom:26px;background:#fff;border:1px solid #e9efea;box-shadow:var(--shadow);border-radius:14px;padding:13px 17px;display:flex;gap:11px;align-items:center;transform:rotate(3deg)}.float-icon{display:grid;place-items:center;background:#e3f6cd;border-radius:50%;width:35px;height:35px;color:#619f37;font-weight:900}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:12px}.floating-note small{font-size:10px;color:#899794;margin-top:3px}.hero-spark{position:absolute;color:#b9d785}.hero-spark-one{font-size:35px;right:25px;top:-5px}.hero-spark-two{font-size:27px;left:0;bottom:12px}.trust-ribbon{background:#f1f5ee;border-block:1px solid #e9efe4}.trust-inner{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.trust-inner p{font-size:10px;font-weight:850;letter-spacing:2px;color:#92a28c;white-space:nowrap;margin:0}.trust-inner>div{display:flex;justify-content:space-between;flex:1;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:750;color:#75827a}.section{padding-block:110px}.section-heading{text-align:center;max-width:620px;margin:0 auto 40px}.section-heading h2,.how-inner h2{font-size:clamp(36px,4.4vw,55px);line-height:1.1;letter-spacing:-2.5px;margin:17px 0}.section-heading p,.how-inner>div:first-child>p{font-size:15px;color:#718081;max-width:495px;line-height:1.8;margin-inline:auto}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{border:1px solid #e7ede8;background:#fff;padding:29px;border-radius:17px;box-shadow:0 7px 25px rgba(18,32,32,.025)}.feature-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;font-size:26px;font-weight:700;margin-bottom:28px}.mint{background:#e2f5e5;color:#33875b}.yellow{background:#fcf3d8;color:#bb8d35}.lavender{background:#ede7fc;color:#7d64b9}.feature-card h3{letter-spacing:-.7px;font-size:20px;margin-bottom:12px}.feature-card p{font-size:14px;color:#78868a;min-height:90px}.feature-tag{display:block;margin-top:20px;font-size:11px;color:#78a33f;font-weight:750}.how-section{background:#f2f6ef;padding:95px 0}.how-inner{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.how-inner>div:first-child>p{margin-inline:0;max-width:400px;margin-bottom:29px}.steps{background:#fff;border-radius:20px;border:1px solid #e6ede5;padding:18px 34px}.step{display:flex;gap:22px;align-items:flex-start;padding:27px 0}.step+.step{border-top:1px solid #eef1ed}.step>span{font-size:25px;color:#8ab74b;font-weight:850;letter-spacing:-1px}.step h3{margin:0 0 7px;font-size:16px}.step p{color:#788687;font-size:13px;margin:0}.cta-section{padding-block:95px}.cta-box{position:relative;overflow:hidden;text-align:center;background:#142732;color:#fff;padding:75px 20px 80px;border-radius:24px}.cta-box .eyebrow{color:#badd7e}.cta-box h2{font-size:clamp(39px,5.2vw,61px);letter-spacing:-3px;line-height:1.12;margin:17px 0}.cta-box p{color:#a5b7bd;font-size:15px;margin-bottom:28px}.cta-spark{position:absolute;left:9%;top:10%;font-size:100px;color:#27473a}.landing-footer{display:flex;justify-content:space-between;align-items:center;padding:13px 0 43px;border-top:1px solid #edf0eb}.landing-footer p{font-size:12px;color:#91a09a;margin:0}
/* App shell */
.app-page{background:var(--bg)}.app-shell{min-height:100vh;display:flex}.sidebar{width:244px;background:#10232e;color:#fff;padding:28px 15px 19px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;flex:none;z-index:30}.app-brand{padding:0 12px 35px;font-size:24px}.app-brand .brand-highlight{color:#b3dd6e}.workspace-label{padding:0 16px;color:#66818b;font-size:10px;font-weight:850;letter-spacing:1.5px;margin-bottom:12px}.workspace-label-spaced{margin-top:29px}.app-nav{display:flex;flex-direction:column;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#b2c2ca;text-align:left;padding:13px 15px;display:flex;align-items:center;gap:14px;font-size:13px;font-weight:680;border-radius:10px}.nav-item:not(.inactive):hover{background:#203945;color:#fff}.nav-item.active{color:#dcf7b3;background:#294037}.nav-ico{font-size:18px;width:19px;text-align:center;line-height:1.1}.nav-item.inactive{color:#78909a;cursor:default}.nav-item small{margin-left:auto;font-size:9px;border:1px solid #405762;color:#8ba1a8;border-radius:5px;padding:3px 5px}.sidebar-bottom{margin-top:auto}.tip-card{background:#203945;border:1px solid #31515a;border-radius:14px;padding:15px;margin:0 5px 18px}.tip-emoji{color:var(--lime);font-size:28px}.tip-card strong{display:block;font-size:13px;margin:10px 0 6px}.tip-card p{font-size:11px;color:#9cb4bc;margin:0}.profile-mini{display:flex;align-items:center;gap:10px;border-top:1px solid #26404b;padding:20px 7px 0}.profile-avatar{width:33px;height:33px;display:grid;place-items:center;background:#d1ee90;color:#314a1a;border-radius:10px;font-size:11px;font-weight:850;flex:none}.profile-mini>div:nth-child(2){min-width:0;flex:1}.profile-mini strong{display:block;font-size:12px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.profile-mini small{font-size:10px;color:#8aa0a9}.profile-mini>span{color:#869da8}.app-main{flex:1;min-width:0}.app-header{height:75px;background:#fff;border-bottom:1px solid #e8edeb;display:flex;align-items:center;justify-content:space-between;padding:0 39px;gap:16px}.breadcrumb{font-size:11px;letter-spacing:1px;font-weight:800;color:#a1adab}.breadcrumb span{padding:0 12px;color:#c4cfcc}.breadcrumb strong{color:#34484b}.app-header-right{display:flex;align-items:center;gap:22px}.demo-pill{font-size:11px;border:1px solid #e5eadf;background:#f6faef;padding:7px 10px;border-radius:99px;color:#667d46;font-weight:700;display:flex;align-items:center;gap:7px}.demo-pill .pulse{height:7px;width:7px}.header-link{font-size:12px;color:#688078;font-weight:720}.header-link:hover{color:#283d32}.top-avatar{width:33px;height:33px}.app-content{padding:43px 42px;max-width:1440px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.page-eyebrow{font-size:11px;color:#8ca17c;font-weight:850;letter-spacing:1.5px;margin-bottom:10px}.page-head h1{font-size:30px;letter-spacing:-1.3px;margin:0 0 9px}.page-head p{margin:0;color:#879390;font-size:13px}.page-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:30px}.stat-card{background:#fff;border-radius:15px;border:1px solid #e6ece8;padding:22px 22px 19px;min-width:0}.stat-title{font-size:12px;color:#83918f;display:flex;justify-content:space-between;gap:9px}.stat-title>span:last-child{font-size:20px;color:#8aaa62}.stat-value{font-size:29px;letter-spacing:-1.3px;font-weight:830;margin:17px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-bottom{color:#9aa6a2;font-size:11px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.panel{background:#fff;border:1px solid #e6ece8;border-radius:15px;min-width:0;overflow:hidden}.panel-head{padding:23px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0ef}.panel-head h2{font-size:16px;letter-spacing:-.4px;margin:0}.panel-head p{font-size:12px;color:#92a09c;margin:5px 0 0}.link-button{border:0;background:transparent;color:#669838;font-weight:750;font-size:12px}.link-button:hover{text-decoration:underline}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}.data-table th{font-size:10px;letter-spacing:.9px;color:#9ea9a7;text-transform:uppercase;font-weight:800;background:#fcfdfc;padding:14px 23px}.data-table td{font-size:12px;padding:18px 23px;border-top:1px solid #f0f3f2;color:#61706f}.data-table th:last-child,.data-table td:last-child{text-align:right}.table-title{display:block;color:#243738;font-size:12px;font-weight:800}.table-sub{display:block;font-size:10px;color:#9ba8a3;margin-top:4px}.tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:750;padding:7px 9px;border-radius:7px;background:#fdf4e3;color:#a47d31}.tag::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.tag-accepted{background:#e9f7ec;color:#448d54}.tag-rejected{background:#fcece9;color:#bb6157}.tag-sent{background:#eaf0fb;color:#647cbd}.tag-draft{background:#f0f2f3;color:#7f8d93}.action-cell{white-space:nowrap}.tiny-btn{border:1px solid #e5eae8;background:#fff;color:#536d67;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:700;margin-left:4px}.tiny-btn:hover{background:#f2f7ef;color:#345930}.next-card{padding:25px}.next-card .bulb{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#eaf5d5;color:#669632;font-size:24px;margin-bottom:20px}.next-card h3{margin:0 0 10px;font-size:17px;letter-spacing:-.3px}.next-card p{font-size:12px;color:#879491;margin-bottom:22px}.next-card .btn{width:100%;font-size:12px}.note-box{background:#f1f7e8;border:1px solid #e2efd2;border-radius:12px;padding:18px;margin-top:17px}.note-box strong{font-size:12px;display:block;margin-bottom:5px}.note-box p{font-size:11px;color:#78916c;margin:0}.tools-bar{display:flex;gap:12px;margin-bottom:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.search-wrap{position:relative;flex:1;min-width:210px;max-width:360px}.search-wrap span{position:absolute;left:13px;top:11px;color:#8b9b94}.search-field,.filter-select{height:41px;background:#fff;border:1px solid #e3eae5;border-radius:10px;color:#3b4d4d;font-size:12px}.search-field{width:100%;padding:0 14px 0 37px}.filter-select{padding:0 12px}.empty-state{text-align:center;padding:75px 24px;color:#97a6a2}.empty-state>span{font-size:40px;display:block;margin-bottom:13px}.empty-state h3{color:#374b46;margin:0 0 6px}.empty-state p{font-size:13px;margin:0 0 21px}.customer-avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e7f3dc;color:#658548;font-weight:800;margin-right:10px;vertical-align:middle}.info-banner{display:flex;align-items:flex-start;gap:12px;background:#edf5e6;border:1px solid #dcebd0;border-radius:13px;padding:14px 18px;font-size:12px;color:#527744;margin-bottom:24px}.info-banner strong{color:#426837}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:23px}.settings-panel{padding:27px}.settings-panel h2{font-size:17px;margin:0 0 5px}.settings-panel>p{font-size:12px;color:#899996;margin-bottom:25px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#4c605c}.field input,.field select,.field textarea{border:1px solid #dfe7e2;border-radius:9px;background:#fff;padding:11px 12px;min-height:40px;width:100%;color:#283b35;font-size:13px}.field textarea{min-height:79px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a1c675;outline:2px solid #e7f3dc}.setting-actions{border-top:1px solid #ecf0ec;padding-top:21px;margin-top:25px;display:flex;gap:11px;flex-wrap:wrap}.settings-side{padding:25px}.settings-side h3{font-size:15px;margin:0 0 12px}.settings-side p{font-size:12px;color:#8a9893}.settings-side .btn{width:100%;margin-top:10px;font-size:12px}.settings-side hr{border:0;border-top:1px solid #edf0ed;margin:20px 0}.settings-side .danger-link{color:#ac5147;border:0;background:transparent;font-size:12px;font-weight:750;padding:8px 0}.mobile-toggle{display:none}.mobile-overlay[hidden],.modal-backdrop[hidden]{display:none!important}
/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(11,27,32,.57);z-index:80;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:18px;width:min(615px,100%);max-height:min(90vh,900px);display:flex;flex-direction:column;box-shadow:0 27px 100px rgba(0,0,0,.24);overflow:hidden}.modal.modal-large{width:min(925px,100%)}.modal-header{padding:22px 26px;border-bottom:1px solid #edf0ed;display:flex;justify-content:space-between;gap:16px;align-items:center;flex:none}.modal-header h2{font-size:19px;letter-spacing:-.6px;margin:0}.modal-header p{font-size:12px;color:#91a09a;margin:5px 0 0}.icon-button{border:0;background:#f3f6f3;border-radius:8px;color:#5b7069;width:34px;height:34px;display:grid;place-items:center;font-size:18px}.icon-button:hover{background:#e6eee2}.modal-body{padding:25px 26px;overflow-y:auto}.modal-footer{padding:18px 26px;border-top:1px solid #edf0ed;background:#fff;display:flex;justify-content:flex-end;gap:10px;flex:none}.quote-form-head{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.quote-form-head+.quote-form-head{margin-top:14px}.modal-section-title{font-size:13px;font-weight:850;margin:29px 0 14px;padding-bottom:10px;border-bottom:1px solid #eff2ef;display:flex;justify-content:space-between;align-items:center}.item-edit-table{width:100%;border-spacing:0 10px}.item-edit-table th{text-align:left;color:#859690;font-size:10px;text-transform:uppercase;letter-spacing:.6px;padding:0 7px}.item-edit-table td{padding:0 5px}.item-edit-table td:first-child{padding-left:0}.item-edit-table th:first-child{padding-left:0}.item-edit-table td:last-child{padding-right:0}.item-edit-table input{width:100%;min-width:0;padding:10px;border:1px solid #dfe7e2;border-radius:8px;font-size:12px}.item-edit-table .row-remove{height:35px;width:35px;border-radius:8px;background:#fff5f3;color:#b36353;border:0}.quote-bottom{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:start;margin-top:23px}.calc-card{background:#f7faf6;border:1px solid #e6efe2;border-radius:12px;padding:18px}.calc-line{display:flex;justify-content:space-between;font-size:12px;color:#65766b;margin-bottom:11px}.calc-line.total{border-top:1px solid #dce7d9;padding-top:14px;margin-top:14px;font-size:17px;color:#1b3827;font-weight:850;margin-bottom:0}.inline-error{color:#ad4137;font-size:12px;padding:9px 0;min-height:20px}.toast{position:fixed;bottom:24px;right:24px;z-index:110;background:#19302e;color:#fff;border:1px solid #3b6355;border-radius:12px;padding:13px 20px;font-size:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateY(0)}#print-area{display:none}
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.next-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 25px}.next-card .bulb{grid-row:1/3;margin:0}.next-card .btn{width:auto}.note-box{display:none}.hero h1{letter-spacing:-3.2px}.floating-note{right:-6px}}
@media(max-width:900px){.wrap{width:min(100% - 40px,1180px)}.landing-links{display:none}.hero{grid-template-columns:1fr;padding-block:35px 65px;gap:15px}.hero-copy{max-width:640px}.hero-visual{max-width:650px;margin:auto;width:100%}.hero-visual:before{inset:30px}.hero h1{font-size:58px}.trust-inner{align-items:flex-start;flex-direction:column}.feature-grid{grid-template-columns:1fr 1fr}.how-inner{gap:40px}.sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);transition:transform .22s}.sidebar.open{transform:translateX(0)}.mobile-overlay:not([hidden]){display:block;position:fixed;inset:0;background:rgba(7,27,35,.45);z-index:20}.mobile-toggle{display:grid}.app-header{padding:0 23px}.app-content{padding:34px 25px}.settings-layout{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.landing-nav{height:73px}.landing-brand{font-size:22px}.landing-nav .btn{font-size:12px;padding:10px 12px}.hero h1{font-size:clamp(42px,10vw,59px);letter-spacing:-2.8px}.hero-copy>p{font-size:15px}.hero-visual{padding:17px 0 40px 0}.preview-app{height:315px}.preview-sidebar{width:60px;padding:18px 9px}.preview-line{width:37px}.preview-body{padding:17px 10px}.preview-heading{font-size:14px}.preview-card{padding:9px}.preview-card b{font-size:17px}.preview-card span,.preview-card small{font-size:8px}.preview-list{padding:8px}.preview-entry{gap:5px;padding:8px 0}.preview-entry i{display:none}.preview-entry>b{font-size:8px}.floating-note{bottom:7px;right:-6px;padding:8px 11px}.floating-note small{font-size:8px}.floating-note strong{font-size:10px}.trust-inner>div{gap:14px;font-size:11px}.section{padding-block:70px}.section-heading h2,.how-inner h2{font-size:39px}.feature-grid{grid-template-columns:1fr}.feature-card p{min-height:0}.how-section{padding:65px 0}.how-inner{grid-template-columns:1fr}.steps{padding:10px 24px}.cta-section{padding-block:65px}.cta-box{padding:65px 16px}.cta-box h2{letter-spacing:-2px}.landing-footer{align-items:flex-start;gap:14px;flex-direction:column}.app-header{padding:0 15px;height:64px}.app-header-right{gap:10px}.header-link{display:none}.app-content{padding:24px 15px}.page-head{flex-direction:column;gap:17px}.page-head h1{font-size:26px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-value{font-size:22px}.stat-title{font-size:10px}.stat-bottom{font-size:10px}.panel-head{padding:17px}.data-table th,.data-table td{padding:12px 14px}.next-card{display:block}.next-card .bulb{margin-bottom:12px}.next-card .btn{width:100%}.field-grid,.quote-form-head,.quote-form-head+.quote-form-head,.quote-bottom{grid-template-columns:1fr}.modal-backdrop{padding:7px}.modal{max-height:96vh}.modal-header,.modal-body,.modal-footer{padding:17px}.item-edit-table{min-width:500px}.item-edit-wrapper{overflow-x:auto}.modal-footer .btn{padding:11px}.demo-pill{font-size:10px}.breadcrumb{font-size:10px}}
/* Offer print mode: browser Print -> Save as PDF */
@media print{ @page{size:A4;margin:16mm 15mm}html,body{background:#fff!important;color:#111!important}body>*:not(#print-area){display:none!important}#print-area{display:block!important;font-family:Arial,sans-serif;color:#17292a;font-size:11px}#print-area .print-top{display:flex;justify-content:space-between;gap:25px;border-bottom:3px solid #202f2d;padding-bottom:23px;margin-bottom:31px}#print-area .print-logo{font-size:24px;font-weight:850;letter-spacing:-1px}#print-area .print-logo span{color:#688c37}#print-area .print-company{text-align:right;line-height:1.6;color:#66756f;font-size:10px}#print-area .print-address{line-height:1.8;margin-bottom:31px;min-height:86px}#print-area .print-caption{font-size:9px;color:#8b9792;margin-bottom:6px}#print-area .print-name{font-weight:750;font-size:12px}#print-area .print-title{font-size:27px;letter-spacing:-1px;font-weight:800;margin-bottom:15px}#print-area .print-meta{display:flex;gap:50px;margin-bottom:32px;color:#52635b}#print-area .print-intro{line-height:1.6;margin-bottom:25px}#print-area table{width:100%;border-collapse:collapse;margin-top:15px}#print-area th{text-align:left;background:#eff3ec;font-size:9px;padding:12px 9px;border-bottom:1px solid #b7c7b9}#print-area td{padding:13px 9px;border-bottom:1px solid #e5eae5;vertical-align:top}#print-area td.num,#print-area th.num{text-align:right}#print-area .print-totals{margin:25px 0 0 auto;width:255px}#print-area .print-total-row{display:flex;justify-content:space-between;padding:9px 0}#print-area .print-total-row.grand{font-size:15px;font-weight:850;border-top:2px solid #253c32;margin-top:8px;padding-top:12px}#print-area .print-notes{margin-top:50px;white-space:pre-wrap;line-height:1.8;max-width:540px}#print-area .print-footer{border-top:1px solid #d8e0d8;margin-top:70px;padding-top:14px;font-size:9px;line-height:1.7;color:#758078}#print-area thead{display:table-header-group}#print-area tr{break-inside:avoid}}

.table-title-inline{display:inline-block}.item-desc-col{width:46%}.item-qty-col{width:15%}.item-other-col{width:17%}.modal-open{overflow:hidden}@media print{#print-area .print-brandname{font-size:11px;margin-top:13px;font-weight:700}}
/* The icon-button display rule must not force the desktop hamburger visible. */
.icon-button.mobile-toggle{display:none}
@media(max-width:900px){.icon-button.mobile-toggle{display:grid}}
/* SaaS authentication and loading */
.account-email{font-size:11px;color:#799087;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-state{text-align:center;padding:15vh 20px;color:#6e847a}.loading-state h2{margin:18px 0 8px;color:#253a32}.loading-state .brand-symbol{margin:0 auto}
.auth-page{background:#f7faf5;min-height:100vh}.auth-header{height:98px;display:flex;align-items:center;justify-content:space-between}.auth-main{width:min(1110px,calc(100% - 48px));margin:24px auto 75px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.84fr);align-items:stretch;min-height:570px;box-shadow:0 25px 80px rgba(19,43,36,.07);border-radius:23px;overflow:hidden}.auth-card{background:#fff;padding:56px clamp(25px,5.3vw,72px)}.auth-topline{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#7b9d57;display:flex;align-items:center;gap:10px}.auth-card h1{font-size:clamp(27px,3vw,35px);letter-spacing:-1.3px;margin:20px 0 9px}.auth-card>p{color:#88978f;font-size:13px}.auth-switch{display:flex;gap:5px;margin:30px 0 27px;background:#f3f6f3;padding:5px;border-radius:12px}.auth-switch button{border:0;border-radius:9px;padding:11px 13px;background:transparent;flex:1;font-weight:750;font-size:13px;color:#789086}.auth-switch button.is-active{background:#fff;color:#2e4438;box-shadow:0 3px 13px rgba(19,43,36,.08)}#auth-form{display:flex;flex-direction:column;gap:17px}#auth-form .field input{height:46px;font-size:14px}.auth-submit{width:100%;height:49px;margin-top:2px}.auth-bottom{font-size:11px;color:#90a196;margin-top:30px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.auth-bottom span{color:#81ab56}.auth-password-note{font-size:11px;color:#81988c;margin:-10px 0 0}.auth-side{position:relative;background:#142a34;overflow:hidden;display:flex;align-items:flex-end;padding:55px;color:#fff}.auth-side:before{content:"";position:absolute;width:360px;height:360px;border:80px solid rgba(211,245,140,.07);border-radius:50%;top:-130px;right:-180px}.auth-side-spark{position:absolute;font-size:140px;right:53px;top:85px;color:#cfec84;opacity:.82}.auth-side-copy{position:relative;z-index:2}.auth-side-copy .eyebrow{color:#b4d87c;font-size:10px}.auth-side-copy h2{font-size:clamp(30px,3.8vw,47px);letter-spacing:-2px;line-height:1.1;margin:18px 0 20px}.auth-side-copy p{color:#a5bfc3;font-size:14px;line-height:1.8;max-width:310px}.auth-side-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.auth-side-tags span{border:1px solid #3d5c63;border-radius:100px;padding:9px 12px;font-size:11px;color:#cce0dc}
@media (max-width:800px){.auth-main{grid-template-columns:1fr}.auth-side{min-height:220px;padding:30px}.auth-side-spark{font-size:68px;right:25px;top:24px}.auth-side-copy h2{font-size:29px;margin:11px 0}.auth-side-copy p{margin:0}.auth-card{padding:35px 28px}.account-email{display:none}}
@media (max-width:480px){.auth-header{height:76px}.auth-header .text-link{font-size:12px}.auth-main{width:calc(100% - 28px);margin:12px auto 30px}.auth-side{padding:25px}.auth-side-tags{display:none}}
.auth-page [hidden]{display:none!important}

/* Belegkette */
.doc-locked{display:inline-block;font-size:11px;color:#7a9185;padding:5px 7px;white-space:nowrap}.tiny-btn-accent{border:1px solid #b0ce82!important;background:#eff8e6!important;color:#31572c!important;font-weight:700}.info-banner-warning{background:#fff7e9!important;border-color:#ebd4a0!important;color:#69501c!important}.info-banner-warning strong{color:#654512}.app-nav .nav-item{font-size:13px}@media print{#print-area .print-draft-warning{border:4px double #912f2f;color:#912f2f;font-size:18px;text-align:center;font-weight:900;letter-spacing:1px;padding:13px 7px;margin:0 0 29px}#print-area .print-meta{flex-wrap:wrap}}

/* v0.4.3: optional AI quote suggestion, always review before saving */
.ai-assistant{border:1px solid #c9e1b8;background:linear-gradient(120deg,#f5fbee,#f7faf7);border-radius:15px;padding:20px;margin:20px 0 25px}.ai-assistant-heading{display:flex;gap:14px;justify-content:space-between;align-items:start;margin-bottom:13px}.ai-eyebrow{font-size:10px;letter-spacing:.12em;color:#638940;font-weight:850}.ai-assistant h3{font-size:18px;line-height:1.35;margin:6px 0 0;color:#223d2a}.ai-chip{font-size:11px;border:1px solid #bfd9aa;border-radius:99px;background:white;color:#548035;padding:5px 10px}.ai-two-col{display:grid;grid-template-columns:1fr 2fr;gap:13px;margin:15px 0}.ai-assistant .field textarea{width:100%;min-height:75px;padding:12px 13px;border:1px solid #d6e3d5;border-radius:10px;font:inherit;background:#fff;resize:vertical}.ai-muted{font-size:12px;line-height:1.6;color:#617668;margin:8px 0 14px}.ai-output{margin-top:14px;min-height:25px}.ai-result{background:#fff;border:1px solid #dfe9dd;border-radius:12px;padding:13px}.ai-result-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.ai-result-head>span{font-size:11px;color:#708373}.ai-table{border-collapse:collapse;width:100%;font-size:12px;min-width:450px}.ai-table th,.ai-table td{padding:9px 8px;border-bottom:1px solid #e9efea;text-align:left}.ai-table th{font-size:11px;color:#718476}.ai-open{display:inline-block;padding:2px 5px;border-radius:4px;background:#fff2da;color:#8a5411;font-size:10px;font-weight:bold}.ai-alert{font-size:12px;background:#fff7e6;border-radius:7px;padding:8px;color:#855c1d}.ai-total{display:flex;justify-content:space-between;font-size:13px;margin:13px 0;font-weight:600}.ai-result .btn{margin-top:10px}.ai-assistant button:disabled{opacity:.65;cursor:wait}@media(max-width:620px){.ai-assistant{padding:13px}.ai-two-col{grid-template-columns:1fr}.ai-result-head{flex-direction:column;align-items:start}}

/* v0.4.5 – easy AI total estimate; advanced line-item estimation optional */
.ai-quick-price{margin:13px 0 9px;padding:17px 14px;background:#edf6e6;border:1px solid #cfe3b5;border-radius:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.ai-quick-price span{font-size:12px;color:#345b3a;font-weight:700}
.ai-quick-price strong{font-size:clamp(23px,4vw,30px);color:#234c2d}
.ai-quick-meta{font-size:12px;color:#566d59}
.ai-advanced{margin-top:16px;border-top:1px solid #d9e8d5;padding-top:12px}
.ai-advanced summary{cursor:pointer;color:#426536;font-size:12px;font-weight:700}
.ai-advanced button{margin-bottom:8px}

/* 0.4.6: Reliable scrolling inside long offer/customer dialogs, including AI results.
   Body remains locked behind the modal; the form body is its own scroll container. */
.modal-backdrop { overflow-y: auto; overscroll-behavior: contain; }
.modal { max-height: min(900px, calc(100vh - 36px)); max-height: min(900px, calc(100dvh - 36px)); min-height: 0; }
.modal > form { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.modal > form > .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; }
.modal > form > .modal-footer { flex: 0 0 auto; }
.modal .item-edit-wrapper { max-width: 100%; overflow-x: auto; }
@media (max-width: 620px) {
  .modal-backdrop { padding: 6px; align-items: center; }
  .modal { max-height: calc(100vh - 12px); max-height: calc(100dvh - 12px); }
  .modal > form > .modal-body { padding-bottom: 24px; }
  .modal-footer { position: relative; z-index: 1; }
}
