:root{--bg:#101112;--bg2:#171819;--panel:#1d1e1f;--gold:#e3ad67;--gold2:#f0c17f;--white:#f6f4f0;--muted:#bdb7af;--line:#51402f;--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{height:88px;background:#080909;position:sticky;top:0;z-index:99;border-bottom:1px solid rgba(227,173,103,.15)}.header-inner{height:100%;display:flex;align-items:center;gap:30px}.brand{width:150px;display:flex;flex-direction:column;line-height:1}.brand-369{font-size:38px;font-weight:800;color:var(--gold2);letter-spacing:-2px}.brand-design{font-size:10px;letter-spacing:6px;margin-left:3px;margin-top:5px}.custom-logo{max-height:66px;width:auto}.main-nav{margin-left:auto}.menu{display:flex;list-style:none;gap:26px;padding:0;margin:0;align-items:center}.menu a{font-size:13px;font-weight:700;text-transform:uppercase;white-space:nowrap}.menu a:hover,.current-menu-item>a{color:var(--gold2)}.header-cta{border:1px solid #9c7140;color:var(--gold2);padding:12px 17px;border-radius:6px;font-size:13px;font-weight:700;white-space:nowrap}.nav-toggle{display:none;background:none;color:#fff;border:1px solid #555;border-radius:6px;font-size:24px}
.hero{height:620px;position:relative;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.96) 0%,rgba(8,8,8,.75) 39%,rgba(8,8,8,.08) 72%)}.hero-content{position:relative;padding-top:105px}.eyebrow{display:inline-block;color:var(--gold2);font-weight:800;font-size:14px;letter-spacing:.06em;margin-bottom:18px}.hero h1{font-size:58px;line-height:1.05;margin:0;max-width:760px}.hero h1 span{display:block;color:var(--gold2);margin-top:12px}.hero p{font-size:18px;max-width:560px;color:#eee;margin:25px 0}.hero-actions{display:flex;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:6px;font-size:13px;font-weight:800;letter-spacing:.02em;border:0;cursor:pointer}.btn-gold{background:var(--gold);color:#1e160e;border:1px solid var(--gold)}.btn-gold:hover{background:var(--gold2)}.btn-outline{border:1px solid #a77a47;color:#fff;background:transparent}.btn-outline:hover{background:#2a2119}
.stats{background:#111;border-top:1px solid #33291f;border-bottom:1px solid #33291f}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);padding:24px 0}.stats-grid>div{padding:0 25px;border-right:1px solid #3c3025}.stats-grid>div:last-child{border-right:0}.stats b{display:block;color:var(--gold2);font-size:24px}.stats span{font-size:12px;color:#ddd}.section{padding:70px 0}.section-dark{background:#0d0e0f}.service-grid,.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.image-card{height:285px;position:relative;border-radius:13px;overflow:hidden;border:1px solid #5f4932;background:#18191a}.image-card img{width:100%;height:100%;object-fit:cover;transition:.35s}.image-card:hover img{transform:scale(1.04)}.card-shade{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.95))}.card-copy{position:absolute;left:20px;right:20px;bottom:18px}.card-copy h3{margin:0;font-size:20px}.card-copy p{margin:4px 0 0;font-size:12px;color:#ddd}.section-heading{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:32px;margin-bottom:30px}.section-heading span{color:var(--gold2);font-size:13px;font-weight:800}.section-heading h2{font-size:35px;line-height:1.05;margin:10px 0 0}.section-heading p{color:var(--muted);font-size:14px}.project-card{background:#151617;border:1px solid #493b2e;border-radius:12px;overflow:hidden}.project-card img{width:100%;height:220px;object-fit:cover}.project-copy{padding:15px}.project-copy h3{margin:0;font-size:17px}.project-copy p{color:#bbb;font-size:12px;margin:4px 0 0}.split{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}.split h2,.subhero h1{font-size:46px;line-height:1.08;margin:0 0 22px}.split p{color:var(--muted);font-size:16px}.split img{border-radius:14px;width:100%;height:360px;object-fit:cover}.subhero{padding:80px 0;background:#121314}.subhero em,.page-title em{font-style:normal;color:var(--gold2)}.page-title{padding:80px 0 35px;background:#121314}.page-title h1{font-size:48px;margin:5px 0 10px}.page-title p{color:var(--muted);max-width:760px}
.projects-large{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-large{display:grid;grid-template-columns:55% 45%;min-height:290px;background:var(--panel);border:1px solid #4d4033;border-radius:14px;overflow:hidden}.project-large img{width:100%;height:100%;object-fit:cover}.project-large>div{padding:30px}.project-large span{color:var(--gold2);font-size:12px;font-weight:800}.process-section{background:#0b0c0d}.process-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:25px}.process-item{padding:20px 15px;border-top:1px solid #59452f}.process-item b{color:var(--gold2);font-size:24px}.process-item h3{font-size:16px;margin:10px 0 4px}.process-item p{font-size:12px;color:#aaa;margin:0}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.price-card{padding:33px;background:var(--panel);border:1px solid #4d4033;border-radius:16px}.price-card.featured{border:2px solid var(--gold)}.price-card h3{color:var(--gold2)}.price{font-size:42px;font-weight:800;margin-top:26px}.price-card small,.price-card p{color:#bbb}.price-card .btn{margin-top:18px;width:100%}.calculator{margin-top:35px;background:var(--panel);border:1px solid #4d4033;border-radius:16px;padding:28px}.calculator h2{font-size:22px}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:end}.calc-grid label{font-size:12px;color:#aaa}.calc-grid input,.calc-grid select,.contact-form input,.contact-form textarea{width:100%;background:#111;color:#fff;border:1px solid #4b433b;border-radius:8px;padding:14px;margin-top:7px}.calc-grid strong{display:block;color:var(--gold2);font-size:28px}.calc-contact{margin-top:20px}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}.contact-form,.contact-info{background:var(--panel);border:1px solid #4d4033;border-radius:16px;padding:30px}.contact-form label{display:block;font-size:12px;color:#aaa;margin-bottom:12px}.contact-form small{display:block;color:#777;margin-top:4px}.file-input{padding:11px!important}.contact-info>div{padding:17px 0;border-bottom:1px solid #3d342b}.contact-info small{display:block;color:#999}.contact-info strong{font-size:19px}.success{color:#9bdb91;font-weight:700}.error{color:#ff9696;font-weight:700}
.site-footer{background:#070808;border-top:1px solid #382c21;padding-top:45px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr .8fr;gap:35px}.site-footer h4{margin-top:0}.site-footer a,.site-footer span,.site-footer p{display:block;color:#aaa;font-size:13px;margin:8px 0}.footer-bottom{border-top:1px solid #242424;margin-top:35px;padding:17px 0;color:#777;font-size:12px}.floating-contact{position:fixed;right:18px;bottom:22px;z-index:90;display:flex;flex-direction:column;gap:9px}.floating-contact a,.floating-contact button{width:48px;height:48px;border-radius:50%;border:1px solid #a97d49;background:#111;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}.floating-contact button{cursor:pointer}
@media(max-width:1100px){.header-cta{display:none}.menu{gap:15px}.menu a{font-size:11px}.hero h1{font-size:48px}.service-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.site-header{height:72px}.brand{width:120px}.brand-369{font-size:31px}.nav-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0c0d;padding:12px 24px;border-top:1px solid #333}.main-nav.open{display:block}.menu{display:block}.menu li{border-bottom:1px solid #222}.menu a{display:block;padding:13px 0;font-size:13px}.hero{height:610px}.hero-overlay{background:linear-gradient(90deg,rgba(4,4,4,.93),rgba(4,4,4,.57))}.hero-content{padding-top:80px}.hero h1{font-size:40px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stats-grid>div{border:0;padding:5px}.service-grid,.project-grid,.projects-large,.contact-grid,.split,.section-heading,.pricing-grid{grid-template-columns:1fr}.project-large{grid-template-columns:1fr}.project-large img{height:250px}.process-grid{grid-template-columns:repeat(2,1fr)}.calc-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.split img{height:300px}.page-title h1,.subhero h1{font-size:38px}}
@media(max-width:520px){.container{width:min(100% - 28px,var(--max))}.hero h1{font-size:33px}.hero-actions{flex-direction:column;align-items:flex-start}.service-grid,.project-grid,.process-grid,.calc-grid,.footer-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.image-card{height:260px}.section{padding:48px 0}}

/* Project management/detail v2.1 */
.project-copy .view-detail{display:block;color:var(--gold2);font-size:11px;font-weight:800;margin-top:8px}
.projects-dynamic{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.project-dynamic-card{display:grid;grid-template-columns:54% 46%;min-height:310px;background:var(--panel);border:1px solid #4d4033;border-radius:15px;overflow:hidden}
.project-dynamic-image img{width:100%;height:100%;object-fit:cover}
.project-dynamic-copy{padding:30px}.project-dynamic-copy h2{margin:0 0 10px;font-size:27px}.project-dynamic-copy p{color:#aaa;margin:0 0 12px}.project-dynamic-copy>span{color:var(--gold2);font-size:12px;font-weight:800;text-transform:uppercase}.project-excerpt{color:#bbb;font-size:13px;margin:18px 0}.project-excerpt p{margin:0}
.project-detail-hero{height:560px;position:relative;overflow:hidden}.project-detail-hero>img{width:100%;height:100%;object-fit:cover}.project-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.4),rgba(5,5,5,.15))}.project-detail-title{position:absolute;left:50%;transform:translateX(-50%);bottom:70px}.project-detail-title h1{font-size:55px;line-height:1.05;margin:8px 0}.project-detail-title p{font-size:18px;color:#ddd}.back-projects{display:inline-block;color:#ddd;font-size:13px;margin-bottom:25px}.back-projects:hover{color:var(--gold2)}
.project-detail-layout{display:grid;grid-template-columns:1fr 360px;gap:55px;align-items:start}.project-content h2{font-size:32px}.project-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0 35px}.project-meta-grid>div{background:#18191a;border:1px solid #41372e;border-radius:10px;padding:18px}.project-meta-grid small{display:block;color:#888;font-size:10px;margin-bottom:6px}.project-meta-grid strong{font-size:16px}.project-description{color:#ccc;line-height:1.8}.project-description img{border-radius:12px;margin:20px 0}
.project-cta-box{position:sticky;top:115px;background:var(--panel);border:1px solid #59462f;border-radius:14px;padding:28px}.project-cta-box h3{font-size:25px;margin:5px 0 12px}.project-cta-box p{color:#aaa;margin-bottom:20px}
.project-gallery-section{background:#0c0d0e}.section-heading.simple{display:block}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-item{display:block;border-radius:13px;overflow:hidden;border:1px solid #493c30}.gallery-item img{width:100%;height:430px;object-fit:cover;transition:.3s}.gallery-item:hover img{transform:scale(1.02)}
@media(max-width:900px){.projects-dynamic,.project-detail-layout{grid-template-columns:1fr}.project-cta-box{position:static}.project-gallery{grid-template-columns:1fr}.gallery-item img{height:auto}}
@media(max-width:700px){.project-dynamic-card{grid-template-columns:1fr}.project-dynamic-image img{height:250px}.project-detail-hero{height:500px}.project-detail-title h1{font-size:38px}.project-meta-grid{grid-template-columns:1fr}}

.calc-note{color:#aaa;margin-top:-8px;margin-bottom:24px}
.calc-grid-expanded{grid-template-columns:repeat(3,1fr);align-items:start}
.calc-grid label small{display:block;color:#8e8175;margin-top:5px}
.calc-breakdown{margin-top:26px;border-top:1px solid #4a3a2d}
.calc-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:12px 4px;border-bottom:1px solid #302a24;color:#bbb}
.calc-breakdown strong{color:#eee}
.calc-breakdown .calc-grand{padding:20px 4px;font-size:18px;color:#fff;border-bottom:0}
.calc-breakdown .calc-grand strong{font-size:30px;color:var(--gold2)}
@media(max-width:820px){.calc-grid-expanded{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.calc-grid-expanded{grid-template-columns:1fr}}

.curve-field.hidden{display:none}
.calc-grid-expanded select{width:100%;background:#111;color:#fff;border:1px solid #4b433b;border-radius:8px;padding:14px;margin-top:7px}

.quote-customer{margin:24px 0;padding:22px;background:#161718;border:1px solid #4d4033;border-radius:12px}
.quote-customer h3{margin:0 0 15px;color:var(--gold2);font-size:15px}
.quote-customer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.quote-customer-grid label{font-size:12px;color:#aaa}
.quote-customer-grid input{width:100%;background:#111;color:#fff;border:1px solid #4b433b;border-radius:8px;padding:13px;margin-top:7px}
.calc-actions{display:flex;gap:14px;margin-top:22px;flex-wrap:wrap}
.btn-pdf{background:#fff;color:#c62c2c;border:2px solid #d94848}
.btn-pdf:hover{background:#fff1f1}
@media(max-width:650px){.quote-customer-grid{grid-template-columns:1fr}.calc-actions{display:grid;grid-template-columns:1fr}.calc-actions .btn{width:100%}}

/* ===== v2.5: 16 projects / news / recruitment ===== */
.projects-dynamic{grid-template-columns:repeat(4,1fr)}
.project-dynamic-card{display:flex;flex-direction:column;min-height:470px}
.project-dynamic-image{height:245px}.project-dynamic-image img{width:100%;height:100%;object-fit:cover}
.project-dynamic-copy{display:flex;flex-direction:column;flex:1;padding:22px}
.project-dynamic-copy h2{font-size:20px}.project-dynamic-copy .btn{margin-top:auto}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{background:var(--panel);border:1px solid #4b3e32;border-radius:14px;overflow:hidden}
.news-card img{width:100%;height:230px;object-fit:cover}
.news-card-copy{padding:22px}.news-card-copy small{color:#8f8174}.news-card-copy h2{font-size:21px;line-height:1.3}.news-card-copy p{color:#aaa}.read-more{color:var(--gold2);font-size:12px;font-weight:800}
.empty-box{grid-column:1/-1;padding:40px;background:var(--panel);border:1px dashed #584635;border-radius:12px}
.jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.job-card{background:var(--panel);border:1px solid #4b3e32;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:18px}.job-badge{color:#111;background:var(--gold2);font-size:10px;font-weight:800;padding:6px 9px;border-radius:20px}.job-card h2{font-size:25px;margin:13px 0 5px}.job-card p{color:#aaa}.job-meta{display:flex;flex-direction:column;gap:8px;color:#ccc;font-size:13px}
.job-detail-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.job-detail-meta span{background:#1d1e1f;border:1px solid #4b3e32;padding:9px 13px;border-radius:20px;color:#ddd;font-size:13px}
.article-hero{padding:70px 0 35px;background:#121314}.article-header{max-width:1000px}.article-header h1{font-size:50px;line-height:1.1}.article-meta{color:#888}.article-cover{margin-top:35px}.article-cover img{width:100%;max-height:650px;object-fit:cover;border-radius:15px}.article-layout{display:grid;grid-template-columns:1fr 340px;gap:50px;align-items:start}.article-content{font-size:17px;color:#ddd;line-height:1.85}.article-content h2,.article-content h3{color:#fff}.article-content img{border-radius:12px;margin:22px 0}
@media(max-width:1200px){.projects-dynamic{grid-template-columns:repeat(3,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.projects-dynamic{grid-template-columns:repeat(2,1fr)}.jobs-grid,.article-layout{grid-template-columns:1fr}}
@media(max-width:620px){.projects-dynamic,.news-grid,.jobs-grid{grid-template-columns:1fr}.article-header h1{font-size:36px}}

/* ===== v2.6: Triết lý kinh doanh + menu desktop ===== */
.philosophy-section{background:linear-gradient(180deg,#111214,#0b0c0d)}
.philosophy-heading{max-width:880px;margin-bottom:36px}
.philosophy-heading h2{font-size:43px;line-height:1.08;margin:4px 0 16px}
.philosophy-heading h2 em{color:var(--gold2);font-style:normal}
.philosophy-heading p{color:#aaa;font-size:16px;line-height:1.7}
.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.philosophy-card{background:#191a1b;border:1px solid #51402f;border-radius:16px;padding:30px;position:relative;overflow:hidden}
.philosophy-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold)}
.philosophy-number{color:var(--gold2);font-size:34px;font-weight:800}
.philosophy-card h3{font-size:21px;line-height:1.3;margin:17px 0}
.philosophy-card p{color:#bbb;line-height:1.8;margin:0}
@media(max-width:1250px){.menu{gap:12px}.menu a{font-size:10.5px}.header-inner{gap:16px}.header-cta{font-size:11px;padding:10px 11px}}
@media(max-width:920px){.philosophy-grid{grid-template-columns:1fr}}

/* ===== v2.7 Elementor + Dự án là Trang chủ ===== */
.elementor-page-content{min-height:400px}
.elementor-page-content .elementor{width:100%}
.elementor-full-width-369{width:100%}
body.d369-elementor-canvas{margin:0;background:#fff}
.project-home-hero{height:620px;position:relative;overflow:hidden}
.project-home-hero>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.project-home-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.64),rgba(5,5,5,.16))}
.project-home-copy{position:relative;padding-top:120px}
.project-home-copy h1{font-size:62px;line-height:1.03;margin:12px 0 20px}
.project-home-copy h1 em{font-style:normal;color:var(--gold2)}
.project-home-copy p{max-width:620px;color:#ddd;font-size:18px;line-height:1.65}
.project-home-heading{grid-template-columns:1fr 1fr}
.project-dynamic-image{display:block}
@media(max-width:820px){
  .project-home-hero{height:560px}
  .project-home-copy{padding-top:90px}
  .project-home-copy h1{font-size:42px}
  .project-home-heading{grid-template-columns:1fr}
}

/* ===== v2.8 About / Team / Workflows ===== */
.history-section{background:#101112}.about-two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.about-two-col h2{font-size:42px;line-height:1.15}.history-copy{font-size:17px;line-height:1.85;color:#bbb}
.org-section{background:#151617}.org-chart{max-width:1000px;margin:20px auto 55px;text-align:center}.org-node{background:#1d1e20;border:1px solid #6b5438;padding:17px 20px;border-radius:10px;font-weight:800;letter-spacing:.04em}.org-director{width:260px;margin:auto;border-color:var(--gold2);color:var(--gold2)}.org-line{height:45px;width:1px;background:#70583b;margin:auto}.org-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;position:relative}.org-row:before{content:"";position:absolute;top:-23px;left:12.5%;right:12.5%;height:1px;background:#70583b}.org-row .org-node:before{content:"";position:absolute}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.team-card{background:#111214;border:1px solid #44382d;border-radius:14px;overflow:hidden}.team-photo{aspect-ratio:4/5;background:#202123}.team-photo img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8d8174;gap:10px}.portrait-placeholder span{font-size:45px;color:var(--gold2)}.portrait-placeholder small{font-size:10px;letter-spacing:.08em}.team-copy{padding:18px}.team-copy h3{font-size:16px;margin:0 0 8px}.team-copy p{font-size:12px;color:#999;line-height:1.5;margin:0}.team-edit-note{text-align:center;color:#81786f;font-size:12px;margin-top:20px}
.workflow-luxury{background:#0c0d0e}.workflow-heading{max-width:800px;margin-bottom:45px}.workflow-heading h2{font-size:44px;line-height:1.12}.workflow-heading p{color:#aaa}.workflow-stage{display:grid;grid-template-columns:330px 1fr;border-top:1px solid #4b3e32;padding:38px 0}.stage-title span{font-size:11px;color:var(--gold2);letter-spacing:.12em}.stage-title h3{font-size:27px;line-height:1.25;padding-right:30px}.stage-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#3d342b;border:1px solid #3d342b}.stage-step{background:#151617;padding:22px;display:grid;grid-template-columns:48px 1fr;gap:10px}.stage-step strong{color:var(--gold2);font-size:14px}.stage-step p{margin:0;color:#ddd;line-height:1.5}
.cnc-workflow{background:#151617}.cnc-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cnc-flow-item{min-height:105px;background:#0f1011;border:1px solid #44382d;border-radius:10px;padding:17px;display:flex;flex-direction:column;justify-content:space-between}.cnc-flow-item span{font-size:12px;color:var(--gold2)}.cnc-flow-item strong{font-size:13px;line-height:1.4}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,1fr)}.cnc-flow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.about-two-col,.workflow-stage{grid-template-columns:1fr}.org-row{grid-template-columns:repeat(2,1fr)}.org-row:before{display:none}.team-grid{grid-template-columns:repeat(2,1fr)}.stage-steps{grid-template-columns:1fr}.cnc-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.team-grid,.cnc-flow,.org-row{grid-template-columns:1fr}.workflow-heading h2,.about-two-col h2{font-size:34px}}

/* ===== v2.9 Project Detail Editorial ===== */
.project-detail-hero{height:78vh;min-height:650px;position:relative;overflow:hidden;background:#090909}
.project-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-detail-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.08) 65%)}
.project-detail-title{position:absolute;left:0;right:0;bottom:65px}.project-detail-title h1{max-width:950px;font-size:58px;line-height:1.04;margin:12px 0 15px}.project-detail-title p{max-width:720px;color:#ddd;font-size:17px}
.project-facts{background:#0b0c0d;border-bottom:1px solid #30271f}.project-facts-grid{display:grid;grid-template-columns:repeat(5,1fr);padding-top:26px;padding-bottom:26px}.project-facts-grid>div{padding:5px 20px;border-left:1px solid #30271f}.project-facts-grid>div:first-child{border-left:0}.project-facts small{display:block;color:#88796b;font-size:10px;letter-spacing:.1em;margin-bottom:8px}.project-facts strong{font-size:14px}
.project-story{background:#111214}.project-story-grid{display:grid;grid-template-columns:320px 1fr;gap:90px}.project-story aside h2{font-size:42px}.project-editor-content{max-width:760px;color:#c7c2bc;font-size:17px;line-height:1.85}.project-editor-content h2{color:#fff;font-size:26px;margin:38px 0 10px}.project-editor-content h2:first-child{margin-top:0}
.project-gallery-section{background:#0b0c0d;padding:90px 0}.project-gallery-editorial{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-gallery-editorial figure{margin:0;overflow:hidden;background:#151515}.project-gallery-editorial img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.project-gallery-editorial figure:hover img{transform:scale(1.015)}.gallery-wide{grid-column:1/-1;aspect-ratio:16/9}.gallery-standard{aspect-ratio:4/5}
.project-cta{background:#151617}.project-cta-box{display:flex;justify-content:space-between;align-items:end;gap:30px;border:1px solid #4a392a;padding:50px}.project-cta h2{font-size:38px;margin-bottom:0}
@media(max-width:850px){.project-detail-hero{height:70vh;min-height:520px}.project-detail-title h1{font-size:39px}.project-facts-grid{grid-template-columns:repeat(2,1fr)}.project-facts-grid>div{border-left:0;border-top:1px solid #30271f;padding:14px}.project-story-grid{grid-template-columns:1fr;gap:20px}.project-gallery-editorial{grid-template-columns:1fr}.gallery-wide,.gallery-standard{grid-column:auto;aspect-ratio:auto}.project-cta-box{align-items:flex-start;flex-direction:column;padding:30px}.project-cta h2{font-size:30px}}

/* ===== v3.0 Project 2 ===== */
.project-editor-content .project-lead{font-size:20px;line-height:1.75;color:#eee;margin-top:0;margin-bottom:35px}
.project-dynamic-card .project-dynamic-copy>span{letter-spacing:.08em}

/* ===== v3.2.1 project archive pagination ===== */
.d369-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:48px 0 0}
.d369-pagination .page-numbers{min-width:42px;height:42px;padding:0 14px;border:1px solid #55442f;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#ddd;background:#151617;font-size:13px;font-weight:700}
.d369-pagination .page-numbers:hover{border-color:var(--gold2);color:var(--gold2)}
.d369-pagination .page-numbers.current{background:var(--gold2);border-color:var(--gold2);color:#111}
.interior-project-title em{font-style:normal;color:var(--gold2)}
.interior-project-heading{margin-bottom:30px}
.project-dynamic-card h2 a{color:inherit}
@media(max-width:620px){.d369-pagination{gap:5px}.d369-pagination .page-numbers{height:38px;min-width:38px;padding:0 10px}}

/* ===== v3.2.2 Interior banner + independent projects ===== */
.interior-banner-only{width:100%;height:min(57vw,650px);min-height:380px;background:#0a0a0a;overflow:hidden;border-bottom:1px solid #3b2f23}
.interior-banner-only img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.interior-project-archive{padding-top:70px}
.interior-project-heading h2 em{font-style:normal;color:var(--gold2)}
.interior-design-card .project-dynamic-image{height:265px}
.interior-card-meta{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;color:#a8a8a8}
.interior-facts{grid-template-columns:repeat(3,1fr)}
@media(max-width:850px){.interior-banner-only{height:54vw;min-height:280px}.interior-design-card .project-dynamic-image{height:230px}.interior-facts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.interior-banner-only{height:62vw;min-height:230px}.interior-facts{grid-template-columns:1fr}}

/* ===== v3.2.3 16 mô phỏng chuyên nghiệp + album riêng ===== */
.interior-project-grid{align-items:stretch}
.interior-design-card{min-height:470px}
.interior-design-card .project-dynamic-copy{padding:22px}
.interior-design-card .project-dynamic-copy h2{font-size:20px;line-height:1.25}
.interior-design-card .project-dynamic-copy>span{font-size:11px;letter-spacing:.1em}
.interior-card-meta{margin-top:6px;padding-top:12px;border-top:1px solid #302820}
.interior-single-v323 .project-detail-title{max-width:1200px}
.interior-facts-v323{grid-template-columns:repeat(5,1fr)}
.interior-concept-strip{background:#15120e;border-top:1px solid #4a3929;border-bottom:1px solid #4a3929}
.interior-concept-strip .container{padding-top:28px;padding-bottom:28px;display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:start}
.interior-concept-strip span{font-size:11px;letter-spacing:.16em;color:var(--gold2);font-weight:800}
.interior-concept-strip p{margin:0;color:#ddd;font-size:18px;line-height:1.6}
.interior-album-section{background:#090a0b}
.interior-album-grid figure{border-radius:10px;overflow:hidden}
.interior-album-grid a{display:block;width:100%;height:100%}
.interior-album-grid img{cursor:zoom-in}
@media(max-width:900px){.interior-facts-v323{grid-template-columns:repeat(2,1fr)}.interior-concept-strip .container{grid-template-columns:1fr;gap:8px}}
@media(max-width:520px){.interior-facts-v323{grid-template-columns:1fr}}

/* ===== v3.2.4 Related Projects horizontal UX ===== */
.related-projects-section{padding:78px 0;background:#111214;border-top:1px solid #30271f;border-bottom:1px solid #30271f}
.related-projects-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.related-projects-head h2{font-size:36px;margin:5px 0 0}
.related-all-link{color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.related-projects-strip{display:flex;gap:18px;overflow-x:auto;padding:2px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.related-projects-strip::-webkit-scrollbar{height:8px}
.related-projects-strip::-webkit-scrollbar-thumb{background:#5a4630;border-radius:20px}
.related-project-card{flex:0 0 300px;background:#171819;border:1px solid #44372b;border-radius:12px;overflow:hidden;scroll-snap-align:start}
.related-project-image{display:block;height:195px;overflow:hidden}
.related-project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.related-project-card:hover .related-project-image img{transform:scale(1.025)}
.related-project-copy{padding:17px}
.related-project-copy>span{display:block;color:var(--gold2);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}
.related-project-copy h3{font-size:18px;line-height:1.3;margin:0 0 8px}
.related-project-copy h3 a{color:#fff}
.related-project-copy p{margin:0;color:#999;font-size:12px}
@media(max-width:700px){
 .related-projects-section{padding:58px 0}
 .related-projects-head{align-items:flex-start;flex-direction:column;gap:12px}
 .related-projects-head h2{font-size:29px}
 .related-project-card{flex-basis:82vw;max-width:330px}
}

/* ===== v3.2.5 Compact project details + design styles ===== */
.compact-project-head{padding:55px 0 32px;background:#0d0e0f;border-bottom:1px solid #30271f}
.compact-project-head h1{font-size:clamp(34px,4vw,58px);line-height:1.08;margin:10px 0 12px;max-width:1000px}
.compact-project-head p{max-width:760px;color:#aaa;font-size:16px;line-height:1.7}
.compact-back-link{display:inline-block;margin-bottom:20px;color:#a59686;font-size:11px;font-weight:800;letter-spacing:.08em}
.compact-project-single .project-facts{border-top:0}
.compact-project-single .project-story{padding-top:55px}

.design-styles-section{background:#0b0c0d;border-top:1px solid #2e261f;border-bottom:1px solid #2e261f}
.design-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.design-style-card{background:#151617;border:1px solid #43372b;border-radius:12px;overflow:hidden}
.design-style-img{display:block;height:220px;overflow:hidden}
.design-style-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.design-style-card:hover img{transform:scale(1.025)}
.design-style-copy{padding:20px}
.design-style-copy h3{font-size:21px;margin:0 0 9px}
.design-style-copy h3 a{color:#fff}
.design-style-copy p{font-size:13px;line-height:1.65;color:#aaa;min-height:64px}
.design-style-link{font-size:11px;font-weight:800;color:var(--gold2);letter-spacing:.05em}

.style-detail-head{padding:65px 0;background:#101112}
.style-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}
.style-detail-copy h1{font-size:clamp(42px,5vw,70px);line-height:1.03;margin:10px 0 20px}
.style-lead{font-size:19px;line-height:1.7;color:#c2bdb7;margin-bottom:28px}
.style-detail-grid figure{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.style-detail-grid figure img{width:100%;height:100%;object-fit:cover}
.style-facts{background:#0b0c0d;border-top:1px solid #30271f;border-bottom:1px solid #30271f}
.style-facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.style-facts-grid>div{padding:27px;border-right:1px solid #30271f}
.style-facts-grid>div:last-child{border-right:0}
.style-facts small{color:var(--gold2);font-size:10px;letter-spacing:.11em;font-weight:800}
.style-facts p{margin:10px 0 0;color:#ddd;line-height:1.6;font-size:14px}
.style-article-section{background:#111214}
.style-article-layout{display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:start}
.style-consult-box{position:sticky;top:110px;background:#171819;border:1px solid #4b3c2c;padding:28px;border-radius:12px}
.style-consult-box h3{font-size:24px;line-height:1.35}
.style-consult-box p{color:#aaa;line-height:1.7}
.style-cta-final{padding:75px 0;text-align:center;background:#0b0c0d;border-top:1px solid #30271f}
.style-cta-final .container{max-width:900px}
.style-cta-final span{font-size:11px;letter-spacing:.13em;color:var(--gold2);font-weight:800}
.style-cta-final h2{font-size:40px;line-height:1.2;margin:15px 0}
.style-cta-final p{color:#aaa;line-height:1.7;margin-bottom:28px}

@media(max-width:1100px){.design-style-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){
 .style-detail-grid,.style-article-layout{grid-template-columns:1fr}
 .style-facts-grid{grid-template-columns:1fr}
 .style-facts-grid>div{border-right:0;border-bottom:1px solid #30271f}
 .style-consult-box{position:static}
}
@media(max-width:560px){.design-style-grid{grid-template-columns:1fr}.design-style-img{height:240px}.style-cta-final h2{font-size:31px}}

/* v3.2.6 sales-focused design styles */
.style-facts-five{grid-template-columns:repeat(5,1fr)}
.sales-opening{color:#c9c2ba;line-height:1.8;margin:0 0 28px;max-width:720px}
.sales-article h2{font-size:30px;line-height:1.25;margin-top:42px}
.sales-article p{font-size:16px;line-height:1.85;color:#c2c2c2}
.sales-emotion-box{margin:42px 0;padding:34px;border:1px solid #604a31;background:linear-gradient(135deg,#191714,#111214);border-radius:14px}
.sales-emotion-box span{font-size:10px;color:var(--gold2);font-weight:800;letter-spacing:.12em}
.sales-emotion-box h2{margin:10px 0 12px;font-size:34px}
.sales-consult{border-color:#765832;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.sales-final h2{max-width:850px;margin-left:auto;margin-right:auto}
@media(max-width:1200px){.style-facts-five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.style-facts-five{grid-template-columns:1fr}}

/* v3.2.7 editorial design-style experience */
.style-editorial-hero{padding:64px 0 72px;background:#0d0f10}
.editorial-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.editorial-hero-copy h1{font-size:clamp(48px,6vw,86px);line-height:.96;margin:14px 0 24px;letter-spacing:-.04em}
.style-kicker{font-size:20px;line-height:1.7;color:#c9c4bd;max-width:680px}
.editorial-hero-image{height:620px;margin:0;border-radius:18px;overflow:hidden}
.editorial-hero-image img,.visual-break-grid figure img,.related-style-card img{width:100%;height:100%;object-fit:cover}
.hero-mini-facts{display:flex;gap:34px;margin:28px 0}.hero-mini-facts div{border-left:1px solid #725635;padding-left:15px;display:grid;gap:5px}.hero-mini-facts small{font-size:9px;color:#a99781;letter-spacing:.12em}.hero-mini-facts b{font-size:15px}
.story-grid,.benefits-grid{display:grid;grid-template-columns:180px 1fr;gap:50px}.story-index{display:flex;gap:12px;align-items:flex-start}.story-index span{font-size:42px;color:var(--gold2);font-weight:800}.story-index small{font-size:9px;letter-spacing:.14em;color:#8f8a83;margin-top:9px}
.story-copy h2,.benefits-grid h2,.spec-title h2{font-size:clamp(34px,4vw,56px);line-height:1.08;max-width:900px}.story-big{font-size:23px!important;line-height:1.6!important;color:#eee!important;max-width:950px}
.style-visual-break{padding-top:0}.visual-break-grid{display:grid;grid-template-columns:1.35fr .65fr;background:#17191a;border-radius:18px;overflow:hidden}.visual-break-grid figure{height:600px;margin:0}.visual-note{padding:55px;align-self:center}.visual-note h2{font-size:38px;line-height:1.1}.visual-note p{font-size:17px;line-height:1.75;color:#c9c4bd}.visual-note small{display:block;margin-top:28px;padding-top:20px;border-top:1px solid #333;color:#827d77;line-height:1.6}
.benefit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.benefit-cards>div{background:#181a1b;border:1px solid #292a2b;border-radius:14px;padding:26px}.benefit-cards b{color:var(--gold2)}.benefit-cards h3{font-size:20px}.benefit-cards p{color:#aaa;line-height:1.65}
.style-spec-section{background:#111314}.spec-title{margin-bottom:30px}.style-spec-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.spec-card{min-height:180px;padding:25px;border:1px solid #2b2c2d;border-radius:13px;background:#17191a}.spec-card small{display:block;color:#a99377;font-size:9px;letter-spacing:.12em;margin-bottom:16px}.spec-card strong{font-size:18px;line-height:1.4}.spec-card p{font-size:12px;color:#888;line-height:1.6}.spec-highlight{border-color:#6c5130;background:linear-gradient(145deg,#201b15,#17191a)}
.related-style-section{border-top:1px solid #29231c;background:#0b0d0e}.related-style-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.related-style-heading h2{font-size:38px;margin:6px 0}.related-style-heading p{max-width:470px;color:#999}
.related-style-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 22px;scrollbar-width:thin}.related-style-card{flex:0 0 330px;scroll-snap-align:start;border:1px solid #2d2a26;border-radius:15px;overflow:hidden;background:#151718;color:#fff;text-decoration:none;transition:.25s}.related-style-card:hover{transform:translateY(-5px);border-color:#8b6537}.related-style-card figure{height:220px;margin:0;overflow:hidden}.related-style-card>div{padding:20px}.related-style-card span,.related-style-card b{font-size:9px;letter-spacing:.12em;color:var(--gold2)}.related-style-card h3{font-size:23px;margin:7px 0}.related-style-card p{font-size:13px;color:#9e9e9e;line-height:1.55;min-height:42px}
@media(max-width:1000px){.editorial-hero-grid,.visual-break-grid{grid-template-columns:1fr}.editorial-hero-image,.visual-break-grid figure{height:480px}.story-grid,.benefits-grid{grid-template-columns:1fr}.style-spec-grid{grid-template-columns:repeat(2,1fr)}.benefit-cards{grid-template-columns:1fr}}
@media(max-width:650px){.style-editorial-hero{padding-top:36px}.editorial-hero-image,.visual-break-grid figure{height:330px}.visual-note{padding:28px}.style-spec-grid{grid-template-columns:1fr}.related-style-card{flex-basis:82vw}.related-style-heading{display:block}.hero-mini-facts{display:grid}.story-index{margin-bottom:-20px}}

/* v3.2.8 Neo Classic */
.editorial-style-page .project-editor-content h2,
.editorial-style-page .story-copy h2,
.editorial-style-page .visual-note h2,
.editorial-style-page .benefits-grid h2,
.editorial-style-page .spec-title h2{font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.012em;font-kerning:normal;font-variant-ligatures:normal}
.editorial-style-page .story-big,.editorial-style-page .sales-emotion-box h2{font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-kerning:normal;font-variant-ligatures:normal}
.editorial-style-page .project-editor-content blockquote{margin:34px 0;padding:26px 30px;border-left:3px solid var(--gold2);background:#191714;color:#e7d5bb;font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-kerning:normal;font-variant-ligatures:normal;font-size:24px;line-height:1.55;font-style:italic}
.editorial-style-page .project-editor-content li{margin-bottom:12px;line-height:1.75;color:#c5c5c5}
.neo-style-spectrum{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:20px 24px;margin:28px 0;background:#171819;border:1px solid #57422d;border-radius:12px}
.neo-style-spectrum span,.neo-style-spectrum strong{font-family:"Segoe UI",Arial,Helvetica,sans-serif;font-kerning:normal;font-variant-ligatures:normal;font-size:18px}.neo-style-spectrum strong{color:var(--gold2)}
.neo-gallery-section{background:#0d0f10;border-top:1px solid #28231d;border-bottom:1px solid #28231d}
.neo-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.neo-gallery-grid figure{margin:0;overflow:hidden;border-radius:12px;background:#181818}
.neo-gallery-grid .neo-wide{grid-column:1/-1}
.neo-gallery-grid img{display:block;width:100%;height:560px;object-fit:cover}
.neo-gallery-grid .neo-normal img{height:640px}
@media(max-width:760px){.neo-gallery-grid{grid-template-columns:1fr}.neo-gallery-grid .neo-wide{grid-column:auto}.neo-gallery-grid img,.neo-gallery-grid .neo-normal img{height:auto}.editorial-style-page .project-editor-content blockquote{font-size:20px}}

/* v3.2.8.1 Vietnamese serif hotfix: prevent broken Vietnamese diacritics/spacing on Neo Classic editorial typography */
.editorial-style-page h1,.editorial-style-page h2,.editorial-style-page .story-big,.editorial-style-page blockquote,.editorial-style-page .neo-style-spectrum span,.editorial-style-page .neo-style-spectrum strong{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;font-kerning:normal!important;font-variant-ligatures:normal!important;font-feature-settings:"kern" 1!important;text-rendering:optimizeLegibility;word-spacing:normal!important}

/* v3.2.8.2 — GLOBAL VIETNAMESE FONT FIX */
html,body,button,input,select,textarea{font-family:"Segoe UI",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis:none;}
body *{font-kerning:normal;font-variant-ligatures:normal;}
.eyebrow,.btn,.menu a,.header-cta,.section-heading span,.project-dynamic-copy>span,.org-node,.portrait-placeholder small,.stage-title span,.project-facts small,.related-all-link,.related-project-copy>span,.compact-back-link,.design-style-link,.style-facts small,.style-cta-final span,.sales-emotion-box span,.hero-mini-facts small,.story-index small,.spec-card small,.related-style-card span,.related-style-card b{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;}
.editorial-style-page h1,.editorial-style-page h2,.editorial-style-page .story-big,.editorial-style-page blockquote,.editorial-style-page .neo-style-spectrum span,.editorial-style-page .neo-style-spectrum strong{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;font-feature-settings:normal!important;text-rendering:optimizeLegibility;}
/* Uppercase Vietnamese labels need tighter safe tracking to keep diacritics attached */
.eyebrow,.menu a,.btn,.header-cta{letter-spacing:.025em;}
/* v3.2.8.3 consultation selector */
.consult-title{padding-bottom:34px}.consult-section{padding-top:24px}.consult-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}.consult-option{appearance:none;text-align:left;background:#171819;border:1px solid #4d4033;border-radius:14px;padding:22px;color:#fff;cursor:pointer;transition:.2s}.consult-option span{display:block;color:#e9ad58;font-weight:800;font-size:12px;margin-bottom:8px}.consult-option strong{display:block;font-size:18px}.consult-option small{display:block;color:#999;margin-top:6px}.consult-option.active{border-color:#e9ad58;background:#201c17;box-shadow:inset 0 0 0 1px #e9ad58}.consult-form{max-width:none;padding:42px}.consult-panel{display:none}.consult-panel.active{display:block}.consult-intro,.consult-luxury-copy{max-width:900px;margin-bottom:34px}.consult-intro h2,.consult-luxury-copy h2{font-size:36px;line-height:1.15;margin:8px 0 18px}.consult-luxury-copy p{font-size:15px;line-height:1.8;color:#c8c8c8}.form-grid{display:grid;gap:18px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box;background:#0e0f10;border:1px solid #4b433a;border-radius:8px;color:#fff;padding:14px 15px;font:inherit;margin-top:7px}.contact-form select{min-height:50px}.form-section-title{border-top:1px solid #3d342b;padding-top:26px;margin:32px 0 18px;font-size:17px}.form-section-title span{color:#e9ad58;margin-right:8px}.consult-submit{display:flex;align-items:center;gap:20px;margin-top:30px;padding-top:25px;border-top:1px solid #3d342b}.consult-submit small{color:#888;max-width:480px}@media(max-width:820px){.consult-choice,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.consult-form{padding:24px}.consult-intro h2,.consult-luxury-copy h2{font-size:28px}.consult-submit{align-items:flex-start;flex-direction:column}}

/* ===== v3.2.8.4 Conditional Consultation Forms ===== */
.consult-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:30px}
.consult-option{appearance:none;text-align:left;background:#151718;border:1px solid #413526;border-radius:14px;padding:24px;color:#fff;cursor:pointer;transition:.25s}
.consult-option:hover,.consult-option.active{border-color:#b78343;background:#1b1916;transform:translateY(-2px)}
.consult-option span{display:block;color:var(--gold2);font-size:13px;font-weight:800;letter-spacing:.06em;margin-bottom:10px}
.consult-option strong{display:block;font-size:20px;line-height:1.3}
.consult-option small{display:block;margin-top:8px;color:#9e9e9e;line-height:1.55}
.consult-placeholder{padding:48px;border:1px dashed #493b2d;border-radius:14px;background:#121415;text-align:center}
.consult-placeholder h2{font-size:30px;margin:10px auto;max-width:700px}
.consult-placeholder p{color:#999}
.consult-panel{display:none;padding-top:10px}
.consult-panel.active{display:block}
.is-hidden{display:none!important}
.consult-luxury-copy{margin:24px 0 34px;padding:34px;border:1px solid #51402e;border-radius:14px;background:linear-gradient(135deg,#181714,#121415)}
.consult-luxury-copy h2{font-size:clamp(30px,4vw,46px);line-height:1.12;margin:10px 0 20px}
.consult-luxury-copy p{max-width:1000px;color:#c3c3c3;line-height:1.8}
.cnc-intro{border-color:#5b4730}
.form-section-title{display:flex;align-items:center;gap:12px;margin:34px 0 18px;font-size:20px}
.form-section-title span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #8a663a;border-radius:50%;color:var(--gold2);font-size:11px}
.upload-field input[type=file]{padding:13px;background:#0f1112;border:1px dashed #695237}
.upload-field small{display:block;margin-top:8px;color:#8f8f8f;line-height:1.5}
.consult-submit{margin-top:28px;padding-top:25px;border-top:1px solid #2e2923;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.consult-submit small{color:#888}
@media(max-width:760px){
 .consult-choice{grid-template-columns:1fr}
 .consult-luxury-copy{padding:24px}
 .consult-placeholder{padding:30px 20px}
}

/* ===== v3.2.8.5 Consultation Letter — centered luxury layout ===== */
.consult-section>.container{max-width:1320px}
.consult-choice{max-width:1180px;margin-left:auto;margin-right:auto}
.consult-form{max-width:1180px;margin-left:auto;margin-right:auto}

.consult-letter{
  max-width:980px;
  margin:34px auto 48px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(214,166,103,.34);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% -20%,rgba(208,157,91,.10),transparent 38%),
    linear-gradient(180deg,#171716 0%,#111313 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.20);
}
.consult-letter-inner{
  max-width:790px;
  margin:0 auto;
  padding:58px 54px 62px;
  text-align:center;
}
.consult-letter .eyebrow{
  display:inline-block;
  margin-bottom:17px;
  color:#e2ad65;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.14em;
  font-weight:700;
}
.letter-kicker{
  margin-bottom:14px;
  color:#b9a891;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.5;
  font-style:italic;
  letter-spacing:.02em;
}
.consult-letter h2{
  max-width:760px;
  margin:0 auto;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px,4vw,54px);
  font-weight:400;
  line-height:1.14;
  letter-spacing:-.025em;
  color:#f4f0e9;
}
.letter-rule{
  width:58px;
  height:1px;
  margin:27px auto 29px;
  background:linear-gradient(90deg,transparent,#d5a35e,transparent);
}
.consult-letter p{
  max-width:740px;
  margin:0 auto 19px;
  color:#c8c3bb;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
  line-height:1.95;
  letter-spacing:0;
}
.consult-letter .letter-highlight{
  color:#e5b56f;
  font-weight:600;
}
.consult-letter .letter-closing{
  margin-top:26px;
  padding-top:25px;
  border-top:1px solid rgba(214,166,103,.18);
  color:#d4cec5;
  font-style:italic;
}
.cnc-intro.consult-letter{
  border-color:rgba(214,166,103,.30);
}

/* center form content below the letter without making fields cramped */
.consult-panel>.form-section-title,
.consult-panel>.form-grid,
.consult-panel>label,
.consult-submit{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.consult-panel>.form-section-title{
  margin-top:38px;
  margin-bottom:20px;
}
.consult-panel>label{
  display:block;
  margin-top:18px;
}
.consult-submit{
  justify-content:center;
  text-align:center;
}

/* refined service selectors */
.consult-option{
  padding:28px 30px;
}
.consult-option strong{
  font-size:19px;
  letter-spacing:.005em;
}
.consult-option small{
  font-size:11px;
  letter-spacing:.01em;
}

/* form typography polish */
.consult-form label{
  color:#dedbd6;
  font-size:12px;
  font-weight:600;
  letter-spacing:.015em;
}
.consult-form input,
.consult-form select,
.consult-form textarea{
  margin-top:9px;
  font-weight:400;
}
.form-section-title{
  font-size:17px;
  letter-spacing:.04em;
}
.form-section-title span{
  flex:0 0 34px;
}

@media(max-width:820px){
  .consult-letter-inner{padding:42px 26px 46px}
  .consult-letter p{font-size:16px;line-height:1.82}
  .consult-letter h2{font-size:34px}
}
@media(max-width:520px){
  .consult-letter{border-radius:12px}
  .consult-letter-inner{padding:34px 20px 38px}
  .consult-letter h2{font-size:29px}
  .consult-letter p{font-size:15px}
  .consult-choice{gap:10px}
  .consult-option{padding:22px}
}

/* ===== v3.2.8.6 Vietnamese Font Repair =====
   Fix decomposed Vietnamese diacritics in luxury consultation letters.
*/
.consult-letter,
.consult-letter *,
.consult-luxury-copy,
.consult-luxury-copy *{
  font-kerning:normal;
  font-variant-ligatures:normal;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Use Vietnamese-safe system fonts; no tracking on text that contains diacritics */
.consult-letter h2,
.consult-letter p,
.consult-letter .letter-kicker,
.consult-letter .letter-highlight,
.consult-letter .letter-closing{
  font-family:"Times New Roman","Segoe UI",Arial,sans-serif !important;
  letter-spacing:0 !important;
  word-spacing:0 !important;
}

/* Headline remains elegant, but avoids spacing that can detach marks */
.consult-letter h2{
  font-weight:400 !important;
  line-height:1.16 !important;
}

/* Body copy: clean and highly compatible with Vietnamese */
.consult-letter p{
  font-weight:400 !important;
  line-height:1.88 !important;
}

/* Highlight should not introduce a different font run */
.consult-letter .letter-highlight{
  font-weight:700 !important;
  color:#e5b56f !important;
}

/* Eyebrow uses sans-serif and very light tracking only */
.consult-letter .eyebrow{
  font-family:"Segoe UI",Arial,sans-serif !important;
  letter-spacing:.04em !important;
  word-spacing:0 !important;
}

/* Kicker remains italic but stays in the same Unicode-safe family */
.consult-letter .letter-kicker,
.consult-letter .letter-closing{
  font-style:italic;
}

/* Defensive override against any old global tracking rules */
.consult-section h1,
.consult-section h2,
.consult-section h3,
.consult-section p,
.consult-section label,
.consult-section button,
.consult-section input,
.consult-section select,
.consult-section textarea,
.consult-section strong,
.consult-section span:not(.eyebrow){
  text-transform:none;
}

/* Button labels and form headings use robust sans-serif */
.consult-option,
.consult-option *,
.consult-form,
.consult-form input,
.consult-form select,
.consult-form textarea,
.form-section-title,
.consult-submit,
.consult-submit *{
  font-family:"Segoe UI",Arial,sans-serif !important;
}

/* Prevent legacy global rules from splitting Vietnamese marks */
.consult-option strong,
.form-section-title,
.consult-submit button{
  letter-spacing:0 !important;
}

/* ===== v3.2.8.7 Recruitment desktop layout fix ===== */
.job-detail-section{background:#0d0f10}
.job-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:64px;
  align-items:start;
}
.job-description{
  min-width:0;
  color:#d0d0d0;
  font-size:16px;
  line-height:1.85;
}
.job-description h2,
.job-description h3{
  color:#f4f1ed;
  line-height:1.25;
  margin-top:34px;
  margin-bottom:14px;
}
.job-description h2{font-size:28px}
.job-description h3{font-size:21px}
.job-description p{margin:0 0 18px}
.job-description ul,
.job-description ol{padding-left:22px}
.job-description li{margin-bottom:10px}

.job-apply-card{
  position:sticky;
  top:110px;
  display:block !important;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:30px;
  background:#1a1b1c;
  border:1px solid #5b4935;
  border-radius:16px;
}
.job-apply-card .eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--gold2);
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
}
.job-apply-card h2{
  margin:0 0 24px;
  color:#fff;
  font-size:30px;
  line-height:1.18;
  letter-spacing:0;
}
.job-contact-list{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-bottom:22px;
}
.job-contact-list>div{
  padding:14px 15px;
  background:#131415;
  border:1px solid #37322c;
  border-radius:10px;
}
.job-contact-list small{
  display:block;
  margin-bottom:5px;
  color:#8e887f;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.job-contact-list a{
  display:block;
  color:#e7e4df;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:normal;
}
.job-apply-button{
  display:flex !important;
  width:100%;
  min-height:48px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  text-align:center;
  white-space:normal;
  line-height:1.25;
}
.job-apply-note{
  margin:14px 0 0;
  color:#878787;
  font-size:11px;
  line-height:1.6;
}

/* Defeat the generic .project-cta-box flex rule used elsewhere */
.job-detail-page .project-cta-box{display:block}

@media(max-width:1000px){
  .job-detail-grid{
    grid-template-columns:minmax(0,1fr) 320px;
    gap:36px;
  }
}
@media(max-width:820px){
  .job-detail-grid{grid-template-columns:1fr}
  .job-apply-card{position:static;max-width:none}
}
@media(max-width:560px){
  .job-apply-card{padding:24px}
  .job-apply-card h2{font-size:26px}
}

/* ===== v3.2.9.0 Project Pagination UX ===== */
.d369-project-pagination-wrap{
  margin:54px auto 0;
  max-width:920px;
  text-align:center;
}
.d369-next-project-page{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:112px;
  margin-bottom:22px;
  padding:24px 30px;
  border:1px solid #745633;
  border-radius:14px;
  background:linear-gradient(135deg,#1b1814,#121415);
  color:#fff;
  text-decoration:none;
  transition:.25s ease;
}
.d369-next-project-page:hover{
  transform:translateY(-3px);
  border-color:#d2a05f;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.d369-next-project-page span{
  color:#d7a45f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.d369-next-project-page strong{
  font-size:24px;
  line-height:1.25;
  letter-spacing:0;
}
.d369-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.d369-page-label{
  margin-right:5px;
  color:#8f887f;
  font-size:10px;
  font-weight:700;
}
.d369-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 12px;
  border:1px solid #3f3932;
  border-radius:8px;
  background:#151718;
  color:#ddd;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.d369-pagination .page-numbers:hover{
  border-color:#c5904f;
  color:#efbb72;
}
.d369-pagination .page-numbers.current{
  border-color:#d4a15f;
  background:#d4a15f;
  color:#111;
}
.d369-page-status{
  margin-top:15px;
  color:#777;
  font-size:11px;
}
@media(max-width:560px){
 .d369-next-project-page strong{font-size:20px}
 .d369-pagination{gap:6px}
 .d369-pagination .page-numbers{min-width:38px;height:38px;padding:0 9px}
 .d369-page-label{width:100%;margin:0 0 3px}
}

/* ===== v3.2.9.1 Home Projects Pagination ===== */
.home .d369-project-pagination-wrap,
body.home .d369-project-pagination-wrap{
  margin-top:48px;
  margin-bottom:8px;
}
body.home .d369-next-project-page{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

/* ===== v3.2.9.3 Luxury Homepage Hero + Philosophy ===== */
.luxury-home-hero{
  position:relative;
  min-height:760px;
  height:84vh;
  max-height:980px;
  overflow:hidden;
  background:#0b0c0c;
}
.luxury-home-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.01);
}
.luxury-home-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,7,7,.72) 0%,rgba(6,7,7,.30) 46%,rgba(6,7,7,.08) 72%),
    linear-gradient(180deg,rgba(0,0,0,.05) 45%,rgba(0,0,0,.52) 100%);
}
.luxury-home-hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  min-height:inherit;
  height:100%;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding-bottom:90px;
}
.luxury-home-hero-copy .eyebrow{
  margin-bottom:18px;
  color:#e1ad68;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
}
.luxury-home-hero-copy h1{
  max-width:1050px;
  margin:0;
  color:#f6f2eb;
  font-family:"Times New Roman","Segoe UI",Arial,sans-serif;
  font-size:clamp(48px,6.5vw,98px);
  font-weight:400;
  line-height:.98;
  letter-spacing:0;
  text-shadow:0 5px 28px rgba(0,0,0,.36);
}
.luxury-home-hero-copy h1 em{
  color:#e3b06d;
  font-style:italic;
  font-weight:400;
}

/* philosophy */
.home-philosophy{
  position:relative;
  padding:110px 0;
  background:#0e1011;
  border-bottom:1px solid #28231d;
}
.home-philosophy-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:76px;
  align-items:center;
}
.home-philosophy-copy{
  max-width:640px;
}
.home-philosophy-copy .eyebrow{
  display:block;
  margin-bottom:18px;
  color:#d9a45f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
}
.home-philosophy-copy h2{
  margin:0;
  color:#f2eee7;
  font-family:"Times New Roman","Segoe UI",Arial,sans-serif;
  font-size:clamp(38px,4.2vw,64px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:0;
}
.home-philosophy-copy h2 em{
  color:#dfad69;
  font-style:italic;
  font-weight:400;
}
.home-philosophy-rule{
  width:72px;
  height:1px;
  margin:30px 0 28px;
  background:#a27642;
}
.home-philosophy-copy p{
  margin:0 0 18px;
  color:#c3beb6;
  font-family:"Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.9;
}
.philosophy-link{
  display:inline-block;
  margin-top:18px;
  color:#e1ad68;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(225,173,104,.45);
  padding-bottom:5px;
}
.home-philosophy-visual{
  position:relative;
  margin:0;
  min-height:590px;
  overflow:hidden;
  border-radius:2px;
  background:#171819;
}
.home-philosophy-visual:before{
  content:"";
  position:absolute;
  inset:16px;
  z-index:2;
  border:1px solid rgba(226,176,109,.22);
  pointer-events:none;
}
.home-philosophy-visual img{
  display:block;
  width:100%;
  height:590px;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) contrast(1.02);
}
.home-philosophy-visual figcaption{
  position:absolute;
  left:34px;
  bottom:30px;
  z-index:3;
  padding:9px 13px;
  background:rgba(10,11,11,.72);
  color:#e6d3bb;
  font-size:10px;
  letter-spacing:.06em;
  backdrop-filter:blur(5px);
}

/* selected projects transition */
#project-list{
  padding-top:90px;
}
#project-list .project-home-heading h2{
  font-size:clamp(34px,4vw,54px);
}

@media(max-width:900px){
  .luxury-home-hero{min-height:650px;height:76vh}
  .luxury-home-hero-copy{padding-bottom:60px}
  .home-philosophy{padding:78px 0}
  .home-philosophy-grid{grid-template-columns:1fr;gap:46px}
  .home-philosophy-copy{max-width:760px}
  .home-philosophy-visual,
  .home-philosophy-visual img{min-height:0;height:520px}
}
@media(max-width:600px){
  .luxury-home-hero{min-height:570px;height:70vh}
  .luxury-home-hero-copy{padding-bottom:44px}
  .luxury-home-hero-copy h1{font-size:42px;line-height:1.03}
  .home-philosophy{padding:58px 0}
  .home-philosophy-copy h2{font-size:36px}
  .home-philosophy-copy p{font-size:15px;line-height:1.8}
  .home-philosophy-visual,
  .home-philosophy-visual img{height:430px}
}

/* ===== v3.2.9.4 VI / EN language switch ===== */
.language-switcher{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  min-width:72px;
  height:38px;
  padding:0 10px;
  border:1px solid #5b452c;
  border-radius:8px;
  background:#0e1010;
}
.language-switcher span{
  width:1px;
  height:13px;
  background:#514739;
}
.language-switcher a{
  color:#777;
  font-size:10px;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  letter-spacing:.02em;
  transition:.2s ease;
}
.language-switcher a:hover{color:#e2ae68}
.language-switcher a.active{color:#e4af69}
@media(max-width:900px){
  .language-switcher{order:3;margin-left:auto}
}
@media(max-width:620px){
  .language-switcher{
    position:absolute;
    right:62px;
    top:50%;
    transform:translateY(-50%);
    height:34px;
    min-width:66px;
  }
  .header-cta{display:none!important}
}

/* ===== v3.2.10.2 Recruitment application ===== */
.job-apply-card-v2{padding:30px}
.job-cv-form{display:grid;gap:15px;margin-top:22px}
.job-cv-form label{display:grid;gap:7px}
.job-cv-form label>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#c9a76b;font-weight:800}
.job-cv-form input,.job-cv-form textarea{width:100%;box-sizing:border-box;border:1px solid #43392e;background:#101112;color:#f1eee9;border-radius:8px;padding:13px 14px;font:inherit;outline:none}
.job-cv-form input:focus,.job-cv-form textarea:focus{border-color:#dca95d;box-shadow:0 0 0 2px rgba(220,169,93,.09)}
.job-form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.job-file-field{padding:16px;border:1px dashed #5d4a34;border-radius:9px;background:#121313}
.job-file-field input[type=file]{padding:10px;background:#171819}
.job-file-field small{font-size:10px;line-height:1.55;color:#908b84}
.job-submit-cv{width:100%;border:0;cursor:pointer}
.job-apply-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#867b6d;font-size:9px;letter-spacing:.14em;font-weight:800}
.job-apply-divider:before,.job-apply-divider:after{content:"";height:1px;background:#3c342b;flex:1}
.job-gmail-button{display:block;text-align:center;width:100%;box-sizing:border-box}
.job-form-alert{padding:13px 14px;margin:15px 0;border-radius:8px;font-size:12px;line-height:1.6}
.job-form-alert.success{background:#142218;border:1px solid #36573e;color:#cce7d2}
.job-form-alert.error{background:#261616;border:1px solid #6b3939;color:#f1caca}
.job-apply-card-v2 .job-contact-list{margin-top:20px}
@media(max-width:680px){.job-form-two{grid-template-columns:1fr}}

/* v3.2.10.5 - Recruitment core values */
.recruitment-values{padding-top:84px;background:linear-gradient(180deg,#111211 0%,#151513 100%)}
.values-intro{max-width:900px;margin:0 auto 55px;text-align:center}
.values-intro h2{font-family:"Cormorant Garamond","Times New Roman",serif;font-size:clamp(38px,5vw,68px);font-weight:500;letter-spacing:.01em;margin:12px 0 20px;line-height:1}
.values-intro h2 em{color:#d8aa68;font-weight:400}
.values-intro p{max-width:780px;margin:auto;color:#bcb7af;font-size:16px;line-height:1.9}
.values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.value-card{position:relative;padding:34px 34px 30px;border:1px solid #37312a;background:#151615;overflow:hidden}
.value-card>span{position:absolute;right:22px;top:10px;font-family:"Cormorant Garamond","Times New Roman",serif;font-size:70px;line-height:1;color:#292721}
.value-card h3{position:relative;max-width:85%;font-family:"Cormorant Garamond","Times New Roman",serif;font-size:25px;font-weight:600;line-height:1.2;color:#eee9e1;margin:0 0 20px}
.value-card p{position:relative;color:#aaa69f;line-height:1.8;font-size:13px}
.value-card blockquote{position:relative;margin:22px 0 0;padding:16px 0 2px 18px;border-left:1px solid #d8aa68;color:#d8aa68;font-family:"Cormorant Garamond","Times New Roman",serif;font-size:19px;font-style:italic;line-height:1.5}
.value-card blockquote small{color:#8d8982;font-size:14px}
.values-spirit{margin-top:28px;padding:55px clamp(25px,6vw,80px);border:1px solid #4a3d2e;background:radial-gradient(circle at 80% 20%,rgba(216,170,104,.08),transparent 35%),#101110;text-align:center}
.spirit-lines{max-width:780px;margin:28px auto 38px}
.spirit-lines p{margin:8px 0;color:#eee9e1;font-family:"Cormorant Garamond","Times New Roman",serif;font-size:clamp(20px,2.5vw,29px)}
.spirit-lines em{color:#b4aea5;font-weight:400}
.spirit-signature{border-top:1px solid #342f29;padding-top:28px}
.spirit-signature strong{font-family:"Cormorant Garamond","Times New Roman",serif;color:#d8aa68;font-size:31px;letter-spacing:.12em}
.spirit-signature p{color:#d5d0c7;font-family:"Cormorant Garamond","Times New Roman",serif;font-size:18px;line-height:1.65;font-style:italic}
.recruitment-openings{padding-bottom:0}
.recruitment-openings .section-heading{margin-bottom:0}
@media(max-width:760px){.values-grid{grid-template-columns:1fr}.value-card{padding:28px 24px}.value-card h3{font-size:22px}.values-intro{margin-bottom:38px}}

/* ===== v3.2.11 Quote hub + turnkey quotation ===== */
.quote-hub-title h1{font-size:clamp(52px,8vw,108px);letter-spacing:.04em}
.quote-hub-section{padding-top:35px}
.quote-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1100px;margin:0 auto 30px}
.quote-type-card{position:relative;min-height:280px;text-align:left;border:1px solid #493b2c;background:linear-gradient(145deg,#141515,#0d0e0e);color:#f4efe7;padding:34px;cursor:pointer;overflow:hidden;transition:.25s ease}
.quote-type-card:hover{transform:translateY(-5px);border-color:#d4a45d;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.quote-type-number{position:absolute;right:25px;top:16px;font-family:"Cormorant Garamond",serif;font-size:68px;line-height:1;color:#24221e}
.quote-type-icon{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:36px;padding:0 12px;border:1px solid #6b5336;color:#d9a75f;font-weight:800;font-size:12px;letter-spacing:.08em;margin-bottom:35px}
.quote-type-card strong{display:block;font-family:"Cormorant Garamond",serif;font-size:34px;line-height:1.05;color:#f2eee7;max-width:80%;margin-bottom:14px}
.quote-type-card small{display:block;color:#9f9a92;font-size:12px;line-height:1.7;max-width:82%}
.quote-type-card b{display:block;color:#d8a75e;font-size:10px;letter-spacing:.1em;margin-top:30px}
.quote-panel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 20px;padding:12px 0;border-bottom:1px solid #39332c;color:#d9a75f}
.quote-back-btn{border:1px solid #4d4031;background:#111;color:#c8c0b6;padding:10px 14px;cursor:pointer;font-weight:700;font-size:10px;letter-spacing:.05em}
.quote-panel{scroll-margin-top:100px}.hidden{display:none!important}
#quote-panel-cnc>.section{padding-top:15px}
.turnkey-quote{background:#111212;border:1px solid #42372c;padding:28px;margin-top:10px}
.turnkey-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.turnkey-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(32px,4vw,52px);margin:7px 0 0;color:#eee8df}
.turnkey-customer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#191a19;padding:16px;border:1px solid #34302b}
.turnkey-customer-grid label,.turnkey-summary label{font-size:9px;letter-spacing:.08em;font-weight:800;color:#c9a566}
.turnkey-customer-grid input,.turnkey-summary input{width:100%;margin-top:7px;border:1px solid #433a31;background:#0d0e0e;color:#f2eee8;padding:10px;border-radius:5px}
.turnkey-summary{display:grid;grid-template-columns:1fr 170px 140px 1fr;gap:1px;background:#433b33;border:1px solid #433b33;margin:16px 0 24px}
.turnkey-summary>div,.turnkey-summary>label{background:#171817;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.turnkey-summary span{font-size:9px;font-weight:800;letter-spacing:.05em;color:#b9b1a7}.turnkey-summary input{width:70px;margin:0;text-align:right}
.turnkey-summary .turnkey-grand{background:#241f19}.turnkey-grand strong{font-size:18px;color:#dda95d}
.tk-room{border:1px solid #38332d;margin:18px 0;background:#101111}
.tk-room-head{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#b58b51;color:#111;padding:11px 14px}
.tk-room-head h3{margin:0;font-size:13px;color:#111;letter-spacing:.04em}.tk-room-head div{font-size:10px;font-weight:700}
.tk-table-wrap{overflow-x:auto}.tk-room table{width:100%;border-collapse:collapse;min-width:1280px}
.tk-room th{background:#252625;color:#f3eee6;font-size:9px;padding:10px 6px;white-space:nowrap;border-right:1px solid #373735}
.tk-room td{padding:4px;border-right:1px solid #292a29;border-bottom:1px solid #292a29;vertical-align:middle;color:#ddd;font-size:11px}
.tk-room input,.tk-room select,.tk-room textarea{width:100%;border:1px solid transparent;background:#141515;color:#ede8e0;padding:8px 7px;border-radius:3px;font:inherit;outline:none}
.tk-room input:focus,.tk-room select:focus,.tk-room textarea:focus{border-color:#c99754;background:#111}
.tk-product-cell{min-width:205px}.tk-product-manual{display:flex;gap:4px}.tk-back,.tk-delete{border:1px solid #5e4930;background:#17130f;color:#d7a35b;cursor:pointer;min-width:30px}.tk-delete{font-size:19px}
.tk-stt{width:38px;text-align:center}.tk-total{white-space:nowrap;text-align:right;font-weight:700;color:#e4b56e!important}.tk-unit{min-width:75px}.tk-qty:read-only{background:#1c1c1a;color:#d5bd98}
.turnkey-footnote{margin-top:18px;padding:15px;border:1px solid #45392c;background:#171614;color:#9e978e;font-size:11px;line-height:1.7}.turnkey-footnote b{color:#d2a15e}
@media(max-width:900px){.quote-type-picker{grid-template-columns:1fr}.turnkey-customer-grid{grid-template-columns:1fr 1fr}.turnkey-summary{grid-template-columns:1fr 1fr}.turnkey-head{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.turnkey-customer-grid,.turnkey-summary{grid-template-columns:1fr}.turnkey-quote{padding:12px}.quote-type-card{padding:25px;min-height:235px}.quote-type-card strong{font-size:28px}.quote-panel-toolbar{align-items:flex-start;flex-direction:column}}


/* ===== v3.2.12 Turnkey print / room selector / export ===== */
.turnkey-print-brand{display:flex;gap:22px;align-items:center;border-bottom:1px solid #4a4035;padding:0 0 18px;margin-bottom:18px}
.turnkey-logo{min-width:145px;display:flex;align-items:baseline;gap:6px;font-weight:800;color:#eee}.turnkey-logo .custom-logo{max-width:145px;max-height:72px;width:auto;height:auto}.turnkey-logo-369{font-size:46px;color:#d5a15b}.turnkey-company-info{display:flex;flex-direction:column;gap:4px;color:#d8d2c9;font-size:11px;line-height:1.45}.turnkey-company-info strong{font-size:15px;color:#fff}.turnkey-company-info b{color:#d5a15b}
.turnkey-actions{display:flex;gap:8px;flex-wrap:wrap}.turnkey-room-selector{display:flex;align-items:end;justify-content:space-between;gap:25px;border:1px dashed #5b4935;background:#151513;padding:18px;margin:18px 0}.turnkey-room-selector h3{margin:5px 0;color:#eee}.turnkey-room-selector p{margin:0;color:#918a80;font-size:11px}.turnkey-room-picker-row{display:flex;gap:8px;min-width:min(100%,460px)}.turnkey-room-picker-row select{flex:1;background:#0e0f0f;color:#eee;border:1px solid #59472f;padding:12px}.tk-room-head-tools{display:flex;align-items:center;gap:12px}.tk-remove-room{width:26px;height:26px;border:1px solid rgba(0,0,0,.35);background:rgba(0,0,0,.15);font-size:18px;cursor:pointer}.tk-product-final{display:block;margin-top:4px;color:#d8a75e;font-size:9px;font-weight:800;line-height:1.2}.tk-product-manual{align-items:center}.tk-action{width:34px}.turnkey-print-brand{display:none}
@media(max-width:900px){.turnkey-room-selector{align-items:stretch;flex-direction:column}.turnkey-room-picker-row{min-width:0;width:100%}}
@page{size:A4 portrait;margin:7mm}
@media print{
  html,body{background:#fff!important}.site-header,.site-footer,.page-title,.quote-hub-title,.quote-type-picker,.quote-panel-toolbar,#quote-panel-cnc,.no-print,.turnkey-actions,.turnkey-footnote,.tk-delete,.tk-action{display:none!important}
  body *{visibility:hidden!important}
  #quote-panel-turnkey,#quote-panel-turnkey *,#turnkey-quote,#turnkey-quote *{visibility:visible!important}
  #quote-panel-turnkey{display:block!important;position:absolute!important;left:0;top:0;width:100%!important;margin:0!important;padding:0!important}
  .turnkey-quote{display:block!important;position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;color:#111!important}
  .turnkey-print-brand{display:flex!important;color:#111!important;border-bottom:1px solid #999!important;padding-bottom:7px!important;margin-bottom:8px!important}.turnkey-logo{color:#111!important}.turnkey-logo-369{color:#b57d31!important}.turnkey-company-info,.turnkey-company-info strong{color:#111!important}.turnkey-company-info b{color:#8b5d23!important}
  .turnkey-head{margin:0 0 7px!important}.turnkey-head .eyebrow{display:none!important}.turnkey-head h2{color:#111!important;font-size:22px!important;margin:0!important}
  .turnkey-customer-grid{grid-template-columns:repeat(4,1fr)!important;background:#fff!important;border:1px solid #999!important;padding:5px!important;gap:4px!important}.turnkey-customer-grid label{color:#111!important;font-size:7px!important}.turnkey-customer-grid input{color:#111!important;background:#fff!important;border:0!important;border-bottom:1px solid #bbb!important;padding:3px!important;font-size:8px!important}
  .turnkey-summary{grid-template-columns:1fr 150px 120px 1fr!important;margin:6px 0 8px!important;background:#aaa!important}.turnkey-summary>div,.turnkey-summary>label{background:#fff!important;color:#111!important;padding:5px 7px!important}.turnkey-summary span,.turnkey-summary label{color:#111!important;font-size:7px!important}.turnkey-summary input{color:#111!important;background:#fff!important;border:0!important;font-size:8px!important;padding:1px!important}.turnkey-summary .turnkey-grand{background:#f0dfc6!important}.turnkey-grand strong{color:#111!important}
  .tk-empty-room{display:none!important}.tk-room{display:block!important;margin:0 0 7px!important;border:1px solid #777!important;background:#fff!important;break-inside:auto!important}.tk-room-head{background:#c49a61!important;color:#111!important;padding:4px 6px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tk-room-head h3{font-size:8px!important;color:#111!important}.tk-room-head div{font-size:7px!important;color:#111!important}.tk-remove-room{display:none!important}
  .tk-table-wrap{overflow:visible!important}.tk-room table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important}.tk-room th{background:#222!important;color:#fff!important;font-size:6px!important;padding:3px 2px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tk-room td{color:#111!important;background:#fff!important;font-size:6.5px!important;padding:2px!important;border-color:#aaa!important;vertical-align:top!important}.tk-room th:nth-child(1),.tk-room td:nth-child(1){width:3%}.tk-room th:nth-child(2),.tk-room td:nth-child(2){width:15%}.tk-room th:nth-child(3),.tk-room td:nth-child(3){width:23%}.tk-room th:nth-child(4),.tk-room td:nth-child(4),.tk-room th:nth-child(5),.tk-room td:nth-child(5),.tk-room th:nth-child(6),.tk-room td:nth-child(6){width:7%}.tk-room th:nth-child(7),.tk-room td:nth-child(7){width:7%}.tk-room th:nth-child(8),.tk-room td:nth-child(8){width:8%}.tk-room th:nth-child(9),.tk-room td:nth-child(9){width:10%}.tk-room th:nth-child(10),.tk-room td:nth-child(10){width:13%}
  .tk-row:not([data-display-product]){display:none!important}.tk-room input,.tk-room select,.tk-room textarea{color:#111!important;background:transparent!important;border:0!important;padding:0!important;font-size:6.5px!important;appearance:none!important;-webkit-appearance:none!important;resize:none!important;height:auto!important;min-height:0!important}.tk-product-final.hidden{display:none!important}.tk-product-final{color:#111!important;font-size:6.5px!important;margin:0!important}.tk-product-manual:not(.hidden) input{display:none!important}.tk-product-manual:not(.hidden)~.tk-product-final{display:block!important}.tk-product.hidden{display:none!important}
}

/* ===== v3.2.13 Zalo PDF share ===== */
.turnkey-customer-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.btn-zalo{background:#0068ff!important;border:1px solid #0068ff!important;color:#fff!important;font-weight:800}
.btn-zalo:hover{filter:brightness(1.08)}
.btn-zalo:disabled{opacity:.55;cursor:wait}
.turnkey-zalo-status{min-height:20px;margin:8px 0 0;color:#9dbfff;font-size:11px;line-height:1.45}
@media(max-width:1100px){.turnkey-customer-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.turnkey-customer-grid-5{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.turnkey-customer-grid-5{grid-template-columns:1fr}}
@media print{
  .turnkey-customer-grid-5{grid-template-columns:repeat(5,1fr)!important}
}


/* ===== v3.2.14 Turnkey contract / materials / payment / signature ===== */
.turnkey-meta-row{display:flex;justify-content:space-between;gap:18px;padding:10px 14px;background:#151616;border:1px solid #38322b;border-top:0;color:#cfc7bd}.turnkey-meta-row>div{display:flex;align-items:center;gap:10px}.turnkey-meta-row span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#c9a566}.turnkey-meta-row strong{color:#f0e8dc}.turnkey-meta-row small{color:#8f8981;font-size:10px}
.turnkey-summary-simple{grid-template-columns:220px 1fr;margin-top:14px}.turnkey-summary-simple .turnkey-grand{justify-content:flex-end;gap:30px}.turnkey-summary-simple .turnkey-grand span{color:#d7cbbb}.turnkey-summary-simple .turnkey-grand strong{font-size:22px}
.turnkey-room-picker-advanced{grid-template-columns:minmax(220px,1.5fr) minmax(145px,.8fr) minmax(120px,.65fr) auto}.turnkey-room-picker-advanced select{min-width:0}
.turnkey-material-print{display:flex;gap:25px;padding:10px 13px;margin:-10px 0 12px;border:1px solid #38322b;background:#151616;color:#aaa49c;font-size:10px}.turnkey-material-print b{color:#d9a75f}
.tk-desc-cell{min-width:320px}.tk-desc-manual{display:flex;gap:4px;align-items:stretch}.tk-desc-back{border:1px solid #5e4930;background:#17130f;color:#d7a35b;cursor:pointer;min-width:30px}.tk-desc-select{white-space:normal}
.turnkey-payment{margin-top:22px;border:1px solid #40382f;background:#121313}.turnkey-payment h3,.turnkey-notes h3{margin:0;padding:12px 15px;background:#25221e;color:#d9a75f;font-size:12px;letter-spacing:.08em}.tk-payment-row{display:grid;grid-template-columns:minmax(210px,1fr) 230px 160px 230px;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid #302c27;color:#ddd}.tk-payment-row>span{font-size:11px;font-weight:800}.tk-payment-row select,.tk-payment-row input{width:100%;background:#0d0e0e;border:1px solid #40382f;color:#eee;padding:9px;border-radius:4px}.tk-payment-row strong{text-align:right;color:#e0b16b}.tk-payment-total,.tk-payment-remaining{grid-template-columns:1fr 230px;background:#191713}.tk-payment-total strong,.tk-payment-remaining strong{font-size:18px}
.turnkey-notes{margin-top:18px;border:1px solid #40382f;padding-bottom:10px}.turnkey-notes p{margin:10px 15px;color:#aaa39a;font-size:11px;line-height:1.65}
.turnkey-signatures{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:28px 0 8px;padding:20px 80px;border-top:1px solid #3b352e}.tk-sign-party{text-align:center;min-height:250px;color:#d9d2c9}.tk-sign-party>strong{display:block;font-size:12px;letter-spacing:.08em;color:#e0b16b}.tk-sign-party>span{display:block;margin-top:5px;font-size:10px;color:#999}.tk-sign-space{height:150px}.tk-sign-party-b img{display:none;max-width:140px;max-height:60px;object-fit:contain;margin:8px auto 0;mix-blend-mode:multiply}.tk-sign-party b{display:block;margin-top:3px;font-size:11px}.turnkey-slogan{text-align:center;border-top:1px solid #40382f;padding:14px 0 2px;color:#d9a75f;font-size:11px;font-weight:800;letter-spacing:.06em}
@media(max-width:900px){.turnkey-room-picker-advanced{grid-template-columns:1fr 1fr}.tk-payment-row{grid-template-columns:1fr 1fr}.tk-payment-row strong{text-align:left}.turnkey-signatures{padding:20px 10px;gap:20px}}
@media(max-width:560px){.turnkey-room-picker-advanced,.tk-payment-row{grid-template-columns:1fr}.turnkey-meta-row,.turnkey-material-print{flex-direction:column;align-items:flex-start}.turnkey-signatures{grid-template-columns:1fr}.turnkey-summary-simple{grid-template-columns:1fr}}
@media print{
  .turnkey-meta-row{display:flex!important;background:#fff!important;color:#111!important;border-color:#aaa!important;padding:4px 7px!important}.turnkey-meta-row span,.turnkey-meta-row strong,.turnkey-meta-row small{color:#111!important;font-size:7px!important}
  .turnkey-summary-simple{grid-template-columns:150px 1fr!important}.turnkey-summary-simple>label,.turnkey-summary-simple>div{padding:5px 7px!important}.turnkey-summary-simple .turnkey-grand{justify-content:flex-end!important}.turnkey-material-print{display:flex!important;background:#fff!important;color:#111!important;border-color:#aaa!important;margin:4px 0 6px!important;padding:4px 7px!important;font-size:7px!important}.turnkey-material-print b{color:#111!important}
  .tk-desc-manual:not(.hidden) textarea{display:block!important}.tk-desc-manual:not(.hidden) .tk-desc-back{display:none!important}.tk-desc-select.hidden{display:none!important}.tk-desc-select{white-space:normal!important}
  .turnkey-payment,.turnkey-notes,.turnkey-signatures,.turnkey-slogan{visibility:visible!important;color:#111!important;background:#fff!important;border-color:#999!important;break-inside:avoid!important}.turnkey-payment{margin-top:8px!important}.turnkey-payment h3,.turnkey-notes h3{background:#eee!important;color:#111!important;padding:5px 7px!important;font-size:8px!important}.tk-payment-row{grid-template-columns:1fr 130px 90px 145px!important;padding:4px 7px!important;gap:5px!important;border-color:#aaa!important;color:#111!important}.tk-payment-row span,.tk-payment-row strong{font-size:7px!important;color:#111!important}.tk-payment-row select,.tk-payment-row input{background:#fff!important;color:#111!important;border:0!important;padding:1px!important;font-size:7px!important;appearance:none!important;-webkit-appearance:none!important}.tk-payment-total,.tk-payment-remaining{grid-template-columns:1fr 145px!important;background:#f5ead9!important}.turnkey-notes{margin-top:7px!important;padding-bottom:3px!important}.turnkey-notes p{color:#111!important;font-size:7px!important;margin:4px 7px!important;line-height:1.4!important}.turnkey-signatures{display:grid!important;grid-template-columns:1fr 1fr!important;gap:50px!important;margin:8px 0!important;padding:8px 60px!important;border-color:#aaa!important}.tk-sign-party{min-height:140px!important;color:#111!important}.tk-sign-party>strong,.tk-sign-party>span,.tk-sign-party b{color:#111!important;font-size:7px!important}.tk-sign-space{height:90px!important}.tk-sign-party-b img{display:block!important;max-width:140px!important;max-height:60px!important;margin:5px auto 0!important}.turnkey-slogan{color:#8b5d23!important;font-size:7px!important;padding:5px 0!important}
}


/* ===== v3.2.16 quote branding and print refinements ===== */
.turnkey-logo{min-width:220px;display:flex;align-items:center}
.turnkey-logo-img{max-width:220px;width:100%;height:auto;display:block}
.turnkey-head-copy{display:flex;flex-direction:column;gap:6px}
.turnkey-plhd-inline{display:flex;align-items:center;gap:10px;font-size:13px;color:#d9d2c9}.turnkey-plhd-inline span{font-size:10px;font-weight:800;letter-spacing:.1em;color:#c9a566}.turnkey-plhd-inline strong{font-size:17px;color:#fff}
.turnkey-summary-contract{display:flex;flex-direction:column;gap:1px;max-width:520px;margin:14px 0 20px auto;background:#433b33;border:1px solid #433b33}.turnkey-summary-line{background:#171817;padding:12px 16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px}.turnkey-summary-line span{font-size:11px;font-weight:800;letter-spacing:.05em;color:#cfc6bb}.turnkey-summary-line strong{font-size:20px;color:#f4efe8}.turnkey-summary-line-vat{grid-template-columns:1fr auto auto}.turnkey-vat-input{display:flex;align-items:center;gap:6px}.turnkey-vat-input input{width:72px;margin:0;text-align:right;background:#0d0e0e;color:#f2eee8;border:1px solid #433a31;padding:8px;border-radius:5px}.turnkey-vat-input em{font-style:normal;color:#d9cfc4;font-size:14px}.turnkey-summary-contract .turnkey-grand{background:#241f19}.turnkey-summary-contract .turnkey-grand strong{font-size:24px;color:#dda95d}
.turnkey-material-print{display:none}
.tk-sign-party-b img{mix-blend-mode:normal}
@media print{
  .turnkey-print-brand{gap:16px!important;align-items:flex-start!important}.turnkey-logo{min-width:180px!important}.turnkey-logo-img{max-width:180px!important}
  .turnkey-head{align-items:flex-start!important;margin-bottom:6px!important}.turnkey-head h2{font-size:28px!important;letter-spacing:.02em!important}.turnkey-plhd-inline{display:flex!important;gap:8px!important}.turnkey-plhd-inline span{font-size:10px!important;color:#111!important}.turnkey-plhd-inline strong{font-size:16px!important;color:#111!important}
  .turnkey-meta-row{padding:2px 7px!important;margin-bottom:4px!important}.turnkey-material-print{display:none!important}
  .turnkey-summary-contract{max-width:470px!important;margin:4px 0 8px auto!important}.turnkey-summary-line{padding:6px 8px!important}.turnkey-summary-line span{font-size:10px!important;color:#111!important}.turnkey-summary-line strong{font-size:14px!important;color:#111!important}.turnkey-summary-contract .turnkey-grand strong{font-size:16px!important}.turnkey-vat-input input,.turnkey-vat-input em{font-size:10px!important;color:#111!important}
  .tk-room th{font-size:8px!important;padding:4px 2px!important}.tk-room td{font-size:8.5px!important;padding:3px 3px!important;line-height:1.32!important}
  .tk-room th:nth-child(1),.tk-room td:nth-child(1){width:4%!important}.tk-room th:nth-child(2),.tk-room td:nth-child(2){width:18%!important}.tk-room th:nth-child(3),.tk-room td:nth-child(3){width:27%!important}.tk-room th:nth-child(4),.tk-room td:nth-child(4),.tk-room th:nth-child(5),.tk-room td:nth-child(5),.tk-room th:nth-child(6),.tk-room td:nth-child(6){width:6%!important}.tk-room th:nth-child(7),.tk-room td:nth-child(7){width:6%!important}.tk-room th:nth-child(8),.tk-room td:nth-child(8){width:8%!important}.tk-room th:nth-child(9),.tk-room td:nth-child(9){width:10%!important}.tk-room th:nth-child(10),.tk-room td:nth-child(10){width:11%!important}
  .tk-room input,.tk-room select,.tk-room textarea,.tk-product-final{font-size:8.5px!important;line-height:1.32!important}.tk-room-head h3{font-size:10px!important}.tk-room-head div{font-size:8px!important}
  .turnkey-payment h3,.turnkey-notes h3{font-size:10px!important;padding:6px 8px!important}.tk-payment-row{grid-template-columns:1fr 145px 95px 160px!important;padding:6px 8px!important}.tk-payment-row span,.tk-payment-row strong,.tk-payment-row select,.tk-payment-row input{font-size:9px!important}.tk-payment-total,.tk-payment-remaining{grid-template-columns:1fr 160px!important}
  .turnkey-notes p{font-size:8.5px!important;line-height:1.42!important}.turnkey-signatures{padding:10px 80px!important;gap:80px!important}.tk-sign-party{min-height:160px!important}.tk-sign-party>strong,.tk-sign-party>span,.tk-sign-party b{font-size:9px!important}.tk-sign-space{height:95px!important}.tk-sign-party-b img{max-width:120px!important;max-height:58px!important}
}


/* ===== v3.2.17 PDF/PRINT OPTIMIZED ===== */
.turnkey-orientation-control{display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid #4a4035;border-radius:4px;background:#121313;color:#d7cbbb}.turnkey-orientation-control span{font-size:9px;font-weight:800;letter-spacing:.07em}.turnkey-orientation-control select{background:#0d0e0e;color:#f2eee8;border:1px solid #5b4935;padding:7px 9px;border-radius:3px;font-weight:800}
@media print{
  .turnkey-orientation-control{display:none!important}
  .turnkey-orientation-landscape .turnkey-print-brand{margin-bottom:6px!important}.turnkey-orientation-landscape .turnkey-company-info{font-size:10px!important}.turnkey-orientation-landscape .turnkey-company-info strong{font-size:13px!important}.turnkey-orientation-landscape .turnkey-head h2{font-size:30px!important}.turnkey-orientation-landscape .turnkey-customer-grid label{font-size:9px!important}.turnkey-orientation-landscape .turnkey-customer-grid input{font-size:10px!important}.turnkey-orientation-landscape .turnkey-summary-line span{font-size:11px!important}.turnkey-orientation-landscape .turnkey-summary-line strong{font-size:15px!important}.turnkey-orientation-landscape .tk-room th{font-size:10px!important;line-height:1.2!important}.turnkey-orientation-landscape .tk-room td,.turnkey-orientation-landscape .tk-room input,.turnkey-orientation-landscape .tk-room select,.turnkey-orientation-landscape .tk-room textarea,.turnkey-orientation-landscape .tk-product-final{font-size:10.5px!important;line-height:1.28!important}.turnkey-orientation-landscape .tk-room th:nth-child(2),.turnkey-orientation-landscape .tk-room td:nth-child(2){width:18%!important}.turnkey-orientation-landscape .tk-room th:nth-child(3),.turnkey-orientation-landscape .tk-room td:nth-child(3){width:28%!important}.turnkey-orientation-landscape .tk-room th:nth-child(4),.turnkey-orientation-landscape .tk-room td:nth-child(4),.turnkey-orientation-landscape .tk-room th:nth-child(5),.turnkey-orientation-landscape .tk-room td:nth-child(5),.turnkey-orientation-landscape .tk-room th:nth-child(6),.turnkey-orientation-landscape .tk-room td:nth-child(6){width:5.5%!important}.turnkey-orientation-landscape .tk-room th:nth-child(7),.turnkey-orientation-landscape .tk-room td:nth-child(7){width:5.5%!important}.turnkey-orientation-landscape .tk-room th:nth-child(8),.turnkey-orientation-landscape .tk-room td:nth-child(8){width:7%!important}.turnkey-orientation-landscape .turnkey-notes p{font-size:10px!important}.turnkey-orientation-landscape .tk-payment-row span,.turnkey-orientation-landscape .tk-payment-row strong,.turnkey-orientation-landscape .tk-payment-row select,.turnkey-orientation-landscape .tk-payment-row input{font-size:10px!important}
  .turnkey-orientation-portrait .turnkey-logo{min-width:135px!important}.turnkey-orientation-portrait .turnkey-logo-img{max-width:135px!important}.turnkey-orientation-portrait .turnkey-company-info{font-size:8px!important}.turnkey-orientation-portrait .turnkey-company-info strong{font-size:11px!important}.turnkey-orientation-portrait .turnkey-head{display:block!important}.turnkey-orientation-portrait .turnkey-head h2{font-size:25px!important}.turnkey-orientation-portrait .turnkey-customer-grid-5{grid-template-columns:1fr 1fr!important}.turnkey-orientation-portrait .turnkey-customer-grid label{font-size:8px!important}.turnkey-orientation-portrait .turnkey-customer-grid input{font-size:9px!important}.turnkey-orientation-portrait .turnkey-summary-contract{max-width:390px!important}.turnkey-orientation-portrait .turnkey-summary-line span{font-size:9px!important}.turnkey-orientation-portrait .turnkey-summary-line strong{font-size:12px!important}.turnkey-orientation-portrait .tk-room th{font-size:8px!important;padding:4px 1px!important}.turnkey-orientation-portrait .tk-room td,.turnkey-orientation-portrait .tk-room input,.turnkey-orientation-portrait .tk-room select,.turnkey-orientation-portrait .tk-room textarea,.turnkey-orientation-portrait .tk-product-final{font-size:8.5px!important;line-height:1.22!important}.turnkey-orientation-portrait .tk-room th:nth-child(1),.turnkey-orientation-portrait .tk-room td:nth-child(1){width:4%!important}.turnkey-orientation-portrait .tk-room th:nth-child(2),.turnkey-orientation-portrait .tk-room td:nth-child(2){width:18%!important}.turnkey-orientation-portrait .tk-room th:nth-child(3),.turnkey-orientation-portrait .tk-room td:nth-child(3){width:29%!important}.turnkey-orientation-portrait .tk-room th:nth-child(4),.turnkey-orientation-portrait .tk-room td:nth-child(4),.turnkey-orientation-portrait .tk-room th:nth-child(5),.turnkey-orientation-portrait .tk-room td:nth-child(5),.turnkey-orientation-portrait .tk-room th:nth-child(6),.turnkey-orientation-portrait .tk-room td:nth-child(6){width:5.5%!important}.turnkey-orientation-portrait .tk-room th:nth-child(7),.turnkey-orientation-portrait .tk-room td:nth-child(7){width:6%!important}.turnkey-orientation-portrait .tk-room th:nth-child(8),.turnkey-orientation-portrait .tk-room td:nth-child(8){width:7.5%!important}.turnkey-orientation-portrait .tk-room th:nth-child(9),.turnkey-orientation-portrait .tk-room td:nth-child(9){width:9.5%!important}.turnkey-orientation-portrait .tk-room th:nth-child(10),.turnkey-orientation-portrait .tk-room td:nth-child(10){width:10%!important}.turnkey-orientation-portrait .turnkey-payment{break-before:page!important}.turnkey-orientation-portrait .turnkey-notes p{font-size:9px!important}.turnkey-orientation-portrait .turnkey-signatures{padding:10px 30px!important;gap:30px!important}
}


/* ===== v3.2.18 INPUT/LOGO/VAT/DOCUMENT TYPE ===== */
.turnkey-logo{width:220px;height:105px;min-width:220px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.turnkey-logo-img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}
.turnkey-doc-title-wrap{display:flex;align-items:center;gap:10px}.turnkey-doc-title{font-family:"Cormorant Garamond",serif;font-size:clamp(26px,3vw,42px);font-weight:700;background:#111;color:#eee;border:1px solid #5b4935;padding:6px 36px 6px 10px;max-width:650px}.turnkey-doc-title-wrap h2{display:none}
.turnkey-summary-contract{margin-left:auto!important;margin-right:0!important;width:min(100%,560px)!important}.turnkey-summary-line{grid-template-columns:minmax(270px,1fr) auto!important;text-align:right}.turnkey-summary-line span{text-align:right}.turnkey-summary-line-vat{grid-template-columns:minmax(270px,1fr) auto!important}.tk-vat-amount-hidden{display:none!important}.turnkey-vat-input{justify-content:flex-end}.tk-price{text-align:right;font-variant-numeric:tabular-nums}
@media print{
  .turnkey-logo{width:180px!important;height:86px!important;min-width:180px!important}.turnkey-logo-img{object-fit:contain!important}
  .turnkey-doc-title{display:none!important}.turnkey-doc-title-wrap h2{display:block!important;color:#111!important;font-size:30px!important;margin:0!important}.turnkey-summary-contract{margin-left:auto!important;margin-right:0!important}.turnkey-summary-line{grid-template-columns:minmax(250px,1fr) auto!important}.turnkey-summary-line-vat{grid-template-columns:minmax(250px,1fr) auto!important}
}


/* ===== v3.2.19 PROFESSIONAL LARGE PRINT ===== */
@media print{
  @page{margin:6mm!important}
  .turnkey-material-print{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;border:0!important}
  .turnkey-print-brand{padding-bottom:8px!important;margin-bottom:8px!important}
  .turnkey-company-info{font-size:11px!important;line-height:1.35!important}.turnkey-company-info strong{font-size:14px!important}.turnkey-company-info b{font-size:11px!important}
  .turnkey-head{margin:0 0 8px!important}.turnkey-head h2,.turnkey-doc-title-wrap h2{font-size:31px!important;line-height:1.05!important;font-weight:800!important}.turnkey-plhd-inline span{font-size:11px!important}.turnkey-plhd-inline strong{font-size:17px!important}
  .turnkey-customer-grid{padding:7px!important;gap:6px!important}.turnkey-customer-grid label{font-size:10px!important;font-weight:800!important}.turnkey-customer-grid input{font-size:12px!important;font-weight:600!important;padding:5px 3px!important}
  .turnkey-meta-row{font-size:10px!important;padding:5px 8px!important}.turnkey-meta-row span,.turnkey-meta-row small{font-size:9.5px!important}
  .turnkey-summary-contract{width:500px!important;max-width:500px!important;margin:8px 0 10px auto!important;border:1px solid #777!important;background:#fff!important;gap:0!important}
  .turnkey-summary-line{display:grid!important;grid-template-columns:310px 1fr!important;min-height:36px!important;padding:7px 10px!important;border-bottom:1px solid #aaa!important;background:#fff!important}.turnkey-summary-line:last-child{border-bottom:0!important;background:#f4e3c9!important}
  .turnkey-summary-line span{font-size:11px!important;font-weight:800!important;text-align:right!important;white-space:nowrap!important;color:#111!important}.turnkey-summary-line strong{font-size:16px!important;font-weight:800!important;text-align:right!important;color:#111!important;white-space:nowrap!important}.turnkey-summary-line-vat{grid-template-columns:310px 1fr!important}.turnkey-vat-input{justify-content:flex-end!important}.turnkey-vat-input input{font-size:14px!important;font-weight:800!important;width:54px!important;text-align:right!important;color:#111!important;background:#fff!important}.turnkey-vat-input em{font-size:14px!important;color:#111!important}
  .tk-room{margin-bottom:9px!important}.tk-room-head{padding:7px 9px!important}.tk-room-head h3{font-size:12px!important;font-weight:800!important}.tk-room-head div{font-size:10px!important;font-weight:800!important}
  .tk-room table{table-layout:fixed!important}.tk-room th{font-size:10px!important;line-height:1.15!important;padding:6px 3px!important;font-weight:800!important}.tk-room td{font-size:11px!important;line-height:1.35!important;padding:6px 4px!important;vertical-align:middle!important}.tk-room input,.tk-room select,.tk-room textarea,.tk-product-final{font-size:11px!important;line-height:1.35!important;font-weight:500!important}.tk-room textarea{white-space:normal!important;overflow:visible!important}
  .tk-room th:nth-child(1),.tk-room td:nth-child(1){width:3.5%!important}.tk-room th:nth-child(2),.tk-room td:nth-child(2){width:18%!important}.tk-room th:nth-child(3),.tk-room td:nth-child(3){width:27.5%!important}.tk-room th:nth-child(4),.tk-room td:nth-child(4),.tk-room th:nth-child(5),.tk-room td:nth-child(5),.tk-room th:nth-child(6),.tk-room td:nth-child(6){width:5.5%!important}.tk-room th:nth-child(7),.tk-room td:nth-child(7){width:5.5%!important}.tk-room th:nth-child(8),.tk-room td:nth-child(8){width:7%!important}.tk-room th:nth-child(9),.tk-room td:nth-child(9){width:10%!important}.tk-room th:nth-child(10),.tk-room td:nth-child(10){width:12%!important}
  .tk-room td:nth-child(2),.tk-room td:nth-child(3){text-align:left!important}.tk-room td:nth-child(n+4){text-align:center!important}.tk-room td:nth-child(9),.tk-room td:nth-child(10){text-align:right!important;font-variant-numeric:tabular-nums!important}
  .turnkey-payment{margin-top:10px!important}.turnkey-payment h3,.turnkey-notes h3{font-size:12px!important;padding:7px 9px!important}.tk-payment-row{padding:7px 9px!important;grid-template-columns:1fr 190px 90px 180px!important}.tk-payment-row span,.tk-payment-row strong,.tk-payment-row select,.tk-payment-row input{font-size:11px!important;font-weight:700!important}.tk-payment-total,.tk-payment-remaining{grid-template-columns:1fr 180px!important}.tk-payment-row strong{font-size:12px!important}
  .turnkey-notes{margin-top:9px!important}.turnkey-notes p{font-size:10.5px!important;line-height:1.45!important;margin:6px 9px!important}.turnkey-signatures{margin-top:10px!important;padding:12px 80px!important}.tk-sign-party>strong{font-size:11px!important}.tk-sign-party>span,.tk-sign-party b{font-size:10px!important}
  .turnkey-orientation-landscape .tk-room th{font-size:10.5px!important}.turnkey-orientation-landscape .tk-room td,.turnkey-orientation-landscape .tk-room input,.turnkey-orientation-landscape .tk-room select,.turnkey-orientation-landscape .tk-room textarea,.turnkey-orientation-landscape .tk-product-final{font-size:11.5px!important;line-height:1.35!important}
  .turnkey-orientation-portrait .turnkey-head h2,.turnkey-orientation-portrait .turnkey-doc-title-wrap h2{font-size:25px!important}.turnkey-orientation-portrait .turnkey-customer-grid label{font-size:9px!important}.turnkey-orientation-portrait .turnkey-customer-grid input{font-size:10px!important}.turnkey-orientation-portrait .turnkey-summary-contract{width:100%!important;max-width:100%!important}.turnkey-orientation-portrait .turnkey-summary-line{grid-template-columns:1fr 135px!important}.turnkey-orientation-portrait .turnkey-summary-line span{font-size:9px!important}.turnkey-orientation-portrait .turnkey-summary-line strong{font-size:12px!important}.turnkey-orientation-portrait .tk-room th{font-size:7.7px!important}.turnkey-orientation-portrait .tk-room td,.turnkey-orientation-portrait .tk-room input,.turnkey-orientation-portrait .tk-room select,.turnkey-orientation-portrait .tk-room textarea,.turnkey-orientation-portrait .tk-product-final{font-size:8.5px!important}
}


/* ===== v3.2.20 PLHD recall / calculation stability ===== */
.tk-plhd-recall{display:flex;align-items:center;gap:8px;margin-left:8px}.tk-plhd-recall input{min-width:210px;background:#0d0e0e;border:1px solid #5b4935;color:#fff;padding:9px 10px;border-radius:4px;font-weight:700}.tk-plhd-recall .btn{padding:9px 12px;white-space:nowrap}.tk-recall-status{margin-top:5px;color:#d9a75f;font-size:11px;line-height:1.4}.turnkey-plhd-inline{flex-wrap:wrap}.turnkey-plhd-inline .tk-plhd-loaded{color:#e1b46c}
.tk-total{font-weight:800;color:#e0b16b;white-space:nowrap}.tk-price{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:760px){.tk-plhd-recall{width:100%;margin-left:0}.tk-plhd-recall input{min-width:0;flex:1}}
@media print{.tk-plhd-recall,.tk-recall-status{display:none!important}}

/* ===== v3.2.21 correct logo/signature placement ===== */
.turnkey-logo{display:flex;align-items:center;justify-content:flex-start;overflow:hidden;min-width:0;width:210px;max-width:210px;height:105px}
.turnkey-logo-img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:left center!important}
.tk-sign-party-b img{width:auto!important;height:auto!important;max-width:150px!important;max-height:68px!important;object-fit:contain!important;object-position:center!important;background:transparent!important}
@media print{
 .turnkey-logo{width:175px!important;max-width:175px!important;height:88px!important}.turnkey-logo-img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
 .tk-sign-party-b img{max-width:120px!important;max-height:58px!important;background:transparent!important}
}


/* ===== v3.2.25 PLHD unique + contract ===== */
.turnkey-plhd-inline strong{white-space:nowrap}
.tk-contract-panel{background:#f1f1ef;color:#111;padding:30px 0 70px}.tk-contract-wrap{max-width:980px;background:#fff;padding:34px 52px;box-shadow:0 10px 40px rgba(0,0,0,.18);font-family:"Times New Roman",serif;font-size:15px;line-height:1.45}.tk-contract-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:25px}.tk-contract-heading{text-align:center}.tk-contract-heading h1{font-size:24px;line-height:1.28;margin:18px 0 8px}.tk-contract-heading p{margin:4px 0}.tk-contract-wrap h2{font-size:17px;margin:24px 0 9px;font-weight:800}.tk-contract-party{margin:13px 0}.tk-contract-party h3{font-size:16px;margin:0 0 8px}.tk-contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.tk-contract-grid label{font-size:13px;font-weight:700}.tk-contract-grid input{width:100%;border:0;border-bottom:1px dotted #777;padding:5px 2px;font:inherit}.tk-contract-grid .span-2{grid-column:1/-1}.tk-contract-value-table{width:100%;border-collapse:collapse;margin:10px 0}.tk-contract-value-table th,.tk-contract-value-table td{border:1px solid #333;padding:7px;text-align:center}.tk-contract-value-table th:nth-child(2),.tk-contract-value-table td:nth-child(2){text-align:left}.tk-contract-signatures{display:grid;grid-template-columns:1fr 1fr;gap:70px;text-align:center;margin-top:35px}.tk-contract-signatures>div{min-height:210px;display:flex;flex-direction:column;align-items:center}.tk-contract-signatures span{display:block;font-style:italic;margin-top:4px}.tk-contract-signatures img{max-width:150px;max-height:75px;object-fit:contain;margin:22px auto 8px}.contract-sign-space{height:120px}.tk-contract-signatures strong{margin-top:auto}
@media(max-width:700px){.tk-contract-wrap{padding:22px 16px}.tk-contract-grid{grid-template-columns:1fr}.tk-contract-grid .span-2{grid-column:auto}.tk-contract-signatures{gap:20px}}
@media print{
  body.d369-contract-printing *{visibility:hidden!important}
  body.d369-contract-printing #tk-contract-panel,body.d369-contract-printing #tk-contract-panel *{visibility:visible!important}
  body.d369-contract-printing #tk-contract-panel{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important;padding:0!important}
  body.d369-contract-printing .tk-contract-wrap{max-width:none!important;width:100%!important;box-shadow:none!important;padding:8mm 12mm!important;font-size:11pt!important;line-height:1.35!important}
  body.d369-contract-printing .no-print{display:none!important}
  body.d369-contract-printing .tk-contract-grid input{border:0!important;color:#111!important;background:transparent!important;padding:0!important}
  body.d369-contract-printing .tk-contract-heading h1{font-size:17pt!important}
  body.d369-contract-printing .tk-contract-wrap h2{font-size:12pt!important;break-after:avoid!important}
  body.d369-contract-printing .tk-contract-value-table{font-size:10pt!important}
  body.d369-contract-printing .tk-contract-signatures{break-inside:avoid!important}
}

/* ===== v3.2.27 delivery time + contract timeline ===== */
.tk-delivery-days{text-align:center}
.ct-days-input{display:inline-block!important;width:64px!important;min-width:64px!important;border:1px solid #777!important;border-radius:3px!important;padding:2px 5px!important;text-align:center!important;font:inherit!important;background:#fff!important;color:#111!important}
@media print{body.d369-contract-printing .ct-days-input{width:42px!important;min-width:42px!important;border:0!important;border-bottom:1px dotted #777!important;background:transparent!important;padding:0 2px!important}.tk-room th:nth-child(9),.tk-room td:nth-child(9){width:8%!important}.tk-room th:nth-child(10),.tk-room td:nth-child(10){width:9%!important}.tk-room th:nth-child(11),.tk-room td:nth-child(11){width:11%!important}}

/* v3.2.28 */
.turnkey-logo-img{object-fit:contain;background:#000;border-radius:4px}
.turnkey-customer-type-row{display:flex;justify-content:flex-end;margin:10px 0}.turnkey-customer-type-row label{display:flex;gap:10px;align-items:center;color:#d9a75f;font-weight:800}.turnkey-customer-type-row select{background:#0d0e0e;color:#fff;border:1px solid #54432e;padding:10px 12px}
.turnkey-business-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px;padding:14px;border:1px solid #40382f;background:#151514}.turnkey-business-fields label{font-size:10px;color:#c7bfb5;font-weight:700}.turnkey-business-fields input{width:100%;margin-top:5px;background:#0d0e0e;color:#fff;border:1px solid #40382f;padding:9px}.ct-business-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tl-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.tl-values label,.tl-values>div{border:1px solid #aaa;padding:9px;display:flex;justify-content:space-between;gap:12px}.tl-values input{min-width:180px;text-align:right}.tl-values strong{font-size:16px}.tl-remaining{background:#f3e4c8;font-weight:800}
@media(max-width:900px){.turnkey-business-fields{grid-template-columns:1fr 1fr}}@media(max-width:560px){.turnkey-business-fields{grid-template-columns:1fr}}
@media print{.turnkey-customer-type-row{display:none!important}.turnkey-business-fields:not(.hidden){display:grid!important;background:#fff!important;color:#111!important;border-color:#aaa!important}.turnkey-business-fields input{color:#111!important;background:#fff!important;border:0!important;border-bottom:1px solid #bbb!important}body.d369-liquidation-printing *{visibility:hidden!important}body.d369-liquidation-printing #tk-liquidation-panel,body.d369-liquidation-printing #tk-liquidation-panel *{visibility:visible!important}body.d369-liquidation-printing #tk-liquidation-panel{display:block!important;position:absolute!important;inset:0!important;background:#fff!important;color:#111!important}body.d369-liquidation-printing .site-header,body.d369-liquidation-printing .site-footer,body.d369-liquidation-printing .no-print{display:none!important}body.d369-liquidation-printing .tk-contract-wrap{max-width:none!important;background:#fff!important;color:#111!important}.tl-values input{border:0!important;color:#111!important;background:#fff!important}}

/* ===== v3.2.29 compact document selector ===== */
.turnkey-head-copy{min-width:0;flex:1 1 430px}
.turnkey-doc-title-wrap{width:min(100%,540px);max-width:540px}
.turnkey-doc-title{
  width:100%;
  max-width:540px;
  min-height:48px;
  font-size:clamp(22px,1.8vw,26px)!important;
  line-height:1.08;
  font-weight:700;
  padding:8px 42px 8px 12px!important;
  border-radius:2px;
  letter-spacing:.01em;
}
.turnkey-head{align-items:center;gap:16px}
.turnkey-actions{justify-content:flex-end;align-items:center}

@media(max-width:1100px){
  .turnkey-doc-title-wrap{width:min(100%,470px);max-width:470px}
  .turnkey-doc-title{font-size:21px!important;min-height:46px;padding:7px 38px 7px 11px!important}
}

@media(max-width:900px){
  .turnkey-head{gap:12px!important;margin-bottom:16px}
  .turnkey-head-copy{width:100%;flex-basis:auto}
  .turnkey-doc-title-wrap{width:100%;max-width:100%}
  .turnkey-doc-title{
    width:100%;
    max-width:100%;
    min-height:44px;
    font-size:18px!important;
    line-height:1.1;
    padding:7px 36px 7px 10px!important;
  }
  .turnkey-actions{width:100%;gap:7px}
}

@media(max-width:560px){
  .turnkey-doc-title{font-size:17px!important;min-height:42px;padding:6px 34px 6px 9px!important}
  .turnkey-head-copy>.eyebrow{font-size:9px;letter-spacing:.04em}
}


/* ===== v3.2.30 customer type separation ===== */
.turnkey-personal-fields{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0}
.turnkey-common-fields{grid-template-columns:minmax(0,2fr) minmax(180px,.7fr);margin:10px 0 0}
.turnkey-business-fields .span-2{grid-column:span 2}
.ct-personal-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ct-personal-fields .span-2,.ct-business-fields .span-2{grid-column:span 2}
@media(max-width:900px){.turnkey-personal-fields{grid-template-columns:1fr 1fr}.turnkey-common-fields{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.turnkey-personal-fields,.turnkey-common-fields{grid-template-columns:1fr}.turnkey-business-fields .span-2{grid-column:auto}}
@media print{.turnkey-personal-fields.hidden,.turnkey-business-fields.hidden{display:none!important}.turnkey-personal-fields:not(.hidden){display:grid!important;grid-template-columns:repeat(3,1fr)!important}.turnkey-common-fields{display:grid!important;grid-template-columns:2fr 1fr!important}.ct-personal-fields.hidden,.ct-business-fields.hidden{display:none!important}}


/* v3.2.31 - Business bank/branch searchable inputs */
#tk-company-bank,#tk-company-branch{padding-right:34px}
#tk-company-branch:disabled{opacity:.5;cursor:not-allowed}
.turnkey-business-fields input[list]{background-image:linear-gradient(45deg,transparent 50%,#d4a65d 50%),linear-gradient(135deg,#d4a65d 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}


/* ===== v3.2.32 tax lookup ===== */
.tk-tax-lookup-field{grid-column:span 1}.tk-tax-lookup-row{display:flex;gap:7px;align-items:stretch;margin-top:6px}.tk-tax-lookup-row input{min-width:0;flex:1;margin-top:0!important}.tk-tax-lookup-btn{flex:0 0 auto;border:1px solid #8a6338;background:#c99858;color:#111;font-weight:800;font-size:10px;padding:0 11px;border-radius:4px;cursor:pointer;white-space:nowrap}.tk-tax-lookup-btn:hover{filter:brightness(1.08)}.tk-tax-lookup-btn:disabled{opacity:.55;cursor:wait}.tk-tax-lookup-status{display:block;min-height:17px;margin-top:5px;color:#a9a39b;font-size:9px;line-height:1.35}.tk-tax-lookup-status.is-ok{color:#8fc89a}.tk-tax-lookup-status.is-error{color:#e58b82}
@media(max-width:700px){.tk-tax-lookup-row{flex-direction:column}.tk-tax-lookup-btn{min-height:38px}.tk-tax-lookup-field{grid-column:1/-1}}


/* ===== v3.2.33: ngày giao hàng ở phần thông tin hồ sơ, không nằm trong bảng sản phẩm ===== */
.turnkey-common-date-stack{display:grid;grid-template-columns:1fr;gap:8px}
.turnkey-common-date-stack label{display:block}
.turnkey-common-date-stack input[type="date"]{min-height:38px}
@media(max-width:560px){.turnkey-common-date-stack{gap:10px}}
@media print{.turnkey-common-date-stack{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.turnkey-common-fields{grid-template-columns:2fr 1.4fr!important}.turnkey-common-date-stack label{font-size:9px!important}.turnkey-common-date-stack input{font-size:10px!important}.tk-room th:nth-child(2),.tk-room td:nth-child(2){width:19%!important}.tk-room th:nth-child(3),.tk-room td:nth-child(3){width:30%!important}.tk-room th:nth-child(9),.tk-room td:nth-child(9){width:11%!important}.tk-room th:nth-child(10),.tk-room td:nth-child(10){width:12%!important}}


/* v3.2.41 - Quote/BBNT can be A4 landscape or portrait; Contract/BBTL are fixed portrait by JS */
@media print{body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* v3.2.36 VAT zero presentation */
#tk-summary-vat-row.hidden,#tk-summary-grand-row.hidden{display:none!important}.tk-vat-zero .turnkey-summary-contract{max-width:560px}.tk-vat-zero #tk-summary-subtotal-row strong{color:#dda95d;font-size:24px}.tk-vat-zero #tk-payment-total-row strong{color:#dda95d}.tk-vat-zero #tk-payment-total-row{background:#241f19}

/* v3.2.39 - Product duplicate display/print rules */
.tk-product-print-only{display:none}
@media print{
  .tk-product-cell>.tk-product,
  .tk-product-cell>.tk-product-manual,
  .tk-product-cell>.tk-product-final{display:none!important}
  .tk-product-cell>.tk-product-print-only{display:block!important;color:#111!important;font-size:8.5px!important;line-height:1.22!important;font-weight:500!important;white-space:normal!important}
}


/* ===== v3.2.43 - BBTL mobile polish + robust print isolation ===== */
#tk-liquidation-panel,
#tk-liquidation-panel *{box-sizing:border-box}
#tk-liquidation-panel{overflow-x:hidden}
#tk-liquidation-panel .tk-contract-wrap{width:min(980px,calc(100% - 28px));margin-left:auto;margin-right:auto}
#tk-liquidation-panel .tl-values{align-items:stretch}
#tk-liquidation-panel .tl-values label,
#tk-liquidation-panel .tl-values>div{
  min-width:0;
  align-items:center;
}
#tk-liquidation-panel .tl-values label{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(140px,180px);
}
#tk-liquidation-panel .tl-values input{
  display:block;
  width:100%;
  max-width:180px;
  min-width:0;
  height:38px;
  padding:7px 9px;
  border:1px solid #999;
  border-radius:4px;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:15px;
  line-height:1.2;
  text-align:right;
}
#tk-liquidation-panel .tl-values strong{white-space:nowrap;text-align:right}
#tk-liquidation-panel .tk-contract-toolbar .btn{min-height:42px}

/* Contract schedule validation */
.ct-expected-days-line{font-weight:600}
.ct-schedule-warning{
  margin:8px 0 12px;
  padding:9px 12px;
  border:1px solid #c5392f;
  background:#fff1ef;
  color:#a51f18;
  font-family:Arial,sans-serif;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
  border-radius:4px;
}
.ct-days-input.ct-days-over{border:2px solid #c5392f!important;background:#fff0ee!important;color:#a51f18!important}

@media(max-width:700px){
  #tk-liquidation-panel{padding:14px 0 48px}
  #tk-liquidation-panel .tk-contract-wrap{
    width:calc(100% - 20px);
    padding:20px 16px;
    font-size:15px;
    line-height:1.5;
    box-shadow:0 5px 18px rgba(0,0,0,.14);
  }
  #tk-liquidation-panel .tk-contract-toolbar{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:18px;
  }
  #tk-liquidation-panel .tk-contract-toolbar .btn{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    font-size:12px;
  }
  #tk-liquidation-panel .tk-contract-heading h1{font-size:25px;line-height:1.18;margin:18px 0 10px}
  #tk-liquidation-panel .tk-contract-wrap h2{font-size:18px;line-height:1.25;margin:24px 0 10px}
  #tk-liquidation-panel .tk-contract-party h3{font-size:17px}
  #tk-liquidation-panel .tl-values{
    grid-template-columns:1fr;
    gap:8px;
    margin:10px 0 14px;
  }
  #tk-liquidation-panel .tl-values label,
  #tk-liquidation-panel .tl-values>div{
    width:100%;
    min-width:0;
    padding:11px 12px;
    gap:8px;
    overflow:hidden;
  }
  #tk-liquidation-panel .tl-values label{
    grid-template-columns:minmax(0,1fr) minmax(118px,145px);
  }
  #tk-liquidation-panel .tl-values label,
  #tk-liquidation-panel .tl-values>div span{
    font-size:14px;
    line-height:1.35;
  }
  #tk-liquidation-panel .tl-values input{
    width:100%;
    max-width:none;
    min-width:0;
    height:40px;
    padding:7px 8px;
    font-size:16px; /* tránh Safari tự zoom */
  }
  #tk-liquidation-panel .tl-values strong{font-size:15px}
  #tk-liquidation-panel .tl-remaining{background:#f3e4c8}
  #tk-liquidation-panel .tk-contract-signatures{grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
}
@media(max-width:420px){
  #tk-liquidation-panel .tk-contract-wrap{width:calc(100% - 12px);padding:18px 12px}
  #tk-liquidation-panel .tl-values label{
    grid-template-columns:1fr;
  }
  #tk-liquidation-panel .tl-values input{
    width:100%;
    max-width:100%;
  }
  #tk-liquidation-panel .tl-values>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  #tk-liquidation-panel .tk-contract-signatures{grid-template-columns:1fr;gap:26px}
}

/* BBTL print: isolate the document and neutralize mobile rules. */
@media print{
  body.d369-liquidation-printing{margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
  body.d369-liquidation-printing > *:not(#tk-liquidation-panel){display:none!important}
  body.d369-liquidation-printing #tk-liquidation-panel{
    display:block!important;
    visibility:visible!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    color:#111!important;
  }
  body.d369-liquidation-printing #tk-liquidation-panel *{visibility:visible!important;box-sizing:border-box!important}
  body.d369-liquidation-printing #tk-liquidation-panel .no-print{display:none!important}
  body.d369-liquidation-printing #tk-liquidation-panel .tk-contract-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:8mm 12mm!important;
    box-shadow:none!important;
    background:#fff!important;
    color:#111!important;
    font-size:11pt!important;
    line-height:1.35!important;
  }
  body.d369-liquidation-printing #tk-liquidation-panel .tl-values{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  body.d369-liquidation-printing #tk-liquidation-panel .tl-values label,
  body.d369-liquidation-printing #tk-liquidation-panel .tl-values>div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    min-width:0!important;
    padding:6px 7px!important;
    gap:8px!important;
    overflow:visible!important;
  }
  body.d369-liquidation-printing #tk-liquidation-panel .tl-values input{
    width:auto!important;
    max-width:45mm!important;
    min-width:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#111!important;
    font-size:10pt!important;
    text-align:right!important;
  }
  body.d369-liquidation-printing #tk-liquidation-panel .tl-values strong{font-size:10pt!important;color:#111!important}
  body.d369-liquidation-printing #tk-liquidation-panel .tk-contract-signatures{grid-template-columns:1fr 1fr!important;gap:55px!important}
  body.d369-contract-printing .ct-schedule-warning.hidden{display:none!important}
  body.d369-contract-printing .ct-schedule-warning:not(.hidden){display:block!important;color:#a51f18!important;border-color:#c5392f!important;background:#fff1ef!important}
}

/* ===== v3.2.44: Hồ sơ dự án + bảng tiến độ ===== */
.tk-project-schedule-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.tk-project-schedule-meta>div{border:1px solid rgba(180,133,69,.45);padding:14px 16px;background:rgba(180,133,69,.06);display:flex;flex-direction:column;gap:6px}
.tk-project-schedule-meta span{font-size:12px;font-weight:800;letter-spacing:.03em}
.tk-project-schedule-meta strong{font-size:18px}
.tk-project-schedule-table{width:100%;border-collapse:collapse;margin:16px 0 24px}
.tk-project-schedule-table th,.tk-project-schedule-table td{border:1px solid #aaa;padding:10px 8px;text-align:left;vertical-align:top}
.tk-project-schedule-table th{font-size:12px;font-weight:800}
.tk-project-schedule-note{font-size:13px;opacity:.75}
@media(max-width:680px){
  .tk-project-schedule-meta{grid-template-columns:1fr}
  .tk-project-schedule-table{font-size:12px}
  .tk-project-schedule-table th,.tk-project-schedule-table td{padding:7px 5px}
  #tk-project-schedule{width:100%}
}
@media print{
  /* v3.5.1: tiến độ được mount trực tiếp vào body và là nội dung DUY NHẤT được in. */
  body.d369-project-schedule-printing{background:#fff!important;margin:0!important;padding:0!important}
  body.d369-project-schedule-printing > *:not(#tk-project-schedule-panel){display:none!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel{display:block!important;position:static!important;inset:auto!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#000!important;overflow:visible!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel *{visibility:visible!important;box-sizing:border-box!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .no-print{display:none!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-contract-wrap{max-width:none!important;width:100%!important;margin:0!important;padding:8mm 9mm!important;box-shadow:none!important;border:0!important;background:#fff!important;color:#111!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-contract-heading{margin-bottom:6mm!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-contract-heading h1{font-size:20pt!important;line-height:1.15!important;margin:3mm 0 2mm!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-contract-heading p{margin:1mm 0!important;font-size:10.5pt!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-meta{grid-template-columns:repeat(3,1fr)!important;gap:4mm!important;margin:5mm 0!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-meta>div{padding:4mm!important;break-inside:avoid!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-meta span{font-size:9pt!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-meta strong{font-size:12pt!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-table{margin:4mm 0 5mm!important;page-break-inside:avoid!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-table th,
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-table td{padding:2.5mm 2mm!important;font-size:9pt!important;line-height:1.25!important}
  body.d369-project-schedule-printing #tk-project-schedule-panel .tk-project-schedule-note{font-size:9pt!important;line-height:1.45!important;margin-top:4mm!important}
  @page{size:A4 portrait;margin:8mm}
}

/* v3.4.1 — activation-first workflow + project product tracking */
.d369-manager-activation{display:grid;grid-template-columns:auto 1fr minmax(380px,520px);gap:18px;align-items:center;background:linear-gradient(135deg,#fff8e9,#fff);border:2px solid #e3ad67;border-radius:16px;padding:22px;margin-bottom:24px;box-shadow:0 8px 28px rgba(0,0,0,.06)}
.d369-manager-activation h2{margin:0 0 5px;font-size:24px}.d369-manager-activation p{margin:0;color:#6d6256}.d369-manager-step-badge{display:inline-flex;align-items:center;justify-content:center;background:#151515;color:#f0bd73;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;letter-spacing:.06em;width:max-content;margin-bottom:8px}.d369-manager-activation .d369-manager-step-badge{margin:0}.d369-manager-activation .d369-manager-confirm-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.d369-manager-activation .d369-manager-confirm-form label{margin:0}.d369-create-required{border-left:5px solid #e3ad67!important;background:#fff7e8!important;color:#292015!important}
.d369-project-products{margin:28px 0 34px;background:#fff;border:1px solid #ddd5c9;border-radius:14px;overflow:hidden}.d369-product-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #ece6dc}.d369-product-head span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#a16c2e}.d369-product-head h2{margin:4px 0 0;font-size:23px;color:#1a1a1a}.d369-product-head strong{font-size:13px;color:#666}.d369-product-table-wrap{overflow:auto}.d369-product-table{width:100%;border-collapse:collapse;min-width:850px;color:#242424}.d369-product-table th{background:#f5f3ef;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:12px;border-bottom:1px solid #ded9d0}.d369-product-table td{padding:12px;border-bottom:1px solid #eee9e1;vertical-align:top;font-size:13px}.d369-product-table td small{display:block;color:#8a8178;margin-top:4px}.d369-accounting-note{display:flex;gap:12px;align-items:center;padding:12px 22px;background:#eef8ee;border-bottom:1px solid #cce3cc;color:#204b26}.d369-accounting-note b{background:#296c35;color:#fff;border-radius:999px;padding:5px 9px;font-size:10px}.d369-cost-input{width:120px!important;min-height:38px!important;padding:6px 8px!important;margin:0!important;background:#fff!important;color:#111!important;border:1px solid #cfc6b8!important}.d369-product-table .is-profit{color:#16813a;font-weight:800}.d369-product-table .is-loss{color:#be2f2f;font-weight:800}.d369-finance-total td{background:#faf6ef;font-size:14px}.d369-accounting-actions{padding:16px 22px;text-align:right}
@media(max-width:800px){.d369-manager-activation{grid-template-columns:1fr}.d369-manager-activation .d369-manager-confirm-form{grid-template-columns:1fr}.d369-product-head{align-items:flex-start;flex-direction:column}.d369-product-table{min-width:760px}}

/* ===== v3.4.4 - Phụ kiện bếp / tra cứu website thương hiệu ===== */
.tk-kitchen-source-tools{margin-top:14px;padding:14px 16px;border:1px solid #e1c08b;background:#fffaf2;border-radius:10px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,320px);gap:12px 18px;align-items:end}
.tk-kitchen-source-tools.hidden{display:none!important}
.tk-kitchen-source-tools>div strong{display:block;font-size:13px;line-height:1.45;color:#241a10;margin-top:3px}
.tk-kitchen-source-tools label{font-size:11px;font-weight:800;letter-spacing:.04em;color:#6b5743}
.tk-kitchen-source-tools select{width:100%;margin-top:6px;min-height:42px;border:1px solid #cdb999;border-radius:7px;background:#fff;padding:0 12px;font-weight:800}
.tk-kitchen-source-tools small{grid-column:1/-1;color:#715f4c;line-height:1.5}
.tk-kitchen-discount-note{padding:8px 12px;background:#fff6e7;border-left:4px solid #dba450;font-size:12px;color:#5e4a31}
.tk-kitchen-lookup{margin-top:6px;border:1px solid #c89240;background:#fff8ec;color:#744b13;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}
.tk-kitchen-lookup:hover{background:#eab05b;color:#111}
.tk-kitchen-source-note{display:block;margin-top:5px;font-size:10px;line-height:1.35;color:#76624e}
.tk-kitchen-source-note a{color:#9b650f;text-decoration:underline}
.tk-kitchen-desc-preview{font-size:11px;line-height:1.45;color:#4d4338;background:#faf7f1;border:1px solid #e5ddd0;border-radius:5px;padding:7px 8px;min-width:180px}
.tk-kitchen-search-modal{position:fixed;inset:0;z-index:999999;background:rgba(12,12,12,.72);display:flex;align-items:center;justify-content:center;padding:24px}
.tk-kitchen-search-modal.hidden{display:none!important}
body.d369-modal-open{overflow:hidden}
.tk-kitchen-search-dialog{width:min(1080px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.38);padding:20px}
.tk-kitchen-search-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e6dfd5;padding-bottom:12px}
.tk-kitchen-search-head h3{margin:4px 0 0;font-size:22px;color:#18130e}
.tk-kitchen-search-close{width:40px;height:40px;border:1px solid #d8c5a8;border-radius:8px;background:#fff;font-size:26px;cursor:pointer}
.tk-kitchen-search-bar{display:grid;grid-template-columns:180px 1fr auto;gap:10px;margin:16px 0}
.tk-kitchen-search-bar select,.tk-kitchen-search-bar input{min-height:44px;border:1px solid #cfc5b7;border-radius:7px;padding:0 12px;background:#fff;font:inherit}
.tk-kitchen-search-status{min-height:24px;margin-bottom:10px;color:#675846;font-size:13px}
.tk-kitchen-error{color:#b42318;font-weight:700}
.tk-kitchen-search-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tk-kitchen-result-card{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;border:1px solid #e2d8ca;border-radius:10px;padding:10px;background:#fff}
.tk-kitchen-result-image{width:76px;height:68px;border-radius:7px;background:#f6f2ec;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:900;color:#b28748}
.tk-kitchen-result-image img{width:100%;height:100%;object-fit:contain}
.tk-kitchen-result-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.tk-kitchen-result-copy strong{font-size:13px;line-height:1.35;color:#191510}
.tk-kitchen-result-copy small{font-size:10px;color:#776b5f}
.tk-kitchen-result-copy b{font-size:14px;color:#9b640f}
.tk-kitchen-result-copy a{font-size:10px;color:#60564c;text-decoration:underline}
.tk-kitchen-result-card .tk-kitchen-choose{white-space:nowrap;padding:8px 11px;font-size:11px}
.tk-kitchen-empty{grid-column:1/-1;padding:28px;border:1px dashed #d9cbb9;border-radius:10px;text-align:center;color:#786a59;background:#fbf9f5}
@media (max-width:780px){
  .tk-kitchen-source-tools{grid-template-columns:1fr}
  .tk-kitchen-source-tools small{grid-column:auto}
  .tk-kitchen-search-modal{padding:8px;align-items:flex-end}
  .tk-kitchen-search-dialog{width:100%;max-height:92vh;border-radius:14px 14px 0 0;padding:14px}
  .tk-kitchen-search-bar{grid-template-columns:1fr}
  .tk-kitchen-search-results{grid-template-columns:1fr}
  .tk-kitchen-result-card{grid-template-columns:64px 1fr}
  .tk-kitchen-result-image{width:64px;height:60px}
  .tk-kitchen-result-card .tk-kitchen-choose{grid-column:1/-1;width:100%}
}
@media print{
  .tk-kitchen-source-tools,.tk-kitchen-lookup,.tk-kitchen-source-note,.tk-kitchen-search-modal{display:none!important}
  .tk-kitchen-discount-note{display:none!important}
  .tk-kitchen-desc-preview{border:0;background:transparent;padding:0}
}


/* v3.4.7 - kitchen print hard override: only short category name in TÊN SẢN PHẨM */
@media print{
  body.turnkey-printing .tk-room[data-room-base="PHỤ KIỆN BẾP"] .tk-product-cell>.tk-product,
  body.turnkey-printing .tk-room[data-room-base="PHỤ KIỆN BẾP"] .tk-product-cell>.tk-product-manual,
  body.turnkey-printing .tk-room[data-room-base="PHỤ KIỆN BẾP"] .tk-product-cell>.tk-product-final{display:none!important}
  body.turnkey-printing .tk-room[data-room-base="PHỤ KIỆN BẾP"] .tk-product-cell>.tk-product-print-only{display:block!important;color:#111!important;white-space:normal!important}
}

/* v3.4.8 - sales UI cleanup: source/discount implementation details are never customer-facing */
#tk-kitchen-source-tools,
.tk-kitchen-discount-note {
  display: none !important;
}


/* ===== v3.5.6: Quote revision + strict contrast / visibility ===== */
.tk-staff-quote-editor{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(360px,1.2fr);gap:18px;align-items:center;margin:16px 0 20px;padding:16px 18px;border:2px solid #b9823d;border-radius:12px;background:#fff8ec!important;color:#17120c!important;box-shadow:0 6px 20px rgba(72,45,13,.08)}
.tk-staff-editor-copy{display:flex;flex-direction:column;gap:3px}.tk-staff-editor-copy span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#87551c!important}.tk-staff-editor-copy strong{font-size:16px;color:#17120c!important}.tk-staff-editor-copy small{font-size:11px;line-height:1.45;color:#5e4d38!important}.tk-staff-editor-form{display:grid;grid-template-columns:1fr auto auto;gap:8px}.tk-staff-editor-form input{min-width:0;height:44px;border:1px solid #85633b!important;background:#fff!important;color:#111!important;border-radius:7px;padding:0 12px;font-weight:800}.tk-staff-editor-form .btn{min-height:44px!important;color:#17120c!important}.tk-btn-dark{background:#171717!important;color:#fff!important;border:1px solid #171717!important}.tk-btn-dark:hover{background:#333!important;color:#fff!important}.tk-recall-status{color:#3f2e1c!important;font-weight:700!important;line-height:1.45}
.d369-quote-review-zone{margin:0 0 28px;border:2px solid #bc7a26;border-radius:16px;background:#fff!important;color:#18130d!important;overflow:hidden}.d369-quote-review-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;background:#fff4df!important;border-bottom:1px solid #e4c79c}.d369-quote-review-heading span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#8e5510!important}.d369-quote-review-heading h2{margin:3px 0;color:#17120c!important}.d369-quote-review-heading p{margin:0;color:#5d4b35!important}.d369-quote-review-heading>b{background:#171717;color:#fff!important;padding:8px 11px;border-radius:999px;white-space:nowrap}.d369-quote-review-card{padding:18px 20px;border-bottom:1px solid #eee1cf;background:#fff!important;color:#161616!important}.d369-quote-review-card:last-child{border-bottom:0}.d369-quote-review-card header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.d369-quote-review-card header small{font-weight:900;color:#8a5a1c!important}.d369-quote-review-card h3{margin:3px 0;color:#161616!important}.d369-quote-review-card p{color:#555!important;margin:3px 0}.d369-review-counts{display:flex;gap:6px;flex-wrap:wrap}.d369-review-counts span{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.d369-review-counts .add{background:#e6f6eb;color:#176534!important}.d369-review-counts .remove{background:#fde8e7;color:#a02c25!important}.d369-review-counts .change{background:#fff1ce;color:#80570a!important}.d369-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.d369-review-columns>div{border:1px solid #ded8cf;border-radius:10px;padding:12px;background:#fbfaf8!important}.d369-review-columns h4{margin:0 0 8px;font-size:11px;letter-spacing:.04em;color:#2b251e!important}.d369-review-row{padding:9px 10px;border-radius:7px;margin:6px 0;display:flex;flex-direction:column;gap:2px}.d369-review-row b{color:#171717!important}.d369-review-row span,.d369-review-row small{color:#514b44!important}.d369-review-row.is-add{background:#edf8f0;border-left:4px solid #238447}.d369-review-row.is-remove{background:#fff0ef;border-left:4px solid #bf3b32}.d369-review-empty{color:#777!important}.d369-review-changed{margin-top:12px;border:1px solid #dfc58d;border-radius:8px;padding:10px 12px;background:#fffaf0!important;color:#2d2418!important}.d369-review-changed summary{cursor:pointer;font-weight:800;color:#5f410d!important}.d369-review-change-row{padding:7px 0;border-top:1px solid #ecdfc4;display:flex;gap:12px;justify-content:space-between}.d369-review-change-row b,.d369-review-change-row span{color:#25201a!important}.d369-review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap}.d369-btn-danger{background:#a72c27!important;color:#fff!important;border:1px solid #84211d!important}.d369-btn-danger:hover{background:#821f1b!important;color:#fff!important}
/* Chống chữ chìm trên nền sáng trong toàn bộ khu quản lý / kế toán */
.d369-manager-console,.d369-manager-console .d369-manager-card,.d369-manager-console .d369-assignment-workspace,.d369-project-products{color:#171717!important}.d369-manager-console h1,.d369-manager-console h2,.d369-manager-console h3,.d369-manager-console h4,.d369-manager-console label,.d369-project-products h1,.d369-project-products h2,.d369-project-products h3{color:#171717!important}.d369-manager-console .btn-outline,.d369-project-products .btn-outline{background:#fff!important;color:#2a1d10!important;border:1px solid #8b6335!important}.d369-manager-console .btn-outline:hover,.d369-project-products .btn-outline:hover{background:#f3e6d3!important;color:#17120c!important}.d369-manager-console input,.d369-manager-console select,.d369-manager-console textarea,.d369-project-products input,.d369-project-products select{background:#fff!important;color:#111!important;border-color:#958573!important}.d369-manager-console input::placeholder,.d369-project-products input::placeholder{color:#6b645d!important;opacity:1}
@media(max-width:860px){.tk-staff-quote-editor{grid-template-columns:1fr}.tk-staff-editor-form{grid-template-columns:1fr}.tk-staff-editor-form .btn{width:100%}.d369-quote-review-heading,.d369-quote-review-card header{flex-direction:column}.d369-review-columns{grid-template-columns:1fr}.d369-review-actions .btn{width:100%}}

/* ===== v3.5.7: strict contrast, report workflow, discussion, print product list ===== */
:root{--d369-ink:#151515;--d369-paper:#ffffff;--d369-gold:#d7a45a;--d369-gold-dark:#8d5c1f;--d369-border:#cfc6b8;--d369-muted:#625b53;}
.turnkey-quote,.d369-staff-detail,.d369-manager-console,.d369-project-products,.d369-project-discussion{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.turnkey-quote .btn,.d369-staff-detail .btn,.d369-manager-console .btn,.d369-project-products .btn,.d369-project-discussion .btn{opacity:1!important;visibility:visible!important;text-shadow:none!important;font-weight:800!important}
.turnkey-quote .btn-outline,.d369-staff-detail .btn-outline,.d369-manager-console .btn-outline,.d369-project-products .btn-outline,.d369-project-discussion .btn-outline{background:#fff!important;color:#20170d!important;border:1px solid #8f6532!important}
.turnkey-quote .btn-outline:hover,.d369-staff-detail .btn-outline:hover,.d369-manager-console .btn-outline:hover,.d369-project-products .btn-outline:hover,.d369-project-discussion .btn-outline:hover{background:#f4e6d2!important;color:#15100a!important}
.turnkey-quote .btn-gold,.d369-staff-detail .btn-gold,.d369-manager-console .btn-gold,.d369-project-products .btn-gold,.d369-project-discussion .btn-gold{background:#d7a45a!important;color:#17110a!important;border:1px solid #a8742e!important}
.turnkey-quote .btn-gold:hover,.d369-staff-detail .btn-gold:hover,.d369-manager-console .btn-gold:hover,.d369-project-products .btn-gold:hover,.d369-project-discussion .btn-gold:hover{background:#efbf77!important;color:#111!important}
.turnkey-quote button:disabled,.d369-staff-detail button:disabled,.d369-manager-console button:disabled{background:#e8e5e1!important;color:#6d6862!important;border-color:#bdb7b0!important;opacity:1!important;cursor:not-allowed}

/* Stage report workflow */
.d369-timeline-row.is-stage-done{opacity:.45;filter:saturate(.5);background:#f2f2f2!important}
.d369-timeline-row.is-stage-current{opacity:1!important;filter:none!important;border:2px solid #c48a3d!important;background:#fff8eb!important;box-shadow:0 8px 24px rgba(113,70,19,.12)}
.d369-timeline-row.is-stage-current .d369-my-task{background:#1d1d1d!important;color:#fff!important;border-radius:999px;padding:5px 9px}
.d369-stage-action{background:#171717!important;color:#fff!important;border:1px solid #171717!important;border-radius:7px;padding:8px 11px;font-weight:800;cursor:pointer}
.d369-stage-action:hover{background:#3a2b19!important;color:#fff!important}
.d369-report-stage-preview{margin:0 0 16px;padding:18px;border:2px solid #c28a42;border-radius:12px;background:#fff8eb!important;color:#17120c!important;box-shadow:0 8px 24px rgba(98,60,16,.10)}
.d369-report-stage-preview[hidden]{display:none!important}.d369-report-stage-preview span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#875719!important}.d369-report-stage-preview h3{margin:4px 0;color:#17120c!important}.d369-report-stage-preview p{color:#554535!important}.d369-preview-stage-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.d369-report-form-hidden{display:none!important}.d369-staff-update-form{background:#fff!important;color:#171717!important;border:1px solid #d4c9ba!important}.d369-staff-update-form label,.d369-staff-update-form h3{color:#171717!important}.d369-staff-update-form input,.d369-staff-update-form select,.d369-staff-update-form textarea{background:#fff!important;color:#111!important;border:1px solid #968675!important}.d369-staff-update-form input::placeholder,.d369-staff-update-form textarea::placeholder{color:#6e665d!important;opacity:1}

/* Product list: printable by every assigned staff member */
.d369-product-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.d369-product-head-actions .btn{white-space:nowrap}
@media print{
  body.d369-product-list-printing *{visibility:hidden!important}
  body.d369-product-list-printing .d369-project-products,body.d369-product-list-printing .d369-project-products *{visibility:visible!important}
  body.d369-product-list-printing .d369-project-products{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;border:0!important;box-shadow:none!important}
  body.d369-product-list-printing .d369-product-head-actions .btn,body.d369-product-list-printing .d369-accounting-note,body.d369-product-list-printing .d369-accounting-actions,body.d369-product-list-printing .d369-supplier-upload-panel{display:none!important}
  body.d369-product-list-printing .d369-product-table{min-width:0!important;width:100%!important;font-size:10px!important}
  body.d369-product-list-printing .d369-product-table th,body.d369-product-list-printing .d369-product-table td{padding:6px!important;color:#111!important;background:#fff!important}
}

/* Discussion and @tags */
.d369-project-discussion{margin:30px 0 0;background:#fff!important;color:#171717!important;border:1px solid #d9d0c4;border-radius:14px;overflow:hidden}
.d369-discussion-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px;background:#faf7f2!important;border-bottom:1px solid #e7ded2}.d369-discussion-head span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#8b5d22!important}.d369-discussion-head h2{margin:3px 0;color:#171717!important}.d369-discussion-head p{margin:0;color:#595149!important}.d369-discussion-head>strong{white-space:nowrap;color:#4e4338!important}
.d369-discussion-feed{padding:16px 20px;display:grid;gap:10px;max-height:520px;overflow:auto}.d369-discussion-comment{padding:13px 14px;border:1px solid #e4ddd4;border-radius:10px;background:#fff!important;color:#171717!important}.d369-discussion-comment.is-assignment{border-left:5px solid #b77a2e;background:#fff9ef!important}.d369-discussion-comment header{display:flex;justify-content:space-between;gap:12px}.d369-discussion-comment header b{color:#151515!important}.d369-discussion-comment header small,.d369-discussion-comment time{color:#6c655e!important;font-size:11px}.d369-discussion-comment p{margin:9px 0 0;color:#2d2925!important}.d369-comment-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.d369-comment-tags span{background:#e9f0ff;color:#214f94!important;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.d369-comment-assignment{margin-top:10px;padding:10px 11px;background:#f4eadb;border:1px solid #dec39e;border-radius:8px;display:grid;gap:3px}.d369-comment-assignment b{font-size:9px;letter-spacing:.07em;color:#825516!important}.d369-comment-assignment strong{color:#17120c!important}.d369-comment-assignment small{color:#675a4b!important}
.d369-discussion-form{padding:18px 20px;border-top:1px solid #e6ded4;background:#fcfbf9!important;display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.d369-discussion-form>label:first-of-type{grid-row:span 2}.d369-discussion-form label{font-size:11px;font-weight:800;color:#28221c!important}.d369-discussion-form textarea,.d369-discussion-form select,.d369-discussion-form input{width:100%;margin-top:5px;background:#fff!important;color:#111!important;border:1px solid #9a8a77!important;border-radius:7px;padding:9px}.d369-discussion-form select[multiple]{min-height:92px}.d369-discussion-form small{display:block;margin-top:4px;color:#686159!important}.d369-manager-comment-task{grid-column:1/-1;padding:12px;border:1px solid #dfc18f;background:#fff8eb;border-radius:9px}.d369-comment-task-toggle{display:flex!important;align-items:center;gap:7px}.d369-comment-task-toggle input{width:18px!important;margin:0!important}.d369-comment-task-fields{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-top:9px}.d369-comment-task-fields[hidden]{display:none!important}

@media(max-width:760px){
  .d369-product-head-actions{width:100%;justify-content:flex-start}.d369-product-head-actions .btn{width:100%}
  .d369-preview-stage-actions{display:grid;grid-template-columns:1fr}.d369-preview-stage-actions .btn{width:100%}
  .d369-discussion-head{flex-direction:column}.d369-discussion-form{grid-template-columns:1fr}.d369-discussion-form>label:first-of-type{grid-row:auto}.d369-manager-comment-task{grid-column:auto}.d369-comment-task-fields{grid-template-columns:1fr}.d369-discussion-form .btn{width:100%}
}

/* ===== v3.5.8 - tương phản toàn site, lịch rõ nét, lead modal, notes ===== */
:root{--d369-gold:#e9b15c;--d369-ink:#121212;--d369-paper:#fff;--d369-border:#b88a49}
button,.btn,input,select,textarea{font-family:Arial,"Segoe UI",sans-serif!important}
.btn,.button,button{font-weight:800!important;text-shadow:none!important}
.btn-gold,.tk-tax-lookup-btn,#tk-add-room,#tk-kitchen-search-go,#tk-lead-submit{background:var(--d369-gold)!important;color:#15110b!important;border:1px solid #c58d3c!important}
.btn-outline,.turnkey-print,#turnkey-excel,.d369-preview-file{background:#fff!important;color:#151515!important;border:1px solid #a9793c!important}
.btn-zalo{background:#1769ff!important;color:#fff!important;border-color:#1769ff!important}
.tk-btn-dark,.d369-stage-action,.d369-start-stage-report,.d369-complete-task,.d369-reset-report{background:#17120d!important;color:#fff!important;border:1px solid #17120d!important}
button:disabled,.btn:disabled{opacity:.62!important;filter:none!important;color:inherit!important}
.turnkey-quote input,.turnkey-quote select,.turnkey-quote textarea{border-color:#8c714b!important}
.turnkey-quote input[type="date"]{color-scheme:dark!important;color:#fff!important;background:#111!important;padding-right:44px!important}
.turnkey-quote input[type="date"]::-webkit-calendar-picker-indicator{opacity:1!important;filter:invert(1) brightness(2)!important;cursor:pointer!important;width:22px!important;height:22px!important}
.turnkey-common-date-stack label{color:#e8b15f!important}
.tk-custom-notes{display:grid;gap:8px;margin-top:14px;color:#2b2116!important}.tk-custom-notes textarea{width:100%;min-height:94px;background:#fff!important;color:#111!important;border:1px solid #9d7b4b!important;padding:12px!important}.tk-custom-notes-print:empty{display:none}.tk-custom-notes-print p{margin:5px 0!important}
.tk-lead-modal{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px}.tk-lead-modal.hidden{display:none!important}.tk-lead-dialog{position:relative;width:min(520px,100%);background:#fff;color:#161616;border:2px solid #d8a152;border-radius:16px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.tk-lead-dialog h3{font-size:26px;margin:8px 0 10px;color:#111!important}.tk-lead-dialog p{color:#514a42!important;line-height:1.55}.tk-lead-dialog label{display:grid;gap:6px;margin-top:13px;color:#33291e!important;font-weight:800}.tk-lead-dialog input{background:#fff!important;color:#111!important;border:1px solid #9b7a4e!important;padding:12px!important;border-radius:8px}.tk-lead-close{position:absolute;right:14px;top:14px;width:38px;height:38px;background:#fff!important;color:#111!important;border:1px solid #b88a49!important;border-radius:8px}.tk-lead-status{min-height:22px;color:#a42518;font-weight:700;margin:8px 0}.tk-lead-dialog .btn{width:100%;min-height:46px}
/* Ván/cốt luôn hiện rõ sau mọi danh mục */
#tk-material-brand,#tk-core-standard{display:block!important;visibility:visible!important;opacity:1!important;background:#111!important;color:#fff!important;border-color:#a9793c!important}
/* chống chữ chìm trên nền ở khu báo giá */
.turnkey-room-selector h3,.turnkey-room-selector p,.turnkey-room-selector .eyebrow{opacity:1!important}.turnkey-room-picker-row select{color:#fff!important;background:#111!important}.turnkey-room-picker-row option{background:#fff!important;color:#111!important}
@media print{.tk-custom-notes{display:none!important}.tk-custom-notes-print{display:block!important}.tk-lead-modal{display:none!important}}
@media(max-width:700px){.turnkey-room-picker-advanced{grid-template-columns:1fr!important}.turnkey-room-picker-advanced select,.turnkey-room-picker-advanced button{width:100%!important}.tk-lead-dialog{padding:22px 18px}.turnkey-common-date-stack{grid-template-columns:1fr!important}}
/* Portal/manager fallback contrast even when a component forgot a color class */
.d369-staff-layout button:not(.btn-gold):not(.d369-stage-action),.d369-project-discussion button:not(.btn-gold):not(.d369-at-button),.d369-manager-shell button:not(.btn-gold):not(.d369-danger-btn){background:#fff!important;color:#151515!important;border:1px solid #9b7440!important}
.d369-staff-layout button:hover,.d369-project-discussion button:hover,.d369-manager-shell button:hover{filter:brightness(.96)}

/* ===== v3.5.9 - contrast audit: controls must never blend into background ===== */
/* Quote / staff / manager default controls: readable by default; named variants below keep their intended colors. */
.turnkey-quote button:not(.btn-gold):not(.btn-zalo):not(.tk-btn-dark):not(.turnkey-print):not(#turnkey-excel),
.turnkey-quote .btn:not(.btn-gold):not(.btn-zalo):not(.tk-btn-dark):not(.turnkey-print):not(#turnkey-excel),
.d369-staff-layout button:not(.btn-gold):not(.tk-btn-dark):not(.d369-stage-action):not(.d369-start-stage-report):not(.d369-complete-task):not(.d369-reset-report):not(.d369-danger-btn),
.d369-manager-console button:not(.btn-gold):not(.tk-btn-dark):not(.d369-danger-btn),
.d369-project-products button:not(.btn-gold):not(.tk-btn-dark):not(.d369-danger-btn),
.d369-project-discussion button:not(.btn-gold):not(.tk-btn-dark):not(.d369-danger-btn):not(.d369-at-button){
  background:#fff!important;color:#151515!important;border:1px solid #a3763f!important;
  opacity:1!important;visibility:visible!important;text-shadow:none!important;
}
/* Named variants, declared after default control rule to prevent specificity collisions. */
.turnkey-quote .btn-gold,.d369-staff-layout .btn-gold,.d369-manager-console .btn-gold,.d369-project-products .btn-gold,.d369-project-discussion .btn-gold,
#tk-add-room,#tk-kitchen-search-go,#tk-lead-submit,.tk-tax-lookup-btn{
  background:#e9b15c!important;color:#16110a!important;border:1px solid #c58d3c!important;
}
.turnkey-quote .btn-zalo{background:#1769ff!important;color:#fff!important;border-color:#1769ff!important}
.turnkey-quote .tk-btn-dark,.d369-staff-layout .tk-btn-dark,.d369-manager-console .tk-btn-dark,
.d369-staff-layout .d369-stage-action,.d369-staff-layout .d369-start-stage-report,.d369-staff-layout .d369-complete-task,.d369-staff-layout .d369-reset-report{
  background:#17120d!important;color:#fff!important;border:1px solid #17120d!important;
}
/* Fix the "BÁO GIÁ MỚI" button which was overridden by .tk-staff-editor-form .btn. */
#tk-new-quote.tk-btn-dark{background:#17120d!important;color:#fff!important;border-color:#17120d!important;min-width:132px!important}
#tk-new-quote.tk-btn-dark:hover{background:#33271e!important;color:#fff!important}

/* Date controls: use an explicit white calendar glyph on dark quote fields. */
.turnkey-quote input[type="date"]{
  color-scheme:dark!important;background:#111!important;color:#fff!important;border:1px solid #a4773e!important;
  padding-right:48px!important;min-height:42px!important;
}
.turnkey-quote input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1!important;filter:none!important;cursor:pointer!important;width:24px!important;height:24px!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;
}
/* Light admin/manager date fields keep a dark calendar glyph. */
.d369-manager-console input[type="date"],.d369-staff-layout input[type="date"],.d369-project-discussion input[type="date"]{color-scheme:light!important;background:#fff!important;color:#111!important}
.d369-manager-console input[type="date"]::-webkit-calendar-picker-indicator,.d369-staff-layout input[type="date"]::-webkit-calendar-picker-indicator,.d369-project-discussion input[type="date"]::-webkit-calendar-picker-indicator{opacity:1!important;filter:none!important}

/* Inputs/selects/textarea: enforce readable placeholder and selected values in operational screens. */
.turnkey-quote input:not([type="checkbox"]):not([type="radio"]),.turnkey-quote select,.turnkey-quote textarea{opacity:1!important}
.turnkey-quote input::placeholder,.turnkey-quote textarea::placeholder{color:#9f9a93!important;opacity:1!important}
.d369-staff-layout input::placeholder,.d369-staff-layout textarea::placeholder,.d369-manager-console input::placeholder,.d369-manager-console textarea::placeholder{color:#686159!important;opacity:1!important}

/* Focus state must be visible for keyboard/mobile users. */
.turnkey-quote button:focus-visible,.turnkey-quote input:focus-visible,.turnkey-quote select:focus-visible,.turnkey-quote textarea:focus-visible,
.d369-staff-layout button:focus-visible,.d369-staff-layout input:focus-visible,.d369-staff-layout select:focus-visible,.d369-staff-layout textarea:focus-visible,
.d369-manager-console button:focus-visible,.d369-manager-console input:focus-visible,.d369-manager-console select:focus-visible,.d369-manager-console textarea:focus-visible{
  outline:3px solid #f1bd70!important;outline-offset:2px!important;
}

/* ===== v3.5.10 PRINT HARDENING =====
 * Web-only controls must never appear in printed/PDF quotations.
 * Keep this block at the end of the active stylesheet so it wins over
 * later component rules that may use display:grid!important.
 */
@media print{
  .no-print,
  .no-print *{display:none!important;visibility:hidden!important}
  #tk-plhd-recall,
  .tk-staff-quote-editor,
  .tk-staff-editor-copy,
  .tk-staff-editor-form{display:none!important;visibility:hidden!important}
}

/* ===== v3.5.11 - MOBILE FULL UI AUDIT =====
   Mục tiêu: không tràn ngang, không co select thành icon, chữ/nền tương phản cao,
   thao tác cảm ứng >=44px, bảng có vùng cuộn riêng thay vì phá layout. */
@media screen and (max-width: 820px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body{font-size:15px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .container{width:calc(100% - 24px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  .site-header{height:72px!important}
  .header-inner{gap:12px!important}
  .brand{width:auto!important;min-width:120px!important}
  .custom-logo{max-width:122px!important;max-height:54px!important}
  .nav-toggle{width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;display:grid!important;place-items:center!important;background:#0d0e0f!important;color:#fff!important;border:2px solid #686868!important}
  .main-nav{max-height:calc(100vh - 72px);overflow-y:auto!important}
  .floating-contact{right:10px!important;bottom:86px!important;gap:8px!important}
  .floating-contact a,.floating-contact button{width:46px!important;height:46px!important;min-width:46px!important;font-size:12px!important}

  /* Quote shell */
  .turnkey-quote,.turnkey-quote *{min-width:0}
  .turnkey-quote{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .turnkey-quote .container{width:calc(100% - 20px)!important}
  .turnkey-actions,.turnkey-toolbar,.turnkey-head-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .turnkey-actions .btn,.turnkey-toolbar .btn,.turnkey-head-actions .btn{width:100%!important;min-height:46px!important;white-space:normal!important}
  .turnkey-customer-grid,.turnkey-customer-grid-5,.turnkey-common-fields{grid-template-columns:1fr!important;gap:10px!important}
  .turnkey-common-date-stack{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important}
  .turnkey-common-date-stack label{display:grid!important;gap:7px!important;width:100%!important;color:#e9b15c!important;font-weight:800!important}
  .turnkey-common-date-stack input[type="date"]{width:100%!important;max-width:100%!important;min-height:48px!important;font-size:16px!important;padding:10px 52px 10px 12px!important;border:1.5px solid #c38b3e!important;border-radius:7px!important;background:#111!important;color:#fff!important}
  .turnkey-meta-row{display:block!important}
  .turnkey-summary,.turnkey-summary-contract{width:100%!important;max-width:100%!important;margin-left:0!important}
  .turnkey-summary-line{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;padding:14px 12px!important}
  .turnkey-summary-line span{font-size:12px!important;line-height:1.35!important}
  .turnkey-summary-line strong{font-size:22px!important;white-space:nowrap!important}
  .turnkey-summary-line-vat{grid-template-columns:minmax(0,1fr) auto!important}
  .turnkey-vat-input{justify-self:end!important}

  /* FIX gốc lỗi screenshot: parent trước là flex, 3 select width:100% bị flex-shrink thành 3 ô mũi tên. */
  .turnkey-room-selector{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;width:100%!important;max-width:100%!important;padding:18px!important;margin:18px 0!important;overflow:visible!important}
  .turnkey-room-selector>div:first-child{width:100%!important;max-width:100%!important}
  .turnkey-room-selector h3{font-size:22px!important;line-height:1.25!important;color:#fff!important;margin:7px 0!important}
  .turnkey-room-selector p{font-size:13px!important;line-height:1.55!important;color:#c9c1b7!important}
  .turnkey-room-picker-row.turnkey-room-picker-advanced{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .turnkey-room-picker-advanced select,
  .turnkey-room-picker-advanced button,
  #tk-room-picker,#tk-material-brand,#tk-core-standard,#tk-add-room{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;height:auto!important;margin:0!important;padding:11px 42px 11px 12px!important;font-size:15px!important;line-height:1.35!important;border-radius:6px!important;overflow:visible!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  #tk-room-picker,#tk-material-brand,#tk-core-standard{background:#111!important;color:#fff!important;border:1.5px solid #b98745!important;-webkit-appearance:menulist!important;appearance:menulist!important}
  #tk-room-picker option,#tk-material-brand option,#tk-core-standard option{background:#fff!important;color:#111!important}
  #tk-add-room{padding:12px 14px!important;background:#e9b15c!important;color:#15110b!important;border:1px solid #c58d3c!important;font-weight:900!important;white-space:normal!important}

  /* Quote item tables: giữ bảng đúng cấu trúc, cho cuộn ngang có chủ đích */
  #turnkey-rooms{width:100%!important;max-width:100%!important}
  .tk-room{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .tk-room-head{gap:8px!important;padding:10px 12px!important}
  .tk-room-head h3{font-size:14px!important;line-height:1.3!important}
  .tk-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important}
  .tk-room table{min-width:960px!important;width:960px!important;table-layout:fixed!important}
  .tk-room input,.tk-room select,.tk-room textarea{min-height:40px!important;font-size:14px!important}

  /* Payment / notes */
  .turnkey-payment{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .tk-payment-row{grid-template-columns:1fr!important;gap:8px!important;padding:13px!important}
  .tk-payment-row select,.tk-payment-row input{width:100%!important;max-width:100%!important;min-height:44px!important;font-size:16px!important}
  .tk-payment-row strong{text-align:left!important;font-size:20px!important}
  .tk-custom-notes textarea{font-size:16px!important;min-height:110px!important}

  /* Modals */
  .tk-kitchen-search-modal,.tk-lead-modal{padding:12px!important}
  .tk-kitchen-search-dialog,.tk-lead-dialog{width:100%!important;max-width:100%!important;max-height:92vh!important;overflow:auto!important;border-radius:13px!important}
  .tk-kitchen-search-bar{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .tk-kitchen-search-bar select,.tk-kitchen-search-bar input,.tk-kitchen-search-bar button{width:100%!important;min-height:46px!important;font-size:16px!important}
  .tk-kitchen-result{grid-template-columns:1fr!important}

  /* General form controls and contrast */
  .turnkey-quote input,.turnkey-quote select,.turnkey-quote textarea{max-width:100%!important}
  .turnkey-quote input:not([type="checkbox"]):not([type="radio"]),.turnkey-quote select,.turnkey-quote textarea{font-size:16px!important}
  .turnkey-quote .btn,.turnkey-quote button{min-height:44px!important}
}

@media (max-width: 520px){
  .container{width:calc(100% - 18px)!important}
  .turnkey-quote .container{width:calc(100% - 12px)!important}
  .turnkey-room-selector{padding:15px!important}
  .turnkey-room-selector .eyebrow{font-size:12px!important}
  .turnkey-room-selector h3{font-size:20px!important}
  .turnkey-summary-line strong{font-size:20px!important}
  .floating-contact{right:7px!important;bottom:78px!important}
  .floating-contact a,.floating-contact button{width:44px!important;height:44px!important;min-width:44px!important}
}

/* Operational portal mobile safety net */
@media screen and (max-width: 820px){
  .d369-project-portal,.d369-project-portal *{min-width:0}
  .d369-project-portal{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .d369-project-portal .container{width:calc(100% - 20px)!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}
  .d369-staff-layout,.d369-manager-console,.d369-manager-shell,.d369-project-products,.d369-project-discussion{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .d369-staff-layout input,.d369-staff-layout select,.d369-staff-layout textarea,
  .d369-manager-console input,.d369-manager-console select,.d369-manager-console textarea,
  .d369-project-discussion input,.d369-project-discussion select,.d369-project-discussion textarea{font-size:16px!important;max-width:100%!important}
  .d369-staff-layout .btn,.d369-manager-console .btn,.d369-project-discussion .btn{min-height:44px!important;white-space:normal!important}
  .d369-timeline{width:100%!important;max-width:100%!important}
  .d369-timeline-row{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .d369-timeline-copy,.d369-timeline-copy *{overflow-wrap:anywhere!important}
  .d369-project-products .d369-product-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .d369-project-discussion{border-radius:12px!important}
  .d369-discussion-feed{padding:12px!important;max-height:55vh!important}
  .d369-discussion-form{padding:14px!important}
  .d369-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .d369-album-grid img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}
  .d369-preview-dialog{width:calc(100vw - 18px)!important;max-width:calc(100vw - 18px)!important;max-height:92vh!important;margin:auto!important}
}

/* ===== v3.5.12 - INLINE @MENTION + MOBILE CONTRAST HARDENING ===== */
.d369-comment-message-label{position:relative;display:block!important}
.d369-comment-editor{position:relative;margin-top:6px}
.d369-comment-editor textarea{margin-top:0!important;padding:12px 14px!important;min-height:112px!important;line-height:1.5!important}
.d369-tag-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.d369-comment-hint{margin-top:7px!important;color:#5b554e!important;font-weight:600!important;line-height:1.45!important}
.d369-comment-hint b{color:#8a5713!important}
.d369-mention-menu{position:absolute;left:8px;right:8px;top:calc(100% - 8px);z-index:80;max-height:260px;overflow:auto;background:#fff!important;border:1px solid #b88a52!important;border-radius:10px;box-shadow:0 14px 30px rgba(0,0,0,.18);padding:6px}
.d369-mention-menu[hidden]{display:none!important}
.d369-mention-option{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;min-height:44px!important;padding:9px 10px!important;margin:0!important;border:0!important;border-bottom:1px solid #eee7df!important;border-radius:6px!important;background:#fff!important;color:#111!important;text-align:left!important;cursor:pointer!important}
.d369-mention-option:last-child{border-bottom:0!important}
.d369-mention-option:hover,.d369-mention-option:focus{background:#fff4df!important;color:#111!important;outline:2px solid #d49b4e!important}
.d369-mention-option strong{color:#111!important;font-size:13px!important}
.d369-mention-option small{color:#6e665e!important;font-size:11px!important;margin:0!important}

@media screen and (max-width:820px){
  /* Mobile contrast matrix: every operational control must remain readable. */
  .turnkey-quote button,.turnkey-quote .btn,
  .d369-staff-layout button,.d369-staff-layout .btn,
  .d369-manager-console button,.d369-manager-console .btn,
  .d369-project-discussion button,.d369-project-discussion .btn{
    opacity:1!important;filter:none!important;text-shadow:none!important;font-weight:800!important;
  }
  .turnkey-quote button:not(.btn-zalo):not(.tk-btn-dark):not(.btn-outline):not([disabled]),
  .turnkey-quote .btn:not(.btn-zalo):not(.tk-btn-dark):not(.btn-outline):not([disabled]),
  .d369-staff-layout .btn-gold,.d369-manager-console .btn-gold,.d369-project-discussion .btn-gold{
    background:#efb35b!important;color:#17110a!important;border:2px solid #c68732!important;
  }
  .turnkey-quote .btn-outline,.turnkey-quote button.btn-outline,
  .d369-staff-layout .btn-outline,.d369-manager-console .btn-outline,.d369-project-discussion .btn-outline,
  .d369-comment-actions button{
    background:#fff!important;color:#111!important;border:2px solid #a56f2c!important;
  }
  .turnkey-quote .tk-btn-dark,.turnkey-quote button.tk-btn-dark,
  .d369-staff-layout .tk-btn-dark,.d369-manager-console .tk-btn-dark,
  .d369-staff-layout .d369-stage-action,.d369-staff-layout .d369-start-stage-report,.d369-staff-layout .d369-complete-task,.d369-staff-layout .d369-reset-report{
    background:#111!important;color:#fff!important;border:2px solid #d59b4f!important;
  }
  .turnkey-quote .btn-zalo{background:#1769ff!important;color:#fff!important;border:2px solid #0c55db!important}
  .turnkey-quote button:disabled,.turnkey-quote .btn:disabled,.d369-staff-layout button:disabled,.d369-manager-console button:disabled{
    background:#d8d2ca!important;color:#5a5148!important;border:1px solid #a79c91!important;opacity:1!important;
  }

  /* Native mobile date UI can hide its calendar glyph. Put a permanent SVG on the field itself. */
  .turnkey-quote input[type="date"]{
    color-scheme:dark!important;background-color:#111!important;color:#fff!important;border:2px solid #c48b3d!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:23px 23px!important;padding-right:52px!important;
  }
  .turnkey-quote input[type="date"]::-webkit-calendar-picker-indicator{opacity:.01!important;width:42px!important;height:42px!important;cursor:pointer!important}
  .d369-manager-console input[type="date"],.d369-staff-layout input[type="date"],.d369-project-discussion input[type="date"]{
    color-scheme:light!important;background-color:#fff!important;color:#111!important;border:2px solid #9d713b!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:22px 22px!important;padding-right:48px!important;
  }
  .d369-manager-console input[type="date"]::-webkit-calendar-picker-indicator,.d369-staff-layout input[type="date"]::-webkit-calendar-picker-indicator,.d369-project-discussion input[type="date"]::-webkit-calendar-picker-indicator{opacity:.01!important;width:42px!important;height:42px!important}

  /* Inline @ mention on mobile: no separate tag picker/select visible. */
  .d369-discussion-form{display:block!important;padding:14px!important}
  .d369-comment-message-label{width:100%!important}
  .d369-comment-editor textarea{font-size:16px!important;min-height:128px!important;border:2px solid #9d713b!important;background:#fff!important;color:#111!important}
  .d369-comment-hint{font-size:12px!important;color:#5e554d!important;margin-bottom:14px!important}
  .d369-mention-menu{left:0!important;right:0!important;top:calc(100% - 4px)!important;max-height:220px!important}
  .d369-mention-option{min-height:48px!important;font-size:14px!important}
  .d369-manager-comment-task{margin-top:12px!important;background:#fff7e8!important;border:2px solid #d0a05c!important;color:#16120e!important}
  .d369-manager-comment-task label,.d369-manager-comment-task b{color:#16120e!important}
  .d369-manager-comment-task input,.d369-manager-comment-task select{background:#fff!important;color:#111!important;border:2px solid #9d713b!important;min-height:46px!important}
  .d369-discussion-form>button[type="submit"]{width:100%!important;min-height:50px!important;margin-top:12px!important;background:#efb35b!important;color:#111!important;border:2px solid #c68732!important}
}

/* ===== v3.5.13: staff identity + report modal + clean product PDF ===== */
.d369-staff-identity{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px;padding:9px 13px;border:1px solid rgba(229,174,90,.55);border-radius:999px;background:#fff;color:#111;max-width:100%}
.d369-staff-identity b{font-size:14px;color:#111!important;line-height:1.2}.d369-staff-identity span{font-size:12px;color:#5d554d!important;font-weight:700}.d369-staff-identity.compact{margin:8px 0 2px}

body.d369-report-modal-active,body.d369-stage-preview-active{overflow:hidden!important}
.d369-staff-update-form.d369-report-modal-open{display:block!important;position:fixed!important;z-index:100050!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(720px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;margin:0!important;padding:26px!important;border:2px solid #c38316!important;border-radius:18px!important;background:#fff!important;color:#111!important;box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 20px 70px rgba(0,0,0,.35)!important}
.d369-report-modal-close{position:absolute!important;right:14px!important;top:12px!important;width:42px!important;height:42px!important;border-radius:50%!important;border:2px solid #111!important;background:#111!important;color:#fff!important;font-size:27px!important;line-height:34px!important;font-weight:800!important;display:grid!important;place-items:center!important;cursor:pointer!important;z-index:2!important}
.d369-report-modal-close:hover,.d369-report-modal-close:focus{background:#e8ad4f!important;color:#111!important;border-color:#111!important}
.d369-staff-update-form.d369-report-modal-open h3{padding-right:48px!important;margin-top:2px!important}
.d369-staff-update-form .d369-stage-locked{pointer-events:none!important;background:#f3efe8!important;color:#111!important;border-color:#b8a894!important;opacity:1!important}

.d369-report-stage-preview.d369-stage-preview-modal{display:block!important;position:fixed!important;z-index:100040!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(620px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;background:#fff!important;color:#111!important;border:2px solid #c38316!important;border-radius:18px!important;padding:28px!important;box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 18px 60px rgba(0,0,0,.32)!important}
.d369-report-stage-preview.d369-stage-preview-modal span,.d369-report-stage-preview.d369-stage-preview-modal h3,.d369-report-stage-preview.d369-stage-preview-modal p{color:#111!important}
.d369-report-stage-preview.d369-stage-preview-modal .d369-preview-stage-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:18px!important}

.d369-product-print-clone{display:none}
@media print{
  body.d369-product-list-printing{margin:0!important;padding:0!important;background:#fff!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body.d369-product-list-printing > *{display:none!important}
  body.d369-product-list-printing > .d369-product-print-clone{display:block!important;position:static!important;visibility:visible!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;page-break-before:auto!important;page-break-after:auto!important}
  body.d369-product-list-printing > .d369-product-print-clone *{visibility:visible!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-head-actions,
  body.d369-product-list-printing .d369-product-print-clone .d369-accounting-note,
  body.d369-product-list-printing .d369-product-print-clone .d369-accounting-actions,
  body.d369-product-list-printing .d369-product-print-clone .d369-supplier-upload-panel,
  body.d369-product-list-printing .d369-product-print-clone button{display:none!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:10px!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table th,
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table td{padding:5px 6px!important;background:#fff!important;color:#111!important;border-color:#777!important}
  body.d369-product-list-printing .d369-product-print-clone{orphans:2;widows:2}
}

@media(max-width:767px){
  .d369-staff-identity{display:flex!important;width:100%!important;border-radius:12px!important;justify-content:flex-start!important;padding:10px 12px!important}.d369-staff-identity b{font-size:15px!important}.d369-staff-identity span{font-size:12px!important}
  .d369-staff-update-form.d369-report-modal-open{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;padding:22px 16px 18px!important;border-radius:14px!important}
  .d369-report-stage-preview.d369-stage-preview-modal{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;padding:22px 16px!important;border-radius:14px!important}
  .d369-report-stage-preview.d369-stage-preview-modal .d369-preview-stage-actions .btn{width:100%!important;min-height:48px!important}
  .d369-report-modal-close{right:10px!important;top:10px!important;width:40px!important;height:40px!important}
}

/* ===== v3.5.14 MOBILE QUOTE PRODUCT CARDS =====
 * Mobile no longer renders quotation items as a 960px desktop table.
 * Each product becomes a compact card: product name full width, description max 2 lines,
 * measurements/qty/price in a clear 2-column grid. Designed to stay usable with 50+ items.
 */
@media screen and (max-width: 820px){
  .turnkey-quote .tk-table-wrap{overflow:visible!important;width:100%!important;max-width:100%!important}
  .turnkey-quote .tk-room table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important;border:0!important}
  .turnkey-quote .tk-room thead{display:none!important}
  .turnkey-quote .tk-room tbody{display:block!important;width:100%!important}
  .turnkey-quote .tk-room .tk-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 10px!important;
    width:100%!important;
    margin:0!important;
    padding:12px!important;
    border-bottom:1px solid #4a4136!important;
    background:#101112!important;
  }
  .turnkey-quote .tk-room .tk-row:last-child{border-bottom:0!important}
  .turnkey-quote .tk-room .tk-row>td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    vertical-align:top!important;
  }
  .turnkey-quote .tk-room .tk-row>td::before{
    display:block!important;
    margin:0 0 5px!important;
    color:#d9a85e!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
  }
  .turnkey-quote .tk-room .tk-row>.tk-stt{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:8px!important;font-size:11px!important;color:#cfc7bc!important}
  .turnkey-quote .tk-room .tk-row>.tk-stt::before{content:'Sản phẩm';margin:0!important}
  .turnkey-quote .tk-room .tk-row>.tk-product-cell{grid-column:1/-1!important}
  .turnkey-quote .tk-room .tk-row>.tk-product-cell::before{content:'Tên sản phẩm'}
  .turnkey-quote .tk-room .tk-row>.tk-desc-cell{grid-column:1/-1!important}
  .turnkey-quote .tk-room .tk-row>.tk-desc-cell::before{content:'Mô tả sản phẩm'}
  .turnkey-quote .tk-room .tk-row>td:nth-child(4)::before{content:'Dài (m)'}
  .turnkey-quote .tk-room .tk-row>td:nth-child(5)::before{content:'Rộng / Sâu (m)'}
  .turnkey-quote .tk-room .tk-row>td:nth-child(6)::before{content:'Cao (m)'}
  .turnkey-quote .tk-room .tk-row>td:nth-child(7)::before{content:'Đơn vị'}
  .turnkey-quote .tk-room .tk-row>td:nth-child(8)::before{content:'Khối lượng'}
  .turnkey-quote .tk-room .tk-row>td:nth-child(9)::before{content:'Đơn giá'}
  .turnkey-quote .tk-room .tk-row>.tk-total::before{content:'Thành tiền'}
  .turnkey-quote .tk-room .tk-row>.tk-action{grid-column:1/-1!important;text-align:right!important}
  .turnkey-quote .tk-room .tk-row>.tk-action::before{display:none!important}

  /* Full product name; never the narrow vertical select seen in the screenshot. */
  .turnkey-quote .tk-row .tk-product,
  .turnkey-quote .tk-row .tk-product-manual,
  .turnkey-quote .tk-row .tk-product-manual input{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  .turnkey-quote .tk-row .tk-product,
  .turnkey-quote .tk-row .tk-product-manual input{
    min-height:46px!important;height:auto!important;padding:10px 40px 10px 11px!important;
    font-size:15px!important;line-height:1.3!important;background:#171819!important;color:#fff!important;
    border:1.5px solid #a97a3c!important;border-radius:7px!important;
  }

  /* Description is kept horizontal and compact. Preview/manual text is clamped to two lines. */
  .turnkey-quote .tk-row .tk-desc-select,
  .turnkey-quote .tk-row .tk-desc-manual,
  .turnkey-quote .tk-row .tk-desc-manual textarea,
  .turnkey-quote .tk-row .tk-kitchen-desc-preview{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  .turnkey-quote .tk-row .tk-desc-select{
    min-height:48px!important;height:48px!important;padding:9px 40px 9px 11px!important;
    font-size:14px!important;line-height:1.3!important;background:#171819!important;color:#fff!important;
    border:1.5px solid #a97a3c!important;border-radius:7px!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;
  }
  .turnkey-quote .tk-row .tk-desc-manual textarea{
    height:58px!important;min-height:58px!important;max-height:58px!important;resize:none!important;
    padding:8px 10px!important;font-size:14px!important;line-height:1.45!important;overflow:hidden!important;
    background:#171819!important;color:#fff!important;border:1.5px solid #a97a3c!important;border-radius:7px!important;
  }
  .turnkey-quote .tk-row .tk-kitchen-desc-preview:not(.hidden){
    display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
    overflow:hidden!important;max-height:44px!important;min-height:0!important;padding:5px 7px!important;
    font-size:13px!important;line-height:1.45!important;background:#171819!important;color:#fff!important;border:1px solid #7f623c!important;border-radius:6px!important;
  }

  .turnkey-quote .tk-row input.tk-length,
  .turnkey-quote .tk-row input.tk-depth,
  .turnkey-quote .tk-row input.tk-height,
  .turnkey-quote .tk-row input.tk-qty,
  .turnkey-quote .tk-row input.tk-price,
  .turnkey-quote .tk-row select.tk-unit{
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:44px!important;
    padding:8px 10px!important;font-size:15px!important;background:#171819!important;color:#fff!important;
    border:1.5px solid #795d38!important;border-radius:6px!important;
  }
  .turnkey-quote .tk-row .tk-total{
    min-height:44px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
    padding:8px 10px!important;border:1px solid #5c4a32!important;border-radius:6px!important;
    color:#efb45d!important;font-size:17px!important;font-weight:900!important;
  }
  .turnkey-quote .tk-row .tk-delete{width:44px!important;height:44px!important;min-width:44px!important;background:#fff!important;color:#111!important;border:2px solid #a56f2c!important;border-radius:6px!important}
  .turnkey-quote .tk-row .tk-kitchen-lookup{margin-top:7px!important;min-height:40px!important;width:auto!important;padding:7px 12px!important;font-size:12px!important;background:#efb45d!important;color:#111!important;border:1px solid #b97b28!important}
  .turnkey-quote .tk-row .tk-kitchen-source-note{font-size:10px!important;line-height:1.35!important;color:#aaa!important;margin-top:5px!important}

  /* Room header stays compact even with many rooms/products. */
  .turnkey-quote .tk-room-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;padding:11px 12px!important}
  .turnkey-quote .tk-room-head-tools{display:flex!important;align-items:center!important;gap:8px!important;justify-content:flex-end!important}
  .turnkey-quote .tk-room-head-tools span{font-size:10px!important;white-space:nowrap!important}
  .turnkey-quote .tk-remove-room{width:40px!important;height:40px!important;min-width:40px!important}
}


/* ===== v3.5.15 PRINT DESIGN LOCK =====
 * Báo giá khi in/PDF giữ nguyên layout v3.5.8.
 * Mọi responsive/card rule sau v3.5.8 được giới hạn bằng media screen ở trên,
 * nên không thể ghi đè table/layout của bản in. Chỉ các control web no-print bị ẩn.
 */
@media print{
  .turnkey-quote .tk-room table{display:table!important;}
  .turnkey-quote .tk-room thead{display:table-header-group!important;}
  .turnkey-quote .tk-room tbody{display:table-row-group!important;}
  .turnkey-quote .tk-room .tk-row{display:table-row!important;}
  .turnkey-quote .tk-room .tk-row>td{display:table-cell!important;}
  .turnkey-quote .tk-room .tk-row>td::before{display:none!important;content:none!important;}
}


/* ===== v3.5.16 - role-aware product list printing ===== */
.d369-print-value,.d369-checklist-col,.d369-print-checklist{display:none}
@media print{
  body.d369-product-list-printing .d369-product-print-clone{display:block!important;position:absolute!important;inset:0 auto auto 0!important;width:100%!important;background:#fff!important;color:#111!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-head{background:#171717!important;color:#fff!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table th,
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table td{border:1px solid #9b9b9b!important;padding:6px!important;color:#111!important;background:#fff!important;font-size:9.5px!important;line-height:1.3!important;vertical-align:top!important;word-break:break-word!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-product-table th{background:#222!important;color:#fff!important;font-weight:800!important}
  body.d369-product-list-printing .d369-product-print-clone input,
  body.d369-product-list-printing .d369-product-print-clone datalist,
  body.d369-product-list-printing .d369-product-print-clone .d369-old-cost,
  body.d369-product-list-printing .d369-product-print-clone .d369-cost-warning,
  body.d369-product-list-printing .d369-product-print-clone .d369-supplier-history{display:none!important}
  body.d369-product-list-printing .d369-product-print-clone .d369-print-value{display:block!important;color:#111!important;font-weight:700!important}

  /* Staff / production copy: no money, with check list at the end */
  body.d369-product-print-checklist .d369-product-print-clone .d369-checklist-col{display:table-cell!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-print-checklist{display:grid!important;grid-template-columns:repeat(3,max-content);gap:4px 8px!important;align-items:center!important;min-height:48px!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-print-checklist span{font-weight:800!important;white-space:nowrap!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-print-checklist b{grid-column:1/-1;font-size:8.5px!important;margin-top:3px!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-print-checklist i{grid-column:1/-1;border-bottom:1px dotted #555!important;height:9px!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-product-table th:nth-child(1){width:4%!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-product-table th:nth-child(2){width:21%!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-product-table th:nth-child(3){width:32%!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-product-table th:nth-child(4){width:14%!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-product-table th:nth-child(5){width:10%!important}
  body.d369-product-print-checklist .d369-product-print-clone .d369-product-table th:nth-child(6){width:19%!important}

  /* Manager / accounting copy: print full commercial and cost-control table */
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th,
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table td{display:table-cell!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-cost-cell,
  body.d369-product-print-finance .d369-product-print-clone .d369-supplier-cell,
  body.d369-product-print-finance .d369-product-print-clone .d369-sale-price,
  body.d369-product-print-finance .d369-product-print-clone .d369-profit-cell{display:table-cell!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-checklist-col{display:none!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table{font-size:8.5px!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(1){width:3%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(2){width:14%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(3){width:21%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(4){width:10%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(5){width:7%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(6){width:9%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(7){width:9%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(8){width:12%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(9){width:8%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th:nth-child(10){width:7%!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-finance-total td{font-weight:900!important;background:#f3eadc!important}
}

/* ===== v3.5.17 - finance print + report mail status ===== */
.d369-finance-mail-status{display:inline-flex;align-items:center;min-height:38px;padding:0 10px;font-size:12px;font-weight:800;color:#6b6257}
.d369-finance-mail-status.is-ok{color:#16794b}
.d369-finance-mail-status.is-error{color:#b42318}
@media print{
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table th,
  body.d369-product-print-finance .d369-product-print-clone .d369-product-table td{display:table-cell!important;visibility:visible!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-sale-price,
  body.d369-product-print-finance .d369-product-print-clone .d369-cost-cell,
  body.d369-product-print-finance .d369-product-print-clone .d369-supplier-cell,
  body.d369-product-print-finance .d369-product-print-clone .d369-row-revenue,
  body.d369-product-print-finance .d369-product-print-clone .d369-row-profit{display:table-cell!important;visibility:visible!important}
  body.d369-product-print-finance .d369-product-print-clone .d369-finance-mail-status{display:none!important}
}

/* ===== v3.5.19: revise assignments + compact finance print ===== */
@media print{
  body.d369-product-print-finance .d369-product-print-clone .d369-finance-report{
    display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;
    margin:8px 0 0!important;padding:6px!important;border:1px solid #cdbb9d!important;background:#fffaf1!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body.d369-product-print-finance .d369-product-print-clone .d369-finance-report>div{
    padding:6px 8px!important;margin:0!important;border:1px solid #dfd2be!important;background:#fff!important;min-height:0!important;
  }
  body.d369-product-print-finance .d369-product-print-clone .d369-finance-report span{
    font-size:7.5px!important;line-height:1.1!important;margin:0!important;color:#6d604f!important;
  }
  body.d369-product-print-finance .d369-product-print-clone .d369-finance-report strong{
    font-size:12px!important;line-height:1.15!important;margin:3px 0 0!important;color:#111!important;
  }
}
.d369-manager-comment-task .d369-comment-task-fields{grid-template-columns:minmax(180px,.8fr) 1fr 1.2fr 190px!important}
@media(max-width:900px){.d369-manager-comment-task .d369-comment-task-fields{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.d369-manager-comment-task .d369-comment-task-fields{grid-template-columns:1fr!important}}

/* ===== v3.5.20 final contrast audit ===== */
.turnkey-wrap button,.turnkey-wrap .btn,.turnkey-panel button,.turnkey-panel .btn{font-weight:800!important;text-shadow:none!important}
.turnkey-wrap input,.turnkey-wrap select,.turnkey-wrap textarea{opacity:1!important}
.turnkey-wrap input::placeholder,.turnkey-wrap textarea::placeholder{opacity:1!important}
@media screen{
  .turnkey-wrap .btn-gold,.turnkey-wrap button.btn-gold{background:#efb158!important;color:#111!important;border-color:#b47725!important}
  .turnkey-wrap .btn-outline,.turnkey-wrap button.btn-outline{background:#fff!important;color:#111!important;border-color:#a66f25!important}
  .turnkey-wrap button:disabled,.turnkey-wrap .btn:disabled{opacity:.62!important;color:#333!important;background:#ddd!important;border-color:#aaa!important}
}
/* v3.5.21 finance PDF preview/download */
.d369-finance-pdf-links{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.d369-finance-pdf-links[hidden]{display:none!important}
.d369-finance-pdf-links .btn{min-height:40px;padding:9px 14px;font-weight:800;text-decoration:none!important}
.d369-finance-pdf-links .btn-dark{background:#17130f!important;color:#fff!important;border:1px solid #17130f!important}
.d369-finance-pdf-links .btn-gold{background:#e9ad52!important;color:#15110d!important;border:1px solid #c58a32!important}
@media screen and (max-width:700px){.d369-finance-pdf-links{width:100%}.d369-finance-pdf-links .btn{flex:1 1 150px;text-align:center}}

/* v3.5.35 — dual web/manual accessory entry + full description print mirror */
.tk-manual-category-box{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px;grid-column:1/-1;margin-top:8px}
.tk-manual-category-box input{min-height:42px;width:100%;background:#fff;color:#111;border:1px solid #8c714b;border-radius:6px;padding:9px 11px;font-weight:700}
.tk-desc-manual{align-items:flex-start!important}
.tk-desc-manual textarea{width:100%!important;min-height:54px!important;height:auto;resize:vertical!important;overflow:hidden!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.42!important}
.tk-desc-cell{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.tk-desc-print-only{display:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.42}
.tk-kitchen-entry-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.tk-kitchen-entry-actions button{min-height:30px;padding:5px 9px;border-radius:5px;border:1px solid #987044;background:#fff;color:#21170e;font-size:10px;font-weight:800;cursor:pointer}
.tk-kitchen-entry-actions .tk-kitchen-lookup{margin-top:0!important;background:#17130f;color:#fff;border-color:#17130f}
.tk-kitchen-entry-actions .tk-kitchen-manual-toggle{background:#fff6e8;color:#5b370f;border-color:#c99a5c}
@media screen and (max-width:820px){.tk-manual-category-box{grid-template-columns:1fr}.tk-manual-category-box .btn{width:100%}.tk-desc-manual textarea{font-size:16px!important;min-height:72px!important}.tk-kitchen-entry-actions button{flex:1 1 130px;min-height:40px;font-size:12px}}
@media print{
  .tk-manual-category-box,.tk-kitchen-entry-actions{display:none!important}
  body.turnkey-printing .tk-desc-select,body.turnkey-printing .tk-desc-manual,body.turnkey-printing .tk-kitchen-desc-preview{display:none!important}
  body.turnkey-printing .tk-desc-print-only{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:anywhere!important;line-height:1.35!important;color:#111!important}
  .tk-desc-cell{height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important;vertical-align:top!important}
  .tk-room tr,.tk-room td{height:auto!important;max-height:none!important;overflow:visible!important}
}

/* ===== v3.5.36 — FIX DESKTOP QUOTE CATEGORY PICKER LAYOUT =====
 * v3.5.35 added a manual-category block inside a row that was still display:flex
 * on desktop. The grid-template-columns declaration therefore had no effect and
 * the three SELECT fields could shrink to arrow-only boxes. Keep the desktop
 * controls readable and split the manual category controls onto a clean row 2.
 */
@media screen and (min-width:821px){
  .turnkey-room-selector{
    display:grid!important;
    grid-template-columns:minmax(360px,.9fr) minmax(700px,1.45fr)!important;
    align-items:end!important;
    gap:24px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .turnkey-room-selector>div:first-child{
    min-width:0!important;
    width:100%!important;
  }
  .turnkey-room-picker-row.turnkey-room-picker-advanced{
    display:grid!important;
    grid-template-columns:minmax(250px,1.8fr) minmax(145px,.9fr) minmax(115px,.72fr) minmax(165px,.95fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:stretch!important;
  }
  .turnkey-room-picker-advanced select,
  #tk-room-picker,#tk-material-brand,#tk-core-standard{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 36px 0 12px!important;
    font-size:12px!important;
    line-height:44px!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    overflow:hidden!important;
  }
  #tk-add-room{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 14px!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
  .tk-manual-category-box{
    display:grid!important;
    grid-template-columns:minmax(360px,1fr) minmax(190px,220px)!important;
    gap:8px!important;
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-top:2px!important;
  }
  .tk-manual-category-box input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:46px!important;
    height:46px!important;
    font-size:12px!important;
    text-overflow:ellipsis!important;
  }
  .tk-manual-category-box .btn{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 14px!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
}

/* Intermediate desktop/tablet widths: stack the description above controls
 * rather than letting either column squeeze the inputs. */
@media screen and (min-width:821px) and (max-width:1180px){
  .turnkey-room-selector{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
}

/* ===== v3.5.37 — About & Process editorial typography ===== */
/* Dùng serif nghệ thuật cho các tiêu đề chính nhưng giữ body sans-serif để dễ đọc. */
.about-hero h1,
.history-section h2,
.org-section .section-heading h2,
.philosophy-section h2,
.philosophy-section h3,
.workflow-luxury .workflow-heading h2,
.cnc-workflow .workflow-heading h2,
.workflow-stage .stage-title h3{
  font-family:"Cormorant Garamond","Times New Roman",serif;
  font-weight:600;
  letter-spacing:.005em;
}
.about-hero h1{font-size:clamp(52px,5.4vw,76px);line-height:1.02;letter-spacing:-.018em}
.about-hero h1 em{font-family:inherit;font-style:italic;font-weight:500}
.history-section h2{font-size:clamp(46px,4vw,62px);line-height:1.06}
.org-section .section-heading h2{font-size:clamp(40px,3.6vw,54px);line-height:1.08}
.philosophy-section h2{font-size:clamp(46px,4.2vw,64px);line-height:1.02}
.philosophy-section h3{font-size:28px;line-height:1.15}

/* Quy trình: tăng tương phản và kích thước để tạo điểm hút thị giác. */
.workflow-luxury .workflow-heading,
.cnc-workflow .workflow-heading{max-width:920px;margin-bottom:54px}
.workflow-luxury .workflow-heading h2,
.cnc-workflow .workflow-heading h2{font-size:clamp(50px,4.8vw,68px);line-height:1.04;letter-spacing:-.012em;margin-top:10px}
.workflow-heading .eyebrow{font-size:14px;letter-spacing:.1em}
.workflow-heading p{font-size:17px;line-height:1.7;max-width:760px}
.workflow-stage{grid-template-columns:360px 1fr;padding:46px 0}
.workflow-stage .stage-title h3{font-size:34px;line-height:1.12;margin-top:10px}
.workflow-stage .stage-title span{font-size:13px}
.stage-step{padding:26px 24px;grid-template-columns:54px 1fr;align-items:start}
.stage-step strong{font-size:16px;line-height:1.5}
.stage-step p{font-size:17px;line-height:1.55}
.cnc-flow{gap:15px}
.cnc-flow-item{min-height:126px;padding:21px 20px}
.cnc-flow-item span{font-size:14px}
.cnc-flow-item strong{font-size:16px;line-height:1.4;letter-spacing:.01em}

@media(max-width:850px){
  .workflow-stage{grid-template-columns:1fr}
  .workflow-stage .stage-title{margin-bottom:24px}
  .workflow-stage .stage-title h3{padding-right:0}
}

@media(max-width:520px){
  /* Mobile: các heading H1/H2 trên trang Giới thiệu & Quy trình cân giữa và có nhịp dòng đồng đều. */
  .about-hero .split>div,
  .history-section .about-two-col>div:first-child,
  .org-section .section-heading,
  .philosophy-heading,
  .workflow-luxury .workflow-heading,
  .cnc-workflow .workflow-heading{
    text-align:center;
  }
  .about-hero .eyebrow,
  .history-section .eyebrow,
  .philosophy-heading .eyebrow,
  .workflow-heading .eyebrow{margin-left:auto;margin-right:auto}
  .about-hero h1{font-size:44px;line-height:1.08;margin:8px auto 20px;max-width:340px}
  .about-hero h1 br{display:block}
  .about-hero p{margin-left:auto;margin-right:auto;max-width:360px;line-height:1.7}
  .history-section h2,
  .org-section .section-heading h2,
  .philosophy-section h2,
  .workflow-luxury .workflow-heading h2,
  .cnc-workflow .workflow-heading h2{
    font-size:38px;
    line-height:1.1;
    margin:10px auto 18px;
    max-width:360px;
  }
  .org-section .section-heading{display:block}
  .org-section .section-heading p,
  .philosophy-heading p,
  .workflow-heading p{margin-left:auto;margin-right:auto;max-width:360px}
  .workflow-luxury .workflow-heading,
  .cnc-workflow .workflow-heading{margin:0 auto 38px}
  .workflow-stage{padding:34px 0}
  .workflow-stage .stage-title{text-align:center;margin-bottom:22px}
  .workflow-stage .stage-title h3{font-size:30px;line-height:1.13;max-width:350px;margin:9px auto 0}
  .stage-step{padding:22px 18px;grid-template-columns:48px 1fr}
  .stage-step strong{font-size:15px}
  .stage-step p{font-size:16px;line-height:1.55}
  .cnc-flow-item{min-height:112px;text-align:center;align-items:center;padding:20px}
  .cnc-flow-item strong{font-size:17px;line-height:1.35}
}

/* ===== v3.5.38 — About page line rhythm & mobile composition ===== */
/* Desktop: give the hero copy enough room and keep the main thought intact. */
.d369-about-page .about-hero .split{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(42px,5vw,76px);
  align-items:center;
}
.d369-about-page .about-hero .split>div{min-width:0}
.d369-about-page .about-hero .about-display-title{
  font-size:clamp(48px,4.15vw,66px);
  line-height:1.04;
  max-width:760px;
  margin:14px 0 22px;
  text-wrap:balance;
}
.d369-about-page .about-display-title .desktop-title-line,
.d369-about-page .about-display-title em{display:block}
.d369-about-page .about-display-title .desktop-title-line{white-space:nowrap}
.d369-about-page .about-display-title em{margin-top:8px;white-space:nowrap}
.d369-about-page .about-display-title .mobile-title-lines{display:none}
.d369-about-page .about-hero p{max-width:650px;font-size:17px;line-height:1.75}
.d369-about-page .about-hero img{width:100%;max-height:500px;object-fit:cover}

/* Headings use deliberate phrase groups instead of browser-made orphan words. */
.d369-about-page .history-display-title span,
.d369-about-page .org-display-title span{display:block}
.d369-about-page .history-display-title{
  max-width:620px;
  text-wrap:balance;
}
.d369-about-page .org-section .section-heading{
  align-items:end;
  gap:44px;
}
.d369-about-page .org-display-title{max-width:620px}
.d369-about-page .org-section .section-heading>p{max-width:560px;line-height:1.75}
.d369-about-page .history-copy p{margin:0 0 20px}
.d369-about-page .history-copy p:last-child{margin-bottom:0}

@media(max-width:1100px) and (min-width:851px){
  .d369-about-page .about-hero .about-display-title{font-size:clamp(44px,4.45vw,56px)}
  .d369-about-page .about-hero .split{gap:38px}
}

@media(max-width:850px){
  .d369-about-page .about-hero .split{grid-template-columns:1fr;gap:34px}
  .d369-about-page .about-hero .split>div{max-width:680px;margin:0 auto;text-align:center}
  .d369-about-page .about-hero img{max-height:none}
  .d369-about-page .about-two-col{gap:30px}
  .d369-about-page .history-copy{text-align:center;max-width:680px;margin:0 auto}
  .d369-about-page .org-section .section-heading{display:block;text-align:center}
  .d369-about-page .org-section .section-heading>p{margin:18px auto 0}
}

@media(max-width:520px){
  .d369-about-page .about-hero{padding-top:70px;padding-bottom:58px}
  .d369-about-page .about-hero .split{gap:30px}
  .d369-about-page .about-hero .about-display-title{
    font-size:clamp(43px,12vw,54px);
    line-height:1.03;
    max-width:none;
    width:100%;
    margin:18px auto 24px;
    letter-spacing:-.025em;
  }
  .d369-about-page .about-display-title .desktop-title-line{display:none}
  .d369-about-page .about-display-title .mobile-title-lines{display:block}
  .d369-about-page .about-display-title .mobile-title-lines>span{
    display:block;
    white-space:nowrap;
  }
  .d369-about-page .about-display-title em{
    display:block;
    white-space:nowrap;
    font-size:.91em;
    margin-top:12px;
  }
  .d369-about-page .about-hero p{
    width:min(92%,390px);
    max-width:none;
    margin:0 auto;
    font-size:16px;
    line-height:1.72;
  }
  .d369-about-page .about-hero img{border-radius:18px}

  .d369-about-page .history-section,
  .d369-about-page .org-section,
  .d369-about-page .philosophy-section,
  .d369-about-page .workflow-luxury,
  .d369-about-page .cnc-workflow{padding-top:72px;padding-bottom:72px}

  .d369-about-page .history-display-title,
  .d369-about-page .org-display-title{
    max-width:none!important;
    width:100%;
    font-size:clamp(38px,10.5vw,48px)!important;
    line-height:1.05!important;
    margin:16px auto 24px!important;
    letter-spacing:-.018em;
  }
  .d369-about-page .history-display-title span,
  .d369-about-page .org-display-title span{
    display:block;
  }
  .d369-about-page .history-display-title span:nth-child(1),
  .d369-about-page .history-display-title span:nth-child(3),
  .d369-about-page .org-display-title span{
    white-space:nowrap;
  }
  .d369-about-page .history-display-title span:nth-child(2){
    max-width:365px;
    margin:0 auto;
  }
  .d369-about-page .history-copy{
    width:min(92%,430px);
    max-width:none;
    font-size:16px;
    line-height:1.8;
  }
  .d369-about-page .history-copy p{margin-bottom:22px}

  .d369-about-page .org-section .section-heading>p{
    width:min(92%,410px);
    max-width:none;
    font-size:16px;
    line-height:1.7;
    margin-top:20px;
  }
  .d369-about-page .org-chart{margin-top:34px}
  .d369-about-page .org-director{width:min(68vw,300px)}
  .d369-about-page .org-node{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px 16px;
    font-size:16px;
    line-height:1.25;
  }
  .d369-about-page .org-row{gap:14px}

  /* Keep contact shortcuts accessible without covering the organisation chart. */
  .d369-about-page .floating-contact{
    right:8px!important;
    bottom:74px!important;
    gap:7px!important;
  }
  .d369-about-page .floating-contact a,
  .d369-about-page .floating-contact button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    font-size:10px!important;
    box-shadow:0 4px 18px rgba(0,0,0,.28);
  }
}

@media(max-width:390px){
  .d369-about-page .about-hero .about-display-title{font-size:41px}
  .d369-about-page .about-display-title em{font-size:.88em}
  .d369-about-page .history-display-title,
  .d369-about-page .org-display-title{font-size:37px!important}
}

/* ===== v3.5.39 — News single layout / CTA isolation ===== */
.single-post .article-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:48px;
  align-items:start;
}
.single-post .article-layout>article{min-width:0}
.single-post .article-layout>aside{
  min-width:0;
  width:100%;
}
/* Important: override the generic project CTA flex rule used by project pages. */
.single-post .article-layout .project-cta-box{
  display:block;
  width:100%;
  box-sizing:border-box;
  position:sticky;
  top:115px;
  padding:30px 28px;
  border:1px solid #59462f;
  border-radius:14px;
  background:var(--panel);
  text-align:left;
}
.single-post .article-layout .project-cta-box .eyebrow{
  display:block;
  margin:0 0 14px;
  white-space:normal;
}
.single-post .article-layout .project-cta-box h3{
  display:block;
  width:100%;
  margin:0 0 14px;
  font-size:26px;
  line-height:1.25;
  overflow-wrap:normal;
  word-break:normal;
  white-space:normal;
  text-wrap:balance;
}
.single-post .article-layout .project-cta-box p{
  display:block;
  width:100%;
  margin:0 0 22px;
  color:#aaa;
  font-size:15px;
  line-height:1.7;
  overflow-wrap:normal;
  word-break:normal;
}
.single-post .article-layout .project-cta-box .btn{
  display:inline-flex;
  width:auto;
  min-width:132px;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.single-post .article-content{
  min-width:0;
}
.single-post .article-content img,
.single-post .article-content figure,
.single-post .article-content .wp-block-image{
  max-width:100%;
  height:auto;
}
.single-post .article-content img{display:block}

@media(max-width:1050px){
  .single-post .article-layout{grid-template-columns:minmax(0,1fr) 280px;gap:32px}
  .single-post .article-layout .project-cta-box{padding:25px 22px}
  .single-post .article-layout .project-cta-box h3{font-size:23px}
}
@media(max-width:900px){
  .single-post .article-layout{grid-template-columns:1fr;gap:38px}
  .single-post .article-layout>aside{max-width:100%}
  .single-post .article-layout .project-cta-box{
    position:static;
    display:grid;
    grid-template-columns:1fr auto;
    column-gap:24px;
    row-gap:8px;
    align-items:center;
    padding:26px;
  }
  .single-post .article-layout .project-cta-box .eyebrow,
  .single-post .article-layout .project-cta-box h3,
  .single-post .article-layout .project-cta-box p{grid-column:1}
  .single-post .article-layout .project-cta-box .btn{grid-column:2;grid-row:1/4;align-self:center}
}
@media(max-width:620px){
  .single-post .article-layout .project-cta-box{display:block;padding:24px 20px;text-align:center}
  .single-post .article-layout .project-cta-box .eyebrow{text-align:center}
  .single-post .article-layout .project-cta-box h3{font-size:24px;line-height:1.25;margin:0 auto 12px;max-width:290px}
  .single-post .article-layout .project-cta-box p{font-size:15px;line-height:1.65;max-width:330px;margin:0 auto 20px}
  .single-post .article-layout .project-cta-box .btn{display:inline-flex}
}


/* ===== v3.5.40 — Related news cards ===== */
.single-post .related-news-section{
  padding:0 0 88px;
  background:var(--bg);
}
.single-post .related-news-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:0 0 28px;
  padding-top:8px;
  border-top:1px solid rgba(216,167,91,.18);
}
.single-post .related-news-head>div{padding-top:28px}
.single-post .related-news-head .eyebrow{
  display:block;
  margin:0 0 10px;
  color:var(--gold);
}
.single-post .related-news-head h2{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:44px;
  line-height:1.05;
  font-weight:600;
  letter-spacing:-.02em;
}
.single-post .related-news-all{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  color:var(--gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-decoration:none;
  white-space:nowrap;
}
.single-post .related-news-all:hover{color:#fff}
.single-post .related-news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.single-post .related-news-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(216,167,91,.24);
  border-radius:16px;
  background:var(--panel);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.single-post .related-news-card:hover{
  transform:translateY(-4px);
  border-color:rgba(216,167,91,.55);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.single-post .related-news-thumb{
  display:block;
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#171717;
}
.single-post .related-news-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.single-post .related-news-card:hover .related-news-thumb img{transform:scale(1.035)}
.single-post .related-news-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:"Cormorant Garamond",serif;
  font-size:52px;
  font-weight:700;
  line-height:.8;
}
.single-post .related-news-placeholder small{
  margin-top:12px;
  font-family:Arial,sans-serif;
  color:#fff;
  font-size:10px;
  letter-spacing:.42em;
}
.single-post .related-news-body{padding:20px 20px 22px}
.single-post .related-news-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  color:#8f8f8f;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.single-post .related-news-meta span{color:var(--gold);font-weight:800}
.single-post .related-news-card h3{
  margin:0 0 18px;
  font-size:20px;
  line-height:1.38;
  font-weight:700;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:82px;
}
.single-post .related-news-card h3 a{color:#fff;text-decoration:none}
.single-post .related-news-card h3 a:hover{color:var(--gold)}
.single-post .related-news-read{
  display:inline-flex;
  color:var(--gold);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.06em;
  text-decoration:none;
}
.single-post .related-news-read:hover{color:#fff}

@media(max-width:900px){
  .single-post .related-news-section{padding-bottom:68px}
  .single-post .related-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .single-post .related-news-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px)}
}
@media(max-width:620px){
  .single-post .related-news-section{padding:0 0 52px}
  .single-post .related-news-head{
    display:block;
    margin-bottom:20px;
    text-align:center;
  }
  .single-post .related-news-head>div{padding-top:24px}
  .single-post .related-news-head h2{font-size:38px;line-height:1.08}
  .single-post .related-news-all{margin-top:12px;min-height:36px}
  .single-post .related-news-grid{grid-template-columns:1fr;gap:16px}
  .single-post .related-news-card:last-child{grid-column:auto;max-width:none}
  .single-post .related-news-body{padding:18px 18px 20px}
  .single-post .related-news-card h3{font-size:19px;min-height:0;margin-bottom:15px}
}


/* ===== v3.5.41 — Desktop cross-topic discovery below news contact box ===== */
.single-post .desktop-cross-topic{
  display:block;
  margin-top:24px;
  padding:24px 20px 20px;
  border:1px solid rgba(216,167,91,.24);
  border-radius:16px;
  background:#151617;
}
.single-post .desktop-cross-topic-head{
  padding-bottom:17px;
  margin-bottom:16px;
  border-bottom:1px solid rgba(216,167,91,.16);
}
.single-post .desktop-cross-topic-head .eyebrow{
  display:block;
  margin-bottom:7px;
  color:var(--gold);
  font-size:10px;
  letter-spacing:.09em;
}
.single-post .desktop-cross-topic-head h3{
  margin:0 0 9px;
  color:#fff;
  font-family:"Cormorant Garamond",serif;
  font-size:29px;
  line-height:1.06;
  font-weight:600;
  text-wrap:balance;
}
.single-post .desktop-cross-topic-head p{
  margin:0;
  color:#9b9b9b;
  font-size:12.5px;
  line-height:1.6;
}
.single-post .desktop-cross-topic-list{
  display:grid;
  gap:15px;
}
.single-post .desktop-cross-topic-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:#101112;
  transition:border-color .2s ease,transform .2s ease;
}
.single-post .desktop-cross-topic-card:hover{
  transform:translateY(-2px);
  border-color:rgba(216,167,91,.38);
}
.single-post .desktop-cross-topic-thumb{
  display:block;
  position:relative;
  aspect-ratio:16/8.7;
  overflow:hidden;
  background:#1a1a1a;
}
.single-post .desktop-cross-topic-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.single-post .desktop-cross-topic-card:hover .desktop-cross-topic-thumb img{transform:scale(1.035)}
.single-post .desktop-cross-topic-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-family:"Cormorant Garamond",serif;
  font-size:38px;
  font-weight:700;
  line-height:.85;
}
.single-post .desktop-cross-topic-placeholder small{
  margin-top:8px;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:8px;
  letter-spacing:.3em;
}
.single-post .desktop-cross-topic-copy{padding:13px 14px 15px}
.single-post .desktop-cross-topic-copy time{
  display:block;
  margin-bottom:7px;
  color:#777;
  font-size:10px;
  letter-spacing:.04em;
}
.single-post .desktop-cross-topic-copy h4{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin:0 0 10px;
  min-height:59px;
  font-size:15px;
  line-height:1.32;
  font-weight:700;
}
.single-post .desktop-cross-topic-copy h4 a{color:#fff;text-decoration:none}
.single-post .desktop-cross-topic-copy h4 a:hover{color:var(--gold)}
.single-post .desktop-cross-topic-read{
  color:var(--gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-decoration:none;
}
.single-post .desktop-cross-topic-read:hover{color:#fff}

/* Requirement: preserve tablet/mobile appearance from v3.5.40. */
@media(max-width:900px){
  .single-post .desktop-cross-topic{display:none!important}
}

/* ===== v3.5.42 — Kitchen cabinet body/door description options ===== */
.tk-kitchen-cabinet-options{display:grid;gap:9px;padding:10px;border:1px solid rgba(216,167,91,.32);border-radius:9px;background:#111212}
.tk-kitchen-cabinet-options label{display:grid;gap:5px;margin:0}
.tk-kitchen-cabinet-options b{color:#d8a75e;font-size:9px;letter-spacing:.05em}
.tk-kitchen-cabinet-options select{width:100%;min-height:38px;background:#0d0e0e;color:#eee;border:1px solid #59472f;border-radius:6px;padding:7px 8px;font-size:10px;line-height:1.35;white-space:normal}
.tk-kitchen-desc-manual-btn{border:1px solid #5e4930;background:#17130f;color:#d7a35b;border-radius:6px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}
.tk-desc-print-only{white-space:pre-line}
@media(max-width:760px){.tk-kitchen-cabinet-options{padding:8px}.tk-kitchen-cabinet-options select{font-size:11px}}

/* v3.5.46 - category material selector: 5 controls + existing manual row */
.turnkey-room-picker-advanced{grid-template-columns:minmax(220px,1.45fr) minmax(135px,.8fr) minmax(110px,.65fr) minmax(105px,.6fr) auto!important}
#tk-material-brand-custom{grid-column:2/3;min-height:42px;width:100%;background:#fff;color:#111;border:1px solid #8c714b;border-radius:6px;padding:9px 11px;font-weight:700}
#tk-material-brand-custom.hidden{display:none!important}
@media screen and (max-width:1100px){.turnkey-room-picker-advanced{grid-template-columns:1fr 1fr!important}.turnkey-room-picker-advanced #tk-add-room{grid-column:auto}.tk-manual-category-box{grid-column:1/-1}}
@media screen and (max-width:700px){.turnkey-room-picker-advanced{grid-template-columns:1fr!important}#tk-material-brand-custom{grid-column:auto}}

/* v3.5.47 */
.tk-row-material-tools{display:flex;align-items:center;gap:7px;margin-top:7px;flex-wrap:wrap}.tk-row-material-btn{border:1px solid #c9ab69;background:#fffdf8;color:#6d5423;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.tk-row-material-btn:hover,.tk-row-material-btn.is-override{background:#191919;color:#fff;border-color:#191919}.tk-row-material-status{font-size:10px;line-height:1.25;color:#777}.tk-row-material-btn.is-override+.tk-row-material-status{color:#8a641d;font-weight:800}.tk-material-modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.58);display:flex;align-items:center;justify-content:center;padding:18px}.tk-material-modal.hidden{display:none!important}.tk-material-modal-card{width:min(680px,96vw);background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:22px}.tk-material-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #eee;padding-bottom:13px;margin-bottom:15px}.tk-material-modal-head small{font-size:10px;letter-spacing:.08em;color:#a27b32;font-weight:800}.tk-material-modal-head h3{margin:3px 0 0;font-size:20px}.tk-material-modal-x{border:0;background:#f3f3f3;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}.tk-material-default-line{display:flex;align-items:center;gap:9px;background:#f8f5ec;border:1px solid #e8dcc0;border-radius:9px;padding:11px 12px;font-weight:800;margin-bottom:14px}.tk-material-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tk-material-modal-grid label{font-size:11px;font-weight:800;color:#555}.tk-material-modal-grid select,.tk-material-modal-grid input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #d5d5d5;border-radius:7px;background:#fff}.tk-material-room-default{margin-top:13px;padding:10px 12px;background:#f7f7f7;border-radius:8px;font-size:12px;color:#555}.tk-material-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:17px}@media(max-width:640px){.tk-material-modal-grid{grid-template-columns:1fr}.tk-material-modal-card{padding:16px}.tk-row-material-status{width:100%}}@media print{.tk-row-material-tools,.tk-material-modal{display:none!important}}

/* v3.5.48 - vat lieu 3 tang: phong > san pham > thung/canh */
.tk-material-modal-card{max-height:92vh;overflow:auto}
.tk-part-toggle-line{margin-top:14px;background:#f4f7f9;border-color:#d9e2e8}
.tk-part-material-panel{margin-top:10px;border:1px solid #e3e3e3;border-radius:10px;background:#fafafa;padding:12px}
.tk-part-section{background:#fff;border:1px solid #ececec;border-radius:9px;padding:12px;margin-bottom:10px}
.tk-part-section:last-child{margin-bottom:0}.tk-part-section h4{margin:0 0 9px;font-size:12px;letter-spacing:.05em;color:#8a641d}
.tk-part-own-line{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;margin:3px 0 10px;color:#555}
.tk-part-material-panel .tk-material-modal-grid{margin-top:8px}.tk-row-material-status{max-width:230px}
@media(max-width:640px){.tk-material-modal{align-items:flex-start;padding:8px}.tk-material-modal-card{max-height:96vh}.tk-part-material-panel{padding:8px}}


/* ===== v3.5.49 Nghiệm thu -> Quyết toán ===== */
.tk-accept-status,.tk-accept-note{display:none;width:100%;box-sizing:border-box;font:inherit}
.d369-acceptance-mode .tk-price{display:none!important}
.d369-acceptance-mode .tk-total{font-size:0!important;color:transparent!important}
.d369-acceptance-mode .tk-accept-status,.d369-acceptance-mode .tk-accept-note{display:block!important}
.d369-acceptance-mode .tk-accept-status{min-width:118px;padding:9px 7px;border:1px solid #c9b087;background:#fff;font-weight:800}
.d369-acceptance-mode .tk-accept-note{display:block!important;min-width:150px;min-height:58px;padding:9px 10px;border:1px solid #cdb88f;border-radius:4px;resize:vertical;background:#fff;color:#222!important;font-size:13px!important;line-height:1.4!important;text-align:left!important;pointer-events:auto!important;user-select:text!important;cursor:text!important;white-space:pre-wrap;overflow-wrap:anywhere}
.d369-acceptance-mode .turnkey-summary-contract,.d369-acceptance-mode #turnkey-payment{display:none!important}
.d369-acceptance-mode .tk-room-head-tools>span{display:none!important}
.tk-workflow-bar{margin:18px 0;padding:14px 16px;border:1px solid #c49a61;background:#171717;color:#fff;display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-radius:6px}
.tk-workflow-progress{display:flex;align-items:baseline;gap:10px;min-width:210px}.tk-workflow-progress strong{font-size:28px;color:#d9a75f}.tk-workflow-progress span{font-size:12px;font-weight:800;letter-spacing:.04em}
.tk-workflow-bar small{width:100%;color:#d8d8d8;line-height:1.45}
.tk-settlement-print-note{margin-top:7px;max-width:840px;font-size:11px;line-height:1.45;font-weight:700;color:#765c36;letter-spacing:.015em}
.d369-settlement-mode .tk-accept-status,.d369-settlement-mode .tk-accept-note{display:none!important}
@media(max-width:760px){.tk-workflow-bar{align-items:stretch}.tk-workflow-bar .btn{width:100%}.tk-workflow-progress{width:100%}}
@media print{
  .tk-workflow-bar{display:none!important}
  .d369-acceptance-mode .tk-accept-status{display:block!important;border:0!important;background:transparent!important;padding:0!important;font-weight:800!important;appearance:none;-webkit-appearance:none}
  .d369-acceptance-mode .tk-accept-note{display:block!important;border:0!important;background:transparent!important;color:#111!important;font-size:10pt!important;line-height:1.35!important;padding:0!important;resize:none;overflow:visible!important;white-space:pre-wrap!important}
  .d369-acceptance-mode .turnkey-summary-contract,.d369-acceptance-mode #turnkey-payment{display:none!important}
  .tk-settlement-print-note{display:block!important;font-size:9pt!important;color:#333!important;max-width:none!important}
  .d369-acceptance-mode .tk-settlement-print-note{display:none!important}
}
.d369-settlement-mode #tk-doc-type{display:none!important}
.d369-settlement-mode #tk-doc-title-print{display:block!important;margin:0;font-size:clamp(22px,2.2vw,34px);line-height:1.1}


/* ===== v3.5.51 — Quyết toán luôn đồng bộ BBNT + in ghi chú + tiêu đề 1 hàng ===== */
.d369-settlement-mode .turnkey-doc-title-wrap{
  width:auto!important;
  max-width:none!important;
  flex-wrap:nowrap!important;
}
.d369-settlement-mode #tk-doc-title-print{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  font-size:clamp(22px,2vw,32px)!important;
  line-height:1!important;
}
.d369-settlement-mode #tk-settlement-print-note{
  display:block!important;
  clear:both;
  width:100%;
  max-width:920px;
  margin:8px 0 2px;
}
@media print{
  body.turnkey-printing .d369-settlement-mode #tk-doc-title-print,
  .d369-settlement-mode #tk-doc-title-print{
    display:block!important;
    white-space:nowrap!important;
    font-size:25px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
  }
  body.turnkey-printing .d369-settlement-mode #tk-settlement-print-note,
  .d369-settlement-mode #tk-settlement-print-note{
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    max-width:none!important;
    margin:7px 0 8px!important;
    color:#222!important;
    font-size:8.5pt!important;
    line-height:1.35!important;
    font-weight:700!important;
  }
}

/* ===== v3.5.52 — Gọn giao diện quyết toán + checkbox nghiệm thu khi in ===== */
.d369-settlement-mode #tk-plhd-recall{display:none!important}
.tk-accept-print{display:none;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font-size:10px;font-weight:800;color:#111}
.tk-check{display:inline-flex;width:13px;height:13px;border:1.4px solid #111;box-sizing:border-box;align-items:center;justify-content:center;vertical-align:middle}
.tk-check.is-checked::after{content:'✓';font-size:12px;font-weight:900;line-height:1;transform:translateY(-1px)}
@media print{
  .d369-acceptance-mode .turnkey-meta-row,
  .d369-settlement-mode .turnkey-meta-row{display:none!important}
  .d369-acceptance-mode .tk-accept-status{display:none!important}
  .d369-acceptance-mode .tk-accept-print{display:flex!important}
  .d369-acceptance-mode .tk-check{width:12px!important;height:12px!important;border:1.2px solid #111!important}
  .d369-acceptance-mode .tk-check.is-checked::after{font-size:11px!important}
  .d369-acceptance-mode .tk-accept-print b{font-size:8.5pt!important;letter-spacing:.01em}
}

/* v3.5.53 — BBNT: dòng chưa có tên sản phẩm chỉ là dòng chờ, khóa toàn bộ trường nghiệm thu */
.d369-acceptance-mode .tk-row.tk-accept-empty-locked td:not(.tk-product-cell){opacity:.42;background:#f7f7f7;}
.d369-acceptance-mode .tk-row.tk-accept-empty-locked td:not(.tk-product-cell) input,
.d369-acceptance-mode .tk-row.tk-accept-empty-locked td:not(.tk-product-cell) select,
.d369-acceptance-mode .tk-row.tk-accept-empty-locked td:not(.tk-product-cell) textarea{cursor:not-allowed;background:#f3f3f3;color:#999;}
.d369-acceptance-mode .tk-row.tk-accept-empty-locked .tk-row-material-btn,
.d369-acceptance-mode .tk-row.tk-accept-empty-locked .tk-kitchen-desc-manual-btn{opacity:.45;cursor:not-allowed;pointer-events:none;}
@media print{.d369-acceptance-mode .tk-row.tk-accept-empty-locked{display:none!important;}}

/* v3.5.54 - Professional print: remove blank product rows/rooms completely */
@media print{
  .turnkey-printing .tk-row.d369-print-empty-row{display:none!important;height:0!important;min-height:0!important;border:0!important;margin:0!important;padding:0!important;}
  .turnkey-printing .tk-room.d369-print-empty-room{display:none!important;height:0!important;min-height:0!important;border:0!important;margin:0!important;padding:0!important;}
}


/* ===== v3.5.55 — Loại ghi chú chuyển kích thước khỏi bản in Quyết toán ===== */
@media print{
  body.turnkey-printing .d369-settlement-mode #tk-settlement-print-note,
  .d369-settlement-mode #tk-settlement-print-note{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
}

/* ===== v3.5.56 — Mobile BBNT: PLHĐ/HĐKT recall block full-width and readable ===== */
@media (max-width:760px){
  .d369-acceptance-mode #tk-plhd-recall:not(.tk-staff-quote-editor){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    margin:14px 0 20px!important;
    box-sizing:border-box!important;
  }
  .d369-acceptance-mode #tk-plhd-recall:not(.tk-staff-quote-editor) .tk-staff-editor-copy{
    width:100%!important;
    min-width:0!important;
    gap:4px!important;
  }
  .d369-acceptance-mode #tk-plhd-recall:not(.tk-staff-quote-editor) .tk-staff-editor-copy span,
  .d369-acceptance-mode #tk-plhd-recall:not(.tk-staff-quote-editor) .tk-staff-editor-copy strong{
    color:#d9a75f!important;
  }
  .d369-acceptance-mode #tk-plhd-recall:not(.tk-staff-quote-editor) .tk-staff-editor-copy small{
    color:#a98961!important;
  }
  .d369-acceptance-mode #tk-plhd-recall:not(.tk-staff-quote-editor) .tk-staff-editor-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  .d369-acceptance-mode #tk-plhd-input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:54px!important;
    box-sizing:border-box!important;
    padding:0 14px!important;
    font-size:16px!important;
    line-height:54px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .d369-acceptance-mode #tk-load-quote{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px 14px!important;
    font-size:14px!important;
    line-height:1.25!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .d369-acceptance-mode #tk-recall-status{
    width:100%!important;
    max-width:100%!important;
    margin-top:2px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }
}


/* ===== v3.5.57 — BBNT: kết quả chỉ dấu tích, nới cột ghi chú, tăng độ đọc ===== */
.d369-acceptance-mode .tk-room td:nth-child(9){text-align:center!important;vertical-align:middle!important}
.d369-acceptance-mode .tk-room td:nth-child(10){text-align:left!important;vertical-align:top!important}
.d369-acceptance-mode .tk-accept-note{
  width:100%!important;min-width:0!important;min-height:64px!important;
  padding:10px 11px!important;border:1.5px solid #b58a4c!important;border-radius:5px!important;
  background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;
  font-size:13px!important;line-height:1.45!important;text-align:left!important;
  caret-color:#111!important;box-shadow:none!important;
}
.d369-acceptance-mode .tk-accept-note::placeholder{color:#777!important;opacity:1!important;-webkit-text-fill-color:#777!important}
.d369-acceptance-mode .tk-accept-status{
  background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;
  border:1.5px solid #b58a4c!important;border-radius:5px!important;
}
.tk-accept-head{display:grid;grid-template-columns:1fr 1fr;align-items:center;width:100%;gap:0;font-weight:800;line-height:1.1}
.tk-accept-head span{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0}
.tk-accept-head span+span{border-left:1px solid rgba(255,255,255,.45)}
.tk-accept-print{width:100%;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;gap:0!important}
.tk-accept-print-half{display:flex;align-items:center;justify-content:center;width:100%;min-height:22px}
.tk-accept-print-half+.tk-accept-print-half{border-left:1px solid #bbb}

@media print{
  /* BBNT: thu cột kết quả, nhường diện tích cho ghi chú */
  .d369-acceptance-mode .tk-room th:nth-child(9),
  .d369-acceptance-mode .tk-room td:nth-child(9){width:7%!important;text-align:center!important;padding-left:1px!important;padding-right:1px!important}
  .d369-acceptance-mode .tk-room th:nth-child(10),
  .d369-acceptance-mode .tk-room td:nth-child(10){width:16%!important;text-align:left!important;padding-left:4px!important;padding-right:4px!important}
  .d369-acceptance-mode .tk-accept-head{display:grid!important;grid-template-columns:1fr 1fr!important;font-size:7pt!important;line-height:1!important}
  .d369-acceptance-mode .tk-accept-head span{padding:0 1px!important;white-space:normal!important}
  .d369-acceptance-mode .tk-accept-print{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;min-height:18px!important}
  .d369-acceptance-mode .tk-accept-print-half{min-height:18px!important}
  .d369-acceptance-mode .tk-accept-print-half+.tk-accept-print-half{border-left:1px solid #999!important}
  .d369-acceptance-mode .tk-check{width:11px!important;height:11px!important;border:1.2px solid #111!important}
  .d369-acceptance-mode .tk-check.is-checked::after{font-size:10px!important}
  .d369-acceptance-mode .tk-accept-note{
    display:block!important;width:100%!important;min-width:0!important;min-height:0!important;
    margin:0!important;padding:1px 2px!important;border:0!important;border-radius:0!important;
    background:transparent!important;color:#111!important;-webkit-text-fill-color:#111!important;
    font-size:8pt!important;line-height:1.25!important;text-align:left!important;
    white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important;
  }
}

/* ===== v3.5.58 — Bảng quyết toán: chuẩn hóa cột in A4, không chồng tiêu đề ===== */
@media print{
  body.turnkey-printing .d369-settlement-mode .tk-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  body.turnkey-printing .d369-settlement-mode .tk-room table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
  }
  body.turnkey-printing .d369-settlement-mode .tk-room th{
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    text-align:center!important;
    vertical-align:middle!important;
    font-size:7.2pt!important;
    line-height:1.08!important;
    padding:4px 1px!important;
  }
  body.turnkey-printing .d369-settlement-mode .tk-room td{
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    box-sizing:border-box!important;
  }
  /* Tổng đúng 100%: STT 3.5 + Tên 18 + Mô tả 27 + 3 kích thước 5.5x3 + ĐVT 5.5 + KL 7 + Đơn giá 10 + Thành tiền 12.5 */
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(1),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(1){width:3.5%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(2),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(2){width:18%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(3),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(3){width:27%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(4),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(4),
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(5),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(5),
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(6),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(6){width:5.5%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(7),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(7){width:5.5%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(8),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(8){width:7%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(9),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(9){width:10%!important}
  body.turnkey-printing .d369-settlement-mode .tk-room th:nth-child(10),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(10){width:12.5%!important}

  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(4),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(5),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(6),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(7),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(8){text-align:center!important}
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(9),
  body.turnkey-printing .d369-settlement-mode .tk-room td:nth-child(10){
    text-align:right!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums!important;
    padding-left:2px!important;
    padding-right:3px!important;
  }
  body.turnkey-printing .d369-settlement-mode .tk-room-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  body.turnkey-printing .d369-settlement-mode .tk-room-head h3{flex:1 1 auto!important;min-width:0!important}
  body.turnkey-printing .d369-settlement-mode .tk-room-head>div{
    flex:0 0 auto!important;
    max-width:45%!important;
    white-space:nowrap!important;
    text-align:right!important;
    font-size:8pt!important;
  }
}

/* ===== v3.5.60 — Khách hàng: giữ nguyên bảng báo giá, chỉ khóa lựa chọn BBNT ===== */
.tk-doc-title-fixed{
  display:flex;
  align-items:center;
  min-height:56px;
  width:100%;
  padding:10px 16px;
  border:1px solid rgba(184,149,93,.78);
  border-radius:5px;
  color:#f5f5f5;
  background:#111;
  font:inherit;
  font-weight:800;
  letter-spacing:.01em;
  box-sizing:border-box;
}
@media (max-width:767px){
  .tk-doc-title-fixed{min-height:54px;padding:9px 14px;font-size:clamp(20px,5.8vw,29px);line-height:1.14;}
}


/* ===== v3.5.62 — Staff PLHĐ dossier recall / update ===== */
.tk-plhd-recall.tk-staff-quote-editor{
  display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:10px;
  width:min(760px,100%);margin:14px 0 2px;align-items:stretch;
}
.tk-plhd-recall.tk-staff-quote-editor input{
  width:100%;min-width:0;min-height:44px;box-sizing:border-box;
  background:#0c0d0d;border:1px solid #9a6a2b;color:#fff;padding:10px 14px;
  border-radius:5px;font-weight:800;letter-spacing:.02em;
}
.tk-plhd-recall.tk-staff-quote-editor .btn{min-height:44px;padding:10px 16px;font-weight:800;white-space:nowrap;}
.tk-plhd-recall.tk-staff-quote-editor.hidden{display:none!important;}
.tk-recall-status{max-width:760px;margin-top:8px;color:#c99650;font-size:12px;font-weight:600;line-height:1.45;}
@media(max-width:760px){
  .tk-plhd-recall.tk-staff-quote-editor{grid-template-columns:1fr;width:100%;margin:12px 0 4px;}
  .tk-plhd-recall.tk-staff-quote-editor input,.tk-plhd-recall.tk-staff-quote-editor .btn{width:100%;min-height:52px;}
}
@media print{.tk-plhd-recall.tk-staff-quote-editor{display:none!important;}}


/* ===== v3.5.64: in Hợp đồng + PLHĐ trong cùng một lượt ===== */
@media print{
  body.d369-contract-printing #tk-contract-document{page:d369ContractPage!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix{display:block!important;position:relative!important;left:auto!important;top:auto!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;break-before:page!important;page-break-before:always!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix.d369-plhd-page-landscape{page:d369PlhdLandscapePage!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix.d369-plhd-page-portrait{page:d369PlhdPortraitPage!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix #turnkey-quote{display:block!important;position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;color:#111!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-print-brand{display:flex!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-doc-title{display:none!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix #tk-doc-title-print{display:block!important;color:#111!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .tk-row.d369-print-empty-row,
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .tk-room.d369-print-empty-room{display:none!important;}
}
@page d369ContractPage{size:A4 portrait;margin:7mm;}
@page d369PlhdPage{size:A4 landscape;margin:7mm;}
@page d369PlhdLandscapePage{size:A4 landscape;margin:6mm;}
@page d369PlhdPortraitPage{size:A4 portrait;margin:7mm;}


/* ===== v3.5.65: tách bản in HĐKT / PLHĐ + giữ cụm ký không bị rơi trang ===== */
@page d369ContractPage{size:A4 portrait;margin:7mm;}
@media print{
  body.d369-contract-printing #tk-contract-document{page:d369ContractPage!important;}
  body.d369-contract-printing .tk-contract-signature-anchor{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.d369-contract-printing .tk-contract-signature-anchor>p{
    orphans:3!important;
    widows:3!important;
  }
  body.d369-contract-printing .tk-contract-signatures{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    margin-top:22px!important;
  }
}


/* ===== v3.5.66: HĐKT dọc + PLHĐ ngắt trang và tự theo khổ đã chọn ===== */
@page d369ContractPage{size:A4 portrait;margin:7mm;}
@page d369PlhdLandscapePage{size:A4 landscape;margin:6mm;}
@page d369PlhdPortraitPage{size:A4 portrait;margin:7mm;}
@media print{
  body.d369-contract-printing #tk-contract-document{page:d369ContractPage!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix{break-before:page!important;page-break-before:always!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix.d369-plhd-page-landscape{page:d369PlhdLandscapePage!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix.d369-plhd-page-portrait{page:d369PlhdPortraitPage!important;}
}


/* ===== v3.5.67: PLHĐ đã chốt đi kèm HĐKT không còn dòng hiệu lực báo giá ===== */
@media print{
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-meta-row{display:none!important;}
}


/* ===== v3.5.70: mixed-orientation print thật sự — HĐKT dọc, PLHĐ theo khổ báo giá ===== */
@page d369ContractPage{size:A4 portrait;margin:7mm;}
@page d369PlhdLandscapePage{size:A4 landscape;margin:6mm;}
@page d369PlhdPortraitPage{size:A4 portrait;margin:7mm;}
@media print{
  /* Hai tài liệu được JS mount trực tiếp vào body để browser không kế thừa page dọc của HĐKT sang PLHĐ. */
  body.d369-contract-printing{margin:0!important;padding:0!important;background:#fff!important;}
  body.d369-contract-printing>*:not(#tk-contract-panel):not(#quote-panel-turnkey){display:none!important;}
  body.d369-contract-printing #tk-contract-panel,
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix{visibility:visible!important;display:block!important;position:static!important;inset:auto!important;float:none!important;transform:none!important;}
  body.d369-contract-printing #tk-contract-panel *,
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix *{visibility:visible!important;}

  body.d369-contract-printing #tk-contract-panel{width:100%!important;margin:0!important;padding:0!important;background:#fff!important;page:d369ContractPage!important;}
  body.d369-contract-printing #tk-contract-document{page:d369ContractPage!important;max-width:none!important;width:auto!important;}

  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix{
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;
    break-before:page!important;page-break-before:always!important;
  }
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix.d369-plhd-page-landscape{page:d369PlhdLandscapePage!important;}
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix.d369-plhd-page-portrait{page:d369PlhdPortraitPage!important;}

  /* Khi PLHĐ là A4 ngang, ép chính layout nội dung dùng toàn bộ chiều ngang 297mm thay vì giữ tỷ lệ dọc. */
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix #turnkey-quote{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;
  }
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .container,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .tk-room,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix table{
    width:100%!important;max-width:none!important;
  }
}


/* ===== v3.5.71: FIX Chrome mixed portrait/landscape trong cùng một lượt in ===== */
/* Dùng kích thước vật lý thay cho từ khóa A4 landscape để tránh PLHĐ bị giữ 210x297 theo trang HĐKT đầu tiên. */
@page d369ContractPage{size:210mm 297mm;margin:7mm;}
@page d369PlhdLandscapePage{size:297mm 210mm;margin:6mm;}
@page d369PlhdPortraitPage{size:210mm 297mm;margin:7mm;}
@media print{
  body.d369-contract-printing #tk-contract-panel,
  body.d369-contract-printing #tk-contract-document{page:d369ContractPage!important;}

  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix #turnkey-quote{
    page:d369PlhdLandscapePage!important;
    width:285mm!important;
    max-width:285mm!important;
    min-width:285mm!important;
    box-sizing:border-box!important;
  }
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix{
    margin:0!important;padding:0!important;
  }
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-print-brand,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-head,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-customer-grid,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-summary,
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .tk-room{
    max-width:none!important;
  }
  body.d369-contract-printing.d369-contract-plhd-landscape #quote-panel-turnkey.d369-contract-plhd-appendix .tk-room table{
    width:100%!important;min-width:0!important;table-layout:fixed!important;
  }

  body.d369-contract-printing.d369-contract-plhd-portrait #quote-panel-turnkey.d369-contract-plhd-appendix,
  body.d369-contract-printing.d369-contract-plhd-portrait #quote-panel-turnkey.d369-contract-plhd-appendix #turnkey-quote{
    page:d369PlhdPortraitPage!important;
    width:196mm!important;
    max-width:196mm!important;
    min-width:0!important;
  }
}


/* ===== v3.5.72: PLHD appended after contract - prevent artificial blank half-page ===== */
@media print{
  /* The old portrait rule forced payment/summary to start on a new page. In the
     HĐKT + PLHĐ mixed print job this created a large blank area after the final
     room table. Let the browser paginate naturally instead. */
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-payment{
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    margin-top:8px!important;
  }
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-notes{
    break-before:auto!important;
    page-break-before:auto!important;
  }
  /* Keep each logical block intact only when possible; do not reserve an entire
     page for payment + notes + signatures. */
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-payment,
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-notes,
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .turnkey-signatures{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  body.d369-contract-printing #quote-panel-turnkey.d369-contract-plhd-appendix .tk-room{
    break-after:auto!important;
    page-break-after:auto!important;
  }
}


/* ===== v3.5.74: tách 2 nút in HĐKT và PLHĐ ===== */
.tk-contract-print-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:225px;}
.tk-contract-print-actions .btn{width:100%;white-space:nowrap;}
@media(max-width:820px){.tk-contract-toolbar{flex-wrap:wrap}.tk-contract-print-actions{width:100%;min-width:0;}}
@media print{
  .tk-contract-print-actions{display:none!important;}
  /* HĐKT luôn là A4 dọc khi dùng nút IN/LƯU PDF HỢP ĐỒNG. */
  body.d369-contract-printing #tk-contract-panel,body.d369-contract-printing #tk-contract-document{page:d369ContractOnlyPage!important;}
}
@page d369ContractOnlyPage{size:210mm 297mm;margin:7mm;}


/* ===== v3.5.75: FIX HĐKT trang trắng + PLHĐ dư trang trắng ===== */
@page d369ContractOnlyPage{size:210mm 297mm;margin:7mm;}
@media print{
  /* HĐKT được JS mount trực tiếp vào body. Chỉ tài liệu hợp đồng được phép tham gia layout in. */
  body.d369-contract-printing{margin:0!important;padding:0!important;background:#fff!important;}
  body.d369-contract-printing> *:not(#tk-contract-panel){display:none!important;}
  body.d369-contract-printing>#tk-contract-panel{
    display:block!important;visibility:visible!important;position:static!important;inset:auto!important;
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;
    page:d369ContractOnlyPage!important;
  }
  body.d369-contract-printing>#tk-contract-panel *{visibility:visible!important;}
  body.d369-contract-printing>#tk-contract-panel #tk-contract-document{
    display:block!important;position:static!important;width:auto!important;max-width:none!important;
    margin:0!important;box-shadow:none!important;page:d369ContractOnlyPage!important;
  }

  /* PLHĐ được JS mount trực tiếp vào body. Mọi wrapper/section khác bị loại khỏi layout,
     nhờ đó Chrome không còn tạo các trang trắng ở cuối do phần tử vô hình vẫn chiếm chiều cao. */
  body.d369-plhd-only-printing{margin:0!important;padding:0!important;background:#fff!important;}
  body.d369-plhd-only-printing> *:not(#quote-panel-turnkey){display:none!important;}
  body.d369-plhd-only-printing>#quote-panel-turnkey{
    display:block!important;visibility:visible!important;position:static!important;inset:auto!important;
    width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;
  }
  body.d369-plhd-only-printing>#quote-panel-turnkey *,
  body.d369-plhd-only-printing>#quote-panel-turnkey #turnkey-quote{visibility:visible!important;}
  body.d369-plhd-only-printing>#quote-panel-turnkey #turnkey-quote{
    display:block!important;position:static!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;overflow:visible!important;
  }
  /* Không ép khối thanh toán sang trang mới ở bản PLHĐ riêng. Chỉ phân trang khi nội dung thật sự hết chỗ. */
  body.d369-plhd-only-printing.turnkey-orientation-portrait .turnkey-payment,
  body.d369-plhd-only-printing .turnkey-payment,
  body.d369-plhd-only-printing .turnkey-notes,
  body.d369-plhd-only-printing .turnkey-signatures,
  body.d369-plhd-only-printing .turnkey-slogan{
    break-before:auto!important;page-break-before:auto!important;
    break-after:auto!important;page-break-after:auto!important;
  }
  body.d369-plhd-only-printing .tk-room{break-after:auto!important;page-break-after:auto!important;}
  body.d369-plhd-only-printing .tk-room.d369-print-empty-room,
  body.d369-plhd-only-printing .tk-row.d369-print-empty-row,
  body.d369-plhd-only-printing .tk-empty-room{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;}
}


/* ===== v3.5.76: FIX trang trắng đầu tiên khi in HĐKT ===== */
@media print{
  /* Chỉ tài liệu #tk-contract-document (được JS mount trực tiếp vào body) tham gia layout.
     Không dùng named-page cho cả parent + child vì Chrome có thể tạo một trang chuyển tiếp rỗng. */
  body.d369-contract-printing{margin:0!important;padding:0!important;background:#fff!important;}
  body.d369-contract-printing> *:not(#tk-contract-document){display:none!important;}
  body.d369-contract-printing>#tk-contract-document{
    display:block!important;visibility:visible!important;position:static!important;inset:auto!important;
    float:none!important;transform:none!important;
    width:auto!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;
    page:auto!important;break-before:auto!important;page-break-before:auto!important;
    break-after:auto!important;page-break-after:auto!important;
  }
  body.d369-contract-printing>#tk-contract-document *{visibility:visible!important;}
  body.d369-contract-printing>#tk-contract-document .no-print{display:none!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-heading{
    break-before:auto!important;page-break-before:auto!important;margin-top:0!important;padding-top:0!important;
  }
}


/* ===== v3.5.78: PRINT HARDENING - HĐKT riêng + PLHĐ đã chốt không hiện hiệu lực ===== */
@page d369ContractIsolatedPage{size:210mm 297mm;margin:8mm 10mm;}
@media print{
  /* Khi in PLHĐ từ màn hình HĐKT, đây là PLHĐ đã chốt nên không còn hạn báo giá. */
  body.d369-finalized-plhd-printing .turnkey-quote-validity{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;}

  /* Fallback nếu trình duyệt phải dùng print của trang chính. */
  body.d369-contract-printing{margin:0!important;padding:0!important;background:#fff!important;}
  body.d369-contract-printing > *:not(#tk-contract-document){display:none!important;}
  body.d369-contract-printing > #tk-contract-document{
    display:block!important;visibility:visible!important;position:static!important;float:none!important;
    width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;
    page:d369ContractIsolatedPage!important;break-before:auto!important;page-break-before:auto!important;
  }
  body.d369-contract-printing > #tk-contract-document *{visibility:visible!important;}
  body.d369-contract-printing > #tk-contract-document .no-print{display:none!important;}
}

/* ===== v3.5.81: PROFESSIONAL PRINT LAYOUT — HĐKT + PLHĐ ===== */
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}

  /* PLHĐ: một hệ lề thống nhất, thay đổi theo hướng giấy nhưng luôn có khoảng thở. */
  body.d369-plhd-only-printing>#quote-panel-turnkey,
  body.d369-plhd-only-printing>#quote-panel-turnkey #turnkey-quote{
    box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  }
  body.d369-plhd-only-printing .turnkey-print-brand{
    align-items:center!important;gap:6mm!important;padding:0 0 3mm!important;margin:0 0 3mm!important;border-bottom:0.25mm solid #777!important;
  }
  body.d369-plhd-only-printing .turnkey-logo{width:34mm!important;min-width:34mm!important;height:20mm!important;}
  body.d369-plhd-only-printing .turnkey-logo-img{width:34mm!important;height:20mm!important;max-width:34mm!important;max-height:20mm!important;object-fit:contain!important;}
  body.d369-plhd-only-printing .turnkey-company-info{font-size:8pt!important;line-height:1.35!important;gap:.8mm!important;}
  body.d369-plhd-only-printing .turnkey-company-info strong{font-size:9pt!important;line-height:1.25!important;}
  body.d369-plhd-only-printing .turnkey-head{margin:0 0 3mm!important;gap:2mm!important;}
  body.d369-plhd-only-printing .turnkey-head h2,
  body.d369-plhd-only-printing .turnkey-doc-title-wrap h2{font-size:17pt!important;line-height:1.15!important;margin:0 0 1.5mm!important;letter-spacing:.01em!important;}
  body.d369-plhd-only-printing .turnkey-plhd-inline{margin-top:1mm!important;gap:2mm!important;}
  body.d369-plhd-only-printing .turnkey-plhd-inline span{font-size:8.5pt!important;}
  body.d369-plhd-only-printing .turnkey-plhd-inline strong{font-size:11pt!important;}

  body.d369-plhd-only-printing .turnkey-customer-grid{
    padding:2.2mm!important;gap:1.5mm 2mm!important;margin:0 0 2.5mm!important;border:.25mm solid #999!important;box-sizing:border-box!important;
  }
  body.d369-plhd-only-printing .turnkey-customer-grid label{font-size:7.5pt!important;line-height:1.2!important;}
  body.d369-plhd-only-printing .turnkey-customer-grid input{font-size:9pt!important;line-height:1.3!important;padding:1mm 1.2mm!important;}
  body.d369-plhd-only-printing .turnkey-meta-row{padding:1.5mm 2mm!important;margin:0 0 2.5mm!important;}
  body.d369-plhd-only-printing .turnkey-summary-contract{margin:2mm 0 3mm auto!important;}

  /* Bảng: đều lề, header không tách khỏi dòng đầu, mỗi dòng không bị xé đôi. */
  body.d369-plhd-only-printing .tk-room{margin:0 0 3mm!important;border:.25mm solid #888!important;break-inside:auto!important;page-break-inside:auto!important;}
  body.d369-plhd-only-printing .tk-room-head{padding:2mm 2.5mm!important;break-after:avoid!important;page-break-after:avoid!important;}
  body.d369-plhd-only-printing .tk-room-head h3{font-size:9pt!important;line-height:1.2!important;}
  body.d369-plhd-only-printing .tk-room-head div{font-size:8pt!important;line-height:1.2!important;}
  body.d369-plhd-only-printing .tk-room table{border-collapse:collapse!important;width:100%!important;table-layout:fixed!important;}
  body.d369-plhd-only-printing .tk-room thead{display:table-header-group!important;}
  body.d369-plhd-only-printing .tk-room tr{break-inside:avoid!important;page-break-inside:avoid!important;}
  body.d369-plhd-only-printing .tk-room th{font-size:7.8pt!important;line-height:1.18!important;padding:1.6mm 1mm!important;vertical-align:middle!important;}
  body.d369-plhd-only-printing .tk-room td,
  body.d369-plhd-only-printing .tk-room input,
  body.d369-plhd-only-printing .tk-room select,
  body.d369-plhd-only-printing .tk-room textarea,
  body.d369-plhd-only-printing .tk-product-final{font-size:8.4pt!important;line-height:1.32!important;}
  body.d369-plhd-only-printing .tk-room td{padding:1.6mm 1.2mm!important;vertical-align:top!important;}
  body.d369-plhd-only-printing .tk-room td:nth-child(1),
  body.d369-plhd-only-printing .tk-room td:nth-child(4),
  body.d369-plhd-only-printing .tk-room td:nth-child(5),
  body.d369-plhd-only-printing .tk-room td:nth-child(6),
  body.d369-plhd-only-printing .tk-room td:nth-child(7),
  body.d369-plhd-only-printing .tk-room td:nth-child(8){vertical-align:middle!important;}

  /* Thanh toán được phép phân trang theo từng hàng để không tạo khoảng trắng lớn. */
  body.d369-plhd-only-printing .turnkey-payment{margin-top:3mm!important;break-inside:auto!important;page-break-inside:auto!important;border:.25mm solid #999!important;}
  body.d369-plhd-only-printing .turnkey-payment h3,
  body.d369-plhd-only-printing .turnkey-notes h3{padding:2mm 2.5mm!important;font-size:8.5pt!important;line-height:1.2!important;break-after:avoid!important;}
  body.d369-plhd-only-printing .tk-payment-row{padding:2mm 2.5mm!important;gap:2mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  body.d369-plhd-only-printing .tk-payment-row span,
  body.d369-plhd-only-printing .tk-payment-row strong,
  body.d369-plhd-only-printing .tk-payment-row select,
  body.d369-plhd-only-printing .tk-payment-row input{font-size:8.5pt!important;line-height:1.25!important;}
  body.d369-plhd-only-printing .turnkey-notes{margin-top:3mm!important;break-inside:auto!important;page-break-inside:auto!important;}
  body.d369-plhd-only-printing .turnkey-notes p{font-size:8.5pt!important;line-height:1.4!important;margin:1.8mm 2.5mm!important;text-align:justify!important;}
  body.d369-plhd-only-printing .turnkey-signatures{margin:4mm 0 0!important;padding:4mm 12mm 0!important;gap:18mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  body.d369-plhd-only-printing .tk-sign-party{min-height:34mm!important;}
  body.d369-plhd-only-printing .tk-sign-space{height:19mm!important;}
  body.d369-plhd-only-printing .turnkey-slogan{margin-top:3mm!important;padding:2mm 0 0!important;}

  /* Landscape tận dụng bề ngang; portrait gọn hơn nhưng không ép thanh toán sang trang mới. */
  body.d369-plhd-only-printing.turnkey-orientation-landscape .tk-room th{font-size:8.1pt!important;}
  body.d369-plhd-only-printing.turnkey-orientation-landscape .tk-room td,
  body.d369-plhd-only-printing.turnkey-orientation-landscape .tk-room input,
  body.d369-plhd-only-printing.turnkey-orientation-landscape .tk-room textarea,
  body.d369-plhd-only-printing.turnkey-orientation-landscape .tk-product-final{font-size:8.7pt!important;}
  body.d369-plhd-only-printing.turnkey-orientation-portrait .turnkey-payment{break-before:auto!important;page-break-before:auto!important;}
  body.d369-plhd-only-printing.turnkey-orientation-portrait .turnkey-signatures{padding-left:7mm!important;padding-right:7mm!important;gap:10mm!important;}

  /* Fallback HĐKT nếu trình duyệt không dùng iframe độc lập. */
  body.d369-contract-printing>#tk-contract-document{
    box-sizing:border-box!important;font-family:"Times New Roman",serif!important;font-size:10.7pt!important;line-height:1.48!important;orphans:3!important;widows:3!important;
  }
  body.d369-contract-printing>#tk-contract-document .tk-contract-heading{margin:0 0 5mm!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-heading h1{font-size:17pt!important;line-height:1.22!important;margin:4mm 0 2mm!important;}
  body.d369-contract-printing>#tk-contract-document p{text-align:justify!important;text-justify:inter-word!important;margin:0 0 2.1mm!important;}
  body.d369-contract-printing>#tk-contract-document h2{font-size:11.5pt!important;line-height:1.28!important;margin:5mm 0 2.2mm!important;break-after:avoid!important;page-break-after:avoid!important;}
  body.d369-contract-printing>#tk-contract-document li{margin-bottom:1.3mm!important;text-align:justify!important;line-height:1.42!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-signatures{margin-top:7mm!important;gap:18mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
}


/* ===== v3.5.84: PRINT QA HARDENING — MOBILE + PC ===== */
/* Khổ/lề pháp lý HĐKT: Trái 25mm, phải 18mm, trên/dưới 20mm.
   PLHĐ: landscape 12mm hai bên / 10mm trên dưới; portrait 15mm hai bên / 12mm trên dưới.
   Generic @page của JS là nguồn chính khi in PLHĐ; named pages dưới đây là fallback. */
@page d369ContractProfessional{size:210mm 297mm;margin:20mm 18mm 20mm 25mm;}
@page d369PlhdLandscapeProfessional{size:297mm 210mm;margin:10mm 12mm;}
@page d369PlhdPortraitProfessional{size:210mm 297mm;margin:12mm 15mm;}
@media print{
  body.d369-contract-printing>#tk-contract-document{page:d369ContractProfessional!important;}
  body.d369-plhd-only-printing.turnkey-orientation-landscape>#quote-panel-turnkey,
  body.d369-plhd-only-printing.turnkey-orientation-landscape>#quote-panel-turnkey #turnkey-quote{page:d369PlhdLandscapeProfessional!important;}
  body.d369-plhd-only-printing.turnkey-orientation-portrait>#quote-panel-turnkey,
  body.d369-plhd-only-printing.turnkey-orientation-portrait>#quote-panel-turnkey #turnkey-quote{page:d369PlhdPortraitProfessional!important;}

  /* Không để responsive mobile thay đổi cấu trúc bản in. */
  body.d369-plhd-only-printing #turnkey-quote{width:100%!important;max-width:none!important;min-width:0!important;transform:none!important;zoom:1!important;}
  body.d369-plhd-only-printing .turnkey-customer-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.d369-plhd-only-printing .tk-room table{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;}
  body.d369-plhd-only-printing .tk-room th,body.d369-plhd-only-printing .tk-room td{overflow-wrap:anywhere!important;word-break:normal!important;}
  body.d369-plhd-only-printing .turnkey-signatures{display:grid!important;grid-template-columns:1fr 1fr!important;}

  /* PLHĐ đã chốt tuyệt đối không còn dòng hiệu lực báo giá. */
  body.d369-finalized-plhd-printing .turnkey-quote-validity,
  body.d369-finalized-plhd-printing [data-print-validity],
  body.d369-finalized-plhd-printing #tk-validity{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;}
}

/* ===== v3.5.85 PRINT HARDENING — MOBILE/PC: KHÔNG TẠO TRANG TRẮNG ===== */
@media print{
  body.turnkey-printing,
  body.d369-plhd-only-printing{height:auto!important;min-height:0!important;margin:0!important;background:#fff!important;}
  body.turnkey-printing #quote-panel-turnkey,
  body.turnkey-printing #turnkey-quote,
  body.d369-plhd-only-printing #quote-panel-turnkey,
  body.d369-plhd-only-printing #turnkey-quote{
    height:auto!important;min-height:0!important;max-height:none!important;
    margin-top:0!important;margin-bottom:0!important;padding-bottom:0!important;
    break-before:auto!important;page-break-before:auto!important;
    break-after:auto!important;page-break-after:auto!important;
  }
  body.turnkey-printing .no-print,
  body.turnkey-printing .hidden,
  body.turnkey-printing .d369-print-empty-room,
  body.turnkey-printing .d369-print-empty-row,
  body.d369-plhd-only-printing .no-print,
  body.d369-plhd-only-printing .hidden,
  body.d369-plhd-only-printing .d369-print-empty-room,
  body.d369-plhd-only-printing .d369-print-empty-row{
    display:none!important;height:0!important;min-height:0!important;max-height:0!important;
    margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
  }
  body.turnkey-printing .tk-room,
  body.turnkey-printing .turnkey-payment,
  body.turnkey-printing .turnkey-notes,
  body.turnkey-printing .turnkey-signatures,
  body.d369-plhd-only-printing .tk-room,
  body.d369-plhd-only-printing .turnkey-payment,
  body.d369-plhd-only-printing .turnkey-notes,
  body.d369-plhd-only-printing .turnkey-signatures{
    break-before:auto!important;page-break-before:auto!important;
    break-after:auto!important;page-break-after:auto!important;
  }
  body.turnkey-printing .tk-room tr,
  body.turnkey-printing .turnkey-payment tr,
  body.d369-plhd-only-printing .tk-room tr,
  body.d369-plhd-only-printing .turnkey-payment tr{
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body.turnkey-printing #turnkey-quote > :last-child,
  body.d369-plhd-only-printing #turnkey-quote > :last-child{
    margin-bottom:0!important;padding-bottom:0!important;
    break-after:auto!important;page-break-after:auto!important;
  }
}

/* ===== v3.5.86 — ONLY REQUESTED POLISH ===== */
@media print{
  /* PLHĐ: khôi phục cách bố trí khối ngày tháng của v3.5.54 ở mọi lệnh in. */
  body.turnkey-printing .turnkey-common-fields,
  body.d369-plhd-only-printing .turnkey-common-fields{
    display:grid!important;
    grid-template-columns:2fr 1.4fr!important;
    gap:6px!important;
    margin-top:2mm!important;
  }
  body.turnkey-printing .turnkey-common-date-stack,
  body.d369-plhd-only-printing .turnkey-common-date-stack{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    width:100%!important;
  }
  body.turnkey-printing .turnkey-common-date-stack label,
  body.d369-plhd-only-printing .turnkey-common-date-stack label{display:block!important;font-size:9px!important;}
  body.turnkey-printing .turnkey-common-date-stack input,
  body.d369-plhd-only-printing .turnkey-common-date-stack input{font-size:10px!important;min-height:0!important;padding:3px!important;}

  /* HĐKT fallback giữ nhịp 5 trang như tài liệu in độc lập. */
  body.d369-contract-printing>#tk-contract-document{font-size:10.15pt!important;line-height:1.34!important;}
  body.d369-contract-printing>#tk-contract-document h2:nth-of-type(2),
  body.d369-contract-printing>#tk-contract-document h2:nth-of-type(6),
  body.d369-contract-printing>#tk-contract-document h2:nth-of-type(8){break-before:page!important;page-break-before:always!important;}
}


/* ===== v3.5.92 — HĐKT PRINT FORMAT APPROVED FROM 369.PDF ===== */
@page d369ContractApproved{size:210mm 297mm;margin:20mm 15mm 25mm 20mm;}
@media print{
  body.d369-contract-printing>#tk-contract-document{page:d369ContractApproved!important;font-family:"Times New Roman",Times,serif!important;font-size:9.6pt!important;line-height:1.375!important;margin:0!important;padding:0!important;}
  body.d369-contract-printing>#tk-contract-document h2{font-size:10.8pt!important;line-height:1.28!important;margin:2.6mm 0 1.15mm!important;break-before:auto!important;page-break-before:auto!important;break-after:avoid!important;page-break-after:avoid!important;}
  body.d369-contract-printing>#tk-contract-document h2:nth-of-type(n){break-before:auto!important;page-break-before:auto!important;}
  body.d369-contract-printing>#tk-contract-document p{font-size:9.6pt!important;line-height:1.375!important;margin:0 0 1.05mm!important;text-align:justify!important;}
  body.d369-contract-printing>#tk-contract-document li{font-size:9.25pt!important;line-height:1.35!important;margin-bottom:.45mm!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-grid{grid-template-columns:1fr!important;gap:.55mm!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-grid label{display:grid!important;grid-template-columns:29mm minmax(0,1fr)!important;gap:2mm!important;align-items:end!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-signature-anchor{break-inside:avoid!important;page-break-inside:avoid!important;}
  body.d369-contract-printing>#tk-contract-document .tk-contract-signatures{margin-top:2.2mm!important;gap:16mm!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  body.d369-contract-printing>#tk-contract-document .contract-sign-space{height:15mm!important;}
}


/* ===== v3.5.94 — PRINT FIXES: BBNT columns + HĐKT margin parity + duplicate product names ===== */
@media print{
  /* BBNT: khóa lại tỷ lệ cột để DÀI / RỘNG-SÂU / CAO không đè lên nhau. */
  .d369-acceptance-mode .tk-room table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;}
  .d369-acceptance-mode .tk-room th{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;font-size:6.9pt!important;line-height:1.08!important;padding:1.2mm .65mm!important;vertical-align:middle!important;text-align:center!important;}
  .d369-acceptance-mode .tk-room td{overflow-wrap:anywhere!important;}
  .d369-acceptance-mode .tk-room th:nth-child(1),.d369-acceptance-mode .tk-room td:nth-child(1){width:4%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(2),.d369-acceptance-mode .tk-room td:nth-child(2){width:17%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(3),.d369-acceptance-mode .tk-room td:nth-child(3){width:27%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(4),.d369-acceptance-mode .tk-room td:nth-child(4){width:5.5%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(5),.d369-acceptance-mode .tk-room td:nth-child(5){width:6.5%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(6),.d369-acceptance-mode .tk-room td:nth-child(6){width:5.5%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(7),.d369-acceptance-mode .tk-room td:nth-child(7){width:5.5%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(8),.d369-acceptance-mode .tk-room td:nth-child(8){width:6.5%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(9),.d369-acceptance-mode .tk-room td:nth-child(9){width:8%!important;}
  .d369-acceptance-mode .tk-room th:nth-child(10),.d369-acceptance-mode .tk-room td:nth-child(10){width:14%!important;}
  .d369-acceptance-mode .tk-accept-head{font-size:6.35pt!important;line-height:1.02!important;}
  .d369-acceptance-mode .tk-accept-head span{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;padding:0 .25mm!important;}

  /* Tên sản phẩm bản in: luôn hiện label đã đánh số, không để select/input che mất. */
  .tk-product-cell>.tk-product-print-only{display:block!important;visibility:visible!important;color:#111!important;white-space:normal!important;}
  .tk-product-cell>.tk-product,.tk-product-cell>.tk-product-manual,.tk-product-cell>.tk-product-final{display:none!important;}
}


/* ===== v3.5.95 — HĐKT long customer name/address print-safe ===== */
@media print{
  .d369-contract-print-text{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;}
}


/* ===== v3.5.96 — bản in khách hàng DOANH NGHIỆP gọn, sạch và chuyên nghiệp ===== */
@media print{
  /* PLHĐ / BBNT / Bảng quyết toán: nút tra cứu và trạng thái tra cứu không thuộc hồ sơ in. */
  body.turnkey-printing #turnkey-quote.tk-business-mode .tk-tax-lookup-btn,
  body.turnkey-printing #turnkey-quote.tk-business-mode .tk-tax-lookup-status,
  body.turnkey-printing #turnkey-quote.tk-business-mode #tk-tax-lookup,
  body.turnkey-printing #turnkey-quote.tk-business-mode #tk-tax-lookup-status{
    display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
  }

  /* Dòng hiệu lực báo giá không đưa vào hồ sơ in chuyên nghiệp. */
  body.turnkey-printing .turnkey-quote-validity{
    display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
  }

  /* Thu gọn khối thông tin doanh nghiệp mà vẫn giữ đầy đủ dữ liệu. */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields:not(.hidden){
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:7px!important;row-gap:4px!important;
    margin:4px 0 6px!important;padding:7px 9px!important;
    border:1px solid #aaa!important;background:#fff!important;color:#111!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields label{
    margin:0!important;padding:0!important;min-width:0!important;
    font-size:7.5px!important;line-height:1.15!important;color:#777!important;font-weight:700!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields input{
    width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
    margin:1px 0 0!important;padding:2px 3px 2px!important;
    border:0!important;border-bottom:1px solid #b7925b!important;border-radius:0!important;
    background:transparent!important;color:#111!important;box-shadow:none!important;
    font-size:8.5px!important;line-height:1.15!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields .tk-tax-lookup-row{
    display:block!important;margin:1px 0 0!important;padding:0!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields .span-2{
    grid-column:span 2!important;
  }
}

/* ===== v3.5.97 — BUSINESS PRINT: widen company name/address, move tax right ===== */
@media print{
  /* Đồng bộ PLHĐ / BBNT / Bảng quyết toán: ưu tiên chiều rộng cho tên và địa chỉ doanh nghiệp. */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields:not(.hidden){
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    column-gap:7px!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(1){grid-column:1 / 4!important;} /* Tên công ty: 50% */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(2){grid-column:4 / 5!important;} /* MST dịch sang phải */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(3){grid-column:5 / 6!important;} /* Đại diện */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(4){grid-column:6 / 7!important;} /* Chức vụ */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(5){grid-column:1 / 4!important;} /* Địa chỉ: 50% */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(6){grid-column:4 / 6!important;} /* Email */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(7){grid-column:6 / 7!important;} /* Điện thoại */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(8){grid-column:1 / 3!important;} /* STK */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(9){grid-column:3 / 5!important;} /* Ngân hàng */
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields > label:nth-child(10){grid-column:5 / 7!important;} /* Chi nhánh */

  /* Tên/địa chỉ dài được ưu tiên hiển thị tối đa trong vùng rộng mới. */
  body.turnkey-printing #turnkey-quote.tk-business-mode #tk-company-name,
  body.turnkey-printing #turnkey-quote.tk-business-mode #tk-company-address{
    font-size:8.4px!important;
    letter-spacing:-.05px!important;
  }
}


/* ===== v3.5.98 — BUSINESS PRINT STRUCTURE FIX (PLHĐ / BBNT / QUYẾT TOÁN) ===== */
.d369-business-print-value{display:none;}
@media print{
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields:not(.hidden){
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
    column-gap:8px!important;row-gap:4px!important;margin:4px 0 6px!important;padding:7px 9px!important;
    border:1px solid #aaa!important;background:#fff!important;color:#111!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields label{
    margin:0!important;padding:0!important;min-width:0!important;font-size:7.2px!important;
    line-height:1.12!important;color:#777!important;font-weight:700!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields input,
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields .tk-tax-lookup-row,
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields .tk-tax-lookup-btn,
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields .tk-tax-lookup-status{display:none!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .d369-business-print-value{
    display:block!important;visibility:visible!important;width:100%!important;min-width:0!important;
    margin-top:1px!important;padding:2px 3px 2px!important;border-bottom:1px solid #b7925b!important;
    color:#111!important;font-size:8.7px!important;line-height:1.18!important;font-weight:500!important;
    white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;
  }
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(1){grid-column:1/5!important;grid-row:1!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(2){grid-column:5/7!important;grid-row:1!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(5){grid-column:1/5!important;grid-row:2!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(3){grid-column:5/6!important;grid-row:2!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(4){grid-column:6/7!important;grid-row:2!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(6){grid-column:1/4!important;grid-row:3!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(7){grid-column:4/7!important;grid-row:3!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(8){grid-column:1/3!important;grid-row:4!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(9){grid-column:3/5!important;grid-row:4!important;}
  body.turnkey-printing #turnkey-quote.tk-business-mode .turnkey-business-fields>label:nth-child(10){grid-column:5/7!important;grid-row:4!important;}
}

/* v3.5.99 - VAT policy by customer type */
.turnkey-vat-input select{margin:0;background:#0d0e0e;color:#f2eee8;border:1px solid #433a31;padding:8px 28px 8px 9px;border-radius:5px;font-weight:800;min-width:108px}
.turnkey-vat-input select:disabled,.turnkey-vat-input input.tk-vat-locked{opacity:.82;cursor:not-allowed;background:#191919}
@media print{
  #turnkey-quote.tk-vat-zero #tk-summary-vat-row,#turnkey-quote.tk-vat-zero #tk-summary-grand-row{display:none!important}
  #turnkey-quote.tk-vat-zero #tk-summary-subtotal-label{white-space:nowrap!important}
  .turnkey-vat-input select{display:none!important}
}
@media(max-width:700px){.turnkey-vat-input{flex-wrap:wrap;justify-content:flex-end}.turnkey-vat-input select{min-width:104px;padding:7px 24px 7px 8px}}
