/* เครื่องมือฟรีชุดใหม่: ใบเสร็จ คืนเงินประกัน หนังสือทวง ค่าเช่าเข้ากลางเดือน อัตราค่าน้ำไฟ แจ้งย้ายออก */
.lrow{display:grid;grid-template-columns:minmax(0,1fr) 120px 44px;gap:8px;margin-bottom:8px}
.lrow .xdel{min-height:46px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:22px;color:#b42318;cursor:pointer}
.lrow .xdel:hover{border-color:#b42318;background:#fff5f4}
@media(max-width:420px){.lrow{grid-template-columns:minmax(0,1fr) 92px 42px}}
.calc .row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
@media(max-width:560px){.calc .row3{grid-template-columns:1fr 1fr}}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.seg label{flex:1 1 160px;display:flex;align-items:center;gap:8px;min-height:46px;margin:0;padding:8px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:15px;cursor:pointer}
.seg label:has(input:checked){border-color:var(--navy);background:#eef4ff;font-weight:600}
.calc .seg input{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--navy);flex:none}
.calc .chk1{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--ink);margin:4px 0 12px;cursor:pointer}
.calc .chk1 input{width:20px;height:20px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--orange);flex:none}
.res{background:var(--sky);border-radius:14px;padding:16px 18px;margin:4px 0 18px}
.res .line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed #c9dbf3;font-size:16px}
.res .line b{white-space:nowrap}
.res .line:last-child{border-bottom:0}
.res .big{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:6px 0 2px}
.res .big span{font-weight:600;color:var(--navy)}
.res .big b{font-family:'Kanit',sans-serif;font-weight:600;font-size:28px;color:var(--navy)}
.res .sub{font-size:14px;color:#4a5872;margin-top:4px}
.note-w{background:#fff1f0;border:1px solid #f5c2bd;color:#8a1c12;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:15px}
.note-w ul{margin:4px 0 0 18px!important;padding:0}
.note-ok{background:#ecfdf3;border:1px solid #b7ebc9;color:#14532d;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:15px}
.note-w:empty,.note-ok:empty{display:none}
.doc-paper{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px -18px rgba(10,40,90,.35);padding:30px 34px;margin:0 0 22px}
@media(max-width:520px){.doc-paper{padding:18px 14px}}
.kdoc{font-size:15px;line-height:1.8;color:#111}
.kdoc p{margin:0 0 8px!important}
.kdoc .ind{text-indent:2.5em}
.kdoc .fv{font-weight:600;border-bottom:1px dotted #555;padding:0 .2em;word-break:break-word}
.kdoc .bl{display:inline-block;max-width:100%;border-bottom:1px dotted #333;height:1.1em;vertical-align:baseline}
.kdoc .k-title{text-align:center;font-weight:600;font-size:1.25em;margin:0 0 4px}
.kdoc .k-sub{text-align:center;font-size:.9em;color:#333;margin:0 0 12px!important}
.kdoc .k-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 12px}
.kdoc .k-head .k-from{font-weight:600}
.kdoc .k-right{text-align:right}
.kdoc .k-r45{margin-left:45%}
.kdoc .k-tbl{width:100%;border-collapse:collapse;margin:8px 0 12px!important;font-size:.95em}
.kdoc .k-tbl th,.kdoc .k-tbl td{border:1px solid #333!important;padding:4px 8px!important;vertical-align:top;background:#fff}
.kdoc .k-tbl th{font-weight:600;text-align:center;background:#f6f7f9}
.kdoc .k-tbl td.n{text-align:right;white-space:nowrap;width:28%}
.kdoc .k-tbl td.c{text-align:center;width:9%}
.kdoc .k-tbl tr.tot td{font-weight:600}
.kdoc .k-sign{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;margin:28px 0 8px;break-inside:avoid}
.kdoc .k-sign.one{grid-template-columns:1fr;max-width:320px;margin-left:auto}
.kdoc .sg{text-align:center}
.kdoc .k-small{font-size:.85em;color:#444}
.kdoc .k-box{border:1px solid #333;padding:6px 10px;margin:8px 0}
.kdoc .k-cut{border-top:2px dashed #cbd5e1;margin:26px 0 22px}
@media(max-width:520px){.kdoc{font-size:14px}.kdoc .k-r45{margin-left:0}.kdoc .k-sign{grid-template-columns:1fr}}
@page{size:A4;margin:16mm}
@media print{
  body.doc-page{background:#fff}
  body.doc-page .top,body.doc-page footer,body.doc-page .page-head,body.doc-page main>section,body.doc-page .prose>:not(#docwrap){display:none!important}
  body.doc-page .prose{padding:0;max-width:none}
  body.doc-page .doc-paper{border:0;box-shadow:none;padding:0;margin:0;border-radius:0}
  .kdoc{font-size:13.5pt;line-height:1.65}
  .kdoc .k-r45{margin-left:45%}
  .kdoc .k-sign{grid-template-columns:1fr 1fr}
  .kdoc .k-cut{border-top:1px dashed #888;margin:8mm 0 7mm}
  .kdoc.rc{font-size:11.5pt;line-height:1.45}
  .kdoc.rc .k-tbl td,.kdoc.rc .k-tbl th{padding:2px 8px!important}
  .kdoc.rc .k-sign{margin:12px 0 0}
  .kdoc.rc p{margin:0 0 5px!important}
}
.tlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tlist a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.tlist a:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(10,40,90,.45)}
.tlist img{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#eef3fa;border-bottom:1px solid var(--line)}
.tlist .tb{display:block;padding:14px 16px 18px}
.tlist b{display:block;font-family:'Kanit',sans-serif;font-weight:600;font-size:18px;color:var(--navy);margin-bottom:4px}
.tlist .tp{display:block;font-size:15px;line-height:1.6;color:#4a5872}
.tgroup{margin:0 0 30px}
.tgroup h2{font-size:22px;margin:0 0 4px}
.tgroup>p{color:#5b6b85;margin:0 0 14px}
@media(max-width:860px){.tlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tlist{grid-template-columns:minmax(0,1fr)}}
.rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 18px}
.rel a{display:block;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;text-decoration:none;color:var(--navy);font-weight:600;font-size:15px}
.rel a span{display:block;font-weight:400;color:#5b6b85;font-size:14px;margin-top:2px}
.rel a:hover{border-color:var(--blue)}
@media(max-width:560px){.rel{grid-template-columns:minmax(0,1fr)}}
