.item-head,.item-row{grid-template-columns:1.12fr 1.25fr 56px 86px 92px 64px 82px 28px}.item-head{align-items:center}.item-row .item-description{margin:0!important}.item-row select{height:34px;padding:6px;font-size:11px}.field-help{font-size:10px;font-weight:400;letter-spacing:0;color:#829099;line-height:1.4}.settings-note{font-size:12px;line-height:1.5;color:#6f7d86;margin:0}.logo-status{font-weight:400;color:#63727a}.p-brand-logo{width:34px;height:34px;object-fit:contain;border-radius:5px;margin-right:4px}.p-terms{position:static;left:auto;right:auto;bottom:auto;margin-top:18px;padding:15px 0 18px;border-top:1px solid #dce2e4}.p-page{position:static;display:block;text-align:right;margin-top:8px;color:#73818a;font-size:9px}.p-bank{min-height:0}.customer-card .customer-actions{position:absolute;right:12px;top:12px;display:flex;gap:9px}.customer-card .customer-actions button{position:static}.customer-card .customer-actions .edit{color:#4d7961}@media(max-width:760px){.item-head{display:grid}.item-head span:nth-child(n+4),.item-row .item-price,.item-row .tax-kind,.item-row .item-tax,.item-row .item-total{display:none}.item-head,.item-row{grid-template-columns:1fr 1fr 50px 28px}.p-terms{left:auto;right:auto}.p-page{right:auto}}
.lower-grid #paymentLabel{margin-bottom:8px}.lower-grid #paymentMethod{margin-bottom:8px}.settings-intro{display:flex;flex-direction:column;align-items:flex-start}.logo-preview-box{width:100%;height:118px;border:1px dashed #cfd9dd;background:#f8faf9;border-radius:9px;display:grid;place-items:center;overflow:hidden;margin:12px 0 10px;color:#88969d;font-size:12px}.logo-preview-box img{width:100%;height:100%;object-fit:contain;padding:12px;display:none}.logo-preview-box.has-logo img{display:block}.logo-preview-box.has-logo #logoFallback{display:none}.logo-upload{display:grid;gap:5px;font-size:11px;font-weight:700;color:#61717b;width:100%}.logo-upload input{font:400 11px "DM Sans";margin-top:2px}.logo-actions{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px}
.preview-actions{display:flex;gap:8px;align-items:center}.preview-actions .button{padding:7px 10px;font-size:11px}
@media print{body.printing-invoice .sidebar,body.printing-invoice .topbar,body.printing-invoice .form-panel,body.printing-invoice .preview-top,body.printing-invoice .print-tip{display:none!important}body.printing-invoice .main-content{margin:0!important;width:100%!important}body.printing-invoice .view{display:none!important;padding:0!important}body.printing-invoice #editorView{display:block!important}body.printing-invoice .workspace{display:block!important}body.printing-invoice .preview-column{display:block!important;position:static!important;width:100%!important}body.printing-invoice #invoicePreview{width:210mm!important;min-height:297mm!important;margin:0 auto!important;box-shadow:none!important}}
@page{size:A4;margin:0}
@media print{body.printing-invoice{background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.printing-invoice #invoicePreview{height:297mm!important;min-height:297mm!important;padding:14mm 15mm 10mm!important;font-size:10px!important}body.printing-invoice #invoicePreview .p-parties{margin-top:14mm!important}body.printing-invoice #invoicePreview .p-terms{position:absolute!important;left:15mm!important;right:15mm!important;bottom:14mm!important;margin:0!important;padding:4mm 0 0!important}body.printing-invoice #invoicePreview .p-page{position:absolute!important;right:15mm!important;bottom:6mm!important;margin:0!important}body.printing-invoice #invoicePreview .p-bank{max-width:100%!important}}
@media print{body.printing-invoice #invoicePreview .p-brand{font-size:17px!important;gap:11px!important}body.printing-invoice #invoicePreview .p-brand-logo{width:40px!important;height:40px!important}body.printing-invoice #invoicePreview .p-title h2{font-size:25px!important;font-weight:600!important}body.printing-invoice #invoicePreview .p-title p{font-size:11px!important;line-height:1.45!important}body.printing-invoice #invoicePreview .p-parties{margin-top:10mm!important;line-height:1.58!important;font-size:12px!important}body.printing-invoice #invoicePreview .p-parties strong{font-size:12px!important}body.printing-invoice #invoicePreview .p-remarks{margin-top:7mm!important;font-size:12px!important}body.printing-invoice #invoicePreview .p-table{margin-top:7mm!important}body.printing-invoice #invoicePreview .p-table-head{font-size:10px!important;padding:11px 9px!important}body.printing-invoice #invoicePreview .p-item{padding:12px 9px!important;min-height:48px!important;font-size:11px!important}body.printing-invoice #invoicePreview .p-item strong{font-size:11px!important}body.printing-invoice #invoicePreview .p-item small{font-size:10px!important;color:#52616a!important}body.printing-invoice #invoicePreview .p-summary{margin-top:14px!important;margin-bottom:18px!important;font-size:11px!important}body.printing-invoice #invoicePreview .p-summary-title{font-size:12px!important;padding:9px!important}body.printing-invoice #invoicePreview .p-bank{padding-top:14px!important;font-size:12px!important;line-height:1.55!important}body.printing-invoice #invoicePreview .p-bank strong,body.printing-invoice #invoicePreview .p-terms strong{font-size:12px!important}body.printing-invoice #invoicePreview .p-terms{font-size:11px!important;line-height:1.5!important}}

/* Invoice editor: one spacious product row plus a full-width description. */
.item-head{display:grid!important;grid-template-columns:minmax(250px,1fr) 58px 96px 152px 92px 30px!important;gap:9px!important;padding:10px 13px!important}.item-row{display:block!important;padding:13px!important}.item-main{display:grid;grid-template-columns:minmax(250px,1fr) 58px 96px 152px 92px 30px;gap:9px;align-items:end}.item-main label,.item-total-wrap{display:grid;gap:5px;min-width:0;color:#62717a;font-size:10px;font-weight:700;letter-spacing:.25px}.item-main input,.item-main select{width:100%;min-width:0}.item-product-field input{font-weight:600!important}.tax-control{display:grid;grid-template-columns:58px minmax(0,1fr);gap:5px}.tax-control select{height:35px!important;padding:6px!important}.item-total-wrap{align-self:stretch}.item-total-wrap strong{min-height:35px;display:flex;align-items:center;justify-content:flex-end;white-space:nowrap;color:#293941;font:500 12px "DM Mono"}.delete-item{align-self:end;height:35px}.item-description-field{display:grid;gap:5px;position:relative;margin-top:11px;color:#62717a;font-size:10px;font-weight:700;letter-spacing:.25px}.item-description-field span{display:flex;justify-content:space-between}.item-description-field em{font-style:normal;color:#96a2a8;font-weight:500}.item-description{min-height:62px!important;margin:0!important;padding:9px 11px!important;font:400 12px "DM Sans"!important}.item-description-count{justify-self:end;color:#89969d;font:500 10px "DM Mono";letter-spacing:0}.payment-methods-editor{display:grid;gap:12px}.payment-method-card{border:1px solid #dce4e7;border-radius:10px;padding:14px;background:#fbfcfc}.payment-method-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.payment-default{display:flex!important;align-items:center;gap:7px!important;color:#53636d!important;font-size:11px!important}.payment-default input{width:auto}.payment-method-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.payment-method-fields label{display:grid;gap:6px;color:#61717b;font-size:11px;font-weight:700;letter-spacing:.2px}.payment-method-fields input,.payment-method-fields textarea{font:400 14px "DM Sans";color:#26343c;border:1px solid #d9e0e4;background:#fff;border-radius:7px;padding:9px 10px;outline-color:#6da27e;width:100%;resize:vertical}.payment-method-fields .full{grid-column:1/-1}.payment-method-add{justify-self:start}.settings-form .optional{font-size:10px;font-weight:400}.settings-form select{font:400 14px "DM Sans";color:#26343c;border:1px solid #d9e0e4;background:#fff;border-radius:7px;padding:9px 10px;outline-color:#6da27e;width:100%}

/* A modal should remain scrollable and deliberately laid out at every viewport. */
dialog#customerDialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}dialog#customerDialog form{padding:26px}.modal-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start!important}.modal-head .icon-button{flex:none}.modal-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.modal-fields label{min-width:0}.modal-fields input{min-width:0}.modal-fields .optional{font-weight:400;margin-left:4px}.modal-actions{position:sticky;bottom:-26px;background:#fff;padding:16px 0 0}
@media(max-width:760px){.item-head{display:none!important}.item-main{grid-template-columns:minmax(0,1fr) 62px 90px!important;gap:10px}.item-main .item-product-field{grid-column:1/-1}.item-main label:nth-child(4){grid-column:1/3}.item-total-wrap{grid-column:3}.item-description{min-height:72px!important}.payment-method-fields,.modal-fields{grid-template-columns:1fr}.modal-fields .full{grid-column:auto}dialog#customerDialog form{padding:22px 18px}.modal-actions{bottom:-22px}.delete-item{position:absolute;right:21px;margin-top:-91px;background:#fff}.item-main{position:relative;padding-right:30px}.item-main .item-product-field{padding-right:0}.item-total-wrap{padding-right:0}}

/* Keep monetary totals inside the panel at desktop widths and browser zoom levels. */
.item-main{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) 64px 100px 172px minmax(122px,130px) 30px!important}.item-main>*{min-width:0}.item-total-wrap{min-width:122px!important;overflow:visible}.item-total{font-size:11px!important;letter-spacing:-.15px}.tax-control{grid-template-columns:64px minmax(0,1fr)}
@media(max-width:1080px) and (min-width:761px){.item-main{grid-template-columns:minmax(170px,1fr) 52px 82px 138px minmax(112px,120px) 26px!important;gap:7px}.item-total-wrap{min-width:112px!important}.tax-control{grid-template-columns:52px minmax(0,1fr)}}

/* The editor lives beside the preview, so respond to its actual column width—not
   only the browser width. This gives totals their own full, un-clipped row. */
.line-items{container-type:inline-size}
@container (max-width:680px){.item-head{display:none!important}.item-row{padding:10px!important}.item-main{position:static!important;padding:0!important;grid-template-columns:minmax(72px,1fr) 48px 62px 96px 62px 20px!important;gap:3px!important;align-items:end}.item-main .item-product-field,.item-main label:nth-child(2),.item-main label:nth-child(3),.item-main label:nth-child(4){grid-column:auto!important;padding:0!important}.item-main label,.item-total-wrap{gap:3px;font-size:9px}.item-main input{padding:7px 6px!important;font-size:12px!important}.tax-control{grid-template-columns:40px minmax(0,1fr);gap:3px}.tax-control select{padding:4px!important;font-size:11px!important}.item-total-wrap{grid-column:auto!important;grid-row:auto!important;min-width:0!important}.item-total-wrap strong{min-height:33px;font-size:10px!important;letter-spacing:-.45px}.delete-item{position:static!important;width:20px;height:33px;padding:0;margin:0!important;background:transparent!important;font-size:17px}.item-description-field{margin-top:9px}.item-description{min-height:52px!important;padding:8px!important}}

/* Public-account and Free-plan surfaces. */
.auth-shell{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#1f2a33,#34434d)}.auth-shell[hidden]{display:none}.auth-card{width:min(100%,430px);background:#fff;border-radius:16px;padding:34px;box-shadow:0 26px 70px rgba(0,0,0,.25)}.auth-brand{display:flex;align-items:center;gap:9px;color:#26343c;text-decoration:none;font-size:22px;font-weight:700;letter-spacing:-1px;margin-bottom:28px}.auth-card h1{font-size:26px;letter-spacing:-.8px;margin:0 0 8px}.auth-card>p:not(.eyebrow){margin:0 0 24px;color:#71808c;line-height:1.5}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px;color:#61717b;font-size:11px;font-weight:700;letter-spacing:.2px}.auth-card input{font:400 15px "DM Sans";color:#26343c;border:1px solid #d9e0e4;background:#fff;border-radius:8px;padding:11px;outline-color:#6da27e;width:100%}.auth-submit{margin-top:6px;width:100%;padding:12px}.auth-error{min-height:18px!important;margin:0!important;color:#b44e3b!important;font-size:12px;line-height:1.4}.auth-switch{text-align:center;font-size:12px;margin:8px 0 0!important}.account-panel{border:1px solid #dce4e7;background:#fbfcfc;border-radius:10px;padding:17px}.plan-badge{display:inline-block;border-radius:999px;background:#e7f3eb;color:#367452;padding:5px 9px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.account-panel h3{font-size:20px;margin:13px 0 7px}.account-panel p{margin:0 0 10px}.account-email{font-size:12px;color:#667780}.admin-users{display:grid;gap:8px}.admin-user{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #dce4e7;border-radius:8px;padding:10px}.admin-user strong,.admin-user small{display:block}.admin-user small{color:#72808a;font-size:11px;margin-top:3px}.admin-user select{border:1px solid #d9e0e4;background:#fff;border-radius:7px;padding:7px;font:600 11px "DM Sans"}.admin-user button{font-size:11px;padding:7px 9px}@media(max-width:760px){.auth-card{padding:27px 22px}.account-card,.admin-card{grid-template-columns:1fr}.admin-user{grid-template-columns:1fr auto}.admin-user select{grid-column:1}.admin-user button{grid-column:2;grid-row:1/3}}

/* Search-facing home page. The useful content stays in normal document flow
   while signed-in users work in the focused invoice editor. */
.topbar .app-view-title{font-size:27px;letter-spacing:-.8px;margin:0}
.marketing-shell{position:fixed;inset:0;z-index:900;overflow-y:auto;min-height:100vh;background:#f6f8f7;color:#26343c}.marketing-shell[hidden]{display:none}.marketing-nav{max-width:1160px;margin:0 auto;padding:23px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.marketing-nav>div{display:flex;align-items:center;gap:15px}.marketing-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#26343c;font-weight:700;font-size:18px;letter-spacing:-.6px}.marketing-nav .brand-mark,.auth-brand .brand-mark{background:#315f54;color:#fff}.hero-section{max-width:920px;margin:44px auto 0;padding:52px 28px 70px;text-align:center}.hero-section h1{max-width:760px;margin:13px auto 18px;font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-3px}.hero-copy{max-width:690px;margin:0 auto;color:#62717a;font-size:18px;line-height:1.65}.hero-actions{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:29px}.hero-actions .button,.marketing-cta .button{padding:13px 18px;font-size:14px}.hero-actions a{color:#376f5c;font-weight:700;font-size:13px}.hero-points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 25px;list-style:none;padding:0;margin:38px 0 0;color:#607078;font-size:13px}.hero-points li:before{content:'✓';color:#438163;font-weight:700;margin-right:7px}.marketing-section{max-width:1160px;margin:0 auto;padding:74px 28px}.marketing-section h2,.marketing-cta h2{max-width:760px;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-1.5px;margin:10px 0 27px}.feature-section{background:#fff;max-width:none;padding-left:max(28px,calc((100% - 1104px)/2));padding-right:max(28px,calc((100% - 1104px)/2))}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.feature-grid article{background:#f7faf8;border:1px solid #dce7e0;border-radius:12px;padding:23px}.feature-grid h3{font-size:16px;margin:0 0 9px}.feature-grid p,.audience-section p,.marketing-cta p{margin:0;color:#65747c;font-size:14px;line-height:1.6}.steps-section ol{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;padding:0;margin:0;counter-reset:steps}.steps-section li{border-top:2px solid #9bc4ad;padding:17px 6px 0;counter-increment:steps}.steps-section strong{display:block;font-size:16px}.steps-section strong:before{content:'0' counter(steps) ' ';color:#498369;font:500 12px "DM Mono"}.steps-section span{display:block;color:#6c7a82;font-size:13px;line-height:1.55;margin-top:8px}.audience-section{padding-top:32px;padding-bottom:32px}.faq-section{padding-top:46px}.faq-section details{max-width:780px;border-bottom:1px solid #dce3e2;padding:16px 0}.faq-section summary{cursor:pointer;font-weight:700;font-size:16px}.faq-section details p{color:#65747c;line-height:1.6;margin:12px 0 2px;font-size:14px}.marketing-cta{max-width:1104px;margin:12px auto 0;border-radius:18px;background:#294a42;color:#fff;padding:50px 48px}.marketing-cta h2{margin:0 0 10px}.marketing-cta p{color:#d7e7df;max-width:560px}.marketing-cta .button{margin-top:22px;background:#fff;color:#294a42}.marketing-footer{max-width:1104px;margin:0 auto;padding:33px 28px;display:flex;justify-content:space-between;gap:18px;color:#75828a;font-size:12px}.auth-back{margin-bottom:20px;font-size:12px}.auth-brand{margin-bottom:18px}@media(max-width:800px){.marketing-nav{padding:18px}.marketing-nav .button{padding:9px 11px;font-size:12px}.marketing-brand{font-size:15px}.hero-section{margin-top:12px;padding:35px 20px 48px}.hero-section h1{letter-spacing:-2px}.hero-copy{font-size:16px}.hero-actions,.hero-points{gap:13px}.feature-grid,.steps-section ol{grid-template-columns:1fr 1fr}.marketing-section{padding:52px 20px}.feature-section{padding-left:20px;padding-right:20px}.marketing-cta{border-radius:0;padding:42px 20px}.marketing-footer{padding:26px 20px;display:block}.marketing-footer span{display:block;margin:5px 0}}@media(max-width:480px){.marketing-nav>div{gap:9px}.marketing-nav .text-button{display:none}.feature-grid,.steps-section ol{grid-template-columns:1fr}.hero-actions{flex-direction:column}.hero-section h1{font-size:40px}.marketing-section h2,.marketing-cta h2{letter-spacing:-1px}}

/* Account controls and an explicitly ephemeral guest experience. */
.profile{position:relative}.profile-business{display:block;max-width:126px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;padding:0;background:transparent;color:#f8fafb;font:600 12px "DM Sans";text-align:left;cursor:pointer}.profile-business:hover{color:#c7e0d1}.profile-options{width:28px;height:28px;border-radius:6px;cursor:pointer}.profile-options:hover{background:#34434d;color:#fff}.account-menu{position:absolute;right:0;bottom:47px;z-index:20;width:164px;padding:6px;background:#fff;border:1px solid #dce4e7;border-radius:9px;box-shadow:0 12px 28px rgba(5,18,24,.26)}.account-menu[hidden]{display:none}.account-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#34434d;text-align:left;font:600 12px "DM Sans";cursor:pointer}.account-menu button:hover{background:#eef4f0;color:#275945}.guest-choice{display:grid;gap:8px;justify-items:center;margin-top:18px;padding-top:17px;border-top:1px solid #e7ecee}.guest-choice>span{color:#97a3aa;font-size:11px}.guest-choice .button{width:100%;padding:10px}.guest-choice small{color:#7d8a92;font-size:11px;line-height:1.4;text-align:center}#adminCard[hidden]{display:none!important}.account-panel .button{margin-top:5px}

/* Customer contact entry stays compact while making international phone input clear. */
.phone-input{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,1.45fr);gap:8px;margin-top:6px}.phone-input select{width:100%;min-width:0;border:1px solid #d9e0e4;border-radius:8px;background:#fff;color:#34434d;font:500 13px "DM Sans";padding:10px}.required{color:#b44e3b;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-left:5px}
@media(max-width:480px){.phone-input{grid-template-columns:1fr}}
