:root{
  --accent:#F97316;
  --accent-2:#FB923C;
  --accent-dark:#C2410C;
  --accent-soft:#FFF7ED;
  --accent-soft-2:#FFEDD5;
  --sidebar:#111827;
  --sidebar-2:#1E293B;
  --bg:#F8FAFC;
  --panel:#ffffff;
  --text:#111827;
  --muted:#64748B;
  --line:#D8DEE9;
  --line-soft:#EEF2F7;
  --success:#059669;
  --danger:#DC2626;
  --shadow:0 18px 50px rgba(15,23,42,.07);
  --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Arial,sans-serif;background:radial-gradient(circle at top left,#fff 0,#f5f6fa 38%,#eef2f7 100%);color:var(--text);font-size:14px;letter-spacing:-.01em}
button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}
.shell{display:grid;grid-template-columns:258px 1fr;min-height:100vh}
.sidebar{background:#0b1220;color:#fff;padding:18px;display:flex;flex-direction:column;gap:18px;border-right:1px solid rgba(255,255,255,.08)}
.brand-block{display:flex;align-items:center;gap:12px;padding:10px 8px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-logo{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-weight:950;overflow:hidden;box-shadow:0 12px 30px rgba(240,90,26,.28)}
.brand-logo img{width:100%;height:100%;object-fit:contain;background:#050505;padding:3px}
.app-name{font-weight:900;font-size:20px;letter-spacing:-.05em}.app-sub{font-size:12px;color:#aab4c4;margin-top:3px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{display:flex;flex-direction:column;gap:7px}.nav-item{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:12px 13px;border-radius:14px;font-weight:760;display:flex;align-items:center;gap:10px;transition:.15s}.nav-item span{width:20px;text-align:center;color:#7d8899}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{background:linear-gradient(135deg,var(--accent),#dd4c13);color:#fff;box-shadow:0 12px 28px rgba(240,90,26,.25)}.nav-item.active span{color:#fff}
.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}.content{padding:26px;overflow:auto;max-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.topbar h1{margin:0;font-size:28px;font-weight:920;letter-spacing:-.055em}.topbar p{margin:5px 0 0;color:var(--muted);font-weight:520}.top-actions{display:flex;gap:10px;align-items:center}.top-actions select{min-width:240px;background:#fff}
.view{display:none}.view.active{display:block;animation:fadeIn .16s ease-out}@keyframes fadeIn{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}
.hero-panel{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:center;background:linear-gradient(135deg,#111827,#1f2937);border-radius:26px;padding:28px;margin-bottom:18px;color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;inset:auto -80px -120px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 65%);opacity:.25}.eyebrow{font-size:12px;font-weight:900;color:#ffc4ad;text-transform:uppercase;letter-spacing:.08em}.hero-panel h2{font-size:34px;line-height:1.05;letter-spacing:-.06em;max-width:760px;margin:10px 0}.hero-panel p{color:#d6dbe5;max-width:720px;line-height:1.55;margin:0}.hero-actions{display:flex;gap:10px;margin-top:20px}.hero-logo-card{height:190px;background:#050505;border:1px solid rgba(255,255,255,.12);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:22px;z-index:1}.hero-logo-card img{max-height:160px;object-fit:contain}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:rgba(255,255,255,.88);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.stat b{font-size:28px;margin-top:8px;display:block;letter-spacing:-.055em}.panel{background:rgba(255,255,255,.92);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px;font-weight:880;letter-spacing:-.035em}.two-col{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}.quote-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.list-panel{min-height:640px}.record-list{display:flex;flex-direction:column;gap:8px;max-height:700px;overflow:auto;padding-right:4px}.record-list.large{max-height:none}.record-item{border:1px solid var(--line-soft);border-radius:15px;padding:12px;background:#fff;transition:.12s}.record-item:hover{border-color:var(--accent);background:var(--accent-soft)}.record-item.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.record-item b{display:block;font-size:13px;font-weight:850}.record-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.38}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:12px;color:#475467;font-weight:780;display:flex;flex-direction:column;gap:6px}.form-grid label.full{grid-column:1/-1}.quote-form textarea{min-height:76px}input,select,textarea{border:1px solid #d0d5dd;border-radius:12px;padding:10px 12px;background:#fff;color:var(--text);outline:none;min-width:0}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent)}.search{width:100%;margin-bottom:12px}.color-row{display:grid;grid-template-columns:58px 1fr;gap:8px}.color-row input[type=color]{height:42px;padding:4px}.brand-preview{display:grid;grid-template-columns:86px 1fr 34px;gap:12px;align-items:center;border:1px solid var(--line-soft);background:#fbfcff;border-radius:18px;padding:12px;margin-bottom:14px}.brand-preview img{width:86px;height:70px;object-fit:contain;background:#070707;border-radius:14px;padding:5px}.brand-preview b{display:block;font-weight:900}.brand-preview span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.brand-preview i{width:28px;height:28px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px var(--accent-soft)}
.primary-btn,.outline-btn,.ghost-btn,.small-btn,.mail-btn{border-radius:12px;padding:10px 14px;font-weight:840;border:1px solid transparent;transition:.12s}.primary-btn{background:linear-gradient(135deg,var(--accent),#dc4d16);color:#fff;box-shadow:0 9px 22px rgba(240,90,26,.22)}.outline-btn{border-color:var(--accent);color:var(--accent);background:#fff}.ghost-btn{background:rgba(255,255,255,.08);color:#dbe4ef;border-color:rgba(255,255,255,.12)}.ghost-btn.dark{background:#f2f4f7;color:#344054;border-color:#e4e7ec}.small-btn{padding:8px 11px;background:#f2f4f7;color:#344054;border-color:#e4e7ec}.mail-btn{background:#111827;color:#fff}.primary-btn:hover,.outline-btn:hover,.small-btn:hover,.ghost-btn.dark:hover,.mail-btn:hover{filter:brightness(.98);transform:translateY(-1px)}.full-width{width:100%;margin-top:12px}.save-status{font-size:12px;color:#059669;font-weight:800}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.asset-card{border:1px dashed #cbd5e1;border-radius:16px;padding:12px;background:#fbfcfe}.asset-card b{display:block;margin-bottom:10px}.asset-card img{width:100%;height:98px;object-fit:contain;background:#0b0b0b;border-radius:12px;border:1px solid #eef2f7;margin-bottom:10px;padding:4px}.asset-card input{width:100%;font-size:12px;padding:8px}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.workflow div{border:1px solid var(--line-soft);border-radius:16px;padding:14px;background:#fbfcfe}.workflow p{margin:7px 0 0;color:var(--muted);line-height:1.45}.note-box{border-left:4px solid var(--accent);background:var(--accent-soft);padding:14px;border-radius:12px;line-height:1.5;margin-top:14px}.muted{color:var(--muted);line-height:1.55}.service-filter{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:820;color:#475467}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.items-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px}.items-head h3{margin:0;font-size:16px;font-weight:880}.items-actions{display:flex;gap:8px}.table-wrap{overflow:auto;border:1px solid var(--line-soft);border-radius:16px;background:#fff}.items-table{width:100%;border-collapse:collapse;background:#fff}.items-table th{background:#f8fafc;color:#475467;font-size:12px;padding:11px 10px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}.items-table td{border-bottom:1px solid #eef2f7;padding:8px;vertical-align:middle}.items-table input{padding:8px;border-radius:10px}.items-table .num{width:72px;text-align:right}.items-table .money{width:126px;text-align:right}.items-table .item-name{min-width:250px}.items-table .line-total{font-weight:900;text-align:right;white-space:nowrap}.items-table button{border:0;background:#fee2e2;color:#b42318;border-radius:10px;padding:7px 9px;font-weight:900}.quote-bottom{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;margin-top:16px}.total-box{border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;background:#fff}.total-box div{display:flex;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line-soft)}.total-box div:last-child{border-bottom:0}.total-box .grand{background:linear-gradient(135deg,var(--accent),#dc4d16);color:#fff;font-size:16px;font-weight:930}.doc-panel{border:1px solid var(--line-soft);background:#fbfcff;border-radius:18px;padding:14px}.doc-panel-title{font-weight:900;margin-bottom:10px}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.doc-card{background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:12px}.doc-card b{display:block}.doc-card span{display:block;color:var(--muted);font-size:12px;margin:4px 0 10px}.doc-card div{display:flex;gap:7px}.doc-card button{flex:1;border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:10px;padding:8px;font-weight:850}.doc-card button:first-child{background:var(--accent);color:#fff}.mail-btn{margin-top:10px;width:100%}.system-warnings{margin:-6px 0 18px}.system-warnings div{border:1px solid #fedf89;background:#fffbeb;color:#92400e;border-radius:16px;padding:12px 14px;box-shadow:0 8px 20px rgba(146,64,14,.08)}.system-warnings b{display:block;font-weight:900;margin-bottom:4px}.system-warnings p{margin:0;line-height:1.45;font-size:13px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.toast{position:fixed;right:24px;bottom:24px;background:#101828;color:#fff;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:420px;z-index:50}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1180px){.shell{grid-template-columns:230px 1fr}.two-col,.quote-layout,.quote-bottom{grid-template-columns:1fr}.stats-grid,.workflow{grid-template-columns:1fr 1fr}.hero-panel{grid-template-columns:1fr}.list-panel{min-height:auto}.record-list{max-height:360px}.asset-grid,.doc-grid{grid-template-columns:1fr}}

/* PDF templates */
.pdf-page{width:794px;min-height:1123px;background:#fff;color:#111;font-family:Arial,'Helvetica Neue',sans-serif;padding:28px 32px;position:relative;overflow:hidden;page-break-after:always}.pdf-page:last-child{page-break-after:auto}.pdf-content{position:relative;z-index:1}.pdf-header{display:flex;align-items:center;gap:18px;border-bottom:2px solid #b8c8d8;padding-bottom:13px;margin-bottom:8px}.pdf-header img{width:124px;height:66px;object-fit:contain;background:#030303;border-radius:5px;padding:3px}.pdf-company h2{font-size:14px;margin:0;color:var(--pdf-accent,#F05A1A);text-transform:uppercase;font-weight:900}.pdf-company p{font-size:10.5px;line-height:1.55;margin:4px 0 0;color:#333}.pdf-title{text-align:center;background:#b8c8d8;margin:11px 0 14px;padding:9px;font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#1a2a3a}.pdf-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;font-size:11px;margin-bottom:12px}.pdf-meta div{display:flex;gap:6px}.pdf-meta span{color:#667085;min-width:98px}.pdf-party{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.pdf-box{border:1px solid #d9e0ea;border-radius:8px;padding:9px;font-size:10.5px;line-height:1.58}.pdf-box b{color:#111}.pdf-desc{border-left:3px solid var(--pdf-accent,#F05A1A);background:#fff8f3;padding:8px 10px;font-size:10.5px;line-height:1.5;margin:10px 0}.pdf-watermark-table{position:relative;margin:8px 0}.pdf-watermark-table .wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;max-height:220px;object-fit:contain;opacity:.035;z-index:0;pointer-events:none}.pdf-table{position:relative;z-index:1;width:100%;border-collapse:collapse;background:transparent}.pdf-table th{background:#b8c8d8;border:1px solid #a0b0c0;padding:7px;font-size:10.5px;text-align:left;color:#1a2a3a}.pdf-table td{border:1px solid #d9e0ea;padding:7px;font-size:10.5px;vertical-align:top;background:rgba(255,255,255,.86)}.pdf-table .c{text-align:center}.pdf-table .r{text-align:right}.pdf-total{width:285px;margin-left:auto;border:1px solid #d9e0ea;border-radius:8px;overflow:hidden;font-size:11px}.pdf-total div{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:1px solid #d9e0ea}.pdf-total .grand{background:var(--pdf-accent,#F05A1A);color:#fff;font-size:13px;font-weight:900}.pdf-section{font-size:12px;font-weight:900;text-transform:uppercase;margin:14px 0 7px;color:#111}.pdf-terms{font-size:10.5px;line-height:1.62;color:#333}.pdf-sign{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:28px}.pdf-sign-box{text-align:center;position:relative;min-height:132px}.pdf-sign-title{font-weight:900;font-size:11px}.pdf-sign-note{font-size:10px;color:#667085;margin-top:3px}.pdf-stamp{position:absolute;left:50%;top:34px;transform:translateX(-50%);width:126px;opacity:.78}.pdf-sig{position:absolute;left:50%;top:29px;transform:translateX(-50%);width:132px;max-height:74px;object-fit:contain}.pdf-sign-name{position:absolute;bottom:0;left:20px;right:20px;border-top:1px solid #999;padding-top:5px;font-weight:800;font-size:11px}.pdf-footer{position:absolute;left:32px;right:32px;bottom:16px;text-align:center;font-size:9px;color:#98a2b3;border-top:1px solid #eef2f7;padding-top:7px}

/* v3 UI polish */
.doc-panel{background:#fff;border:1px solid #e6eaf1;border-radius:18px;padding:14px;box-shadow:0 10px 28px rgba(16,24,40,.05)}
.doc-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:15px;font-weight:900;letter-spacing:-.025em;color:#101828}
.doc-panel-title:after{content:'Preview / Xuất PDF';font-size:11px;font-weight:800;color:#667085;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:999px;padding:5px 9px}
.doc-grid{grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px}
.doc-card{padding:12px;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid #e5eaf2;box-shadow:0 6px 16px rgba(16,24,40,.035)}
.doc-card b{font-size:14px;letter-spacing:-.025em;color:#101828}.doc-card span{font-size:11px;min-height:28px;margin:4px 0 9px;color:#667085;line-height:1.3}.doc-card div{gap:6px}
.doc-card button{font-size:12px;padding:7px 8px;border-radius:10px;font-weight:850}.doc-card button:first-child{background:linear-gradient(135deg,var(--accent),#dd4c13);border-color:transparent;color:#fff}.doc-card button:last-child{background:#fff;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 70%,#fff)}
.mail-btn{margin-top:10px;width:auto;min-width:184px;padding:10px 14px;background:#111827;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.mail-btn:before{content:'✉';margin-right:8px;color:#fff}
.quote-bottom{grid-template-columns:minmax(0,1fr) 318px;gap:14px}.total-box{box-shadow:0 10px 28px rgba(16,24,40,.045)}
@media (max-width:1300px){.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1180px){.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-btn{width:100%}}

/* v3 PDF refinement */
@page{size:A4;margin:0}
.pdf-page{width:794px;min-height:1123px;margin:0 auto;background:#fff;color:#111;font-family:Arial,'Helvetica Neue',sans-serif;padding:30px 34px;position:relative;overflow:hidden;page-break-after:always;box-shadow:none;letter-spacing:0;line-height:1.32}.pdf-page:last-child{page-break-after:auto}.pdf-content{position:relative;z-index:1}.pdf-header{display:flex;align-items:center;gap:18px;border-bottom:2px solid #b8c8d8;padding-bottom:13px;margin-bottom:8px}.pdf-header img{width:112px;height:62px;object-fit:contain;background:#050505;border-radius:6px;padding:4px}.pdf-company h2{font-size:13.6px;margin:0;color:var(--pdf-accent,#F05A1A);text-transform:uppercase;font-weight:900;letter-spacing:.01em}.pdf-company p{font-size:10.2px;line-height:1.58;margin:4px 0 0;color:#333}.pdf-title{text-align:center;background:#b8c8d8;margin:11px 0 13px;padding:8px 10px;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;color:#1a2a3a}.pdf-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;font-size:10.8px;margin-bottom:11px}.pdf-meta div{display:flex;gap:6px}.pdf-meta span{color:#667085;min-width:96px}.pdf-meta b{font-weight:800;color:#111}.pdf-party{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:11px 0}.pdf-box{border:1px solid #d9e0ea;border-radius:8px;padding:8px 9px;font-size:10.2px;line-height:1.55;background:#fff}.pdf-box b{color:#111}.pdf-desc{border-left:3px solid var(--pdf-accent,#F05A1A);background:#fff8f3;padding:7px 10px;font-size:10.3px;line-height:1.5;margin:10px 0}.pdf-watermark-table{position:relative;margin:8px 0 9px}.pdf-watermark-table .wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:285px;max-height:205px;object-fit:contain;opacity:.028;z-index:0;pointer-events:none}.pdf-table{position:relative;z-index:1;width:100%;border-collapse:collapse;background:transparent}.pdf-table th{background:#b8c8d8;border:1px solid #a0b0c0;padding:6.5px 7px;font-size:10.2px;text-align:left;color:#1a2a3a;font-weight:800}.pdf-table td{border:1px solid #d9e0ea;padding:6.5px 7px;font-size:10.2px;vertical-align:top;background:rgba(255,255,255,.88)}.pdf-table .c{text-align:center}.pdf-table .r{text-align:right}.pdf-total{width:276px;margin-left:auto;border:1px solid #d9e0ea;border-radius:7px;overflow:hidden;font-size:10.6px}.pdf-total div{display:flex;justify-content:space-between;padding:6.5px 10px;border-bottom:1px solid #d9e0ea}.pdf-total .grand{background:var(--pdf-accent,#F05A1A);color:#fff;font-size:12.4px;font-weight:900}.pdf-section{font-size:11.5px;font-weight:900;text-transform:uppercase;margin:13px 0 6px;color:#111}.pdf-terms{font-size:10.2px;line-height:1.58;color:#333}.pdf-sign{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:25px}.pdf-sign-box{text-align:center;position:relative;min-height:125px}.pdf-sign-title{font-weight:900;font-size:10.8px}.pdf-sign-note{font-size:9.6px;color:#667085;margin-top:3px}.pdf-stamp{position:absolute;left:50%;top:31px;transform:translateX(-50%);width:118px;opacity:.76}.pdf-sig{position:absolute;left:50%;top:27px;transform:translateX(-50%);width:126px;max-height:70px;object-fit:contain}.pdf-sign-name{position:absolute;bottom:0;left:20px;right:20px;border-top:1px solid #999;padding-top:5px;font-weight:800;font-size:10.6px}.pdf-footer{position:absolute;left:34px;right:34px;bottom:16px;text-align:center;font-size:8.8px;color:#98a2b3;border-top:1px solid #eef2f7;padding-top:7px}


/* edit/delete controls + transparent logo previews */
.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.danger-btn{border:1px solid #fda29b;background:#fff;color:#b42318;border-radius:12px;padding:8px 11px;font-weight:860;transition:.12s}.danger-btn:hover{background:#fff1f0;transform:translateY(-1px)}.hint-line{margin-top:10px;color:#667085;font-size:12px;line-height:1.45;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;padding:9px 11px}.transparent-bg{background-color:#fff;background-image:linear-gradient(45deg,#edf2f7 25%,transparent 25%),linear-gradient(-45deg,#edf2f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf2f7 75%),linear-gradient(-45deg,transparent 75%,#edf2f7 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.brand-logo img,.brand-preview img,.asset-card img{background-color:#fff!important;background-image:linear-gradient(45deg,#edf2f7 25%,transparent 25%),linear-gradient(-45deg,#edf2f7 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf2f7 75%),linear-gradient(-45deg,transparent 75%,#edf2f7 75%)!important;background-size:18px 18px!important;background-position:0 0,0 9px,9px -9px,-9px 0!important}.hero-logo-card{background:rgba(255,255,255,.1)!important}.hero-logo-card img{background:transparent!important}.pdf-header img{background:transparent!important;padding:0!important;border-radius:0!important}.pdf-stamp,.pdf-sig,.pdf-watermark-table .wm{background:transparent!important}


/* v3.3 item notes on quotes */
.items-table th:nth-child(1),.items-table td:nth-child(1){width:42px;text-align:center}.items-table th:nth-child(3),.items-table td:nth-child(3){min-width:230px}.items-table textarea.item-note{width:100%;min-width:220px;min-height:43px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;resize:vertical;background:#fff;color:var(--text);line-height:1.35}.items-table textarea.item-note:focus{outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}.pdf-item-name{font-weight:800;color:#111}.pdf-item-note{margin-top:3px;padding-top:3px;border-top:1px dashed #d0d5dd;color:#475467;font-size:9.4px;line-height:1.42;font-style:italic}

/* v3.4 inline sửa/xóa trên danh sách */
.record-item{display:flex;align-items:stretch;justify-content:space-between;gap:10px;position:relative}.record-main{min-width:0;flex:1}.record-main b,.record-main span{display:block}.record-main em{display:block;margin-top:5px;font-style:normal;font-size:11px;line-height:1.3;color:#667085}.record-actions{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:flex-end;opacity:.9;flex:0 0 auto}.record-item:hover .record-actions{opacity:1}.mini-action{border:1px solid #d0d5dd;background:#fff;color:#344054;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:850;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.04)}.mini-action:hover{border-color:var(--accent);color:var(--accent);background:#fff8f3}.mini-action.danger{border-color:#fda29b;color:#b42318;background:#fff}.mini-action.danger:hover{background:#fff1f0;border-color:#f04438;color:#912018}.record-item.active .mini-action{background:rgba(255,255,255,.94)}
@media (max-width:900px){.record-item{flex-direction:column}.record-actions{flex-direction:row;justify-content:flex-start;align-items:center}}

/* v3.5 QA layout balance */
.content{padding:24px 26px 28px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.top-actions select,.top-actions button{height:42px}.panel{padding:18px 18px 20px}.panel-head{align-items:flex-start}.panel-head h2{line-height:1.25}.two-col{grid-template-columns:minmax(315px,360px) minmax(0,1fr)}.quote-layout{grid-template-columns:minmax(285px,320px) minmax(0,1fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.list-panel{min-height:auto}.record-list{max-height:calc(100vh - 230px);scrollbar-width:thin}.record-list.large{max-height:calc(100vh - 190px)}.record-item{align-items:center;min-height:74px}.record-main{display:flex;flex-direction:column;gap:2px;overflow:hidden}.record-main b{overflow:hidden;text-overflow:ellipsis}.record-actions{min-width:48px}.quote-record,.document-record{align-items:center}.quote-record .record-main,.document-record .record-main{padding-right:2px}.quote-record .record-actions{min-width:52px}.brand-preview{grid-template-columns:92px minmax(0,1fr) 34px}.brand-preview img{width:92px;height:72px}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-card img{height:108px}.service-filter{gap:6px}.chip{padding:7px 9px}.items-head{gap:12px;flex-wrap:wrap}.items-actions{flex-wrap:wrap;justify-content:flex-end}.items-table{min-width:1010px}.items-table th:nth-child(1),.items-table td:nth-child(1){width:44px}.items-table th:nth-child(2),.items-table td:nth-child(2){min-width:250px}.items-table th:nth-child(3),.items-table td:nth-child(3){min-width:270px}.items-table th:nth-child(4),.items-table td:nth-child(4){width:96px}.items-table th:nth-child(5),.items-table td:nth-child(5){width:78px}.items-table th:nth-child(6),.items-table td:nth-child(6){width:136px}.items-table th:nth-child(7),.items-table td:nth-child(7){width:136px}.items-table .item-name{width:100%;min-width:230px}.items-table textarea.item-note{min-width:250px;min-height:44px}.quote-bottom{grid-template-columns:minmax(390px,1fr) minmax(285px,320px);align-items:stretch}.doc-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.doc-card{display:flex;flex-direction:column}.doc-card div{margin-top:auto}.total-box{height:max-content;position:sticky;top:12px}.settings-actions .primary-btn,.settings-actions .outline-btn{min-height:42px}.pdf-table th:nth-child(2),.pdf-table td:nth-child(2){min-width:260px}.pdf-table th:nth-child(6),.pdf-table td:nth-child(6){white-space:nowrap}
@media (max-width:1180px){.content{padding:20px}.two-col,.quote-layout{grid-template-columns:300px minmax(0,1fr)}.asset-grid{grid-template-columns:1fr}.quote-bottom{grid-template-columns:1fr}.total-box{position:static}.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.3.111 color balance - clean TAD orange + navy theme */
:root{
  --accent:#F97316;
  --accent-2:#FB923C;
  --accent-dark:#C2410C;
  --accent-soft:#FFF7ED;
  --accent-soft-2:#FFEDD5;
  --sidebar:#111827;
  --sidebar-2:#1E293B;
  --bg:#F8FAFC;
  --panel:#FFFFFF;
  --text:#111827;
  --muted:#64748B;
  --line:#D8DEE9;
  --line-soft:#EEF2F7;
  --success:#059669;
  --danger:#DC2626;
  --shadow:0 18px 50px rgba(15,23,42,.07);
}
body{
  background:
    radial-gradient(circle at 0 0, rgba(249,115,22,.13) 0, rgba(249,115,22,0) 34%),
    linear-gradient(135deg,#FBFCFF 0%,#F8FAFC 50%,#F1F5F9 100%);
  color:var(--text);
}
.sidebar{
  background:linear-gradient(180deg,var(--sidebar) 0%,#0F172A 55%,#0B1120 100%);
  border-right:1px solid rgba(255,255,255,.09);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.03);
}
.brand-block{border-bottom-color:rgba(255,255,255,.10)}
.brand-logo{background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 12px 30px rgba(249,115,22,.28)}
.app-sub{color:#A7B3C6}.nav-item{color:#CBD5E1}.nav-item span{color:#94A3B8}.nav-item:hover{background:rgba(255,255,255,.075);color:#FFFFFF}.nav-item.active{background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 12px 28px rgba(249,115,22,.26)}
.hero-panel{background:linear-gradient(135deg,#111827 0%,#1E293B 58%,#431407 100%)}
.hero-panel:after{background:radial-gradient(circle,var(--accent),transparent 65%);opacity:.22}.eyebrow{color:#FED7AA}.hero-panel p{color:#E2E8F0}.hero-logo-card{border-color:rgba(255,255,255,.13)}
.panel,.stat{background:rgba(255,255,255,.94);border-color:var(--line-soft);box-shadow:var(--shadow)}
.stat span,.topbar p,.muted,.record-main em,.record-item span,.brand-preview span{color:var(--muted)}
.record-item{border-color:var(--line-soft);background:#FFFFFF}.record-item:hover{border-color:#FDBA74;background:var(--accent-soft)}.record-item.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent),0 8px 20px rgba(249,115,22,.08)}
input,select,textarea{border-color:#D0D5DD;background:#FFFFFF;color:var(--text)}
input:hover,select:hover,textarea:hover{border-color:#B8C0CC}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(249,115,22,.16)}
.primary-btn{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 10px 24px rgba(249,115,22,.24)}
.outline-btn{border-color:#FDBA74;color:var(--accent-dark);background:#FFFDFB}.outline-btn:hover{background:var(--accent-soft);border-color:var(--accent)}
.small-btn,.ghost-btn.dark,.mini-action{background:#F8FAFC;color:#334155;border-color:#E2E8F0}.small-btn:hover,.ghost-btn.dark:hover,.mini-action:hover{background:#FFF7ED;border-color:#FDBA74;color:var(--accent-dark)}
.mail-btn{background:#172033;color:#FFFFFF}.mail-btn:hover{background:#0F172A}.ghost-btn{background:rgba(255,255,255,.075);color:#E2E8F0;border-color:rgba(255,255,255,.14)}
.danger-btn,.mini-action.danger{color:#B42318;border-color:#FDA29B;background:#FFFFFF}.danger-btn:hover,.mini-action.danger:hover{background:#FFF1F0;border-color:#F04438;color:#912018}.items-table button{background:#FEE2E2;color:#B42318}
.chip{border-color:#D8DEE9;color:#475569;background:#FFFFFF}.chip:hover{border-color:#FDBA74;color:var(--accent-dark);background:#FFF7ED}.chip.active{background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-color:var(--accent);color:#FFFFFF}
.brand-preview,.asset-card,.workflow div,.doc-panel,.doc-card{background:#FBFCFF;border-color:#E8ECF3}.brand-preview i{background:var(--accent);box-shadow:0 0 0 7px var(--accent-soft-2)}
.note-box{border-left-color:var(--accent);background:var(--accent-soft);color:#7C2D12}.save-status{color:var(--success)}
.items-table th{background:#F1F5F9;color:#475569;border-bottom-color:#E2E8F0}.items-table td{border-bottom-color:#EEF2F7}.table-wrap{border-color:#E2E8F0}.items-table textarea.item-note:focus{outline:2px solid rgba(249,115,22,.20);border-color:var(--accent)}
.total-box{border-color:#E2E8F0}.total-box div{border-bottom-color:#E2E8F0}.total-box .grand{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#FFFFFF}
.doc-card:hover,.record-item:hover{box-shadow:0 10px 24px rgba(15,23,42,.07)}
.pdf-company h2{color:var(--pdf-accent,var(--accent))}.pdf-title,.pdf-table th{background:#E2E8F0;color:#1E293B;border-color:#CBD5E1}.pdf-header{border-bottom-color:#CBD5E1}.pdf-desc{border-left-color:var(--pdf-accent,var(--accent));background:#FFF7ED}.pdf-total .grand{background:var(--pdf-accent,var(--accent))}


/* v1.3.112 legal document templates - BBNT / DNTT / Hợp đồng dịch vụ theo mẫu TAD */
.pdf-page.template-doc{font-family:"Times New Roman",Times,serif!important;padding:58px 88px 42px!important;color:#000!important;line-height:1.34!important;font-size:15px!important;letter-spacing:0!important;overflow:hidden!important;background:#fff!important}
.template-doc .tpl-content{position:relative;z-index:1}.template-doc p{margin:0 0 9px}.template-doc h2{font-size:15px;margin:13px 0 6px;text-transform:uppercase;text-decoration:underline;font-weight:900}.tpl-national{text-align:center;margin-bottom:30px}.tpl-national b{display:block;font-size:16px;text-transform:uppercase}.tpl-national span{display:block;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.tpl-national i{display:block;font-style:normal;font-weight:700;letter-spacing:4px;margin-top:2px}.tpl-title{text-align:center;font-size:23px!important;line-height:1.15!important;margin:0 0 22px!important;text-transform:uppercase;font-weight:900!important;letter-spacing:0!important;background:transparent!important;color:#000!important;padding:0!important}.tpl-subtitle{text-align:center;font-size:16px;font-weight:900;margin:-14px 0 22px}.tpl-legal p{margin-left:36px;text-indent:-14px;font-style:italic}.tpl-center{text-align:center}.tpl-bold{font-weight:900}.tpl-italic{font-style:italic}.tpl-party-table{width:100%;border-collapse:collapse;margin:8px 0 10px;font-size:14.7px}.tpl-party-table td{border:1px solid #222;padding:4px 8px;vertical-align:top}.tpl-party-table td:nth-child(1){width:150px}.tpl-party-table td:nth-child(2){width:24px;text-align:center}.tpl-party-table b{text-transform:uppercase}.tpl-party-lines{display:grid;grid-template-columns:120px 16px minmax(0,1fr);gap:0 8px;margin:10px 0 24px;font-size:16px}.tpl-party-lines div{display:contents}.tpl-party-lines span,.tpl-party-lines b{padding:2px 0}.tpl-party-lines b{text-transform:uppercase}.tpl-acceptance-table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:14.2px}.tpl-acceptance-table th,.tpl-acceptance-table td{border:1px solid #222;padding:5px 7px;vertical-align:top}.tpl-acceptance-table th{text-align:center;font-weight:900}.tpl-acceptance-table .c{text-align:center}.tpl-acceptance-table .r{text-align:right}.tpl-total-row td{font-weight:900;text-align:center}.tpl-total-row td.r{text-align:right}.tpl-total-row.grand td{font-size:15px}.tpl-signatures{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:34px}.tpl-sign-box{text-align:center;position:relative;min-height:150px;font-size:15px}.tpl-sign-box b{display:block;font-weight:900;text-transform:uppercase}.tpl-sign-box span{position:absolute;bottom:0;left:0;right:0;font-weight:900}.tpl-stamp{position:absolute;left:50%;top:30px;transform:translateX(-50%);width:135px;max-height:110px;object-fit:contain;opacity:.76;background:transparent!important}.tpl-sig{position:absolute;left:50%;top:36px;transform:translateX(-50%);width:130px;max-height:70px;object-fit:contain;background:transparent!important}.tpl-page-no{position:absolute;left:0;right:0;bottom:18px;text-align:center;font-size:13px}.appendix-template{padding:46px 24px 34px!important;font-size:13px!important}.appendix-template .tpl-content.wide{width:100%}.tpl-appendix-title{text-align:center;font-size:18px!important;margin:0!important;font-weight:900!important}.tpl-appendix-subtitle{text-align:center!important;text-decoration:none!important;font-size:18px!important;margin:2px 0 0!important}.tpl-appendix-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:14px;font-size:12.2px;line-height:1.2}.tpl-appendix-table th,.tpl-appendix-table td{border:1px solid #111;padding:5px 5px;vertical-align:middle}.tpl-appendix-table th{background:#37699a!important;color:#fff!important;text-align:center;font-size:13px;font-weight:900}.tpl-appendix-table th:nth-child(1){width:38px}.tpl-appendix-table th:nth-child(2){width:260px}.tpl-appendix-table th:nth-child(3){width:52px}.tpl-appendix-table th:nth-child(4){width:45px}.tpl-appendix-table th:nth-child(5){width:60px}.tpl-appendix-table th:nth-child(6){width:96px}.tpl-appendix-table th:nth-child(7){width:102px}.tpl-appendix-table th:nth-child(8){width:74px}.tpl-appendix-table .c{text-align:center}.tpl-appendix-table .r{text-align:right}.tpl-appendix-table .tpl-group td{background:#8db4df!important;color:#e00000;font-weight:900;font-size:13px;text-transform:uppercase}.tpl-item-note{font-size:11.2px;color:#444;margin-top:2px;font-style:italic;font-weight:400!important;text-transform:none!important}.tpl-total-words{margin-top:10px}.tpl-note{font-size:12px;margin-top:10px;line-height:1.35}.payment-template{padding:132px 95px 42px!important;font-size:18px!important;line-height:1.28!important}.payment-head{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px;font-size:15.5px}.payment-head div:last-child{text-align:right}.payment-title{margin-bottom:36px!important}.payment-to{font-size:17px;margin:0 0 40px 62px!important}.payment-content p{margin-bottom:12px}.payment-bank-table{border-collapse:collapse;margin:18px 0 26px 46px;font-size:17px}.payment-bank-table td{border:0!important;padding:2px 8px;vertical-align:top}.payment-bank-table td:nth-child(1){width:230px}.payment-bank-table td:nth-child(2){width:18px;text-align:center}.payment-bank-table b{text-transform:uppercase}.payment-sign{position:relative;margin:18px 0 0 auto;width:370px;text-align:center;min-height:170px;font-size:16px;text-transform:uppercase}.payment-stamp{top:28px;width:145px}.payment-sig{top:35px;width:140px}.contract-template{padding-top:48px!important;font-size:14.2px!important}.contract-template .tpl-title{margin-bottom:10px!important}.contract-template .tpl-national{margin-bottom:24px}.contract-template .tpl-subtitle{margin-bottom:22px}.contract-template .tpl-signatures{margin-top:26px}.acceptance-template{padding-top:55px!important}.acceptance-template .tpl-title{font-size:21px!important;margin-bottom:36px!important}.acceptance-template .tpl-national{margin-bottom:34px}
/* v1.3.112 QA fix: party lines must remain row-based in PDF engines */
.tpl-party-lines{display:block!important;margin:10px 0 24px!important;font-size:16px!important}.tpl-party-lines div{display:grid!important;grid-template-columns:120px 16px minmax(0,1fr)!important;gap:0 8px!important;align-items:start!important}.tpl-party-lines span,.tpl-party-lines b{display:block!important;padding:2px 0!important;min-width:0!important;word-break:normal!important}.tpl-party-lines b{text-transform:uppercase!important}
/* v1.3.112 QA fix: appendix table must fit portrait A4 */
.tpl-appendix-table{width:100%!important;table-layout:fixed!important;font-size:9.6px!important;line-height:1.15!important}.tpl-appendix-table th,.tpl-appendix-table td{padding:4px 4px!important;word-break:break-word!important;overflow-wrap:anywhere!important}.tpl-appendix-table th{font-size:10.2px!important}.tpl-appendix-table th:nth-child(1){width:5%!important}.tpl-appendix-table th:nth-child(2){width:36%!important}.tpl-appendix-table th:nth-child(3){width:7%!important}.tpl-appendix-table th:nth-child(4){width:6%!important}.tpl-appendix-table th:nth-child(5){width:8%!important}.tpl-appendix-table th:nth-child(6){width:13%!important}.tpl-appendix-table th:nth-child(7){width:14%!important}.tpl-appendix-table th:nth-child(8){width:11%!important}.tpl-appendix-table .tpl-group td{font-size:10.6px!important}.appendix-template{padding-left:32px!important;padding-right:32px!important}.tpl-total-words,.tpl-note{font-size:12px!important}

/* v1.3.114 quick customer creation in quote editor */
.select-action{display:flex;gap:8px;align-items:center;width:100%}.select-action select{min-width:0;flex:1}.inline-create-btn{white-space:nowrap;height:42px}.quote-customer-label{min-width:0}.quick-customer-panel{border:1px solid rgba(240,90,26,.22);background:linear-gradient(180deg,#fff7ed,#fff);border-radius:18px;padding:14px;margin:12px 0 18px;box-shadow:0 14px 28px rgba(240,90,26,.08)}.quick-customer-panel.hidden{display:none}.quick-customer-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.quick-customer-title b{display:block;font-weight:920;color:#111827}.quick-customer-title span{display:block;margin-top:3px;color:#667085;font-size:13px;line-height:1.45}.quick-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-customer-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px}.quick-customer-actions .primary-btn,.quick-customer-actions .outline-btn{padding:9px 13px}@media(max-width:920px){.select-action{flex-direction:column;align-items:stretch}.inline-create-btn{width:100%}.quick-customer-grid{grid-template-columns:1fr}.quick-customer-actions{justify-content:stretch;flex-direction:column}.quick-customer-actions button{width:100%}}


/* v1.3.115 larger quote fonts + editable document detail panel */
.doc-detail-panel{margin-top:4px;border:1px solid #E2E8F0;background:linear-gradient(180deg,#FBFDFF,#FFFFFF);border-radius:18px;padding:14px 14px 8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.doc-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.doc-detail-head h3{margin:0;font-size:15px;font-weight:900;color:#101828}.doc-detail-head span{font-size:12px;line-height:1.45;color:#667085;max-width:520px;text-align:right}.doc-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doc-detail-group{border:1px solid #EEF2F7;background:#FFF;border-radius:16px;padding:12px}.doc-detail-group .doc-group-title{font-size:13px;font-weight:900;color:#1F2937;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #F1F5F9}.doc-detail-group label{margin-bottom:9px}.doc-detail-group label:last-child{margin-bottom:0}.doc-detail-group textarea{min-height:82px}.doc-detail-group textarea#acceptanceSummary,.doc-detail-group textarea#acceptanceConclusion{min-height:100px}.doc-detail-group textarea#paymentBasis,.doc-detail-group textarea#paymentRequestText{min-height:92px}@media(max-width:1280px){.doc-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:920px){.doc-detail-head{flex-direction:column}.doc-detail-head span{text-align:left;max-width:none}.doc-detail-grid{grid-template-columns:1fr}}

.pdf-page{padding:32px 36px!important}.pdf-header img{width:116px!important;height:66px!important}.pdf-company h2{font-size:16.4px!important}.pdf-company p{font-size:12.1px!important;line-height:1.58!important}.pdf-title{font-size:19px!important;padding:10px 12px!important;margin:12px 0 14px!important}.pdf-meta{font-size:12.4px!important;gap:7px 24px!important}.pdf-meta span{min-width:108px!important}.pdf-box{font-size:12px!important;line-height:1.6!important;padding:10px 11px!important}.pdf-desc{font-size:12px!important;line-height:1.58!important;padding:9px 11px!important}.pdf-table th{font-size:11.6px!important;padding:7px 8px!important}.pdf-table td{font-size:11.6px!important;padding:7px 8px!important}.pdf-item-note{font-size:10.8px!important}.pdf-total{width:308px!important;font-size:12px!important}.pdf-total div{padding:7px 11px!important}.pdf-total .grand{font-size:13.8px!important}.pdf-section{font-size:12.8px!important}.pdf-terms{font-size:11.8px!important;line-height:1.65!important}.pdf-sign-title{font-size:11.8px!important}.pdf-sign-note{font-size:10.6px!important}.pdf-sign-name{font-size:11.6px!important}.pdf-footer{font-size:9.5px!important}
.template-doc h2{font-size:16px!important}.tpl-party-table{font-size:15.1px!important}.contract-template{font-size:15px!important;line-height:1.38!important}.contract-template .tpl-title{font-size:24px!important}.contract-template .tpl-signatures{margin-top:30px!important}.acceptance-template{font-size:15.6px!important}.payment-template{font-size:18.6px!important}.payment-head{font-size:16px!important}.payment-bank-table{font-size:17.6px!important}


/* v1.3.116 dashboard typography + document edit/delete actions */
.topbar h1{font-size:30px;line-height:1.16;letter-spacing:-.035em}.topbar p{font-size:15px;line-height:1.5;letter-spacing:-.008em}.hero-panel{padding:34px 36px;gap:28px}.hero-panel h2{font-size:34px!important;line-height:1.16!important;letter-spacing:-.035em!important;max-width:900px;margin:12px 0 14px}.hero-panel p{font-size:16px;line-height:1.65;max-width:900px}.eyebrow{font-size:13px;letter-spacing:.1em}.hero-actions{margin-top:24px}.stats-grid{gap:18px}.stat{padding:20px 22px}.stat span{font-size:12.5px;letter-spacing:.08em}.stat b{font-size:28px;line-height:1.1}.workflow{gap:14px}.workflow div{padding:18px 20px}.workflow b{font-size:15px;line-height:1.35}.workflow p{font-size:14.5px;line-height:1.55}.panel-head h2{font-size:20px;line-height:1.25}.document-record{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.document-record .record-main{min-width:0;flex:1}.document-record .record-main b{font-size:17px;line-height:1.25}.document-record .record-main span{font-size:14px;line-height:1.5}.document-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.document-actions .mini-action{font-size:13px;padding:8px 12px;border-radius:11px}@media(max-width:1100px){.hero-panel{grid-template-columns:1fr}.hero-logo-card{display:none}.document-record{align-items:flex-start;flex-direction:column}.document-actions{width:100%;justify-content:flex-end}}@media(max-width:760px){.hero-panel h2{font-size:28px!important}.hero-panel p{font-size:15px}.stats-grid,.workflow{grid-template-columns:1fr}.topbar h1{font-size:26px}}


/* v1.3.117 document suite workflow + optimized saved documents */
#view-documents .panel{padding:22px 24px 26px}.document-suite{display:block!important;padding:18px!important;border-radius:18px!important;background:#fff}.document-suite:hover{background:#fff!important;border-color:#FDBA74}.document-suite.active{background:#FFF7ED!important}.document-summary{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(260px,1fr) auto;gap:16px;align-items:center}.document-progress strong{display:block;font-size:13px;line-height:1.35;color:#334155;margin-bottom:8px}.doc-status-row{display:flex;gap:6px;flex-wrap:wrap}.doc-status-chip{display:inline-flex;align-items:center;border:1px solid #E2E8F0;background:#F8FAFC;color:#64748B;border-radius:999px;padding:5px 8px;font-size:11.5px;font-weight:850;line-height:1}.doc-status-chip.saved{background:#EEF2FF;color:#3730A3;border-color:#C7D2FE}.doc-status-chip.previewed{background:#FFF7ED;color:#C2410C;border-color:#FDBA74}.doc-status-chip.exported{background:#ECFDF5;color:#047857;border-color:#A7F3D0}.document-doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #EEF2F7}.document-doc-row{border:1px solid #E8ECF3;background:linear-gradient(180deg,#FBFCFF,#fff);border-radius:15px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:112px}.document-doc-row>div:first-child b{display:block;font-size:14px;line-height:1.3;color:#111827}.document-doc-row>div:first-child span{display:block;margin-top:3px;font-size:12px;line-height:1.3;color:#64748B}.document-doc-row>div:last-child{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.document-doc-row .mini-action{font-size:12px;padding:7px 9px;border-radius:10px}.document-doc-row .mini-action:nth-child(2){background:#FFF7ED;border-color:#FDBA74;color:#C2410C}.document-actions{gap:8px}.document-actions .mini-action{white-space:nowrap}.document-record .record-main b{font-size:18px!important;line-height:1.35!important;letter-spacing:-.02em}.document-record .record-main span{font-size:14px!important;line-height:1.55!important}.record-list.large{display:flex;flex-direction:column;gap:12px}@media(max-width:1350px){.document-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-summary{grid-template-columns:1fr}.document-actions{justify-content:flex-start}}@media(max-width:720px){.document-doc-grid{grid-template-columns:1fr}.document-suite{padding:14px!important}.document-summary{gap:12px}.document-actions{flex-direction:column;align-items:stretch}.document-actions button{width:100%}}


/* v1.3.118 document settings redesign */
.doc-detail-panel{margin-top:6px;padding:18px 18px 16px;border-radius:22px;background:linear-gradient(180deg,#FCFDFE,#FFFFFF);border:1px solid #E3E8F0;box-shadow:0 10px 30px rgba(15,23,42,.04)}
.doc-detail-head-redesign{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.doc-detail-head-redesign h3{margin:0 0 6px;font-size:28px;line-height:1.05;font-weight:950;letter-spacing:-.03em;color:#0F172A}.doc-detail-head-redesign p{margin:0;max-width:760px;font-size:14px;line-height:1.6;color:#475467}.doc-detail-head-note{max-width:300px;padding:11px 13px;border-radius:16px;background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412;font-size:12.5px;line-height:1.5;font-weight:800}.doc-detail-explain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.doc-use-card{border:1px solid #E9EEF5;background:#F8FBFF;border-radius:18px;padding:13px 14px;display:flex;flex-direction:column;gap:6px}.doc-use-card b{font-size:15px;color:#0F172A}.doc-use-card span{font-size:12.8px;line-height:1.55;color:#667085}.doc-detail-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.doc-detail-tab{border:1px solid #E5EAF2;background:#FFF;color:#344054;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:900;transition:.15s}.doc-detail-tab:hover{border-color:#FDBA74;background:#FFF7ED;color:#9A3412}.doc-detail-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-color:transparent;color:#FFF;box-shadow:0 8px 20px rgba(249,115,22,.22)}.doc-detail-panes{position:relative}.doc-detail-pane{display:none;border:1px solid #EEF2F7;background:#FFF;border-radius:18px;padding:16px}.doc-detail-pane.active{display:block}.doc-pane-title{font-size:15px;font-weight:900;color:#101828;margin-bottom:12px}.doc-pane-grid{display:grid;grid-template-columns:1fr;gap:12px}.doc-pane-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-pane-grid label{margin:0}.doc-pane-grid .full{grid-column:1 / -1}.doc-pane-grid textarea{min-height:108px;resize:vertical}.doc-pane-grid #contractPaymentDetail{min-height:120px}.doc-pane-grid #acceptanceSummary,.doc-pane-grid #acceptanceConclusion,.doc-pane-grid #paymentBasis,.doc-pane-grid #paymentRequestText,.doc-pane-grid #contractLocation,.doc-pane-grid #contractSchedule,.doc-pane-grid #contractOtherClauses{min-height:110px}.doc-pane-grid input,.doc-pane-grid textarea{font-size:14px;line-height:1.45}.doc-pane-grid input::placeholder,.doc-pane-grid textarea::placeholder{font-size:13px;line-height:1.35;color:#98A2B3}@media(max-width:1220px){.doc-detail-explain{grid-template-columns:1fr}.doc-detail-head-redesign{flex-direction:column}.doc-detail-head-note{max-width:none}.doc-pane-grid.two-col{grid-template-columns:1fr}}


/* v1.3.119 asset previews + editable document preset */
.color-row{grid-template-columns:58px 1fr auto!important}.color-preset-btn{white-space:nowrap;height:42px}.asset-card img[hidden],.brand-preview img[hidden]{display:none!important}.asset-card img.empty-img{display:none!important}.asset-card{min-height:250px}.preset-panel{margin-top:18px}.preset-subtitle{margin:4px 0 0!important}.preset-form{margin-top:10px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preset-grid label{font-size:12px;color:#475467;font-weight:780;display:flex;flex-direction:column;gap:6px}.preset-grid label.full{grid-column:1/-1}.preset-grid textarea{min-height:132px;line-height:1.48;font-size:13.5px}.preset-help{margin-top:12px;border:1px solid #E8ECF3;background:#F8FAFC;border-radius:14px;padding:10px 12px;color:#667085;font-size:12.5px;line-height:1.55}.preset-help code{background:#FFF7ED;color:#9A3412;border:1px solid #FED7AA;border-radius:6px;padding:1px 5px;font-weight:800}@media(max-width:1100px){.preset-grid{grid-template-columns:1fr}.color-row{grid-template-columns:58px 1fr!important}.color-preset-btn{grid-column:1/-1;width:100%}}


/* v1.3.121 Cloudflare login + cloud backup/restore */
.cloud-panel{margin-top:16px;border-color:#DCE6F2;background:linear-gradient(180deg,#FFFFFF,#F8FBFF)}
.cloud-subtitle{margin:4px 0 0;max-width:760px}
.cloud-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #E2E8F0;background:#F8FAFC;color:#64748B;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900}
.cloud-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#94A3B8}
.cloud-badge.online{background:#ECFDF5;color:#047857;border-color:#A7F3D0}
.cloud-badge.online:before{background:#10B981}
.cloud-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:stretch}
.cloud-login-card,.cloud-sync-card{border:1px solid #E7ECF3;background:#FFF;border-radius:18px;padding:15px;box-shadow:0 10px 24px rgba(15,23,42,.035)}
.cloud-login-card label,.cloud-auth-grid label{font-size:12px;color:#475467;font-weight:820;display:flex;flex-direction:column;gap:7px}
.cloud-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.cloud-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cloud-actions.vertical{flex-direction:column;align-items:stretch}
.cloud-actions.vertical button{width:100%;justify-content:center}
.cloud-hint,.cloud-warning{font-size:12px;line-height:1.5;color:#667085;margin-top:11px;background:#F8FAFC;border:1px solid #EEF2F7;border-radius:12px;padding:10px}
.cloud-warning{background:#FFF7ED;border-color:#FED7AA;color:#9A3412;font-weight:700}
.cloud-account-box{border:1px solid #E7ECF3;background:linear-gradient(135deg,#0F172A,#172033);color:#FFF;border-radius:16px;padding:16px;margin-bottom:12px}
.cloud-account-box b{display:block;font-size:15px;font-weight:950}
.cloud-account-box span{display:block;margin-top:7px;color:#CBD5E1;font-size:13px;line-height:1.45}
.cloud-account-box small{display:block;margin-top:9px;color:#FDE68A;font-size:12px;line-height:1.45}
button:disabled{opacity:.48;cursor:not-allowed;transform:none!important;filter:none!important}
@media(max-width:1100px){.cloud-grid{grid-template-columns:1fr}.cloud-auth-grid{grid-template-columns:1fr}}


/* v1.3.123 Cloud account visible navigation */
.nav-cloud{border:1px dashed rgba(148,163,184,.28);background:rgba(255,255,255,.04)}
.nav-cloud span{color:var(--accent)}
.nav-cloud small{display:block;margin-top:2px;font-size:10px;color:#94a3b8;font-weight:800}
.cloud-intro-box{margin-bottom:14px;font-size:14px;line-height:1.6}
#view-cloud .cloud-panel{margin-top:14px}
#dashCloudLogin{min-height:44px}


/* v1.3.124 input UX + copy/paste polish */
input,textarea,select{user-select:text;-webkit-user-select:text;caret-color:var(--accent);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
input::selection,textarea::selection{background:rgba(240,90,26,.22)}
input[readonly],textarea[readonly],input:disabled,textarea:disabled,select:disabled{background:#F8FAFC;color:#667085;cursor:not-allowed}
.form-grid label:focus-within,.cloud-login-card label:focus-within,.preset-grid label:focus-within,.doc-pane-grid label:focus-within{color:#9A3412}
.panel-head{flex-wrap:wrap}.panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.content{scroll-behavior:smooth}.record-list,.content,.table-wrap{scrollbar-width:thin;scrollbar-color:#CBD5E1 transparent}.record-list::-webkit-scrollbar,.content::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{width:10px;height:10px}.record-list::-webkit-scrollbar-thumb,.content::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:999px;border:2px solid transparent;background-clip:content-box}.record-list::-webkit-scrollbar-thumb:hover,.content::-webkit-scrollbar-thumb:hover,.table-wrap::-webkit-scrollbar-thumb:hover{background:#94A3B8;background-clip:content-box}
.asset-card input[type=file]{background:#fff;min-height:44px}.asset-card input[type=file]::file-selector-button{border:0;border-radius:10px;background:#F2F4F7;color:#344054;font-weight:850;padding:8px 11px;margin-right:10px}.asset-card input[type=file]::file-selector-button:hover{background:#E5E7EB}.doc-card button,.cloud-actions button,.settings-actions button{min-height:42px}.document-doc-row button{min-height:34px}.keyboard-hint{display:inline-flex;gap:6px;align-items:center;border:1px solid #E2E8F0;background:#F8FAFC;color:#667085;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
@media(max-width:1180px){.two-col,.quote-layout{grid-template-columns:1fr}.list-panel{min-height:auto}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions select{flex:1;min-width:260px}.quote-bottom{grid-template-columns:1fr}.total-box{position:static}.asset-grid{grid-template-columns:1fr}.workflow,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.3.125 typography rebalance for quote/customer/provider sections */
.pdf-company h2{font-size:17px!important;line-height:1.16!important;font-weight:950!important;letter-spacing:.01em!important}.pdf-company .pdf-company-address{font-size:13px!important;line-height:1.48!important;font-weight:650!important;color:#2B2F38!important;margin:5px 0 0!important}.pdf-company .pdf-company-contact{font-size:12.5px!important;line-height:1.48!important;font-weight:560!important;color:#343A40!important;margin:4px 0 0!important}.pdf-party{gap:14px!important;margin:12px 0 14px!important}.pdf-box{padding:11px 13px!important;font-size:12.5px!important;line-height:1.66!important}.pdf-box-title{font-size:15px!important;line-height:1.3!important;font-weight:950!important;color:#111827!important;margin-bottom:8px!important;letter-spacing:.01em!important}.pdf-party-name{font-size:13.6px!important;line-height:1.42!important;font-weight:850!important;color:#111827!important;margin-bottom:4px!important;text-transform:uppercase}.pdf-party-line{font-size:12.45px!important;line-height:1.63!important;color:#20262F!important;margin:0 0 1px!important}.pdf-party-address{font-size:12.65px!important;line-height:1.66!important;font-weight:620!important;color:#1F2937!important}.pdf-k{font-weight:800!important;color:#111827!important}.pdf-meta{font-size:12.55px!important}.pdf-meta b{font-weight:850!important}.pdf-section{letter-spacing:.01em!important}.pdf-box,.pdf-company p,.pdf-meta,.pdf-desc,.pdf-terms,.pdf-table td,.pdf-table th{font-family:Arial,'Helvetica Neue',sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}


/* v1.3.126 quote list width optimization */
.quote-layout{grid-template-columns:minmax(240px,260px) minmax(0,1fr)!important;gap:16px!important}.quote-list-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quote-layout.quote-list-collapsed{grid-template-columns:minmax(178px,198px) minmax(0,1fr)!important}.quote-layout.quote-list-collapsed .list-panel{padding:16px 14px 18px!important}.quote-layout.quote-list-collapsed #quoteSearch{display:none}.quote-layout.quote-list-collapsed .panel-head h2{font-size:17px!important}.quote-layout.quote-list-collapsed .quote-record{padding:10px 10px!important;border-radius:14px!important}.quote-layout.quote-list-collapsed .quote-record.compact .record-main b{font-size:12.5px!important;line-height:1.35!important}.quote-layout.quote-list-collapsed .quote-record.compact .record-main span{font-size:11.3px!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-layout.quote-list-collapsed .record-actions{display:none!important}.quote-layout.quote-list-collapsed .record-list{gap:7px!important}.quote-layout .list-panel{transition:padding .18s ease}.quote-layout .record-item{transition:background .12s,border-color .12s,box-shadow .12s,padding .16s ease}.quote-layout .quote-editor{min-width:0}.quote-layout .quote-form{align-items:start}.hidden-by-collapse{display:none!important}@media (max-width:1180px){.quote-layout,.quote-layout.quote-list-collapsed{grid-template-columns:1fr!important}.quote-layout.quote-list-collapsed #quoteSearch{display:block}.quote-layout.quote-list-collapsed .record-actions{display:flex!important}}


/* v1.3.127 discount formatting + grouped quote items */
.items-table .item-section{min-width:185px}.items-table th:nth-child(2),.items-table td:nth-child(2){min-width:180px}.items-table th:nth-child(3),.items-table td:nth-child(3){min-width:240px}.items-table th:nth-child(4),.items-table td:nth-child(4){width:96px}.items-table th:nth-child(5),.items-table td:nth-child(5){width:78px}.items-table th:nth-child(6),.items-table td:nth-child(6){width:136px}.items-table th:nth-child(7),.items-table td:nth-child(7){width:136px}.items-table th:nth-child(8),.items-table td:nth-child(8){min-width:250px}.items-table textarea.item-note{min-width:240px;min-height:44px}.items-table .item-price{width:126px;text-align:right}.pdf-section-row td{background:#F8FAFC;border-top:1px solid #DDE5EE;border-bottom:1px solid #DDE5EE;padding:8px 10px!important}.pdf-section-row b{font-size:10.2px;letter-spacing:.01em;color:#1F2937}.pdf-item-note.standalone{margin-top:0;padding-top:0;border-top:0;color:#475467;font-size:9.5px;line-height:1.45;font-style:italic}.quote-form #discount{text-align:right;font-weight:800;letter-spacing:.01em}


/* v1.3.128 grouped tables for contract/BBNT + discount percent UX */
.quote-form #discountMode{font-weight:800}.items-actions #autoSectionBtn{background:#FFF7ED;color:#9A3412;border-color:#FDBA74}.tpl-acceptance-table .tpl-group td{background:#F1F5F9!important;color:#111827!important;font-weight:900;text-transform:uppercase}.tpl-acceptance-table th:nth-child(1){width:42px}.tpl-acceptance-table th:nth-child(7){width:150px}.tpl-appendix-table .tpl-total-row td,.tpl-acceptance-table .tpl-total-row td{background:#FAFAFA}.tpl-item-note.standalone{margin-top:0;font-size:11.2px;line-height:1.35;color:#444;font-style:italic}


/* v1.3.129 clearer collapse buttons + full hide left panel */
.panel-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reopen-list-btn.hidden{display:none!important}.panel.panel-collapsed>:not(.panel-head){display:none!important}.panel.panel-collapsed{padding-bottom:14px!important}.panel-collapse-btn{white-space:nowrap}.two-col.layout-left-hidden,.services-layout.layout-left-hidden,.quote-layout.layout-left-hidden{grid-template-columns:1fr!important}.two-col.layout-left-hidden>.list-panel,.services-layout.layout-left-hidden>.list-panel,.quote-layout.layout-left-hidden>.list-panel{display:none!important}.quote-list-head-actions #toggleQuoteListBtn{background:#f2f4f7!important;color:#344054!important;border-color:#e4e7ec!important}.quote-layout.layout-left-hidden .quote-editor,.two-col.layout-left-hidden .panel:not(.list-panel),.services-layout.layout-left-hidden .panel:not(.list-panel){min-width:0;width:100%}.reopen-list-btn{white-space:nowrap}.panel-head .small-btn,.panel-head .outline-btn,.panel-head .danger-btn{box-shadow:none}.view .panel-head{row-gap:8px}@media(max-width:1180px){.two-col.layout-left-hidden,.services-layout.layout-left-hidden,.quote-layout.layout-left-hidden{grid-template-columns:1fr!important}}


/* v1.3.130 compact document settings panel */
.doc-detail-panel{margin-top:10px!important;padding:0!important;overflow:hidden;border-radius:18px!important;background:#fff!important}.doc-detail-compact-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid #E4EAF2;border-radius:18px;background:linear-gradient(180deg,#FFFFFF,#FAFBFE)}.doc-detail-icon{width:38px;height:38px;border-radius:14px;background:#FFF7ED;border:1px solid #FDBA74;color:#C2410C;display:grid;place-items:center;font-weight:950}.doc-detail-summary-main h3{margin:0;font-size:16px;line-height:1.25;font-weight:950;color:#101828}.doc-detail-summary-main p{margin:4px 0 0;font-size:12.6px;line-height:1.45;color:#667085}.doc-detail-body{padding:14px 16px 16px;border:1px solid #E4EAF2;border-top:0;border-radius:0 0 18px 18px;background:#fff}.doc-detail-collapsed .doc-detail-body{display:none!important}.doc-detail-collapsed .doc-detail-compact-head{border-radius:18px}.doc-detail-note-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.doc-detail-note-row span{display:inline-flex;border-radius:999px;background:#F8FAFC;border:1px solid #E7ECF3;padding:7px 10px;font-size:12px;line-height:1.35;color:#475467;font-weight:750}.doc-detail-note-row span:first-child{background:#FFF7ED;border-color:#FED7AA;color:#9A3412}.doc-detail-panel .outline-btn{font-size:13px;font-weight:900;color:#9A3412;border-color:#FDBA74;background:#FFF7ED}.doc-detail-panel .outline-btn:hover{background:#FFEDD5}.doc-detail-open .doc-detail-compact-head{border-radius:18px 18px 0 0;background:#FFFDFB}.doc-pane-grid.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.doc-pane-grid textarea{min-height:88px!important}.doc-pane-grid #contractPaymentDetail{min-height:88px!important}.doc-pane-grid #contractLocation,.doc-pane-grid #contractSchedule,.doc-pane-grid #contractOtherClauses,.doc-pane-grid #acceptanceSummary,.doc-pane-grid #acceptanceConclusion,.doc-pane-grid #paymentBasis,.doc-pane-grid #paymentRequestText{min-height:92px!important}.panel-collapse-btn,.panel-head-actions .small-btn,.quote-list-head-actions .small-btn{font-weight:900!important;color:#344054!important;background:#F8FAFC!important;border-color:#D0D5DD!important}.panel-collapse-btn:hover,.panel-head-actions .small-btn:hover,.quote-list-head-actions .small-btn:hover{background:#FFF7ED!important;border-color:#FDBA74!important;color:#9A3412!important}@media(max-width:900px){.doc-detail-compact-head{grid-template-columns:auto 1fr}.doc-detail-compact-head #docDetailToggleBtn{grid-column:1/-1;width:100%}.doc-pane-grid.two-col{grid-template-columns:1fr}}


/* v1.3.131 robust document settings collapse + reopen controls */
#docDetailToggleBtn{min-width:138px;white-space:nowrap}.doc-detail-panel.doc-detail-collapsed .doc-detail-body{display:none!important}.doc-detail-panel.doc-detail-open .doc-detail-body{display:block!important}.layout-left-hidden .reopen-list-btn:not(.hidden){display:inline-flex!important}.panel-collapse-btn{min-width:105px}.quote-list-head-actions #toggleQuoteListBtn,.panel-head-actions .small-btn,#docDetailToggleBtn{opacity:1!important;filter:none!important}.doc-detail-compact-head{position:relative;z-index:2}.doc-detail-panel{overflow:visible!important}.doc-detail-panel.doc-detail-collapsed{overflow:hidden!important}


/* v1.3.133 QA stability pass: renderer guardrails, schema v8, collapse reliability */


/* v1.3.134 local data recovery + finder build helpers */
.local-recovery-panel{margin-top:14px;border:1px solid #E7ECF3;background:#FFF;border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.04)}
.local-recovery-panel.hidden{display:none!important}
.local-recovery-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.local-recovery-head b{display:block;font-size:15px;font-weight:950;color:#101828}
.local-recovery-head span{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:#667085}
.local-recovery-list{display:flex;flex-direction:column;gap:10px}
.local-candidate{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #E4E7EC;background:#F9FAFB;border-radius:16px;padding:12px}
.local-candidate.recommended{border-color:#FDBA74;background:#FFF7ED}
.local-candidate-main{min-width:0;display:flex;flex-direction:column;gap:4px}
.local-candidate-main b{font-size:14px;color:#101828}
.local-candidate-main span{font-size:11.5px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:700px}
.local-candidate-main small{font-size:12px;color:#475467;line-height:1.45}
.local-candidate .primary-btn{white-space:nowrap}
@media(max-width:900px){.local-candidate{align-items:stretch;flex-direction:column}.local-candidate-main span{max-width:100%}}


/* v1.3.135 no duplicate collapse buttons on list panels */
.list-panel .panel-collapse-btn{display:none!important}.quote-list-head-actions #toggleQuoteListBtn,.panel-head-actions #toggleCompaniesListBtn,.panel-head-actions #toggleCustomersListBtn,.panel-head-actions #toggleServicesListBtn{opacity:1!important;filter:none!important}


/* v1.3.136 fixed quote section titles */
.item-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:150px;padding:10px 12px;border-radius:14px;border:1px solid #E4E7EC;background:#F8FAFC;color:#344054;font-weight:800;font-size:13px;line-height:1.25;text-align:center}


/* v1.3.137 local data dismiss controls */
.local-recovery-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.local-candidate-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}
.local-candidate .ghost-btn{background:#fff;border:1px solid #D0D5DD;color:#475467;padding:11px 14px;border-radius:14px;font-weight:800;cursor:pointer;white-space:nowrap}
.local-candidate .ghost-btn:hover{border-color:#98A2B3;background:#F8FAFC}
@media(max-width:900px){.local-recovery-actions,.local-candidate-actions{justify-content:stretch}.local-candidate-actions button{width:100%}}


/* v1.3.138 local data notes + safe trash delete */
.local-candidate-note{margin-top:6px;padding:8px 10px;border-radius:12px;background:#EEF4FF;color:#344054;font-size:12.5px;font-weight:750;line-height:1.4}
.local-candidate-actions .danger-btn{padding:11px 14px;border-radius:14px;white-space:nowrap}


/* v1.3.139 grouped item editor rows */
.items-table .item-section-badge{display:none!important}
.items-table .item-section-title-row td{background:linear-gradient(180deg,#EAF4FF,#D7E8F8)!important;color:#111827!important;border-top:1px solid #C8D7E8!important;border-bottom:1px solid #C8D7E8!important;padding:16px 18px!important;text-align:left!important}
.items-table .item-section-title-row span{font-size:18px;font-weight:950;letter-spacing:.01em;text-transform:uppercase}
.items-table .item-empty-row td{text-align:center;color:#667085;padding:24px!important;font-weight:800}
.items-table th:nth-child(2),.items-table td:nth-child(2){min-width:280px}.items-table th:nth-child(3),.items-table td:nth-child(3){width:120px}.items-table th:nth-child(4),.items-table td:nth-child(4){width:78px}.items-table th:nth-child(5),.items-table td:nth-child(5){width:136px}.items-table th:nth-child(6),.items-table td:nth-child(6){width:136px}.items-table th:nth-child(7),.items-table td:nth-child(7){min-width:250px}


/* v1.3.142 company PDF controls */
#companyForm [name="watermarkOpacity"]{max-width:140px}

/* v1.3.143 quote creator presets + item days column */
.creator-select-action{display:grid!important;grid-template-columns:150px minmax(180px,1fr)!important;gap:8px!important}
.items-table .item-days{width:78px;text-align:right}
.items-table th:nth-child(2),.items-table td:nth-child(2){min-width:260px!important}
.items-table th:nth-child(5),.items-table td:nth-child(5){width:86px!important}
.items-table th:nth-child(6),.items-table td:nth-child(6){width:136px!important}
.items-table th:nth-child(7),.items-table td:nth-child(7){width:136px!important}
.items-table th:nth-child(8),.items-table td:nth-child(8){min-width:240px!important}


/* v1.3.144 multi-company workspace isolation */


/* v1.3.145 QA polish: workspace clarity */
.workspace-badge{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 16px;padding:12px 14px;border:1px solid #E4E7EC;border-radius:16px;background:#F8FAFC;color:#344054}
.workspace-badge b{font-size:13.5px;font-weight:950;color:#101828}
.workspace-badge span{font-size:12.5px;line-height:1.45;color:#667085;text-align:right}
.workspace-badge.warning{border-color:#FDBA74;background:#FFF7ED;color:#9A3412}
.workspace-badge.warning b,.workspace-badge.warning span{color:#9A3412}
@media(max-width:900px){.workspace-badge{align-items:flex-start;flex-direction:column}.workspace-badge span{text-align:left}}


/* v1.3.146 company-aware brand theme system */
:root{
  --accent-rgb:240,90,26;
  --accent-contrast:#FFFFFF;
  --accent-border:#FED7AA;
  --accent-strong:#9A3412;
}
body{
  background:
    radial-gradient(circle at 0 0, rgba(var(--accent-rgb),.13) 0, rgba(var(--accent-rgb),0) 34%),
    linear-gradient(135deg,#FBFCFF 0%,#F8FAFC 50%,#F1F5F9 100%)!important;
}
.brand-logo{background:linear-gradient(145deg,var(--accent),var(--accent-2))!important;box-shadow:0 12px 30px rgba(var(--accent-rgb),.28)!important}
.nav-item.active,.primary-btn,.doc-card button:first-child,.chip.active,.total-box .grand{
  background:linear-gradient(135deg,var(--accent),var(--accent-dark))!important;
  color:var(--accent-contrast)!important;
  border-color:var(--accent)!important;
}
.nav-item.active{box-shadow:0 12px 28px rgba(var(--accent-rgb),.25)!important}
.primary-btn{box-shadow:0 9px 22px rgba(var(--accent-rgb),.22)!important}
.outline-btn,.doc-card button{border-color:var(--accent)!important;color:var(--accent)!important}
.record-item.active,.document-record.active{border-color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 3px 0 0 var(--accent)!important}
.note-box,.pdf-desc{background:var(--accent-soft)!important;border-left-color:var(--accent)!important}
.hero-panel:after{background:radial-gradient(circle,var(--accent),transparent 65%)!important}
.eyebrow{color:var(--accent-soft-2)!important}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.16)!important}
.brand-preview i{background:linear-gradient(135deg,var(--accent),var(--accent-dark))!important;box-shadow:0 0 0 7px var(--accent-soft)!important}
.theme-preset-panel{grid-column:1/-1;border:1px solid var(--accent-border);background:linear-gradient(180deg,#fff,var(--accent-soft));border-radius:16px;padding:13px;margin:2px 0 4px}
.theme-preset-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.theme-preset-head b{font-size:13px;font-weight:950;color:#111827}
.theme-preset-head span{font-size:12px;color:#667085;line-height:1.45;max-width:640px}
.theme-preset-buttons{display:flex;flex-wrap:wrap;gap:8px}
.theme-preset-buttons button{border:1px solid #D0D5DD;background:#fff;color:#344054;border-radius:999px;padding:8px 11px;font-weight:850;display:inline-flex;align-items:center;gap:7px}
.theme-preset-buttons button:before{content:"";width:13px;height:13px;border-radius:50%;background:var(--preset);box-shadow:0 0 0 3px color-mix(in srgb,var(--preset) 18%,transparent)}
.theme-preset-buttons button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.10)}
.theme-preview-card{margin-top:10px;display:grid;grid-template-columns:auto 1fr 48px;gap:10px;align-items:center;border:1px solid rgba(var(--accent-rgb),.18);background:#fff;border-radius:14px;padding:10px 12px}
.theme-preview-card span{font-size:11px;font-weight:850;color:#667085;text-transform:uppercase;letter-spacing:.04em}
.theme-preview-card b{font-size:13px;color:#111827}
.theme-preview-card i{width:48px;height:26px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 0 0 4px var(--accent-soft)}
@media(max-width:900px){.theme-preset-head{flex-direction:column}.theme-preview-card{grid-template-columns:1fr 44px}.theme-preview-card span{grid-column:1/-1}}

/* v1.3.147 watermark opacity up to 80% + higher company stamp */
.pdf-stamp{top:14px!important;width:116px!important;opacity:.78!important}
#companyForm [name="watermarkOpacity"]{max-width:160px}

/* v1.3.148 QA final polish: per-company numbering, global PDF STT, consistent item days */
.items-table .item-days{min-width:76px}
.pdf-table th.c,.pdf-table td.c,.tpl-appendix-table td.c,.tpl-acceptance-table td.c{white-space:nowrap}

/* v1.3.151 clean logo previews: no checkerboard baked into app UI */
.brand-logo img,.brand-preview img,.asset-card img{
  background:transparent!important;
  background-image:none!important;
}
.logo-frame,.brand-logo,.brand-preview,.asset-card .transparent-bg{
  background-image:none!important;
}


/* v1.3.152 stronger PDF service names + higher company stamp */
.pdf-stamp{top:-6px!important;width:112px!important;opacity:.78!important}
.pdf-sign-name{z-index:3;background:rgba(255,255,255,.72)}
.pdf-table .pdf-item-name{font-size:11.6px!important;font-weight:950!important;color:#0F172A!important;letter-spacing:-.01em!important}
.pdf-table .pdf-section-row td{background:#EEF4FA!important;color:#101828!important;font-size:11.3px!important;font-weight:950!important;letter-spacing:.01em!important}
.pdf-table td{color:#111827!important}


/* v1.3.153 visible quote watermark + stamp without white box */
.pdf-watermark-table .quote-logo-watermark,.pdf-watermark-table .wm{
  width:370px!important;
  max-height:270px!important;
  filter:saturate(1.18) contrast(1.08)!important;
  mix-blend-mode:multiply!important;
}
.pdf-watermark-table .pdf-table td{
  background:rgba(255,255,255,.74)!important;
}
.pdf-watermark-table .pdf-table th{
  background:rgba(184,200,216,.92)!important;
}
.pdf-watermark-table .pdf-table .pdf-section-row td{
  background:rgba(238,244,250,.86)!important;
}
.pdf-stamp,.tpl-stamp,.payment-stamp{
  z-index:5!important;
  opacity:.64!important;
  mix-blend-mode:multiply!important;
  filter:saturate(1.28) contrast(1.12)!important;
  background:transparent!important;
}
.pdf-stamp{top:4px!important;width:118px!important;max-height:112px!important;object-fit:contain!important}
.pdf-sig,.tpl-sig,.payment-sig{z-index:4!important;position:absolute!important;opacity:.92!important}
.pdf-sign-title,.pdf-sign-note,.pdf-sign-name,.tpl-sign-box b,.tpl-sign-box span{
  position:relative;
  z-index:7!important;
  background:transparent!important;
  text-shadow:0 1px 3px rgba(255,255,255,.95),0 -1px 3px rgba(255,255,255,.95);
}
.pdf-sign-name{position:absolute!important;background:transparent!important}
.tpl-stamp{top:18px!important;width:140px!important;max-height:118px!important}
.payment-stamp{top:16px!important;width:150px!important;max-height:124px!important}

/* v1.3.154 stronger A/B/C group headers + contract number in acceptance */
.pdf-table .pdf-section-row td{
  background:linear-gradient(180deg,rgba(223,235,247,.98),rgba(207,224,241,.98))!important;
  border-top:2px solid #B8CBDD!important;
  border-bottom:2px solid #B8CBDD!important;
  padding:12px 14px!important;
}
.pdf-table .pdf-section-row b{
  display:block!important;
  font-size:14.6px!important;
  line-height:1.25!important;
  font-weight:1000!important;
  letter-spacing:.018em!important;
  color:#0F172A!important;
  text-transform:uppercase!important;
}
.tpl-appendix-table .tpl-group td,
.tpl-acceptance-table .tpl-group td{
  background:#D7E8F8!important;
  color:#0F172A!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:1000!important;
  letter-spacing:.018em!important;
  text-transform:uppercase!important;
  padding:8px 9px!important;
}
.tpl-acceptance-table .tpl-group td:first-child,
.tpl-appendix-table .tpl-group td:first-child{
  text-align:center!important;
  font-size:15px!important;
}
.tpl-contract-ref{
  text-align:center;
  font-size:15.5px;
  margin:-12px 0 18px!important;
}
.acceptance-template .tpl-subtitle{
  font-size:16px!important;
  margin:-24px 0 18px!important;
}

/* v1.3.155 asset auto-tune controls + remove legacy visual clutter */
.asset-grid-tuned .asset-card{gap:9px}
.asset-card small{display:block;color:#667085;font-size:11.5px;line-height:1.35;margin-top:2px}
.asset-auto-btn{width:100%;justify-content:center;font-size:12.5px;padding:8px 10px;border-radius:11px}
.sidebar-footer{gap:10px}

/* v1.3.156 BBNT group rows: no duplicated A/B/C cell, stronger single heading */
.tpl-acceptance-table .tpl-group td{
  text-align:left!important;
  font-size:15.4px!important;
  line-height:1.22!important;
  font-weight:1000!important;
  padding:10px 12px!important;
  background:#D7E8F8!important;
  color:#0B1220!important;
}

/* v1.3.166 BBNT authoritative layout: one clean rule set, service column starts at the left edge */
.tpl-acceptance-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  font-size:13.2px!important;
  line-height:1.22!important;
}
.tpl-acceptance-table col.bbnt-col-stt{width:4.5%!important}
.tpl-acceptance-table col.bbnt-col-service{width:50%!important}
.tpl-acceptance-table col.bbnt-col-unit{width:5.5%!important}
.tpl-acceptance-table col.bbnt-col-qty{width:5%!important}
.tpl-acceptance-table col.bbnt-col-days{width:5%!important}
.tpl-acceptance-table col.bbnt-col-price{width:8.5%!important}
.tpl-acceptance-table col.bbnt-col-total{width:9%!important}
.tpl-acceptance-table col.bbnt-col-note{width:12.5%!important}
.tpl-acceptance-table th,.tpl-acceptance-table td{
  border:1px solid #222!important;
  padding:5px 5px!important;
  vertical-align:top!important;
}
.tpl-acceptance-table th{font-weight:900!important;text-align:center!important}
.tpl-acceptance-table .c{text-align:center!important;white-space:nowrap!important}
.tpl-acceptance-table .r{text-align:right!important;white-space:nowrap!important}
.tpl-acceptance-table th.tpl-service-head,
.tpl-acceptance-table td.tpl-service-name{
  text-align:left!important;
  vertical-align:top!important;
  padding-left:0!important;
  padding-right:5px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-indent:0!important;
}
.tpl-acceptance-table th.tpl-service-head{padding-left:0!important}
.tpl-acceptance-table td.tpl-service-name .tpl-service-name-text{
  display:block!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  text-indent:0!important;
  transform:none!important;
  line-height:1.24!important;
  width:100%!important;
}
.tpl-acceptance-table td.tpl-note-cell{
  text-align:left!important;
  vertical-align:top!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  font-size:11.2px!important;
  line-height:1.25!important;
  padding-left:5px!important;
}

/* v1.3.167 BBNT final layout: service text is flush-left inside its own column */
.tpl-acceptance-table{
  table-layout:fixed!important;
  width:100%!important;
  border-collapse:collapse!important;
}
.tpl-acceptance-table col.bbnt-col-stt{width:4%!important}
.tpl-acceptance-table col.bbnt-col-service{width:52%!important}
.tpl-acceptance-table col.bbnt-col-unit{width:5.2%!important}
.tpl-acceptance-table col.bbnt-col-qty{width:5%!important}
.tpl-acceptance-table col.bbnt-col-days{width:5%!important}
.tpl-acceptance-table col.bbnt-col-price{width:8.3%!important}
.tpl-acceptance-table col.bbnt-col-total{width:9%!important}
.tpl-acceptance-table col.bbnt-col-note{width:11.5%!important}
.tpl-acceptance-table th.tpl-service-head,
.tpl-acceptance-table td.tpl-service-name{
  text-align:left!important;
  vertical-align:top!important;
  padding-left:0!important;
  padding-right:2px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-indent:0!important;
}
.tpl-acceptance-table th.tpl-service-head{
  padding:5px 2px 5px 0!important;
}
.tpl-acceptance-table td.tpl-service-name{
  padding:0 2px 0 0!important;
}
.tpl-acceptance-table td.tpl-service-name .tpl-service-name-box{
  display:block!important;
  margin:0!important;
  padding:5px 0 5px 0!important;
  text-align:left!important;
  text-indent:0!important;
  transform:none!important;
  line-height:1.22!important;
  width:100%!important;
}
.tpl-acceptance-table .tpl-acceptance-item-row td{
  vertical-align:top!important;
}


/* v1.3.168 BBNT rebuilt table: use a dedicated acceptance table, not the quote price table */
.tpl-acceptance-table-clean{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;margin:12px 0 10px!important;font-size:15.2px!important;line-height:1.25!important}
.tpl-acceptance-table-clean col.bbnt-clean-stt{width:5%!important}
.tpl-acceptance-table-clean col.bbnt-clean-service{width:58%!important}
.tpl-acceptance-table-clean col.bbnt-clean-unit{width:7%!important}
.tpl-acceptance-table-clean col.bbnt-clean-qty{width:8%!important}
.tpl-acceptance-table-clean col.bbnt-clean-days{width:8%!important}
.tpl-acceptance-table-clean col.bbnt-clean-status{width:14%!important}
.tpl-acceptance-table-clean th,.tpl-acceptance-table-clean td{border:1px solid #222!important;padding:7px 8px!important;vertical-align:top!important;background:#fff!important;color:#111!important;text-indent:0!important;box-sizing:border-box!important}
.tpl-acceptance-table-clean th{font-weight:900!important;text-align:center!important;font-size:15px!important;line-height:1.2!important}
.tpl-acceptance-table-clean th.tpl-acceptance-service-head{text-align:left!important;padding-left:8px!important}
.tpl-acceptance-table-clean td.tpl-acceptance-service{text-align:left!important;padding-left:8px!important;padding-right:10px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}
.tpl-acceptance-service-title{display:block!important;text-align:left!important;margin:0!important;padding:0!important;font-weight:800!important;line-height:1.24!important;white-space:normal!important;text-indent:0!important;transform:none!important}
.tpl-acceptance-service-note{display:block!important;margin:4px 0 0!important;padding:0!important;text-align:left!important;font-size:12px!important;line-height:1.32!important;color:#444!important;font-style:italic!important;font-weight:400!important;white-space:normal!important;text-indent:0!important}
.tpl-acceptance-table-clean .c{text-align:center!important;white-space:nowrap!important;vertical-align:top!important}
.tpl-acceptance-table-clean .tpl-acceptance-status{text-align:left!important;font-size:13px!important;line-height:1.25!important;color:#222!important;vertical-align:top!important;white-space:normal!important}
.tpl-acceptance-table-clean .tpl-acceptance-group td{background:#DDECFB!important;color:#111827!important;text-align:left!important;font-weight:900!important;text-transform:uppercase!important;font-size:16px!important;padding:9px 10px!important;letter-spacing:.1px!important}
.tpl-acceptance-value{margin:8px 0 18px!important;font-size:14.5px!important;text-align:right!important;line-height:1.35!important}

/* v1.3.169 local debt / payment management */
.payment-panel{border:1px solid color-mix(in srgb,var(--accent) 22%,#eef2f7);background:linear-gradient(180deg,#fff,var(--accent-soft));border-radius:18px;padding:14px 16px;margin-top:4px}
.payment-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.payment-panel-head b{display:block;font-size:15px;color:#101828}.payment-panel-head span{display:block;margin-top:3px;font-size:12px;color:#667085}.payment-balance{padding:8px 11px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:12px;white-space:nowrap}.payment-balance.paid{background:#ecfdf3;color:#027a48}.payment-balance.partial{background:#fff7ed;color:#b45309}.payment-balance.overdue{background:#fff1f0;color:#b42318}.payment-balance.cancelled{background:#f2f4f7;color:#667085}.payment-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px}.payment-grid .full{grid-column:1/-1}.payment-grid label{margin:0}.payment-mini{display:inline-flex!important;width:max-content;margin-top:7px;padding:5px 8px;border-radius:999px;font-style:normal!important;font-weight:850!important;font-size:11px;line-height:1.15}.payment-mini.unpaid{background:#f2f4f7;color:#475467}.payment-mini.partial{background:#fff7ed;color:#b45309}.payment-mini.paid{background:#ecfdf3;color:#027a48}.payment-mini.overdue{background:#fff1f0;color:#b42318}.payment-mini.cancelled{background:#f2f4f7;color:#667085}.debt-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff}.debt-hero h2{margin:4px 0 6px;font-size:24px}.debt-hero p{margin:0;color:#d0d5dd;max-width:760px}.debt-summary-grid{margin-top:16px}.debt-toolbar{align-items:flex-start}.debt-filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.debt-filters select{min-width:160px}.debt-filters .search{width:260px;margin:0}.debt-table{width:100%;border-collapse:separate;border-spacing:0 8px}.debt-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085;padding:0 10px 4px}.debt-table td{background:#fff;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;padding:12px 10px;vertical-align:middle}.debt-table td:first-child{border-left:1px solid #eef2f7;border-radius:14px 0 0 14px}.debt-table td:last-child{border-right:1px solid #eef2f7;border-radius:0 14px 14px 0}.debt-table .r{text-align:right;font-weight:850}.debt-table .paid{color:#027a48}.debt-table .debt{color:#b42318}.debt-job-cell b{display:block;color:#101828}.debt-job-cell span,.debt-job-cell em{display:block;color:#667085;font-size:12px;margin-top:3px}.payment-chip{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.payment-chip.unpaid{background:#f2f4f7;color:#475467}.payment-chip.partial{background:#fff7ed;color:#b45309}.payment-chip.paid{background:#ecfdf3;color:#027a48}.payment-chip.overdue{background:#fff1f0;color:#b42318}.payment-chip.cancelled{background:#f2f4f7;color:#667085}.stat.payment-stat b{color:#027a48}.stat.debt-stat b,.stat.overdue-stat b{color:#b42318}@media(max-width:900px){.payment-grid{grid-template-columns:1fr}.debt-hero{display:block}.debt-hero .primary-btn{margin-top:12px}.debt-filters{justify-content:flex-start}.debt-filters .search{width:100%}}

/* v1.3.171 stable quote item grouping: user controls A/B/C, no auto jump while typing */
.item-service-cell{min-width:270px;vertical-align:top}
.item-section-control{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:11px;font-weight:850;color:#667085}
.item-section-control select{height:30px;min-height:30px;padding:4px 8px;border-radius:9px;font-size:12px;font-weight:850;background:#fff;color:#344054;border:1px solid var(--line)}
.items-actions [data-add-section]{background:#fff7ed;color:#9a3412;border-color:#fdba74}

/* v1.3.172 authoritative quote PDF frame, watermark, stamp/signature layers */
.quote-template.pdf-page{
  padding:24px 28px 34px!important;
  background:#fff!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}
.quote-template .quote-frame{
  position:relative!important;
  z-index:1!important;
  min-height:1034px!important;
  border:1.6px solid #CBD5E1!important;
  border-radius:15px!important;
  padding:18px 20px 48px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px rgba(248,250,252,.92)!important;
  overflow:hidden!important;
}
.quote-template .pdf-content{
  position:relative!important;
  z-index:2!important;
}
.quote-template .pdf-header{
  border-bottom:2px solid #D0D9E6!important;
  margin-bottom:10px!important;
  padding-bottom:14px!important;
}
.quote-template .pdf-header img{
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  width:124px!important;
  height:70px!important;
  object-fit:contain!important;
}
.quote-template .pdf-title{
  border:1px solid #D7E0EA!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#EEF3F8,#DDE7F1)!important;
}
.quote-template .pdf-watermark-table{
  position:relative!important;
  isolation:isolate!important;
  border:1.15px solid #D4DCE8!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.quote-template .pdf-watermark-table .quote-logo-watermark,
.quote-template .pdf-watermark-table .wm{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:430px!important;
  max-width:78%!important;
  max-height:330px!important;
  object-fit:contain!important;
  z-index:0!important;
  pointer-events:none!important;
  filter:saturate(1.22) contrast(1.12)!important;
  mix-blend-mode:multiply!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}
.quote-template .pdf-watermark-table .pdf-table{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  border-collapse:collapse!important;
}
.quote-template .pdf-watermark-table .pdf-table th{
  background:rgba(223,231,240,.94)!important;
  border-color:#C5D0DE!important;
  color:#1F2937!important;
}
.quote-template .pdf-watermark-table .pdf-table td{
  background:rgba(255,255,255,.68)!important;
  border-color:#D2DAE6!important;
}
.quote-template .pdf-watermark-table .pdf-table .pdf-section-row td{
  background:rgba(221,236,251,.84)!important;
  border-top:1.8px solid #B8CBDD!important;
  border-bottom:1.8px solid #B8CBDD!important;
}
.quote-template .pdf-total{
  border:1.2px solid #CDD6E3!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
}
.quote-template .pdf-sign{
  border-top:1px solid #E3E8F0!important;
  padding-top:18px!important;
  margin-top:26px!important;
}
.pdf-sign-box,.tpl-sign-box,.payment-sign{
  isolation:isolate!important;
}
.doc-stamp-img,
.pdf-stamp,
.tpl-stamp,
.payment-stamp{
  background:transparent!important;
  mix-blend-mode:multiply!important;
  opacity:.70!important;
  filter:saturate(1.35) contrast(1.18)!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
  z-index:5!important;
}
.quote-template .pdf-stamp{
  top:18px!important;
  width:136px!important;
  max-height:128px!important;
  object-fit:contain!important;
}
.quote-template .pdf-sig{
  top:30px!important;
  width:132px!important;
  max-height:78px!important;
  object-fit:contain!important;
  opacity:.92!important;
  z-index:4!important;
}
.pdf-sign-title,.pdf-sign-note,.pdf-sign-name,
.tpl-sign-box b,.tpl-sign-box span,.payment-sign b{
  position:relative;
  z-index:8!important;
  background:transparent!important;
  text-shadow:0 1px 3px rgba(255,255,255,.98),0 -1px 3px rgba(255,255,255,.98),1px 0 3px rgba(255,255,255,.92),-1px 0 3px rgba(255,255,255,.92)!important;
}
.pdf-sign-name{
  position:absolute!important;
  background:rgba(255,255,255,.18)!important;
}
.tpl-stamp{top:14px!important;width:148px!important;max-height:126px!important;object-fit:contain!important}
.tpl-sig{top:34px!important;width:132px!important;max-height:76px!important;object-fit:contain!important;z-index:4!important}
.payment-stamp{top:14px!important;width:158px!important;max-height:132px!important;object-fit:contain!important}
.payment-sig{top:36px!important;width:142px!important;max-height:78px!important;object-fit:contain!important;z-index:4!important}

/* v1.3.173 advanced debt module: month, write-off, undo write-off, charts */
.debt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}.debt-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:900;color:#344054}.debt-tabs button.active{background:var(--accent);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(var(--accent-rgb),.18)}.debt-filter-panel{margin-bottom:12px}.debt-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.writtenoff-stat b{color:#7c3aed}.payment-balance.writtenoff{background:#f4f3ff;color:#5925dc}.payment-mini.writtenoff,.payment-chip.writtenoff{background:#f4f3ff;color:#5925dc}.debt-table .writtenoff{color:#5925dc}.debt-actions{display:flex;gap:6px;flex-wrap:wrap}.mini-action.warning{border-color:#fedf89;background:#fffbeb;color:#b54708}.debt-overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.debt-overview-cards>div{border:1px solid #eef2f7;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);padding:14px}.debt-overview-cards span,.debt-month-card span{display:block;color:#667085;font-size:12px}.debt-overview-cards b{display:block;margin-top:5px;font-size:24px;color:#101828}.debt-overview-cards small{display:block;margin-top:5px;color:#667085}.debt-overview-cards i{display:block;height:8px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,var(--accent) var(--bar),#eef2f7 var(--bar));}.debt-month-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.debt-month-card{border:1px solid #eef2f7;border-radius:14px;background:#fff;padding:12px}.debt-month-card b{display:block;font-size:16px;margin-bottom:8px;color:#101828}.debt-chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.debt-chart-block{border:1px solid #eef2f7;border-radius:16px;background:#fff;padding:14px}.debt-chart-block h3{margin:0 0 12px;font-size:15px}.debt-chart-row{display:grid;grid-template-columns:76px 1fr 112px;gap:10px;align-items:center;margin:8px 0;font-size:12px}.debt-bar{height:12px;border-radius:999px;background:#eef2f7;overflow:hidden;display:flex}.debt-bar i{display:block;height:100%}.debt-bar .paid{background:#12b76a}.debt-bar .debt{background:#f04438}.debt-bar .off{background:#7c3aed}.debt-chart-row b{text-align:right;font-size:12px}@media(max-width:1100px){.debt-summary-grid,.debt-overview-cards,.debt-month-breakdown,.debt-chart{grid-template-columns:1fr}.debt-chart-row{grid-template-columns:64px 1fr 90px}}

/* v1.3.174 refined debt dashboard + BBNT header spacing */
.debt-panel[data-debt-pane="chart"]{background:linear-gradient(180deg,#ffffff,#fbfdff)!important;border-color:#e6edf5!important;box-shadow:0 18px 46px rgba(15,23,42,.06)!important}
.debt-chart{display:block!important}.debt-chart-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.debt-chart-kpi{border:1px solid #e6edf5;border-radius:18px;padding:15px 16px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.045)}.debt-chart-kpi span{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#667085}.debt-chart-kpi b{display:block;margin-top:8px;font-size:23px;line-height:1.1;color:#101828}.debt-chart-kpi small{display:block;margin-top:8px;font-size:12px;color:#667085}.debt-chart-kpi.revenue{background:linear-gradient(135deg,#eff6ff,#fff)}.debt-chart-kpi.paid{background:linear-gradient(135deg,#ecfdf3,#fff)}.debt-chart-kpi.debt{background:linear-gradient(135deg,#fff7ed,#fff)}.debt-chart-kpi.overdue{background:linear-gradient(135deg,#fff1f0,#fff)}.debt-chart-kpi.paid b{color:#027a48}.debt-chart-kpi.debt b{color:#b45309}.debt-chart-kpi.overdue b{color:#b42318}.debt-chart-grid-main{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(280px,.78fr);gap:14px}.debt-chart-grid-sub{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.debt-visual-card{border:1px solid #e6edf5;border-radius:20px;background:#fff;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.045);min-width:0}.debt-visual-card.wide{min-height:356px}.debt-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.debt-visual-head h3{margin:0;font-size:16px;font-weight:950;color:#101828}.debt-visual-head span{font-size:12px;color:#667085;font-weight:750}.debt-stacked-chart{height:260px;display:flex;gap:18px;align-items:flex-end;border-left:1px dashed #d9e2ef;border-bottom:1px solid #d9e2ef;padding:16px 12px 0;overflow-x:auto}.debt-stack-col{min-width:72px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}.debt-stack-bar{height:190px;width:38px;border-radius:12px 12px 6px 6px;background:#f2f4f7;display:flex;flex-direction:column-reverse;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}.debt-stack-bar i{display:block;width:100%;min-height:0}.debt-stack-bar .paid{background:linear-gradient(180deg,#32d583,#12b76a)}.debt-stack-bar .debt{background:linear-gradient(180deg,#fdb022,#f79009)}.debt-stack-bar .overdue{background:linear-gradient(180deg,#f97066,#f04438)}.debt-stack-bar .off{background:linear-gradient(180deg,#9e77ed,#7f56d9)}.debt-stack-col b{font-size:11px;color:#344054;white-space:nowrap}.debt-stack-col span{font-size:10px;color:#667085;white-space:nowrap}.debt-chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:12px;font-weight:850;color:#475467}.debt-chart-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.debt-chart-legend .paid:before{background:#12b76a}.debt-chart-legend .debt:before{background:#f79009}.debt-chart-legend .overdue:before{background:#f04438}.debt-chart-legend .off:before{background:#7f56d9}.debt-ratio-ring{width:180px;height:180px;margin:12px auto 18px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#12b76a 0 calc(var(--paid)*1%),#f79009 calc(var(--paid)*1%) calc((var(--paid) + var(--debt))*1%),#7f56d9 calc((var(--paid) + var(--debt))*1%) calc((var(--paid) + var(--debt) + var(--off))*1%),#eef2f7 0)}.debt-ratio-ring:after{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eef2f7}.debt-ratio-ring b,.debt-ratio-ring span{position:relative;z-index:1;text-align:center}.debt-ratio-ring b{display:block;font-size:26px;color:#027a48}.debt-ratio-ring span{display:block;margin-top:34px;font-size:12px;color:#667085;font-weight:850}.debt-ratio-list{display:grid;gap:8px}.debt-ratio-list span{display:flex;justify-content:space-between;gap:12px;border:1px solid #eef2f7;border-radius:12px;padding:9px 10px;color:#475467;font-size:12px}.debt-ratio-list b{color:#101828}.debt-rank-list,.debt-aging-list{display:grid;gap:10px}.debt-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) 140px 104px;gap:10px;align-items:center}.debt-rank-row em{width:24px;height:24px;border-radius:999px;background:#f2f4f7;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;color:#344054}.debt-rank-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#344054;font-size:13px;font-weight:760}.debt-rank-row i,.debt-aging-row i{height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;display:block}.debt-rank-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e90fa,#175cd3)}.debt-rank-row strong,.debt-aging-row strong{font-size:12px;text-align:right;color:#101828}.debt-aging-row{display:grid;grid-template-columns:96px minmax(0,1fr) 104px;gap:10px;align-items:center}.debt-aging-row span{font-size:13px;color:#344054;font-weight:760}.debt-aging-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fdb022,#f04438)}.debt-table-wrap{overflow:auto}.debt-table{min-width:1120px}.debt-money-cell b,.debt-date-cell b{display:block;font-size:13px;color:#101828;white-space:nowrap}.debt-money-cell span,.debt-date-cell span,.debt-progress-cell span{display:block;margin-top:4px;font-size:11px;color:#667085;white-space:nowrap}.debt-money-cell.writtenoff b{color:#5925dc}.debt-money-cell.debt b{color:#b42318}.debt-progress-cell{min-width:176px}.debt-progress-line{height:9px;border-radius:999px;background:#eef2f7;overflow:hidden;display:flex}.debt-progress-line i{display:block;height:100%}.debt-progress-line .paid{background:#12b76a}.debt-progress-line .off{background:#7f56d9}.debt-date-cell span{color:#b42318}.tpl-acceptance-table-clean col.bbnt-clean-stt{width:6.5%!important}.tpl-acceptance-table-clean col.bbnt-clean-service{width:55.5%!important}.tpl-acceptance-table-clean col.bbnt-clean-unit{width:7%!important}.tpl-acceptance-table-clean col.bbnt-clean-qty{width:8%!important}.tpl-acceptance-table-clean col.bbnt-clean-days{width:8%!important}.tpl-acceptance-table-clean col.bbnt-clean-status{width:15%!important}.tpl-acceptance-table-clean th{padding:12px 12px!important;line-height:1.28!important;vertical-align:middle!important;white-space:normal!important}.tpl-acceptance-table-clean th:first-child{padding-left:10px!important;padding-right:10px!important;text-align:center!important}.tpl-acceptance-table-clean th.tpl-acceptance-service-head{padding-left:16px!important;padding-right:16px!important;text-align:left!important}.tpl-acceptance-table-clean td.tpl-acceptance-service{padding-left:16px!important;padding-right:14px!important}.tpl-acceptance-table-clean .tpl-acceptance-item-row td{padding-top:9px!important;padding-bottom:9px!important}
@media(max-width:1200px){.debt-chart-kpis,.debt-chart-grid-main,.debt-chart-grid-sub{grid-template-columns:1fr}.debt-stacked-chart{height:240px}.debt-rank-row{grid-template-columns:28px minmax(0,1fr) 110px 100px}}

/* v1.3.175 final BBNT header spacing: stop STT / Hạng mục text from touching column borders */
.tpl-acceptance-table-clean{
  table-layout:fixed!important;
  border-collapse:collapse!important;
  width:100%!important;
}
.tpl-acceptance-table-clean col.bbnt-clean-stt{width:9%!important}
.tpl-acceptance-table-clean col.bbnt-clean-service{width:51%!important}
.tpl-acceptance-table-clean col.bbnt-clean-unit{width:7%!important}
.tpl-acceptance-table-clean col.bbnt-clean-qty{width:8%!important}
.tpl-acceptance-table-clean col.bbnt-clean-days{width:8%!important}
.tpl-acceptance-table-clean col.bbnt-clean-status{width:17%!important}
.tpl-acceptance-table-clean th,
.tpl-acceptance-table-clean td{
  box-sizing:border-box!important;
  border:1px solid #222!important;
  vertical-align:top!important;
  overflow:visible!important;
}
.tpl-acceptance-table-clean thead th{
  font-size:14.2px!important;
  line-height:1.24!important;
  padding:11px 9px!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.tpl-acceptance-table-clean thead th > span{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.tpl-acceptance-table-clean th.tpl-acceptance-stt-head{
  padding-left:12px!important;
  padding-right:12px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.tpl-acceptance-table-clean th.tpl-acceptance-service-head{
  padding-left:24px!important;
  padding-right:18px!important;
  text-align:left!important;
}
.tpl-acceptance-table-clean th.tpl-acceptance-service-head > span{
  padding-left:0!important;
  text-align:left!important;
}
.tpl-acceptance-table-clean td.tpl-acceptance-service{
  padding-left:24px!important;
  padding-right:18px!important;
  text-align:left!important;
  vertical-align:top!important;
}
.tpl-acceptance-table-clean td.tpl-acceptance-stt,
.tpl-acceptance-table-clean td.c{
  text-align:center!important;
  vertical-align:top!important;
}
.tpl-acceptance-table-clean .tpl-acceptance-group td{
  padding-left:24px!important;
  padding-right:18px!important;
}

/* v1.3.176 debt UX cleanup: lean tabs, overview dashboard, stable ratio ring, company drilldown */
.debt-tabs-lean{gap:10px!important;margin:14px 0 12px!important}
.debt-tabs-lean button{padding:11px 18px!important;font-size:14px!important;box-shadow:0 8px 20px rgba(15,23,42,.035)}
.debt-chart-overview{margin-top:14px!important}
.debt-month-inline{margin-top:14px!important}
.debt-ratio-ring{isolation:isolate!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.debt-ratio-ring:after{z-index:0!important;inset:34px!important}
.debt-ratio-center{position:relative!important;z-index:2!important;width:112px!important;height:112px!important;border-radius:999px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:#fff!important;box-shadow:inset 0 0 0 1px #eef2f7!important;padding:0 8px!important}
.debt-ratio-center b{display:block!important;font-size:28px!important;line-height:1!important;color:#027a48!important;margin:0!important;position:static!important}
.debt-ratio-center span{display:block!important;margin:7px 0 0!important;font-size:11px!important;line-height:1.2!important;color:#667085!important;font-weight:900!important;position:static!important}
.debt-company-visual{margin-top:14px!important}
.debt-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.debt-company-card{width:100%;text-align:left;border:1px solid #e6edf5;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:16px;padding:13px 14px;cursor:pointer;transition:.14s;box-shadow:0 8px 20px rgba(15,23,42,.035)}
.debt-company-card:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 12px 28px rgba(var(--accent-rgb),.10)}
.debt-company-card b{display:block;color:#101828;font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.debt-company-card span,.debt-company-card small{display:block;margin-top:6px;color:#667085;font-size:12px;line-height:1.35}
.debt-company-card i{display:flex;width:var(--w);max-width:100%;min-width:36px;height:10px;border-radius:999px;background:#eef2f7;overflow:hidden;margin-top:10px;box-shadow:0 0 0 1px rgba(15,23,42,.03) inset}
.debt-company-card em{display:block;height:100%;font-style:normal}.debt-company-card em.paid{background:#12b76a}.debt-company-card em.debt{background:#f79009}
@media(max-width:1100px){.debt-company-grid{grid-template-columns:1fr}.debt-ratio-center{width:104px!important;height:104px!important}.debt-ratio-ring:after{inset:32px!important}}

/* v1.3.177 quotes safe landing + clearer debt company context */
.quote-editor.quote-editor-idle .workspace-badge,
.quote-editor.quote-editor-idle .quote-form,
.quote-editor.quote-editor-idle .items-section,
.quote-editor.quote-editor-idle .quote-bottom,
.quote-editor.quote-editor-idle .doc-actions,
.quote-editor.quote-editor-idle .document-create-panel,
.quote-editor.quote-editor-idle .total-box,
.quote-editor.quote-editor-idle #itemsBody,
.quote-editor.quote-editor-idle #docDetailPanel,
.quote-editor.quote-editor-idle #quotePaymentPanel{display:none!important}
.quote-landing-panel{display:block;padding:2px 0 6px}.quote-landing-panel:empty{display:none}.quote-landing-hero{border:1px solid var(--line-soft);background:linear-gradient(135deg,#fff,var(--accent-soft));border-radius:20px;padding:20px 22px;margin-bottom:16px}.quote-landing-hero h3{margin:5px 0 7px;font-size:25px;line-height:1.15;color:var(--text)}.quote-landing-hero p{margin:0;color:var(--muted);font-weight:700;line-height:1.45}.quote-company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:12px 0}.quote-company-card{border:1px solid var(--line-soft);background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(16,24,40,.055);cursor:pointer;transition:.14s}.quote-company-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 30px rgba(var(--accent-rgb),.11)}.quote-company-card.active{border-color:var(--accent);background:linear-gradient(180deg,#fff,var(--accent-soft));box-shadow:inset 4px 0 0 var(--accent),0 14px 30px rgba(var(--accent-rgb),.11)}.quote-company-card b{display:block;font-size:17px;color:var(--text);margin-bottom:5px}.quote-company-card span,.quote-company-card small{display:block;color:var(--muted);font-weight:750;line-height:1.35}.quote-company-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.quote-company-actions .mini-primary{padding:8px 12px;border-radius:11px;font-size:13px}.debt-company-cell{min-width:150px}.debt-company-cell b{display:block;font-size:13px;color:var(--text);font-weight:900;line-height:1.25}.debt-company-cell span{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:750}.debt-writtenoff-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px}.debt-writtenoff-note b{white-space:nowrap;color:var(--text)}.debt-writtenoff-note span{color:var(--muted);font-weight:700;line-height:1.45}
.quote-editor.quote-editor-idle > :not(.panel-head):not(#quoteLandingPanel){display:none!important}
.quote-editor.quote-editor-idle > #quoteLandingPanel{display:block!important}


/* v1.3.178 list-first directory editors */
.record-empty-state{min-height:320px;border:1px dashed #d9e2ef;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 28px;color:#667085;gap:10px}
.record-empty-state .empty-icon{width:46px;height:46px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-size:24px;font-weight:900;box-shadow:0 8px 20px rgba(var(--accent-rgb),.10)}
.record-empty-state b{font-size:20px;color:#111827;font-weight:950}.record-empty-state p{max-width:560px;margin:0;line-height:1.55;font-size:14px}.record-empty-state span{margin-top:4px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid #e4e7ec;color:#475467;font-size:12px;font-weight:850}

/* v1.3.179 job attachments and full local dossier */
.job-attachments-panel{margin-top:16px;border:1px solid var(--line-soft);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:14px;box-shadow:0 12px 28px rgba(16,24,40,.045)}
.job-file-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.job-file-head b{display:block;font-size:15px;font-weight:950;color:#101828}.job-file-head span{display:block;margin-top:3px;color:#667085;font-size:12px;line-height:1.4}.job-profile-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.job-profile-summary div{border:1px solid #e4e7ec;background:#fff;border-radius:14px;padding:10px 11px;min-width:0}.job-profile-summary span{display:block;font-size:11px;font-weight:850;text-transform:uppercase;color:#667085;margin-bottom:5px}.job-profile-summary b{font-size:13px;font-weight:950;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-profile-summary b.paid{color:#067647}.job-profile-summary b.debt{color:#c2410c}.attachment-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attachment-type-card{border:1px solid #edf2f7;background:#fff;border-radius:16px;padding:11px}.attachment-type-card.has-file{border-color:#bbf7d0;background:linear-gradient(180deg,#fff,#f0fdf4)}.attachment-type-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.attachment-type-title b{display:block;font-size:13px;font-weight:950;color:#111827}.attachment-type-title span{display:block;margin-top:2px;font-size:11px;line-height:1.35;color:#667085}.attachment-files{margin-top:8px;display:grid;gap:6px}.attachment-file-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #eef2f7;border-radius:12px;background:#fff;padding:8px 9px}.attachment-file-row b{display:block;font-size:12px;font-weight:900;color:#101828;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-file-row span{display:block;margin-top:2px;font-size:11px;color:#667085}.attachment-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mini-action.danger{border-color:#fda29b;background:#fff1f0;color:#b42318}.muted.small{font-size:12px;margin:3px 0;color:#667085}@media(max-width:1280px){.job-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-type-grid{grid-template-columns:1fr}}

/* v1.3.180 focused list-only editors + dedicated job file vault */
.two-col.editor-closed,
.services-layout.editor-closed{
  grid-template-columns:1fr!important;
}
.two-col.editor-closed>.list-panel,
.services-layout.editor-closed>.list-panel{
  width:100%;
  min-height:auto;
}
.two-col.editor-closed .record-list,
.services-layout.editor-closed .record-list{
  max-height:calc(100vh - 250px);
}
.panel[hidden]{display:none!important}
.job-files-view{display:grid;grid-template-columns:minmax(360px,430px) minmax(0,1fr);gap:18px;align-items:start}
.job-files-picker,.job-files-detail{min-height:calc(100vh - 170px)}
.job-files-filter-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;margin-bottom:12px}.job-files-filter-row .search{margin-bottom:0}.job-file-record{display:flex!important;align-items:center;justify-content:space-between;gap:14px}.job-file-record .record-main em{display:inline-flex;width:max-content;margin-top:8px;border:1px solid #E2E8F0;background:#F8FAFC;border-radius:999px;padding:5px 8px;color:#475467;font-size:11px;font-weight:900;font-style:normal}.job-file-record.active .record-main em{border-color:#FDBA74;background:#FFF7ED;color:#C2410C}.job-files-detail .job-attachments-panel{margin-top:0;border-radius:20px;padding:16px}.job-files-workspace{min-height:420px}.job-files-empty-state{min-height:420px;border:1px dashed #d9e2ef;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px;color:#667085}.job-files-empty-state b{font-size:22px;line-height:1.25;color:#101828;font-weight:950}.job-files-empty-state p{max-width:560px;margin:10px auto 0;line-height:1.6;font-weight:720}.job-files-detail.job-files-empty{background:linear-gradient(180deg,#fff,#fbfdff)}#view-documents .document-record{padding:14px 15px!important;border-radius:17px!important}.job-files-view .attachment-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-files-view .job-profile-summary b{font-size:14px}@media(max-width:1250px){.job-files-view{grid-template-columns:1fr}.job-files-picker,.job-files-detail{min-height:auto}.job-files-view .attachment-type-grid{grid-template-columns:1fr}.job-files-filter-row{grid-template-columns:1fr}}
.job-generated-docs{border:1px solid #E6EDF5;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:20px;padding:15px;margin-bottom:14px}.job-generated-docs>div:first-child b{display:block;font-size:15px;font-weight:950;color:#101828}.job-generated-docs>div:first-child span{display:block;margin-top:4px;color:#667085;font-size:12px;line-height:1.45}.job-generated-doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.job-generated-doc-grid section{border:1px solid #EEF2F7;background:#fff;border-radius:14px;padding:11px}.job-generated-doc-grid section>b{display:block;font-size:13px;color:#101828;font-weight:950}.job-generated-doc-grid section>span{display:block;margin-top:4px;font-size:11px;color:#667085}.job-generated-doc-grid p{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}.job-files-attachment-mount{margin-top:0}@media(max-width:1250px){.job-generated-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.job-generated-doc-grid{grid-template-columns:1fr}}


/* v1.3.182 job dossier quick filters + clearer local file vault status */
.job-files-quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 13px}.quick-filter{border:1px solid #E2E8F0;background:#fff;color:#475467;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(16,24,40,.04)}.quick-filter:hover{border-color:#FDBA74;color:#C2410C;background:#FFF7ED}.quick-filter.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 10px 22px rgba(var(--accent-rgb),.22)}.job-file-status-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.job-status-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #E2E8F0;background:#F8FAFC;color:#475467;padding:5px 8px;font-size:11px;font-weight:950;line-height:1}.job-status-chip.ready,.job-status-chip.paid{border-color:#A7F3D0;background:#ECFDF5;color:#047857}.job-status-chip.missing,.job-status-chip.debt{border-color:#FDBA74;background:#FFF7ED;color:#C2410C}.job-profile-summary.expanded{grid-template-columns:1.15fr .85fr 1fr 1fr .85fr}.job-profile-summary small{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:#667085;font-weight:760}.job-files-detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.job-files-detail-actions .outline-btn{white-space:nowrap}@media(max-width:1450px){.job-profile-summary.expanded{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.job-profile-summary.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.job-files-detail-actions{justify-content:flex-start}}@media(max-width:620px){.job-profile-summary.expanded{grid-template-columns:1fr}.job-files-quick-filters{gap:6px}.quick-filter{font-size:11.5px;padding:7px 9px}}

/* v1.3.184 route restore + safe directory collapse */
#toggleCompaniesListBtn[hidden],
#toggleCustomersListBtn[hidden],
#toggleServicesListBtn[hidden]{display:none!important}
#toggleCompaniesListBtn:disabled,
#toggleCustomersListBtn:disabled,
#toggleServicesListBtn:disabled{opacity:.55;cursor:not-allowed}

/* v1.3.185 job dossier long names + debt customer drilldown clarity */
.job-files-detail .panel-head{align-items:flex-start!important}
.job-files-detail .panel-head>div:first-child{min-width:0;flex:1}
#jobFilesTitle{overflow-wrap:anywhere;line-height:1.15}
#jobFilesSubtitle{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:normal;max-width:100%;line-height:1.45}
.job-files-view .record-main{min-width:0;flex:1}
.job-files-view .record-main span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.45}
.job-files-view .record-actions{flex-shrink:0}
.job-files-view .job-profile-summary b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.25;display:block}
.job-files-view .job-profile-summary .summary-long{grid-column:span 2}
@media(max-width:900px){.job-files-view .job-profile-summary .summary-long{grid-column:span 1}}
.debt-tabs-explained{align-items:stretch!important;margin-bottom:6px!important}
.debt-tabs-explained button{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;border-radius:18px!important;min-width:170px;text-align:left}
.debt-tabs-explained button b{display:block;font-size:14px;line-height:1.15}
.debt-tabs-explained button small{display:block;font-size:11px;line-height:1.25;font-weight:800;color:#667085}
.debt-tabs-explained button.active small{color:rgba(255,255,255,.86)}
.debt-tabs-help{margin:0 0 12px;color:#667085;font-size:13px;font-weight:750;line-height:1.45}
.debt-customer-visual .debt-visual-head h3{overflow-wrap:anywhere}
.debt-customer-card b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35;overflow-wrap:anywhere}
.empty-table-cell{text-align:center!important;padding:26px!important;color:#667085!important;font-weight:850!important;background:#fbfdff!important}

/* v1.3.186 debt workflow: no delete-debt action, payment + no-collect states */
.debt-actions .mini-action[data-record-payment]{border-color:#bbf7d0;background:#f0fdf4;color:#047857}
.debt-actions .mini-action[data-record-payment]:hover{border-color:#12b76a;background:#ecfdf3;color:#027a48}
.debt-actions .mini-action[data-mark-no-collect]{border-color:#fedf89;background:#fffbeb;color:#b54708}
.debt-actions .mini-action[data-restore-no-collect]{border-color:#d6bbfb;background:#f4f3ff;color:#5925dc}
#view-debt .debt-filter-panel .panel-head{align-items:center}
#view-debt .debt-filter-panel .debt-filters{flex:1}

/* v1.3.187 structured job evidence folders + true receivable percentage bars */
.debt-rank-row.true-rate strong{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.1}
.debt-rank-row.true-rate strong small{display:block;font-size:10px;color:#667085;font-weight:900}
.debt-rank-row.true-rate i b{background:linear-gradient(90deg,#fdb022,#f79009)}
.debt-customer-card i{width:100%!important;min-width:0!important}
.debt-customer-card small{font-weight:760}
.job-files-view .job-file-head b{font-size:18px}
.job-files-view .job-file-head span{font-size:13px;overflow-wrap:anywhere}

/* v1.3.188 debt customer picker: no search-field hijack, easier customer switching */
#view-debt .debt-toolbar{flex-wrap:wrap!important;align-items:flex-start!important}
#view-debt .debt-filter-panel .debt-filters{flex:1 1 720px!important;justify-content:flex-end!important}
.debt-active-filter{flex:0 0 100%;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #eef2f7;color:#475467;font-size:12px;font-weight:850;line-height:1.35}
.debt-active-filter.hidden{display:none!important}
.debt-active-filter b{color:#101828;font-weight:950;overflow-wrap:anywhere}
.debt-active-filter button{border:1px solid #fed7aa;background:#fff7ed;color:#c2410c;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}
.debt-active-filter button:hover{border-color:var(--accent);background:var(--accent-soft)}
.debt-customer-card.active,.debt-rank-button.active{border-color:var(--accent)!important;background:linear-gradient(180deg,#fff,var(--accent-soft))!important;box-shadow:inset 4px 0 0 var(--accent),0 14px 28px rgba(var(--accent-rgb),.11)!important}
.debt-rank-button{width:100%;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;font:inherit}
.debt-rank-button:hover span{color:var(--accent)}
@media(max-width:900px){#view-debt .debt-filter-panel .debt-filters{justify-content:flex-start!important}.debt-active-filter{justify-content:flex-start;align-items:flex-start;flex-direction:column}}


/* v1.3.189 debt root-cause fix + modal payment + job notes + cloud trial cleanup */
.modal-backdrop{position:fixed;inset:0;z-index:999;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(6px)}
.modal-backdrop.hidden{display:none!important}.modal-card{width:min(620px,100%);background:#fff;border:1px solid #e4e7ec;border-radius:24px;box-shadow:0 24px 80px rgba(15,23,42,.22);padding:20px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.modal-head h2{margin:0;font-size:24px}.modal-head p{margin:4px 0 0}.modal-head .ghost-btn{width:38px;height:38px;border-radius:999px;font-size:22px;line-height:1}.debt-modal-remaining{margin:0 0 14px;padding:10px 12px;border-radius:14px;background:#fff7ed;color:#9a3412;font-weight:850}.debt-modal-form{display:grid;grid-template-columns:1fr 180px;gap:12px}.debt-modal-form .full,.modal-actions.full{grid-column:1/-1}.debt-modal-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:900;color:#475467}.debt-modal-form input,.debt-modal-form textarea{border:1px solid #d0d5dd;border-radius:14px;padding:12px 13px;font:inherit;background:#fff}.debt-modal-form textarea{min-height:92px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.payment-history{margin-top:14px;border-top:1px solid #eef2f7;padding-top:13px}.payment-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.payment-history-head b{font-size:14px;color:#101828}.payment-history-head span{font-size:12px;color:#667085}.payment-history-list{display:grid;gap:8px}.payment-history-row{border:1px solid #eef2f7;border-radius:14px;padding:10px 12px;background:#fff;display:grid;grid-template-columns:130px 1fr;gap:8px;align-items:start}.payment-history-row b{color:#101828}.payment-history-row span{color:#475467;font-weight:800}.payment-history-row small{grid-column:2;color:#667085}.payment-history-row.payment{border-left:4px solid #12b76a}.payment-history-row.no_collect{border-left:4px solid #f97316}.payment-history-row.restore_no_collect{border-left:4px solid #3b82f6}.small-muted{font-size:12px}.job-note-card,.job-debt-history-card{margin-top:14px;border:1px solid #eef2f7;border-radius:18px;background:#fff;padding:14px}.job-note-card textarea{width:100%;min-height:92px;border:1px solid #d0d5dd;border-radius:14px;padding:12px 13px;font:inherit;resize:vertical}.job-note-actions{display:flex;justify-content:flex-end;margin-top:10px}@media(max-width:780px){.debt-modal-form{grid-template-columns:1fr}.payment-history-row{grid-template-columns:1fr}.payment-history-row small{grid-column:1}}

/* v1.3.190 fix root-cause: job evidence list card must own its layout, not inherit generic record/document flex rules */
#view-documents .job-files-picker{
  min-width:0;
}
#view-documents #documentsList{
  gap:12px!important;
  overflow:auto;
  padding-right:6px;
}
#view-documents .job-file-record{
  display:block!important;
  align-items:initial!important;
  justify-content:initial!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  padding:0!important;
  border-radius:18px!important;
  background:#fff;
}
#view-documents .job-file-record.active{
  background:var(--accent-soft)!important;
  border-color:var(--accent)!important;
  box-shadow:inset 4px 0 0 var(--accent),0 10px 24px rgba(249,115,22,.08)!important;
}
#view-documents .job-file-record-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  width:100%;
  min-width:0;
  padding:14px 15px;
}
#view-documents .job-file-record-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:visible!important;
}
#view-documents .job-file-record-title{
  display:block!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.22!important;
  letter-spacing:-.02em;
  color:#101828;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
}
#view-documents .job-file-record-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 0;
  color:#667085;
  font-size:13.5px;
  line-height:1.45;
  min-width:0;
  overflow:visible!important;
}
#view-documents .job-file-record-meta span{
  display:inline!important;
  margin:0!important;
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
}
#view-documents .job-file-record-meta span:not(:last-child)::after{
  content:' · ';
  color:#98A2B3;
  white-space:pre;
}
#view-documents .job-file-record .job-file-status-row{
  margin:0!important;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
#view-documents .job-file-record-note{
  display:inline-flex!important;
  width:max-content;
  max-width:100%;
  margin:0!important;
  border:1px solid #E2E8F0;
  background:#F8FAFC;
  border-radius:999px;
  padding:6px 9px;
  color:#475467;
  font-size:11.5px;
  font-weight:900;
  font-style:normal;
  line-height:1.25;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
#view-documents .job-file-record.active .job-file-record-note{
  border-color:#FDBA74;
  background:#FFF7ED;
  color:#C2410C;
}
#view-documents .job-file-record-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:stretch;
  justify-content:flex-start;
  width:142px;
  flex:0 0 142px;
}
#view-documents .job-file-record-actions .mini-action{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border-radius:12px;
  font-size:13px;
  line-height:1.1;
  white-space:nowrap;
}
@media(max-width:1450px){
  #view-documents .job-files-view{grid-template-columns:minmax(390px,520px) minmax(0,1fr)}
}
@media(max-width:1250px){
  #view-documents .job-files-view{grid-template-columns:1fr!important}
  #view-documents .job-file-record-body{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:760px){
  #view-documents .job-file-record-body{grid-template-columns:1fr;gap:11px}
  #view-documents .job-file-record-actions{width:100%;flex:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  #view-documents .job-file-record-actions .mini-action{white-space:normal}
}
@media(max-width:520px){
  #view-documents .job-file-record-actions{grid-template-columns:1fr}
}

/* v1.3.192 compact job evidence UI + combined debt customer/search box */
#view-debt .debt-filter-panel .debt-filters{display:grid!important;grid-template-columns:minmax(190px,260px) minmax(150px,190px) minmax(150px,190px) minmax(170px,220px) minmax(260px,1fr)!important;gap:10px!important;align-items:center!important;justify-content:stretch!important}
#view-debt .debt-filter-panel .debt-filters select,
#view-debt .debt-filter-panel .debt-filters input{width:100%!important;min-width:0!important}
#view-debt .debt-combo-search{min-width:260px!important;border-color:#d0d5dd!important}
#view-debt .debt-combo-search:focus{border-color:var(--accent)!important;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.10)!important}
@media(max-width:1300px){#view-debt .debt-filter-panel .debt-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){#view-debt .debt-filter-panel .debt-filters{grid-template-columns:1fr!important}.debt-active-filter{align-items:flex-start;justify-content:flex-start;flex-direction:column}}

#view-documents .job-files-view{grid-template-columns:minmax(320px,390px) minmax(0,1fr)!important;gap:14px!important}
#view-documents .job-files-picker,
#view-documents .job-files-detail{min-height:calc(100vh - 160px)}
#view-documents .job-files-filter-row{grid-template-columns:145px minmax(0,1fr)!important;gap:8px!important;margin-bottom:9px!important}
#view-documents .job-files-quick-filters{gap:6px!important;margin-bottom:10px!important}
#view-documents .quick-filter{font-size:11px!important;padding:6px 9px!important;box-shadow:none!important}
#view-documents #documentsList{gap:9px!important;padding-right:4px!important}
#view-documents .job-file-record{border-radius:15px!important}
#view-documents .job-file-record-body{padding:10px 11px!important;gap:9px!important;grid-template-columns:minmax(0,1fr) 108px!important}
#view-documents .job-file-record-title{font-size:15px!important;line-height:1.18!important;letter-spacing:-.015em!important}
#view-documents .job-file-record-meta{font-size:12px!important;line-height:1.33!important;gap:2px 0!important}
#view-documents .job-file-record .job-file-status-row{gap:5px!important;margin-top:1px!important}
#view-documents .job-status-chip{font-size:10px!important;padding:4px 7px!important;line-height:1.05!important}
#view-documents .job-file-record-note{font-size:10px!important;padding:4px 7px!important;line-height:1.15!important;border-radius:10px!important;width:auto!important}
#view-documents .job-file-record-actions{width:108px!important;flex-basis:108px!important;gap:6px!important}
#view-documents .job-file-record-actions .mini-action{min-height:30px!important;padding:6px 8px!important;border-radius:10px!important;font-size:11.5px!important;line-height:1.05!important}
#view-documents .job-files-detail .panel-head{gap:10px!important;margin-bottom:10px!important}
#view-documents .job-file-head{margin-bottom:9px!important}
#view-documents .job-file-head b{font-size:14px!important;line-height:1.2!important}
#view-documents .job-file-head span{font-size:11px!important;line-height:1.35!important}
#view-documents .job-generated-docs{padding:11px!important;border-radius:16px!important;margin-bottom:10px!important}
#view-documents .job-generated-doc-grid{gap:7px!important;margin-top:9px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
#view-documents .job-generated-doc-grid section{padding:8px!important;border-radius:12px!important}
#view-documents .job-generated-doc-grid section>b{font-size:12px!important}
#view-documents .job-generated-doc-grid section>span{font-size:10.5px!important}
#view-documents .job-profile-summary{gap:7px!important;margin-bottom:10px!important}
#view-documents .job-profile-summary div{padding:8px 9px!important;border-radius:12px!important}
#view-documents .job-profile-summary span{font-size:10px!important;margin-bottom:3px!important}
#view-documents .job-profile-summary b{font-size:12px!important;line-height:1.2!important}
#view-documents .job-profile-summary small{font-size:10px!important;line-height:1.25!important}
#view-documents .job-attachments-panel{padding:12px!important;border-radius:16px!important}
#view-documents .attachment-type-grid{gap:8px!important}
#view-documents .attachment-type-card{padding:9px!important;border-radius:13px!important}
#view-documents .attachment-type-title b{font-size:12px!important}
#view-documents .attachment-type-title span{font-size:10.5px!important;line-height:1.3!important}
#view-documents .attachment-file-row{padding:6px 7px!important;border-radius:10px!important}
#view-documents .attachment-file-row b{font-size:11px!important;max-width:220px!important}
#view-documents .attachment-file-row span{font-size:10px!important}
@media(max-width:1450px){#view-documents .job-files-view{grid-template-columns:minmax(320px,390px) minmax(0,1fr)!important}}
@media(max-width:1250px){#view-documents .job-files-view{grid-template-columns:1fr!important}#view-documents .job-file-record-body{grid-template-columns:minmax(0,1fr) 108px!important}#view-documents .job-generated-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){#view-documents .job-file-record-body{grid-template-columns:1fr!important}#view-documents .job-file-record-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}#view-documents .job-files-filter-row{grid-template-columns:1fr!important}}
@media(max-width:560px){#view-documents .job-file-record-actions{grid-template-columns:1fr!important}#view-documents .job-generated-doc-grid{grid-template-columns:1fr!important}}


/* v1.3.193 full UI audit polish: denser debt screen + cleaner job dossier cards */
#view-debt .debt-hero{
  padding:16px 18px!important;
  border-radius:20px!important;
  margin-bottom:12px!important;
  background:linear-gradient(135deg,#fff7ed,#ffffff)!important;
  box-shadow:0 14px 36px rgba(15,23,42,.05)!important;
}
#view-debt .debt-hero .eyebrow{font-size:11px!important;letter-spacing:.10em!important;margin-bottom:6px!important;color:#b45309!important}
#view-debt .debt-hero h2{font-size:22px!important;line-height:1.18!important;letter-spacing:-.035em!important;margin:0!important;max-width:760px!important}
#view-debt .debt-hero p{font-size:12.5px!important;line-height:1.4!important;margin:6px 0 0!important;max-width:740px!important}
#view-debt .debt-hero .primary-btn{min-height:38px!important;padding:9px 13px!important;border-radius:12px!important;font-size:13px!important}
#view-debt .debt-tabs-lean{gap:7px!important;margin:10px 0 8px!important}
#view-debt .debt-tabs-explained button{min-width:138px!important;padding:8px 12px!important;border-radius:14px!important;gap:2px!important;box-shadow:0 6px 15px rgba(15,23,42,.035)!important}
#view-debt .debt-tabs-explained button b{font-size:12.5px!important;line-height:1.12!important}
#view-debt .debt-tabs-explained button small{font-size:9.8px!important;line-height:1.18!important}
#view-debt .debt-tabs-help{font-size:11.5px!important;margin:0 0 8px!important;line-height:1.35!important;color:#667085!important}
#view-debt .debt-panel{border-radius:18px!important;padding:14px!important;margin-bottom:12px!important;box-shadow:0 10px 28px rgba(15,23,42,.04)!important}
#view-debt .debt-filter-panel{padding:12px 14px!important}
#view-debt .debt-filter-panel .panel-head{gap:12px!important;margin-bottom:0!important;align-items:center!important}
#view-debt .debt-filter-panel h2{font-size:16px!important;letter-spacing:-.02em!important;white-space:nowrap!important}
#view-debt .debt-filter-panel .debt-filters{grid-template-columns:minmax(150px,210px) minmax(130px,170px) minmax(130px,170px) minmax(145px,190px) minmax(230px,1fr)!important;gap:8px!important}
#view-debt .debt-filter-panel select,
#view-debt .debt-filter-panel input{min-height:38px!important;padding:8px 11px!important;border-radius:13px!important;font-size:12.5px!important;font-weight:760!important}
#view-debt .debt-combo-search{min-width:220px!important}
#view-debt .debt-active-filter{font-size:11.5px!important;margin-top:8px!important;padding-top:8px!important}
#view-debt .debt-active-filter button{font-size:11px!important;padding:6px 9px!important}
#view-debt .debt-summary-grid{gap:9px!important;margin-bottom:12px!important}
#view-debt .debt-summary-grid .stat{padding:12px 13px!important;border-radius:16px!important;min-height:72px!important}
#view-debt .debt-summary-grid .stat span{font-size:10.5px!important;letter-spacing:.04em!important}
#view-debt .debt-summary-grid .stat b{font-size:18px!important;line-height:1.08!important;margin-top:6px!important}
#view-debt .panel-head h2{font-size:18px!important;letter-spacing:-.025em!important}
#view-debt .panel-head .save-status{font-size:11.5px!important;line-height:1.3!important;max-width:560px!important}
#view-debt .debt-overview-cards{gap:9px!important;margin-bottom:10px!important}
#view-debt .debt-overview-cards>div{padding:10px 11px!important;border-radius:14px!important}
#view-debt .debt-overview-cards span{font-size:10.8px!important}
#view-debt .debt-overview-cards b{font-size:18px!important;margin-top:4px!important}
#view-debt .debt-overview-cards small{font-size:10.5px!important;margin-top:4px!important}
#view-debt .debt-chart-overview{margin-top:10px!important}
#view-debt .debt-chart-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin-bottom:10px!important}
#view-debt .debt-chart-kpi{padding:11px 12px!important;border-radius:15px!important;box-shadow:none!important}
#view-debt .debt-chart-kpi span{font-size:10.5px!important;letter-spacing:.045em!important}
#view-debt .debt-chart-kpi b{font-size:18px!important;margin-top:6px!important}
#view-debt .debt-chart-kpi small{font-size:10.5px!important;margin-top:5px!important}
#view-debt .debt-chart-grid-main{grid-template-columns:minmax(0,1.45fr) minmax(260px,.82fr)!important;gap:10px!important}
#view-debt .debt-chart-grid-sub{gap:10px!important;margin-top:10px!important}
#view-debt .debt-visual-card{padding:12px!important;border-radius:16px!important;box-shadow:none!important}
#view-debt .debt-visual-card.wide{min-height:300px!important}
#view-debt .debt-visual-head{margin-bottom:10px!important;gap:8px!important}
#view-debt .debt-visual-head h3{font-size:14px!important;line-height:1.2!important}
#view-debt .debt-visual-head span{font-size:10.8px!important;line-height:1.25!important;text-align:right!important}
#view-debt .debt-stacked-chart{height:210px!important;gap:12px!important;padding:10px 8px 0!important}
#view-debt .debt-stack-col{min-width:58px!important;gap:5px!important}
#view-debt .debt-stack-bar{height:155px!important;width:30px!important;border-radius:10px 10px 5px 5px!important}
#view-debt .debt-stack-col b{font-size:9.8px!important}
#view-debt .debt-stack-col span{font-size:9.2px!important}
#view-debt .debt-chart-legend{font-size:10.5px!important;gap:10px!important;margin-top:9px!important}
#view-debt .debt-ratio-ring{width:136px!important;height:136px!important;margin:4px auto 12px!important}
#view-debt .debt-ratio-ring:after{inset:24px!important}
#view-debt .debt-ratio-center{width:86px!important;height:86px!important}
#view-debt .debt-ratio-center b{font-size:21px!important}
#view-debt .debt-ratio-center span{font-size:9.8px!important;margin-top:5px!important}
#view-debt .debt-ratio-list{gap:6px!important}
#view-debt .debt-ratio-list span{padding:7px 8px!important;font-size:10.8px!important;border-radius:10px!important}
#view-debt .debt-rank-list,
#view-debt .debt-aging-list{gap:7px!important}
#view-debt .debt-rank-row{grid-template-columns:22px minmax(0,1fr) 100px 88px!important;gap:7px!important}
#view-debt .debt-rank-row em{width:20px!important;height:20px!important;font-size:9.5px!important}
#view-debt .debt-rank-row span,
#view-debt .debt-aging-row span{font-size:11px!important;line-height:1.25!important}
#view-debt .debt-rank-row strong,
#view-debt .debt-aging-row strong{font-size:10.5px!important}
#view-debt .debt-rank-row i,
#view-debt .debt-aging-row i{height:8px!important}
#view-debt .debt-aging-row{grid-template-columns:76px minmax(0,1fr) 88px!important;gap:7px!important}
#view-debt .debt-month-breakdown{gap:8px!important;margin-top:10px!important}
#view-debt .debt-month-card{padding:9px!important;border-radius:12px!important}
#view-debt .debt-month-card b{font-size:12.5px!important;margin-bottom:5px!important}
#view-debt .debt-month-card span{font-size:10.5px!important;line-height:1.4!important}
#view-debt .debt-table-wrap{border-radius:16px!important;border:1px solid #edf2f7!important;overflow:auto!important}
#view-debt .debt-table{min-width:990px!important;border-collapse:separate!important;border-spacing:0!important}
#view-debt .debt-table th{font-size:10.5px!important;letter-spacing:.055em!important;padding:9px 10px!important;color:#667085!important;line-height:1.15!important;background:#fbfdff!important}
#view-debt .debt-table td{padding:10px!important;font-size:12px!important;vertical-align:middle!important;line-height:1.25!important}
#view-debt .debt-company-cell{min-width:118px!important;max-width:160px!important}
#view-debt .debt-company-cell b{font-size:11.5px!important;line-height:1.22!important;white-space:normal!important;overflow-wrap:anywhere!important}
#view-debt .debt-company-cell span{font-size:10px!important;margin-top:3px!important;line-height:1.15!important}
#view-debt .debt-job-cell{min-width:200px!important;max-width:280px!important}
#view-debt .debt-job-cell b{font-size:12px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
#view-debt .debt-job-cell span,
#view-debt .debt-job-cell em{font-size:10.5px!important;line-height:1.2!important}
#view-debt .debt-money-cell b,
#view-debt .debt-date-cell b{font-size:12px!important;line-height:1.18!important}
#view-debt .debt-money-cell span,
#view-debt .debt-date-cell span,
#view-debt .debt-progress-cell span{font-size:10px!important;margin-top:3px!important;white-space:normal!important;line-height:1.2!important}
#view-debt .debt-progress-cell{min-width:132px!important;max-width:160px!important}
#view-debt .debt-progress-line{height:7px!important}
#view-debt .payment-chip{font-size:10.5px!important;padding:6px 8px!important;border-radius:999px!important;white-space:nowrap!important}
#view-debt .debt-actions{gap:5px!important;justify-content:flex-start!important;min-width:98px!important;max-width:112px!important}
#view-debt .debt-actions .mini-action{min-height:28px!important;padding:6px 8px!important;border-radius:9px!important;font-size:10.8px!important;line-height:1.05!important;box-shadow:none!important;width:100%!important}
#view-debt .note-box{font-size:11.5px!important;line-height:1.4!important;padding:10px 12px!important;border-radius:13px!important;margin-top:10px!important}
#view-debt .debt-writtenoff-note{gap:8px!important;align-items:center!important;margin-bottom:10px!important}
#view-debt .empty-table-cell{font-size:12px!important;padding:18px!important}
#view-debt .modal-card{border-radius:20px!important;padding:16px!important}
#view-debt .modal-head h2{font-size:20px!important;line-height:1.2!important}
#view-debt .debt-modal-remaining{font-size:12px!important;padding:8px 10px!important;border-radius:12px!important}
#view-debt .debt-modal-form label{font-size:11px!important;gap:5px!important}
#view-debt .debt-modal-form input,
#view-debt .debt-modal-form textarea{font-size:13px!important;padding:10px 11px!important;border-radius:12px!important}

#view-documents .job-files-view{grid-template-columns:minmax(310px,370px) minmax(0,1fr)!important;gap:12px!important}
#view-documents .job-files-picker,
#view-documents .job-files-detail{min-height:calc(100vh - 150px)!important}
#view-documents .job-files-picker.panel,
#view-documents .job-files-detail.panel{border-radius:20px!important;padding:14px!important;box-shadow:0 12px 30px rgba(15,23,42,.045)!important}
#view-documents .job-files-filter-row{grid-template-columns:132px minmax(0,1fr)!important;gap:7px!important;margin-bottom:8px!important}
#view-documents .job-files-filter-row select,
#view-documents .job-files-filter-row input{min-height:36px!important;border-radius:12px!important;font-size:12px!important;padding:8px 10px!important}
#view-documents .job-files-quick-filters{gap:5px!important;margin-bottom:8px!important}
#view-documents .quick-filter{font-size:10.5px!important;padding:5px 8px!important;border-radius:12px!important}
#view-documents #documentsList{gap:7px!important;padding-right:3px!important}
#view-documents .job-file-record{border-radius:14px!important;border-color:#edf2f7!important;box-shadow:none!important}
#view-documents .job-file-record.active{box-shadow:inset 3px 0 0 var(--accent)!important}
#view-documents .job-file-record-body{padding:9px 10px!important;gap:8px!important;grid-template-columns:minmax(0,1fr) 86px!important}
#view-documents .job-file-record-main{gap:5px!important}
#view-documents .job-file-record-title{font-size:13.4px!important;line-height:1.18!important;letter-spacing:-.012em!important}
#view-documents .job-file-record-customer{font-size:11.3px!important;line-height:1.25!important;color:#344054!important;font-weight:850!important;overflow-wrap:anywhere!important}
#view-documents .job-file-record-meta{font-size:10.5px!important;line-height:1.25!important;gap:1px 0!important;color:#667085!important}
#view-documents .job-file-record-money{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:1px!important}
#view-documents .job-file-record-money span{display:inline-flex!important;gap:3px!important;align-items:center!important;border:1px solid #eef2f7!important;background:#fbfdff!important;border-radius:999px!important;padding:3px 6px!important;font-size:10px!important;line-height:1.05!important;color:#667085!important;font-weight:800!important}
#view-documents .job-file-record-money b{font-size:10.5px!important;color:#101828!important;font-weight:950!important}
#view-documents .job-file-record .job-file-status-row{gap:4px!important;margin-top:1px!important}
#view-documents .job-status-chip{font-size:9.6px!important;padding:3px 6px!important;border-radius:999px!important}
#view-documents .job-file-record-note{font-size:9.8px!important;padding:3px 6px!important;line-height:1.12!important;border-radius:8px!important;max-width:100%!important}
#view-documents .job-file-record-actions{width:86px!important;flex-basis:86px!important;gap:5px!important}
#view-documents .job-file-record-actions .mini-action{min-height:26px!important;padding:5px 6px!important;border-radius:8px!important;font-size:10.5px!important;line-height:1!important}
#view-documents .job-files-detail .panel-head h2{font-size:17px!important;line-height:1.2!important}
#view-documents .job-files-detail .panel-head span{font-size:11px!important;line-height:1.3!important}
#view-documents .job-files-detail-actions .outline-btn{min-height:34px!important;border-radius:10px!important;font-size:11.5px!important;padding:7px 9px!important}
#view-documents .job-generated-docs{padding:10px!important;border-radius:14px!important;margin-bottom:9px!important}
#view-documents .job-generated-docs>div:first-child b{font-size:13px!important}
#view-documents .job-generated-docs>div:first-child span{font-size:10.5px!important;line-height:1.3!important;margin-top:2px!important}
#view-documents .job-generated-doc-grid{gap:6px!important;margin-top:8px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
#view-documents .job-generated-doc-grid section{padding:7px!important;border-radius:10px!important}
#view-documents .job-generated-doc-grid section>b{font-size:11px!important;line-height:1.15!important}
#view-documents .job-generated-doc-grid section>span{font-size:9.8px!important;margin-top:3px!important}
#view-documents .job-generated-doc-grid p{gap:4px!important;margin-top:7px!important}
#view-documents .job-generated-doc-grid .mini-action{min-height:26px!important;font-size:10px!important;padding:5px 7px!important;border-radius:8px!important}
#view-documents .job-note-card,
#view-documents .job-debt-history-card{padding:10px!important;border-radius:14px!important;margin-top:9px!important}
#view-documents .payment-history-head{margin-bottom:7px!important}
#view-documents .payment-history-head b{font-size:12.5px!important}
#view-documents .payment-history-head span{font-size:10.5px!important;line-height:1.3!important}
#view-documents .job-note-card textarea{min-height:66px!important;font-size:12px!important;border-radius:10px!important;padding:9px 10px!important}
#view-documents .payment-history-row{padding:8px!important;border-radius:10px!important;grid-template-columns:105px 1fr!important;gap:5px!important;font-size:11px!important}
@media(max-width:1280px){#view-debt .debt-chart-kpis,#view-debt .debt-chart-grid-main,#view-debt .debt-chart-grid-sub{grid-template-columns:1fr!important}#view-debt .debt-filter-panel .debt-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}#view-documents .job-generated-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){#view-debt .debt-filter-panel .debt-filters{grid-template-columns:1fr!important}#view-debt .debt-chart-kpis{grid-template-columns:1fr!important}#view-documents .job-files-view{grid-template-columns:1fr!important}#view-documents .job-file-record-body{grid-template-columns:1fr!important}#view-documents .job-file-record-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}#view-documents .job-files-filter-row{grid-template-columns:1fr!important}}

/* 1.3.195 - Quote landing CTA fix: make opening old dossiers visibly reveal the quote list. */
#quoteLayout .list-panel.focus-pulse{
  outline:2px solid rgba(var(--accent-rgb),.45);
  box-shadow:0 0 0 6px rgba(var(--accent-rgb),.09),0 14px 34px rgba(16,24,40,.08);
}
.quote-company-actions .small-btn[data-quote-company-open]{
  min-width:128px;
  justify-content:center;
}

/* Cloudflare Backup local-first */
.cloud-badge.error{background:#FEF2F2;color:#B42318;border-color:#FECDCA}
.cloud-badge.error:before{background:#F04438}
.cloud-badge.syncing{background:#EFF6FF;color:#1D4ED8;border-color:#BFDBFE}
.cloud-badge.syncing:before{background:#3B82F6;box-shadow:0 0 0 4px rgba(59,130,246,.12)}
.cloud-toggle-row{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:10px 12px;border:1px solid #E7ECF3;border-radius:12px;background:#F8FAFC;color:#344054;font-size:12px;font-weight:900;cursor:pointer}
.cloud-toggle-row input{width:16px;height:16px;accent-color:var(--accent)}
#view-cloud .cloud-account-box small{word-break:break-word}

/* 1.3.198: Chứng từ được quản lý riêng trong Hồ sơ job, không hiện trong Báo giá. */
.quote-attachments-hidden,
#view-quotes #quoteAttachmentsPanel {
  display: none !important;
}


/* v1.3.200 Hồ sơ job: thu gọn phải ẩn toàn bộ cột danh sách, không chỉ gập nội dung panel */
#view-documents .job-files-view.job-files-list-hidden{
  grid-template-columns:minmax(0,1fr)!important;
}
#view-documents .job-files-view.job-files-list-hidden .job-files-picker{
  display:none!important;
}
#view-documents .job-files-view.job-files-list-hidden .job-files-detail{
  min-height:calc(100vh - 150px)!important;
}
#view-documents .job-files-list-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#view-documents #openJobFilesListBtn:not([hidden]){
  display:inline-flex;
}
#view-documents .job-files-detail-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media(max-width:760px){
  #view-documents .job-files-list-actions,
  #view-documents .job-files-detail-actions{justify-content:flex-start}
}

/* v1.3.208 Web Cloudflare UI polish: compact, stable, Cloudflare-only */
:root{--accent-rgb:249,115,22;--web-content-max:1480px;--web-shadow:0 10px 28px rgba(15,23,42,.055);--web-shadow-soft:0 4px 14px rgba(15,23,42,.035)}
html{background:#F6F8FB;scroll-behavior:smooth}
body{font-size:13px;line-height:1.45;background:#F6F8FB;color:#101828}
#app.shell{grid-template-columns:236px minmax(0,1fr);background:#F6F8FB;min-height:100vh}
#app .sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:14px 12px;gap:12px;background:#0C1322}
#app .brand-block{padding:7px 8px 13px;gap:10px}
#app .brand-logo{width:44px;height:44px;border-radius:14px}
#app .app-name{font-size:18px;letter-spacing:-.04em}
#app .app-sub{font-size:11px;max-width:130px}
#app .nav{gap:5px}
#app .nav-item{min-height:38px;padding:9px 10px;border-radius:12px;font-size:12.5px;font-weight:820;gap:8px}
#app .nav-item span{width:18px;font-size:13px}
#app .nav-item small{margin-left:auto;font-size:9.5px;opacity:.78;background:rgba(255,255,255,.10);padding:2px 5px;border-radius:999px}
#app .content{padding:18px 20px 24px;max-height:100vh;overflow:auto}
#app .topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;margin:-18px -20px 16px;padding:14px 20px;background:rgba(246,248,251,.9);border-bottom:1px solid rgba(226,232,240,.82);backdrop-filter:blur(16px)}
#app .topbar h1{font-size:23px;line-height:1.1;letter-spacing:-.045em}
#app .topbar p{font-size:12px;margin-top:3px;max-width:760px}
#app .top-actions{gap:8px}
#app .top-actions select{min-width:220px;min-height:36px;font-size:12px;border-radius:11px}
#app .primary-btn,#app .outline-btn,#app .ghost-btn,#app .small-btn,#app .mail-btn,#app .danger-btn{min-height:34px;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:850;line-height:1.1;box-shadow:none}
#app .primary-btn{box-shadow:0 7px 16px rgba(249,115,22,.17)}
#app .panel{border-radius:16px;padding:14px;background:#fff;box-shadow:var(--web-shadow-soft);border-color:#E8EDF4}
#app .panel + .panel{margin-top:12px}
#app .panel-head{gap:10px;margin-bottom:10px;align-items:flex-start}
#app .panel-head h2{font-size:16px;line-height:1.2;letter-spacing:-.025em}
#app .muted,#app .panel-head p{font-size:12px;line-height:1.45;color:#667085}
#app input,#app select,#app textarea{min-height:36px;border-radius:10px;padding:8px 10px;font-size:12.5px;background:#fff;border-color:#D7DEE8}
#app textarea{min-height:76px;line-height:1.45}
#app .note-box{border-radius:12px;padding:11px 12px;font-size:12px;line-height:1.45;margin-top:10px}
#app .stats-grid{gap:10px;margin-bottom:12px}
#app .stat{border-radius:15px;padding:13px;box-shadow:var(--web-shadow-soft);border-color:#E8EDF4}
#app .stat span{font-size:10.5px;letter-spacing:.035em}
#app .stat b{font-size:22px;margin-top:5px;letter-spacing:-.04em}
#app .hero-panel{grid-template-columns:minmax(0,1fr) 180px;gap:14px;border-radius:20px;padding:20px;margin-bottom:12px;box-shadow:var(--web-shadow)}
#app .hero-panel h2{font-size:28px;line-height:1.08;margin:7px 0;letter-spacing:-.05em}
#app .hero-panel p{font-size:12.5px;line-height:1.5}
#app .hero-actions{gap:8px;margin-top:14px;flex-wrap:wrap}
#app .hero-logo-card{height:140px;border-radius:18px;padding:16px}
#app .workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#app .workflow div{border-radius:14px;padding:11px}
#app .workflow p{font-size:12px;margin-top:4px}
#app .two-col{grid-template-columns:300px minmax(0,1fr);gap:12px}
#app .quote-layout{grid-template-columns:286px minmax(0,1fr);gap:12px}
#app .list-panel{min-height:0}
#app .record-list{max-height:calc(100vh - 198px);gap:6px}
#app .record-item{border-radius:12px;padding:9px 10px}
#app .record-item b{font-size:12.3px;line-height:1.25}
#app .record-item span{font-size:11.2px;line-height:1.3;margin-top:3px}
#app .table-wrap{border-radius:12px;border-color:#E8EDF4}
#app table{font-size:12px}
#app th{font-size:10.5px!important;letter-spacing:.02em;text-transform:uppercase;color:#667085!important;background:#F8FAFC!important}
#app th,#app td{padding:8px!important}
#app .items-table input,#app .items-table select,#app .items-table textarea{min-height:32px;padding:7px 8px;border-radius:9px}
#view-debt .debt-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:13px 14px!important;margin-bottom:10px!important;border-radius:16px!important}
#view-debt .debt-hero h2{font-size:20px!important;margin:3px 0!important;line-height:1.18!important}
#view-debt .debt-hero p{font-size:11.8px!important;line-height:1.35!important;margin:0!important}
#view-debt .debt-tabs{gap:6px!important;margin-bottom:6px!important}
#view-debt .debt-tabs button{min-height:42px!important;padding:8px 10px!important;border-radius:12px!important}
#view-debt .debt-tabs button b{font-size:12.4px!important;line-height:1.1!important}
#view-debt .debt-tabs button small{font-size:10.2px!important;line-height:1.1!important;margin-top:2px!important}
#view-debt .debt-tabs-help{font-size:11px!important;margin:4px 0 8px!important;color:#667085!important}
#view-debt .debt-filter-panel{padding:10px!important;margin-bottom:10px!important}
#view-debt .debt-toolbar{margin-bottom:0!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important}
#view-debt .debt-toolbar h2{font-size:13px!important;white-space:nowrap!important;margin:0!important;color:#344054!important}
#view-debt .debt-filters{display:grid!important;grid-template-columns:150px 136px 132px 148px minmax(220px,1fr)!important;gap:7px!important;width:100%!important}
#view-debt .debt-filters select,#view-debt .debt-filters input{min-height:33px!important;font-size:11.8px!important;padding:7px 9px!important;border-radius:10px!important;margin:0!important}
#view-debt .debt-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important}
#view-debt .debt-summary-grid .stat{padding:11px!important;border-radius:13px!important}
#view-debt .debt-summary-grid .stat span{font-size:9.8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#view-debt .debt-summary-grid .stat b{font-size:18px!important;line-height:1.1!important}
#view-debt .debt-panel{padding:12px!important;border-radius:15px!important}
#view-debt .debt-table-wrap{max-height:calc(100vh - 340px);overflow:auto}
#view-debt .debt-table{min-width:980px}
#view-debt .debt-table td,#view-debt .debt-table th{font-size:11.3px!important;line-height:1.25!important;padding:7px 8px!important}
#view-debt .debt-actions{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:74px!important;max-width:80px!important}
#view-debt .debt-actions .mini-action{min-height:24px!important;font-size:10px!important;padding:5px 6px!important;border-radius:8px!important}
#view-cloud .panel:first-child{background:linear-gradient(135deg,#0C1322,#182236);color:#fff;border:0;box-shadow:var(--web-shadow);overflow:hidden;position:relative}
#view-cloud .panel:first-child .muted{color:#D1D9E6}
#view-cloud .panel:first-child h2{font-size:21px}
#view-cloud .cloud-intro-box{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;border-left:4px solid var(--accent)!important;color:#F7FAFC!important;margin-top:12px!important}
#view-cloud .cloud-panel{margin-top:12px!important;padding:14px!important;border-radius:18px!important}
#view-cloud .cloud-grid{grid-template-columns:minmax(0,1fr) 340px!important;gap:12px!important}
#view-cloud .cloud-login-card,#view-cloud .cloud-sync-card{border-radius:15px!important;padding:12px!important;box-shadow:var(--web-shadow-soft)!important}
#view-cloud .cloud-auth-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
#view-cloud .cloud-login-card label,#view-cloud .cloud-auth-grid label{font-size:11px!important;gap:5px!important;color:#475467!important}
#view-cloud .cloud-api-pill{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;margin-bottom:10px;border:1px solid #E7ECF3;background:#F8FAFC;border-radius:12px;padding:9px 10px;color:#344054}
#view-cloud .cloud-api-pill span{font-size:10px;font-weight:900;text-transform:uppercase;color:#98A2B3;letter-spacing:.05em}
#view-cloud .cloud-api-pill b{font-size:12px;font-weight:950;color:#101828}
#view-cloud .cloud-api-pill small{grid-column:1/-1;color:#667085;font-size:11px}
#view-cloud .cloud-actions{gap:6px!important;margin-top:9px!important}
#view-cloud .cloud-actions.vertical{gap:7px!important}
#view-cloud .cloud-actions.vertical button{min-height:32px!important;font-size:11.8px!important}
#view-cloud .cloud-hint,#view-cloud .cloud-warning{font-size:11.3px!important;line-height:1.4!important;padding:9px 10px!important;border-radius:11px!important}
#view-cloud .cloud-account-box{border:1px solid #E7ECF3;background:#F8FAFC;border-radius:12px;padding:10px;margin-bottom:8px}
#view-cloud .cloud-account-box b{font-size:12.8px;line-height:1.2;color:#101828}
#view-cloud .cloud-account-box span,#view-cloud .cloud-account-box small{font-size:11.2px;line-height:1.35;color:#667085;margin-top:3px;display:block}
#view-cloud .cloud-badge{padding:7px 10px!important;font-size:11px!important;white-space:nowrap!important}
#view-documents .job-files-view{grid-template-columns:minmax(292px,340px) minmax(0,1fr)!important;gap:10px!important}
#view-documents .job-files-picker.panel,#view-documents .job-files-detail.panel{padding:12px!important;border-radius:16px!important}
#view-documents .job-files-picker,#view-documents .job-files-detail{min-height:calc(100vh - 128px)!important}
#view-documents .job-file-record-body{grid-template-columns:minmax(0,1fr) 78px!important;padding:8px 9px!important}
#view-documents .job-file-record-title{font-size:12.6px!important}
#view-documents .job-file-record-customer{font-size:10.8px!important}
#view-documents .job-file-record-actions{width:78px!important;flex-basis:78px!important}
#view-documents .job-file-record-actions .mini-action{font-size:9.8px!important;min-height:24px!important}
.hidden{display:none!important}
@media(max-width:1180px){#app.shell{grid-template-columns:86px minmax(0,1fr)}#app .sidebar{padding:12px 8px}#app .brand-copy,#app .sidebar-footer{display:none}#app .brand-block{justify-content:center}#app .nav-item{justify-content:center;padding:10px 8px}#app .nav-item span{width:auto}#app .nav-item{font-size:0}#app .nav-item small{display:none}#app .nav-item span{font-size:15px}.workflow,#app .stats-grid,#view-debt .debt-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#view-debt .debt-toolbar{grid-template-columns:1fr!important}#view-debt .debt-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}#view-cloud .cloud-grid{grid-template-columns:1fr!important}}
@media(max-width:820px){#app.shell{display:block}#app .sidebar{position:sticky;height:auto;z-index:50;display:block;overflow:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}#app .brand-block{display:none}#app .nav{display:flex;flex-direction:row;overflow:auto;gap:6px;padding-bottom:2px}#app .nav-item{font-size:11px;min-width:max-content;justify-content:flex-start}#app .nav-item span{font-size:12px}#app .content{padding:12px}#app .topbar{margin:-12px -12px 12px;padding:11px 12px;align-items:flex-start;flex-direction:column}#app .top-actions{width:100%;display:grid;grid-template-columns:1fr auto}#app .top-actions select{min-width:0;width:100%}#app .hero-panel{grid-template-columns:1fr}#app .hero-logo-card{display:none}#app .two-col,#app .quote-layout,#view-documents .job-files-view{grid-template-columns:1fr!important}#app .form-grid,#view-cloud .cloud-auth-grid,#view-debt .debt-filters,#view-debt .debt-summary-grid,#app .stats-grid,.workflow{grid-template-columns:1fr!important}#view-debt .debt-hero{grid-template-columns:1fr!important}#view-debt .debt-table-wrap{max-height:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v1.3.208 release hardening: cloud warning state */
.cloud-badge.warning{background:#FFFBEB;color:#B45309;border-color:#FDE68A}
.cloud-badge.warning:before{background:#F59E0B;box-shadow:0 0 0 4px rgba(245,158,11,.12)}

/* v1.3.210 logo fallback */
.brand-logo-text{font-weight:950;color:#fff;font-size:17px;letter-spacing:-.06em}
