@font-face{font-family:'SEA Sans';src:url('/fonts/sea-sans-regular.woff') format('woff');font-style:normal;font-weight:100 500;font-display:block}
@font-face{font-family:'SEA Sans';src:url('/fonts/sea-sans-bold.woff') format('woff');font-style:normal;font-weight:600 900;font-display:block}
:root{--ink:#241913;--coffee:#261611;--coffee2:#3c2921;--warm:#9b6b53;--red:#de5145;--surface:#f6f4f1;--line:#e5e1dc;--subtle:#7c7873;--white:#fff;--radius:16px}
*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font:14px/1.55 'SEA Sans',Arial,sans-serif;color:var(--ink);background:var(--surface)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}img{max-width:100%}
.public-toolbar{position:sticky;top:0;z-index:8;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.public-toolbar-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;max-width:1120px;padding:14px 24px;margin:auto}.brand-small{font-size:12px;font-weight:900;letter-spacing:1.3px;display:flex;align-items:center;gap:9px}.brand-dot{height:10px;width:10px;background:#cf483c;border-radius:50%}.brand-separator{color:#cabcb3;padding:0 3px;font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;font-weight:800;padding:12px 19px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-1px)}.btn-dark{background:var(--coffee);color:#fff}.btn-primary{background:#50352a;color:#fff}.btn-outline{background:#fff;border:1px solid #dcd5d0;color:var(--coffee)}.btn-red{background:#fff0ef;color:#a62724}
.paper-shell{max-width:1090px;margin:35px auto 70px;padding:0 24px}.doc-paper{background:#fff;box-shadow:0 20px 60px rgba(35,22,16,.09);border-radius:12px;overflow:hidden}.doc-top{background:linear-gradient(105deg,#24130f,#38221b 68%,#4a2f26);height:188px;display:flex;align-items:center;padding:22px 54px;gap:35px;position:relative;color:#fff}.doc-top:after{content:'';position:absolute;bottom:0;right:0;height:5px;width:46%;background:linear-gradient(90deg,transparent,#dd5848)}.brand-logo-wrap{width:200px;flex:0 0 200px;display:flex;align-items:center;justify-content:center;height:150px}.main-logo{width:170px;height:155px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}.doc-headline{border-left:1px solid rgba(255,255,255,.24);padding-left:34px;min-width:0}.eyebrow{font-size:10px;letter-spacing:2.8px;color:#d6c4b8;font-weight:800;margin-bottom:8px}.doc-company{font-size:31px;font-weight:900;letter-spacing:1.1px;line-height:1.15}.doc-subhead{font-size:16px;font-weight:500;color:#e5d9d2;margin-top:8px}.doc-intro{padding:29px 52px 27px;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:24px;border-bottom:1px solid #ece8e3}.meta-label{color:#938c87;font-size:10px;letter-spacing:1.8px;font-weight:900}.meta-value{font-weight:800;font-size:17px;margin-top:5px;overflow-wrap:anywhere}.client{border-left:1px solid #e8e1da;padding-left:25px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:32px 52px 17px;font-size:12px;letter-spacing:1.1px;font-weight:900}.section-heading>div{display:flex;align-items:center;gap:12px}.section-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f6eae2;color:#8f5546;border-radius:8px;font-size:11px;font-weight:900;letter-spacing:0}.section-count{font-weight:700;color:#a6a09a;letter-spacing:0;font-size:11px}.table-scroller{padding:0 52px}.offer-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.offer-table thead{background:#f2ede8}.offer-table th{color:#66574e;padding:14px 8px;text-transform:none;font-weight:900;font-size:11px;white-space:nowrap}.offer-table th:first-child{border-radius:7px 0 0 7px}.offer-table th:last-child{border-radius:0 7px 7px 0}.offer-table td{padding:12px 8px;border-bottom:1px solid #ede9e4;vertical-align:top;font-size:12px}.offer-table th:nth-child(1){width:5%}.offer-table th:nth-child(2){width:40%;text-align:left}.offer-table th:nth-child(3){width:9%}.offer-table th:nth-child(4){width:9%}.offer-table th:nth-child(5){width:13%}.offer-table th:nth-child(6){width:9%}.offer-table th:nth-child(7){width:15%}.seq{font-weight:800;color:#a5a09b}.equipment{font-weight:650;overflow-wrap:anywhere}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}.muted{color:#7d7975}.strong{font-weight:800}.bottom-summary{display:grid;grid-template-columns:1fr .93fr;gap:45px;padding:22px 52px 35px}.bottom-info .section-heading{padding:0 0 17px}.secondary-heading{padding-bottom:10px!important}.company-contacts{display:grid;gap:5px}.contact-line{display:flex;gap:15px;justify-content:space-between;font-size:11px;border-bottom:1px dashed #e9e4df;padding:4px 0}.contact-line span{color:#8a837d}.contact-line strong{text-align:right;overflow-wrap:anywhere}.quiet{color:#aaa19b;font-size:12px}.notes{margin-top:18px;font-size:11px}.notes>span{font-weight:900}.notes p{margin:5px 0;color:#766f6a;white-space:normal;overflow-wrap:anywhere}.totals{align-self:start;background:#f7f3f0;padding:20px 24px;border-radius:12px}.total-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;font-size:12px;color:#736a62}.total-row strong{font-size:14px;color:var(--ink);white-space:nowrap}.grand-total{margin-top:11px;border-top:1px solid #ded5ce;padding-top:17px;display:flex;justify-content:space-between;gap:15px;align-items:center}.grand-total span{font-weight:850;font-size:12px;max-width:115px}.grand-total strong{font-size:23px;white-space:nowrap;color:#38221c}.grand-total small{font-size:11px;color:#97735e}.doc-footer{border-top:1px solid #eee9e6;margin:0 52px;padding:17px 0 20px;display:flex;justify-content:space-between;font-size:10px;color:#958f8b;letter-spacing:.7px}.doc-footer span:first-child{font-weight:900;color:#422d25}.page-after{margin-top:16px;display:flex;justify-content:space-between;align-items:center;color:#998e89;font-size:11px}.ghost-btn{background:none;border:0;color:#4d352a;font-weight:900;padding:10px}
.root-welcome{min-height:100vh;background:#24130f;color:white;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px}.root-welcome img{width:200px;max-height:210px;object-fit:contain}.root-welcome h1{letter-spacing:5px}.root-welcome p{color:#bfb1aa}
/* administration */
.admin{background:#f7f6f4}.loader{display:grid;place-items:center;height:100vh;letter-spacing:5px;font-size:20px;font-weight:900}.shell{display:flex;min-height:100vh}.sidebar{width:258px;background:#261712;color:white;flex:0 0 258px;display:flex;flex-direction:column;padding:27px 18px 20px;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:0 12px 28px;border-bottom:1px solid #50382e}.sidebar-brand img{width:66px;height:66px;object-fit:contain}.sidebar-brand strong{display:block;font-weight:900;letter-spacing:1.3px;font-size:17px}.sidebar-brand small{display:block;color:#ae9385;margin-top:1px;font-size:10px;letter-spacing:1px}.sidebar-caption{color:#967c6f;font-size:10px;letter-spacing:2px;font-weight:900;padding:25px 14px 9px}.nav-link{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:0;border-radius:10px;background:none;color:#d8c9c0;padding:13px 14px;margin:2px 0;font-weight:750}.nav-link svg{flex:0 0 18px}.nav-link.active,.nav-link:hover{color:white;background:#493127}.sidebar-bottom{margin-top:auto;padding:18px 10px 0;border-top:1px solid #50382e}.sidebar-bottom .nav-link{font-size:12px}.sidebar-meta{color:#90766b;font-size:10px;margin:14px 12px}.main{min-width:0;flex:1;max-width:100%;padding:34px clamp(22px,4vw,60px) 60px}.main-container{max-width:1220px;margin:0 auto}.top-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:29px}.top-header h1{font-size:28px;letter-spacing:-1.1px;line-height:1.2;margin:3px 0 7px}.top-header p{margin:0;color:#8f8781;font-size:12px}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel{background:#fff;border:1px solid #ebe6e2;border-radius:14px;box-shadow:0 5px 17px #30261a04}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.stat{padding:23px 25px}.stat-kicker{font-size:12px;color:#897e76;font-weight:650}.stat-number{font-size:28px;font-weight:900;margin-top:3px;letter-spacing:-1px}.stat-icon{color:#91624d;float:right;font-size:25px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;border-bottom:1px solid #eee9e5}.panel-heading h2{font-size:15px;font-weight:900;margin:0}.panel-heading p{margin:2px 0 0;color:#aaa29d;font-size:11px}.table-list{width:100%;border-collapse:collapse}.table-list th{font-size:10px;color:#988e88;letter-spacing:.6px;text-align:left;font-weight:850;background:#fcfbfa;padding:15px 18px}.table-list td{border-top:1px solid #f0edeb;padding:16px 18px;font-size:12px}.table-list td strong{font-weight:900}.table-list .numcol{color:#958a82;font-variant-numeric:tabular-nums}.row-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.mini-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e8dfd8;background:#fff;border-radius:8px;padding:7px 11px;font-size:11px;font-weight:800;white-space:nowrap}.mini-btn:hover{background:#f6f2ef}.tag{border-radius:20px;padding:4px 9px;white-space:nowrap;font-size:10px;font-weight:800}.tag-live{color:#34764b;background:#e9f7ed}.tag-draft{color:#956345;background:#fbf1e5}.editor-card{padding:25px}.editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field.wide{grid-column:span 2}.form-field.all{grid-column:1/-1}.form-field label{font-size:11px;font-weight:850;color:#67584e}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #e2ddd9;background:#fff;padding:12px 12px;border-radius:8px;color:#251913;outline:none;font-size:12px;min-width:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#a88473;box-shadow:0 0 0 3px #b58e7720}.form-field textarea{min-height:85px;resize:vertical}.editor-subhead{font-size:14px;font-weight:900;border-bottom:1px solid #eee7e1;padding:0 0 13px;margin:30px 0 20px;display:flex;justify-content:space-between;align-items:center}.items-wrapper{overflow-x:auto}.items-table{width:100%;border-collapse:separate;border-spacing:0 8px;min-width:710px}.items-table th{text-align:left;font-size:10px;color:#92867e;padding:0 7px;white-space:nowrap}.items-table th:nth-child(1){width:40%}.items-table td{padding:0 4px}.items-table input{width:100%;min-width:0;border:1px solid #e5ded8;border-radius:7px;padding:10px;font-size:11px;outline:none}.items-table .item-sm{max-width:74px}.items-table .delete-row{border:none;background:#fff0ee;color:#9d4033;width:32px;height:32px;border-radius:8px}.editor-bottom{margin-top:24px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.toggle-line{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800}.toggle-line input{width:17px;height:17px;accent-color:#4b3127}.sum-preview{font-size:12px;color:#8a776a}.sum-preview b{font-size:18px;color:#251811}.auth-screen{min-height:100vh;background:#f4f1ee;display:grid;grid-template-columns:1fr 1.1fr}.auth-left{background:radial-gradient(circle at 35% 45%,#483026,#21130f);color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px}.auth-left img{width:230px;max-height:280px;object-fit:contain}.auth-left h1{font-size:28px;letter-spacing:3px;margin:5px 0}.auth-left p{color:#d0bfb3;font-size:12px;letter-spacing:2px}.auth-right{display:grid;place-items:center;padding:40px 24px}.auth-form{max-width:390px;width:100%}.auth-form .overline{color:#ab7960;letter-spacing:2px;font-size:11px;font-weight:900}.auth-form h2{font-size:30px;margin:15px 0 5px}.auth-form>p{font-size:13px;color:#887c75;margin-bottom:28px}.auth-form input{display:block;width:100%;border:1px solid #e0d8d0;background:#fff;padding:16px;border-radius:9px;font-size:14px;margin:10px 0 14px}.auth-form .btn{width:100%;padding:16px}.feedback{padding:11px 13px;background:#fff0ed;color:#9c3027;border-radius:9px;font-size:12px;margin-bottom:12px}.toast{position:fixed;bottom:25px;right:25px;background:#281912;color:#fff;padding:13px 20px;border-radius:10px;box-shadow:0 7px 25px #0003;z-index:100;font-size:12px}.empty-list{text-align:center;color:#96877d;padding:35px}.danger-note{background:#fff3f2;padding:14px;border:1px solid #f0d1cd;border-radius:10px;font-size:12px;color:#a0554f}.mobile-bar{display:none}
@media (max-width:960px){.sidebar{width:205px;flex-basis:205px;padding:20px 10px}.sidebar-brand img{width:52px;height:52px}.main{padding:25px 20px}.editor-grid{grid-template-columns:repeat(2,1fr)}.doc-top{padding:22px 34px}.doc-intro{padding:25px 34px}.section-heading{padding-left:34px;padding-right:34px}.table-scroller{padding:0 34px}.bottom-summary{padding:24px 34px}.doc-footer{margin:0 34px}}
@media (max-width:700px){.public-toolbar-inner{padding:12px 16px}.brand-small{font-size:10px}.brand-separator{display:none}.paper-shell{padding:0 8px;margin:14px auto 30px}.doc-top{height:150px;padding:15px 18px;gap:10px}.brand-logo-wrap{flex:0 0 105px;width:105px}.main-logo{width:105px;height:115px}.doc-headline{padding-left:13px}.eyebrow{font-size:7px;letter-spacing:1px}.doc-company{font-size:19px}.doc-subhead{font-size:11px}.doc-intro{padding:16px 18px;gap:10px;grid-template-columns:1fr 1fr}.client{grid-column:1/-1;border:0;padding:0}.meta-value{font-size:13px}.section-heading{padding:23px 18px 15px;font-size:10px}.table-scroller{padding:0 12px;overflow-x:auto}.offer-table{min-width:585px;font-size:10px}.offer-table td{font-size:10px}.bottom-summary{display:block;padding:20px 18px}.totals{margin-top:20px}.doc-footer{margin:0 18px}.page-after{padding:0 10px}.sidebar{display:none}.mobile-bar{display:flex;background:#261712;color:#fff;justify-content:space-between;align-items:center;padding:10px 16px}.mobile-bar button{border:0;background:#4a3228;color:#fff;border-radius:8px;padding:10px}.shell{display:block}.main{padding:25px 13px}.top-header{display:block}.top-header .top-actions{margin-top:16px}.stat-grid{grid-template-columns:1fr;gap:10px}.stat{padding:16px 20px}.editor-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.auth-screen{grid-template-columns:1fr}.auth-left{padding:20px;min-height:225px}.auth-left img{height:130px}.auth-left h1{font-size:21px;margin:0}.auth-left p{margin:0}.auth-right{padding:25px 22px}}
@page{size:A4;margin:10mm}
@media print{html,body{margin:0;padding:0!important;background:#fff!important;font-size:11px;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.public-toolbar,.page-after{display:none!important}.paper-shell{max-width:none;margin:0;padding:0}.doc-paper{box-shadow:none;border:0;border-radius:0;overflow:visible}.doc-top{height:39mm;padding:2mm 7mm;break-inside:avoid}.brand-logo-wrap{width:37mm;flex-basis:37mm;height:35mm}.main-logo{width:34mm;height:35mm}.doc-headline{padding-left:7mm}.doc-company{font-size:24px}.eyebrow{font-size:8px}.doc-subhead{font-size:12px}.doc-intro{padding:5mm 7mm 5mm;gap:6mm}.meta-label{font-size:8px}.meta-value{font-size:12px}.section-heading{padding:5mm 7mm 3mm;font-size:10px}.section-num{width:22px;height:22px}.section-count{font-size:9px}.table-scroller{padding:0 7mm;overflow:visible}.offer-table{min-width:0;font-size:8px}.offer-table thead{display:table-header-group}.offer-table th{padding:6px 4px;font-size:8px}.offer-table td{padding:5px 4px;font-size:8px;border-color:#eee8e3}tr{break-inside:avoid;page-break-inside:avoid}.bottom-summary{padding:5mm 7mm 5mm;gap:7mm;break-inside:avoid}.bottom-info .section-heading{font-size:10px}.totals{padding:11px 12px}.grand-total strong{font-size:16px}.total-row{padding:3px 0;font-size:9px}.total-row strong{font-size:10px}.grand-total{margin-top:6px;padding-top:10px}.grand-total span{font-size:9px}.company-contacts,.notes{font-size:9px}.contact-line{padding:2px 0;font-size:9px}.doc-footer{margin:0 7mm;padding:4mm 0;font-size:8px;break-inside:avoid}}

/* Flexible document table editor */
.table-settings{background:#faf7f3;border:1px solid #e8dfd6;border-radius:16px;padding:18px;margin:14px 0}
.table-settings summary{cursor:pointer;font-size:15px;font-weight:800}.table-settings summary span{font-size:12px;color:#8b7769;font-weight:400;margin-left:12px}
.table-help{font-size:12px;line-height:1.7;color:#826f63;margin:14px 0}.column-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}
.column-card{display:flex;align-items:center;gap:7px;padding:10px;background:white;border:1px solid #e7ded5;border-radius:10px}.column-off{background:#f1eeeb;color:#91857d}
.column-name{min-width:0;width:100%;border:0;background:transparent;font-weight:650;padding:7px}.column-kind{font-size:10px;color:#948174;white-space:nowrap}
.switch-label{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}.switch-label input{accent-color:#915a32;width:18px;height:18px;cursor:pointer}
.add-column-form{display:flex;gap:10px;margin-top:14px}.add-column-form input{flex:1;min-width:0;border:1px solid #dacabd;border-radius:9px;padding:12px;background:white}
.table-status{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0;font-size:12px;color:#826f63}.table-status span:first-child{font-weight:750;color:#67412b}
.flexible-table{min-width:850px;width:100%;table-layout:auto}.flexible-table input[data-col]{min-width:95px;width:100%;box-sizing:border-box}.flexible-table input[data-col=name]{min-width:240px}
.flexible-table td{vertical-align:middle}.row-controls small{display:block;color:#947460;font-size:10px}.disabled-item{background:#f1eeeb}.disabled-item input[data-col]{color:#9a8b82}.row-total{font-weight:800;white-space:nowrap}
.mini-btn:disabled{opacity:.3;cursor:default}.row-controls{min-width:65px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.custom-cell{overflow-wrap:anywhere;white-space:pre-wrap}.offer-table{table-layout:auto}.offer-table td{overflow-wrap:anywhere}
@media(max-width:600px){.column-list{grid-template-columns:1fr}.column-card{gap:4px;padding:8px}.column-kind{display:none}.add-column-form{flex-direction:column}.table-settings{padding:12px}.table-settings summary span{display:block;margin:6px 0}}
@media print{.offer-table{width:100%;font-size:9px}.offer-table td,.offer-table th{padding:5px 3px;min-width:0!important}.custom-cell{max-width:120px}}

.offer-table th:nth-child(n){width:auto;text-align:left;white-space:normal;overflow-wrap:anywhere}
@media print{.offer-table td:nth-child(n),.offer-table th:nth-child(n){white-space:normal;font-size:8px}}

body{font-synthesis:none;text-rendering:optimizeLegibility}button,input,textarea,select,table{font-family:inherit}

/* Responsive layout shared by the hosted and Python editions. */
.editor-actions{border-top:1px solid #ece6e0;margin-top:24px;padding-top:21px;display:flex;gap:10px;flex-wrap:wrap}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,input,select,textarea{touch-action:manipulation}button{min-height:40px}
.main-container,.panel,.editor-grid,.bottom-info,.doc-intro>div{min-width:0}.table-list td,.top-header,.editor-subhead,.doc-subhead,.doc-company{overflow-wrap:anywhere}
.table-list .document-cell span{overflow-wrap:anywhere;word-break:break-word}.editor-subhead{gap:12px;flex-wrap:wrap}.editor-subhead>span{min-width:0}.section-num{flex-shrink:0}
.items-wrapper,.table-scroller{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.column-card{min-width:0}.column-name{flex:1}.table-settings summary{overflow-wrap:anywhere}
@media screen and (max-width:1024px){
 .sidebar{display:none}.shell{display:block;min-height:calc(100dvh - 110px)}.main{width:100%;padding:24px 20px 35px}
 .mobile-bar{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#261712;color:#fff;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));box-shadow:0 2px 14px #26171218}
 .mobile-bar strong{font-size:15px;letter-spacing:1px}.mobile-bar>div{display:flex;gap:8px;flex-wrap:wrap}.mobile-bar button{min-height:44px;padding:10px 12px;border:1px solid #684638;background:#493127;color:#fff;border-radius:9px;font-size:13px;white-space:nowrap}
 .top-header{display:block}.top-header .top-actions{margin-top:16px}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field.wide{grid-column:span 2}.column-list{grid-template-columns:1fr 1fr}
 .auth-screen{grid-template-columns:1fr;min-height:100dvh}.auth-left{min-height:0;padding:22px}.auth-left img{width:120px;height:100px}.auth-left h1{font-size:22px;margin:0}.auth-left p{margin:2px 0;font-size:10px}.auth-right{padding:28px 24px 40px;align-items:start}.auth-form{max-width:480px}
}
@media screen and (max-width:1024px){
 .table-list,.table-list tbody{display:block;width:100%}.table-list thead,.flexible-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .table-list tbody{padding:12px}.table-list tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;padding:16px;border:1px solid #e9e0d7;border-radius:13px;background:#fff}.table-list tr:last-child{margin-bottom:0}
 .table-list td{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:0;padding:0!important;font-size:13px;min-width:0;text-align:left!important}.table-list td:before{content:attr(data-label);font-size:11px;font-weight:700;color:#968274;letter-spacing:.2px}.table-list .document-cell,.table-list .document-actions,.table-list td.empty-list{grid-column:1/-1}.table-list .document-cell br{display:none}.table-list .document-cell strong{font-size:16px;line-height:1.4}.table-list .numcol{font-size:18px;font-weight:800}.table-list .row-actions{justify-content:flex-start;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.table-list .mini-btn{white-space:normal;padding:10px 5px;min-height:44px}.empty-list:before{display:none}
 .items-wrapper{overflow:visible}.flexible-table,.flexible-table tbody{display:block;width:100%;min-width:0;max-width:100%;border-spacing:0}.items-table th:nth-child(1){width:auto}
 .flexible-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #e6dcd2;border-radius:13px;padding:14px;margin:0 0 14px;background:#fff}
 .flexible-table td{display:flex;flex-direction:column;gap:6px;min-width:0;width:auto;padding:0;white-space:normal;overflow-wrap:anywhere}.flexible-table td:before{content:attr(data-label);display:block;color:#8d7869;font-size:12px;font-weight:700}
 .flexible-table .row-controls{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:1px solid #eee4db;padding:0 0 10px}.flexible-table .row-controls:before{display:none}.flexible-table .row-controls small{font-size:12px}.flexible-table .switch-label{padding:3px 0;font-size:15px;font-weight:800;min-height:40px}
 .flexible-table td[data-key=name],.flexible-table td[data-key^=extra_],.flexible-table .item-actions{grid-column:1/-1}.flexible-table td[data-key=seq]{display:none}
 .flexible-table input[data-col],.flexible-table input[data-col=name],.items-table .item-sm{min-width:0;max-width:none;width:100%;min-height:46px;padding:11px 12px;font-size:16px;border-radius:9px}
 .flexible-table .item-actions{border-top:1px solid #eee4db;padding-top:10px}.flexible-table .item-actions:before{display:none}.flexible-table .row-actions{justify-content:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.flexible-table .mini-btn,.flexible-table .delete-row{min-height:44px;width:100%;font-size:20px;padding:6px}.flexible-table .row-total{justify-content:center;background:#f6eee7;padding:9px 12px;border-radius:9px;font-size:17px}.flexible-table .disabled-item{background:#f1eeeb;border-style:dashed}
}
@media screen and (max-width:760px){
 .main{padding:20px 12px 28px}.main-container{width:100%}.mobile-bar{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px;gap:9px}.mobile-bar>strong{width:100%;font-size:13px}.mobile-bar>div{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-bar button{font-size:12px;padding:9px 5px}
 .top-header{margin-bottom:20px}.top-header h1{font-size:25px;letter-spacing:-.7px}.top-header p{font-size:12px;line-height:1.6}.top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:9px}.top-actions .btn:only-child{grid-column:1/-1}.btn{font-size:13px;line-height:1.45;min-height:46px;padding:12px 13px;white-space:normal;text-align:center}
 .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.stat{padding:12px 9px}.stat-icon{display:none}.stat-kicker{font-size:10px;line-height:1.5;overflow-wrap:anywhere}.stat-number{font-size:24px}.panel-heading{padding:16px 14px;display:block}.panel-heading h2{font-size:15px}.panel-heading p{font-size:12px;line-height:1.6}.panel{border-radius:12px}
 .editor-card{padding:15px 12px}.editor-grid{grid-template-columns:minmax(0,1fr);gap:16px}.form-field.wide,.form-field.all{grid-column:auto}.form-field label{font-size:13px}.form-field input,.form-field select,.form-field textarea,.auth-form input,.add-column-form input,.column-name{font-size:16px;min-height:46px}.form-field input[type=date]{appearance:none;-webkit-appearance:none;width:100%;max-width:100%;min-width:0;text-align:left}.form-field textarea{min-height:120px}.form-field{gap:6px}
 .editor-subhead{margin:24px 0 16px;font-size:14px;line-height:1.55;gap:9px}.editor-subhead .mini-btn{min-height:44px;padding:10px 12px;white-space:normal}.editor-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.toggle-line{font-size:13px;min-height:44px;align-items:center}.toggle-line input,.switch-label input{width:22px;height:22px;flex-shrink:0}.sum-preview{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;padding:12px;background:#f8f2ed;border-radius:9px;font-size:12px}.sum-preview b{font-size:18px;overflow-wrap:anywhere}
 .editor-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:20px;padding-top:17px}.editor-actions .btn{width:100%}.column-list{grid-template-columns:minmax(0,1fr)}.column-card{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:6px;padding:8px}.column-card .switch-label{display:flex;min-width:44px;min-height:44px;justify-content:center}.column-card .column-name{width:100%;padding:8px 4px}.column-card .column-kind{display:none}.column-card .mini-btn,.column-card .delete-row{padding:5px;min-height:44px;width:44px;font-size:19px}.column-card .delete-row{grid-column:4;background:#fff0ee;color:#9d4033;border:0;border-radius:8px}
 .table-settings{padding:12px;margin:14px 0}.table-settings summary{min-height:44px;font-size:14px;line-height:1.6}.table-settings summary span{display:block;margin:5px 0;font-size:11px}.table-help{font-size:12px;line-height:1.75}.add-column-form{flex-direction:column;gap:9px}.add-column-form .btn{width:100%}.table-status{display:block;line-height:1.65}.table-status>span{display:block;margin:6px 0}
 .auth-left{padding:16px}.auth-left img{height:90px;width:110px}.auth-right{padding:25px 18px max(30px,env(safe-area-inset-bottom))}.auth-form h2{font-size:27px}.auth-form>p{line-height:1.7;margin-bottom:20px}.auth-form input{margin:6px 0 12px}.auth-form .btn{min-height:50px}.toast{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px);overflow-wrap:anywhere;font-size:13px;padding:14px 16px}
 .public-toolbar-inner{gap:10px;padding:10px 12px}.brand-small{min-width:0;font-size:10px;letter-spacing:.5px}.brand-dot{flex-shrink:0;width:8px;height:8px}.public-toolbar .btn{max-width:62%;font-size:12px;min-height:44px;padding:10px 12px}.paper-shell{width:100%;padding:0 8px;margin:12px auto 24px}.doc-paper{width:100%;border-radius:12px}.doc-top{min-height:140px;height:auto;padding:18px 14px;gap:12px}.brand-logo-wrap{flex:0 0 86px;width:86px;height:auto}.main-logo{width:86px;height:96px}.doc-headline{padding-left:12px;flex:1;overflow-wrap:anywhere}.doc-company{font-size:19px;letter-spacing:.5px;line-height:1.35}.doc-subhead{font-size:12px;line-height:1.6}.eyebrow{font-size:7px;letter-spacing:.7px;line-height:1.6}.doc-intro{padding:18px 15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.doc-intro>div:last-child{grid-column:1/-1;border:0;padding:0}.meta-label{font-size:9px;letter-spacing:.7px}.meta-value{font-size:14px;line-height:1.6}.section-heading{padding:20px 15px 12px;font-size:11px;letter-spacing:.4px;align-items:flex-start}.section-heading>div{gap:9px;min-width:0}.section-count{flex-shrink:0;font-size:10px}.section-num{width:24px;height:24px}
 .table-scroller{padding:0 12px;overflow:visible}.offer-table,.offer-table tbody{display:block;width:100%;min-width:0;max-width:100%}.offer-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.offer-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:13px;margin-bottom:10px;border:1px solid #e9dfd5;border-radius:11px;background:#fff}.offer-table td{display:flex;flex-direction:column;gap:5px;padding:0!important;border:0;min-width:0;font-size:13px;white-space:normal;text-align:left!important;overflow-wrap:anywhere}.offer-table td:before{content:attr(data-label);font-size:10px;font-weight:700;color:#9a8374;line-height:1.6}.offer-table td[data-key=name],.offer-table td[data-key^=extra_]{grid-column:1/-1}.offer-table td[data-key=name]{font-size:14px;font-weight:700;line-height:1.6}.offer-table td[data-key=seq]{grid-column:1/-1;color:#a38672;font-size:12px}.offer-table td[data-key=seq]:before{display:none}.offer-table td[data-key=total]{background:#f7efe8;padding:9px!important;border-radius:8px;font-weight:800}.custom-cell{max-width:none}.bottom-summary{display:block;padding:20px 15px;gap:20px}.bottom-info .section-heading{padding:0 0 15px}.contact-line{font-size:12px;gap:12px;padding:8px 0;align-items:flex-start}.contact-line span{flex-shrink:0}.contact-line strong{min-width:0;overflow-wrap:anywhere}.notes{font-size:12px;line-height:1.7}.totals{padding:16px;margin-top:20px}.total-row{font-size:12px;gap:12px}.total-row strong{font-size:14px;white-space:normal;overflow-wrap:anywhere;text-align:right}.grand-total{gap:12px;align-items:flex-start}.grand-total span{font-size:12px;max-width:none;flex:1}.grand-total strong{font-size:20px;white-space:normal;overflow-wrap:anywhere;text-align:right;min-width:0;flex:1}.doc-footer{margin:0 15px;gap:12px;flex-wrap:wrap;line-height:1.7;font-size:10px}.page-after{gap:10px;padding:0 6px;flex-wrap:wrap}.ghost-btn{min-height:44px;padding:10px 12px}.root-welcome{min-height:100dvh;padding:22px}
}
@media screen and (max-width:360px){.main{padding-left:8px;padding-right:8px}.editor-card{padding:12px 9px}.column-card{grid-template-columns:38px minmax(0,1fr) 40px 40px;gap:3px;padding:6px}.column-card .mini-btn,.column-card .delete-row{width:40px}.column-card .switch-label{min-width:38px}.doc-top{gap:8px;padding:16px 11px}.brand-logo-wrap{flex-basis:73px;width:73px}.main-logo{width:73px;height:88px}.doc-company{font-size:17px}.table-list tbody{padding:8px}.table-list tr{padding:12px}.mobile-bar button{font-size:11px}}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}
@media screen and (max-width:1024px){.table-list .numcol{order:0}.table-list td:nth-child(3){order:1;align-items:flex-end}.table-list .document-cell{order:2}.table-list td:nth-child(4),.table-list td:nth-child(5){order:3}.table-list .document-actions{order:4}}
/* Product photo selection and transparent cut-outs. */
.product-cell{display:flex;align-items:center;gap:13px;min-width:0}.product-cell span{min-width:0;overflow-wrap:anywhere}.product-photo{width:74px;height:74px;flex:0 0 74px;object-fit:contain;background:transparent}.item-photo-control{display:flex;align-items:center;gap:7px;margin-top:9px}.photo-open{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:6px 10px;background:#f9f5f0;border:1px dashed #ceb7a5;border-radius:10px;color:#77523b;font-size:12px;width:100%;cursor:pointer}.photo-open img{width:58px;height:58px;object-fit:contain}.photo-placeholder{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#f0e3d8;font-size:21px;flex-shrink:0}.photo-remove{flex-shrink:0;width:38px;min-height:44px;border:0;border-radius:9px;color:#a33b2b;background:#fff1ec;font-size:22px}.photo-suggestions{font-size:11px;color:#98745a;margin-top:7px;white-space:normal}.photo-hint{display:block;font-size:11px;line-height:1.6;margin-bottom:6px}.photo-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.photo-mini-grid button{border:1px solid #e9ddd1;background:#fff;border-radius:8px;padding:4px;min-width:0;min-height:52px}.photo-mini-grid img{width:100%;height:48px;object-fit:contain}
.photo-dialog{width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:25px;border:1px solid #e2d6c8;border-radius:20px;color:#352319;background:#fff;box-shadow:0 24px 100px #21160e40;overflow-y:auto;overscroll-behavior:contain}.photo-dialog::backdrop{background:#24170fc4;backdrop-filter:blur(5px)}body:has(.photo-dialog[open]){overflow:hidden}.photo-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.photo-modal-head small{color:#a58670;font-weight:800;letter-spacing:1.2px;font-size:10px}.photo-modal-head h2{font-size:25px;line-height:1.3;margin:7px 0 0}.photo-close{min-height:44px;width:44px;flex-shrink:0;border:0;border-radius:12px;background:#f6eee6;font-size:28px;color:#69432e}.photo-search-form{display:flex;gap:10px}.photo-search-form input{min-width:0;flex:1;border:1px solid #dfd2c4;border-radius:10px;padding:12px;font-size:16px}.photo-upload-line{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:15px 0}.photo-upload-line label{cursor:pointer;min-height:44px}.photo-upload-line span{font-size:11px;color:#9a8370}.photo-status{font-size:13px;line-height:1.7;min-height:35px;color:#8b6244;margin:14px 0}.photo-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.photo-result{text-align:left;min-width:0;border:1px solid #e9dfd4;border-radius:13px;background:#fff;padding:10px;transition:border-color .2s,transform .2s}.photo-result:hover{border-color:#a4724f;transform:translateY(-2px)}.photo-result>div{height:170px;padding:10px;background:#f9f7f3;border-radius:9px;display:grid;place-items:center}.photo-result img{width:100%;height:150px;object-fit:contain}.photo-result strong{display:block;font-size:12px;line-height:1.5;margin:10px 0 7px;overflow-wrap:anywhere}.photo-result small{font-size:10px;color:#a38b78}.photo-review{text-align:center}.photo-review[hidden],.photo-results[hidden]{display:none}.photo-checker{max-width:620px;margin:auto;padding:20px;border:1px solid #e4d7c8;border-radius:15px;background-color:#fff;background-image:linear-gradient(45deg,#ece6df 25%,transparent 25%),linear-gradient(-45deg,#ece6df 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ece6df 75%),linear-gradient(-45deg,transparent 75%,#ece6df 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.photo-checker img{width:100%;height:330px;object-fit:contain}.photo-review-details{margin:18px 0;color:#7c604b;font-size:13px;line-height:1.7}.photo-review-details p{margin:7px 0}.photo-review-details a{font-size:11px;text-decoration:underline;overflow-wrap:anywhere}.photo-review .btn{margin:4px}.photo-credits{padding:0 52px 24px;font-size:9px;line-height:1.7;color:#9b8a7a;overflow-wrap:anywhere}.photo-credits a{text-decoration:underline}
@media screen and (max-width:760px){.photo-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px 12px;border-radius:15px}.photo-modal-head h2{font-size:22px}.photo-modal-head{margin-bottom:16px}.photo-search-form{gap:7px}.photo-search-form .btn{padding:10px 13px}.photo-upload-line{gap:9px}.photo-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-result{padding:7px}.photo-result>div{height:128px;padding:7px}.photo-result img{height:115px}.photo-result strong{font-size:11px}.photo-result small{font-size:9px}.photo-checker{padding:12px}.photo-checker img{height:260px}.photo-review .btn{width:100%;margin:6px 0}.photo-status{font-size:12px}.photo-open{font-size:13px}.product-cell{gap:12px}.product-photo{width:84px;height:84px;flex-basis:84px}.photo-credits{padding:0 15px 20px;font-size:9px}}
