﻿
*{box-sizing:border-box;margin:0;padding:0;}
html,body{-webkit-touch-callout:none;overscroll-behavior:none;}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:#323949;font-size:13px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.doc{max-width:8.5in;margin:0 auto;padding:40px clamp(16px,4vw,0.6in) 80px;}
input,button{font-family:inherit;}
button{touch-action:manipulation;-webkit-user-select:none;user-select:none;}
input::placeholder{color:#C4C4C4;font-weight:500;}
h1{font-size:26px;font-weight:700;color:#144584;line-height:1.12;margin:0 0 4px;}
h2{font-size:18px;font-weight:700;color:#144584;margin:0;}
@keyframes pickpulse{0%,100%{box-shadow:0 0 0 0 rgba(107,185,109,.5),0 2px 6px rgba(0,0,0,.35)}50%{box-shadow:0 0 0 7px rgba(107,185,109,.15),0 2px 6px rgba(0,0,0,.35)}}
@media screen{.print-only{display:none!important;}}
@page{size:A4 portrait;margin:1.5cm 1.2cm;}@media print{.screen-only{display:none!important;}.print-only{display:block!important;}html,body{margin:0;padding:0;font-size:11px;overflow:visible!important;}.doc{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;}h1{font-size:20px!important;}h2{font-size:14px!important;}h1,h2,h3{break-after:avoid;}img,tr{break-inside:avoid;}.unit-wrap{overflow:visible!important;-webkit-overflow-scrolling:auto!important;}.unit-wrap.collapsed .unit-body{display:block!important;}.unit-wrap .unit-actions,.plan-box .unit-actions{display:none!important;}.hk-table{font-size:9.2px!important;table-layout:fixed;}.hk-table th,.hk-table td{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;vertical-align:top;}.hk-table th{padding:6px 5px!important;}.hk-table td{padding:4px 5px!important;}.cell-in{font-size:9.2px!important;padding:4px 2px!important;line-height:1.25;}.nr-td{padding:4px 2px!important;}.foto-td{padding:2px!important;overflow:visible!important;}.meta-sec{padding:8px 12px!important;}.unit-hdr{padding:5px 10px!important;}.plan-box.collapsed .plan-img-area,.plan-box.collapsed .marker-list{display:block!important;}.plan-box{break-inside:avoid;page-break-inside:avoid;}.plan-box .collapse-btn{display:none!important;}.plan-section{break-inside:avoid;page-break-inside:avoid;}.plan-section img{max-width:100%!important;height:auto!important;}}@media print and (max-width: 1024px){html,body{font-size:10px!important;}body{zoom:.86;}.doc{width:100%!important;}h1{font-size:19px!important;}h2{font-size:13px!important;}.meta-sec{padding:7px 10px!important;gap:10px 16px;}.unit-hdr{padding:5px 9px!important;}.hk-table{font-size:8.6px!important;}.hk-table th{padding:5px 4px!important;}.hk-table td{padding:3px 4px!important;}.cell-in{font-size:8.6px!important;padding:3px 2px!important;}.photo-slots{gap:2px;}.photo-slot-lbl{font-size:8px;}.cam-btn{min-height:30px;padding:5px 0;}.thumb-img{width:24px;height:24px;}}
.toolbar{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;align-items:center;margin:0 0 24px;}
.save-status{margin-left:auto;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:7px;letter-spacing:.03em;transition:opacity .25s,background .25s;white-space:nowrap;}
.save-status:empty{display:none;}
.save-status.saving{color:#144584;background:rgba(20,69,132,.09);}
.save-status.ok{color:#1a7d3c;background:rgba(107,185,109,.18);}
.save-status.error{color:#C0392B;background:rgba(192,57,43,.12);}
.btn{padding:9px 16px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;border:none;}
.btn-primary{background:#6BB96D;color:#fff;}
.btn-outline{background:#fff;color:#144584;border:2px solid #144584;}
.btn-soft{background:#fff;color:#144584;border:2px solid #CDCDCD;}
.btn-ghost{background:none;color:#C4C4C4;font-size:13px;cursor:pointer;border:none;padding:8px 6px;font-weight:600;}
header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:3px solid #144584;padding-bottom:16px;margin-bottom:22px;}
.badge{display:inline-block;background:#6BB96D;color:#fff;font-weight:700;font-size:12px;letter-spacing:.14em;padding:7px 18px 7px 13px;border-radius:0 9px 9px 0;box-shadow:4px 4px 0 #C4C4C4;white-space:nowrap;}
.meta-sec{display:flex;gap:14px 24px;flex-wrap:wrap;background:#F5F5F5;border:1px solid #CDCDCD;border-radius:9px;padding:14px 20px;margin:0 0 18px;}
.meta-label{font-size:10px;font-weight:700;letter-spacing:.09em;color:#144584;display:block;margin-bottom:2px;}
.meta-input{border:none;border-bottom:1.5px solid #144584;background:transparent;font-weight:600;font-size:14px;color:#144584;padding:4px 2px;outline:none;width:100%;}
.qref{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;border:1px dashed #CDCDCD;border-radius:9px;padding:9px 14px;margin:0 0 16px;font-size:11.5px;font-weight:600;}
.unit-wrap{margin:0 0 16px;}
.unit-wrap.collapsed .unit-body{display:none;}
.unit-wrap.collapsed .unit-hdr{border-radius:8px;}
.unit-hdr{display:flex;align-items:center;gap:10px;background:#144584;border-radius:8px 8px 0 0;padding:8px 12px;}
.unit-actions{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto;}
.collapse-btn{border:none;background:rgba(255,255,255,.15);color:#fff;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;padding:5px 10px;line-height:1;}
.collapse-btn:hover{background:rgba(255,255,255,.24);}
.update-banner{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#EEF2FB;border:1.5px solid #144584;color:#144584;border-radius:10px;padding:10px 14px;margin:0 0 16px;box-shadow:0 2px 10px rgba(20,69,132,.08);}
.update-banner:not([hidden]){display:flex;}
.update-banner strong{color:#144584;}
.update-banner-text{font-weight:600;}
.update-banner-btn{border:none;background:#144584;color:#fff;border-radius:999px;padding:7px 12px;font-weight:700;font-size:11px;cursor:pointer;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.update-banner-btn:hover{background:#0f3569;}
.validation-banner{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#FFF6E6;border:1.5px solid #F59E0B;color:#8A5A00;border-radius:10px;padding:10px 14px;margin:0 0 16px;box-shadow:0 2px 10px rgba(245,158,11,.08);}
.validation-banner.show{display:flex;}
.validation-banner strong{color:#6B3F00;}
.validation-list{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;font-weight:600;}
.validation-chip{background:#fff;border:1px solid rgba(138,90,0,.2);border-radius:999px;padding:3px 9px;}
.required-star{color:#C34D45;font-weight:800;margin-left:2px;}
.invalid-field{border-bottom-color:#C34D45!important;box-shadow:0 1px 0 #C34D45!important;}
.invalid-header{box-shadow:inset 0 0 0 1px rgba(195,77,69,.22);}
.unit-lbl{flex:1;border:none;border-bottom:1.5px solid rgba(255,255,255,.4);background:transparent;font-weight:700;font-size:14px;color:#fff;padding:3px 2px;outline:none;}
.unit-lbl::placeholder{color:rgba(255,255,255,.5);}
.unit-tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#6BB96D;white-space:nowrap;}
.rm-btn{border:none;background:rgba(255,255,255,.15);color:#fff;border-radius:5px;font-size:12px;font-weight:700;cursor:pointer;padding:4px 9px;line-height:1;}
.hk-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed;}
.hk-table colgroup col:nth-child(1){width:4%}
.hk-table colgroup col:nth-child(2){width:14%}
.hk-table colgroup col:nth-child(3){width:11%}
.hk-table colgroup col:nth-child(4){width:16%}
.hk-table colgroup col:nth-child(5){width:8%}
.hk-table colgroup col:nth-child(6){width:10%}
.hk-table colgroup col:nth-child(7){width:7%}
.hk-table colgroup col:nth-child(8){width:30%}
.hk-table th{background:#323949;color:#fff;font-weight:700;padding:8px 6px;border:1px solid #323949;font-size:11px;}
.hk-table th:not(:first-child){text-align:left;padding:8px 8px;}
.hk-table td{border:1px solid #CDCDCD;padding:0;vertical-align:middle;}
.nr-td{background:#F5F5F5;text-align:center;color:#144584;font-weight:700;font-size:12px;padding:3px 2px;}
.cell-in{width:100%;border:none;background:transparent;font-weight:600;font-size:12px;color:#323949;padding:8px;outline:none;}
.cell-in:focus{background:#EAF3EA;}
.hk-in{color:#144584;font-weight:700;}
.center-in{text-align:center;}
.gr-badge{display:block;margin-top:3px;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap;line-height:1.5;transition:background .12s;}
.gr-badge.unlinked{background:transparent;color:#C4C4C4;border:1.5px dashed #C4C4C4;}
.gr-badge.linked{background:#EAF3EA;color:#1a7d3c;border:1.5px solid #6BB96D;}
.gr-badge.picking{background:#144584;color:#fff;border:1.5px solid #144584;}
.foto-td{padding:3px!important;overflow:hidden;}
.photo-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:start;}
.photo-slot{display:flex;flex-direction:column;gap:3px;min-width:0;}
.photo-slot-lbl{font-size:9px;font-weight:700;color:#144584;line-height:1.1;display:flex;justify-content:space-between;gap:4px;align-items:baseline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.photo-slot-lbl .req{color:#C4C4C4;font-size:8px;letter-spacing:.03em;flex:none;}
.photo-slot-empty{border:1px dashed #CDCDCD;border-radius:5px;padding:3px;background:#fff;min-height:44px;display:flex;align-items:center;}
.cam-btn{display:flex;align-items:center;justify-content:center;width:100%;border:1px solid #144584;background:#fff;color:#144584;border-radius:5px;padding:6px 0;cursor:pointer;min-height:34px;line-height:1;}
.cam-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:14px;border:1.5px solid currentColor;border-radius:3px;flex:none;}
.cam-icon::after{content:'';width:5px;height:5px;border-radius:50%;border:1.5px solid currentColor;}
.thumb-view{display:flex;align-items:center;gap:4px;overflow:hidden;min-width:0;width:100%;}
.thumb-img{width:28px;height:28px;flex:none;border-radius:4px;border:1px solid #CDCDCD;object-fit:cover;cursor:pointer;}
.photo-name{font-size:9px;font-weight:600;color:#6BB96D;word-break:break-all;line-height:1.15;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.rm-photo{display:block;margin-top:1px;border:none;background:none;color:#C4C4C4;font-size:9px;font-weight:600;cursor:pointer;padding:0;line-height:1;}
.cell-in:disabled{color:#C4C4C4;cursor:not-allowed;background:#fafafa;}
.unit-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.toolbar,.plan-box,.plan-hdr,.plan-actions,.plan-img-area,.marker-list,.pick-banner,.photo-slot,.thumb-view,.cam-btn{ -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.plan-img,.thumb-img{-webkit-user-drag:none;user-drag:none;}
.add-row-btn{margin-top:7px;border:1.5px dashed #6BB96D;background:#fff;color:#1a7d3c;border-radius:6px;padding:6px 14px;font-weight:700;font-size:12px;cursor:pointer;}
.add-unit-btn{border:2px solid #144584;background:#144584;color:#fff;border-radius:8px;padding:10px 20px;font-weight:700;font-size:13px;cursor:pointer;margin:2px 0 0;}
.hint{margin:10px 0 0;font-size:11px;font-weight:500;color:#C4C4C4;}
/* Plans */
.plan-section{margin:28px 0 26px;}
.sec-hdr{display:flex;align-items:center;gap:13px;margin:0 0 8px;}
.sec-badge{display:inline-block;background:#6BB96D;color:#fff;font-weight:700;font-size:11px;letter-spacing:.13em;padding:6px 15px 6px 11px;border-radius:0 8px 8px 0;box-shadow:4px 4px 0 #C4C4C4;}
.pick-banner{background:#EAF3EA;border:1.5px solid #6BB96D;border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.pick-banner-text{font-weight:700;font-size:13px;color:#1a7d3c;}
.pick-cancel{border:none;background:rgba(0,0,0,.07);color:#323949;font-weight:700;cursor:pointer;font-size:12px;border-radius:5px;padding:4px 10px;}
.plan-box{margin:0 0 18px;border:1px solid #CDCDCD;border-radius:9px;overflow:hidden;}
.plan-box.collapsed .plan-img-area,.plan-box.collapsed .marker-list{display:none;}
.plan-box.sketching{border-color:#144584;box-shadow:0 0 0 2px rgba(20,69,132,.08),0 12px 28px rgba(20,69,132,.12);}
.plan-box.sketching .plan-hdr{background:#D9E7FA;}
.plan-hdr{display:flex;align-items:center;gap:10px;background:#F5F5F5;padding:8px 12px;border-bottom:1px solid #CDCDCD;}
.plan-name-in{flex:1;border:none;border-bottom:1.5px solid #CDCDCD;background:transparent;font-weight:700;font-size:14px;color:#144584;padding:3px 2px;outline:none;}
.plan-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sketch-btn{border:none;background:#144584;color:#fff;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;padding:5px 10px;line-height:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.sketch-btn.active{background:#6BB96D;}
.sketch-status{border:1px solid #D7E1F6;background:#EEF2FB;color:#144584;border-radius:999px;font-size:10px;font-weight:700;padding:4px 8px;line-height:1;white-space:nowrap;}
.sketch-clear{border:none;background:rgba(0,0,0,.08);color:#323949;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;padding:5px 10px;line-height:1;}
.sketch-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:3px 0;}
.sketch-swatch{width:20px;height:20px;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px rgba(50,57,73,.22);cursor:pointer;padding:0;flex:none;}
.sketch-swatch.active{box-shadow:0 0 0 2px #6BB96D,0 0 0 4px rgba(107,185,109,.18);transform:scale(1.08);}
.sketch-color-input{width:28px;height:22px;border:none;background:transparent;padding:0;cursor:pointer;flex:none;}
.sketch-mode{border:none;background:rgba(0,0,0,.08);color:#323949;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;padding:5px 10px;line-height:1;}
.sketch-mode.active{background:#144584;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.sketch-mode[data-tool="pen"].active{background:#144584;}
.sketch-mode[data-tool="eraser"].active{background:#8A8F99;}
.sketch-undo{border:none;background:#EAF3EA;color:#1a7d3c;border-radius:999px;font-size:11px;font-weight:700;cursor:pointer;padding:5px 10px;line-height:1;}
.sketch-undo:disabled{opacity:.45;cursor:default;}
.plan-box.sketch-white-active{background:#fff;}
.plan-box.sketch-white-active .plan-img{opacity:.18;}
.plan-img-area{position:relative;width:100%;background:#fff;cursor:crosshair;user-select:none;}
.plan-img{display:block;width:100%;height:auto;pointer-events:none;}
.plan-sketch{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;touch-action:none;}
.plan-sketch.active{pointer-events:auto;cursor:crosshair;}
.marker{position:absolute;z-index:3;min-width:26px;height:26px;padding:0 7px;border-radius:13px;border:2px solid #fff;color:#fff;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.35);cursor:grab;touch-action:none;box-sizing:border-box;transform:translate(-50%,-50%);transition:background .15s,opacity .15s;}
.marker.normal{background:#144584;}
.marker.linked{background:#6BB96D;}
.marker.can-pick{background:#6BB96D;animation:pickpulse 1.2s ease-in-out infinite;cursor:pointer;}
.marker.taken{background:#999;opacity:.45;cursor:default;}
.marker-list{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #CDCDCD;}
.marker-chip{display:flex;align-items:center;gap:6px;border:1px solid #CDCDCD;border-radius:7px;padding:4px 6px 4px 8px;}
.marker-chip.linked-chip{border-color:#6BB96D;background:#EAF3EA;}
.marker-num{min-width:20px;height:20px;border-radius:10px;background:#144584;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;flex:none;}
.marker-num.linked-num{background:#6BB96D;}
.marker-label{font-size:12px;font-weight:600;color:#C4C4C4;}
.marker-label.linked-label{color:#1a7d3c;}
.rm-marker{border:none;background:none;color:#C4C4C4;font-size:12px;font-weight:700;cursor:pointer;padding:0 2px;}
.add-plan-btn{border:2px solid #144584;background:#fff;color:#144584;border-radius:8px;padding:10px 18px;font-weight:700;font-size:13px;cursor:pointer;}
/* Checklist */
.checklist-sec{margin:28px 0 0;}
.chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;}
.chk-item{display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:8px;cursor:default;border:1px solid #CDCDCD;background:#F5F5F5;transition:border-color .15s,background .15s;}.chk-item.ok{border-color:#6BB96D;background:#f0faf0;}.chk-progress{margin-left:auto;font-size:11px;font-weight:700;color:#144584;background:#EEF2FB;border-radius:12px;padding:2px 8px;white-space:nowrap;}
.chk-box{width:24px;height:24px;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;transition:all .12s;border:2px solid #144584;background:#fff;color:transparent;}
.chk-box.checked{background:#6BB96D;border-color:#6BB96D;color:#fff;}
.chk-lbl{font-weight:600;font-size:13px;color:#323949;}
/* Footer */
.doc-footer{margin-top:28px;background:#323949;border-radius:10px;padding:16px 22px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;}
.footer-meta{display:flex;flex-direction:column;gap:3px;}
.footer-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.app-version{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.03em;}
.app-version strong{color:#6BB96D;font-weight:800;}
.update-btn{border:none;background:#6BB96D;color:#fff;border-radius:999px;padding:7px 12px;font-weight:700;font-size:11px;cursor:pointer;line-height:1;}
.update-btn:disabled{opacity:.6;cursor:default;}
/* Photo appendix */
.photo-appendix{margin-top:36px;border-top:2px solid #144584;padding-top:20px;}
.photo-grid{display:flex;flex-wrap:wrap;gap:16px;}
.photo-item{width:calc(33% - 11px);break-inside:avoid;}
.photo-item img{width:100%;border-radius:5px;border:1px solid #CDCDCD;display:block;}
.photo-item-lbl{font-size:11px;font-weight:700;color:#144584;margin-top:5px;}
@media print{.photo-appendix{margin-top:8px;border-top:2px solid #144584;padding-top:12px;}.photo-appendix-title{font-size:18px;font-weight:700;color:#144584;margin:0 0 12px;}.photo-appendix-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.6px!important;}.photo-appendix-table thead{display:table-header-group;}.photo-appendix-table tbody{display:table-row-group;}.photo-appendix-table th,.photo-appendix-table td{border:1px solid #CDCDCD;padding:4px 4px;vertical-align:top;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;}.photo-appendix-table th{background:#F5F5F5;color:#144584;font-weight:700;text-align:left;}.photo-appendix-table tr{break-inside:avoid;page-break-inside:avoid;}.photo-appendix-table .unit-cell,.photo-appendix-table .plan-cell,.photo-appendix-table .hk-cell,.photo-appendix-table .room-cell{width:12%;}.photo-appendix-table .photos-cell{width:52%;}.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:start;}.photo-card{break-inside:avoid;page-break-inside:avoid;padding:0;background:#fff;}.photo-card img{width:100%;height:auto;max-height:210px;object-fit:contain;display:block;background:#fff;}.photo-card-title{display:none;}.photo-card-meta{display:none;}.photo-appendix-table .small{font-size:7.2px;color:#64708A;}}

@media print and (max-width: 1024px){.photo-appendix-table{font-size:8.0px!important;}.photo-strip{gap:4px;}.photo-card img{height:auto;max-height:180px;object-fit:contain;display:block;background:#fff;}.photo-card-title,.photo-card-meta{font-size:7px;}}/* Preview modal */
#preview-modal{display:none;position:fixed;inset:0;background:rgba(20,33,52,.88);align-items:center;justify-content:center;z-index:9999;cursor:zoom-out;padding:24px;}
#preview-modal.open{display:flex;}
#preview-modal img{max-width:92%;max-height:92%;border-radius:8px;box-shadow:0 12px 48px rgba(0,0,0,.55);}
/* Project cards */
.proj-card{background:#fff;border:1px solid #CDCDCD;border-radius:12px;padding:22px 22px 18px;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;gap:10px;}
.proj-card:hover{border-color:#144584;box-shadow:0 4px 18px rgba(20,69,132,.12);}
.proj-card-name{font-size:16px;font-weight:700;color:#144584;line-height:1.3;}
.proj-card-meta{font-size:12px;font-weight:500;color:#888;line-height:1.5;min-height:16px;}
.proj-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px;}
.proj-card-hk{font-size:11px;font-weight:700;color:#fff;background:#6BB96D;border-radius:20px;padding:3px 10px;white-space:nowrap;}
.proj-card-del{font-size:12px;font-weight:700;color:#C4C4C4;background:none;border:none;cursor:pointer;padding:5px 8px;border-radius:5px;transition:color .15s,background .15s;line-height:1;}
.proj-card-del:hover{color:#fff;background:#E5534B;}
/* Toast */
#thorsten-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(8px);background:#323949;color:#fff;font-weight:600;font-size:13px;padding:10px 22px;border-radius:9px;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;z-index:99999;white-space:nowrap;box-shadow:0 4px 18px rgba(0,0,0,.25);}
#thorsten-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
#thorsten-toast.error{background:#C0392B;}
#btn-thorsten{position:fixed;bottom:10px;right:14px;background:none;border:none;color:#CDCDCD;font-size:11px;cursor:pointer;padding:4px 6px;opacity:.25;transition:opacity .15s;z-index:9999;font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:.04em;}
#btn-thorsten:hover{opacity:.6;}
@media (max-width: 1100px){
  .doc{max-width:none;padding:28px clamp(14px,2.2vw,22px) 72px;}
  header{align-items:flex-start;flex-direction:column;gap:14px;}
  header img{height:42px!important;}
  .badge{font-size:11px;padding:6px 14px 6px 10px;}
  .meta-sec{gap:12px 14px;padding:12px 14px;}
  .meta-sec label{flex:1 1 220px;min-width:0;}
  .meta-sec label:first-child{flex:1 1 100%;}
  .meta-input{font-size:13px;}
  .qref{padding:8px 12px;}
  .unit-hdr{flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 10px;}
  .unit-lbl{order:3;flex:1 1 100%;width:100%;font-size:13px;}
  .unit-tag{white-space:normal;line-height:1.1;}
  .rm-btn{margin-left:auto;}
  .hk-table{font-size:11px;}
  .hk-table colgroup col:nth-child(1){width:4%}
  .hk-table colgroup col:nth-child(2){width:13%}
  .hk-table colgroup col:nth-child(3){width:11%}
  .hk-table colgroup col:nth-child(4){width:15%}
  .hk-table colgroup col:nth-child(5){width:10%}
  .hk-table colgroup col:nth-child(6){width:12%}
  .hk-table colgroup col:nth-child(7){width:8%}
  .hk-table colgroup col:nth-child(8){width:27%}
  .hk-table th{padding:7px 5px;font-size:10px;}
  .hk-table th:not(:first-child){padding:7px 6px;}
  .cell-in{font-size:11px;padding:7px 6px;}
  .nr-td{font-size:11px;padding:3px 1px;}
  .gr-badge{font-size:9.5px;padding:2px 6px;}
  .photo-slots{gap:3px;}
  .photo-slot-lbl{font-size:8.5px;white-space:normal;}
  .photo-slot-empty{min-height:40px;}
  .cam-btn{min-height:32px;}
}
