/* V80 fresh UI adjustments */
[hidden]{display:none!important}
.privilege-box-v78{padding:14px;border:1px solid #d9e2ec;border-radius:14px;background:#f8fbff}
.privilege-box-v78 .check-grid{margin-top:10px}
.mobile-bottom-nav-v78{display:none;position:fixed;z-index:9999;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #dfe7ef;box-shadow:0 -8px 24px rgba(15,23,42,.1);padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));grid-template-columns:repeat(4,1fr);gap:4px}
.mobile-bottom-nav-v78 button{border:0;background:transparent;border-radius:12px;padding:7px 4px;color:#64748b;display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit}
.mobile-bottom-nav-v78 button span{font-size:20px;line-height:1}.mobile-bottom-nav-v78 button small{font-size:10px;white-space:nowrap}.mobile-bottom-nav-v78 button.active{background:#eaf4ff;color:#075ca8;font-weight:700}
.ticket-card-v78{margin-bottom:12px}.ticket-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ticket-card-head h3{margin:6px 0}.ticket-card-head p{margin:0;color:#64748b}.ticket-meta-v78{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;color:#475569;font-size:13px}.card-actions-v78,.task-actions-v78{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.task-actions-v78{margin:-8px 12px 18px;padding:12px;border:1px solid #dbeafe;border-top:0;border-radius:0 0 14px 14px;background:#f8fbff}
.status-pill{padding:5px 10px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:700}.status-selesai{background:#dcfce7;color:#166534}.status-dikerjakan,.status-dalam-proses{background:#dbeafe;color:#1d4ed8}.status-ditunda{background:#fef3c7;color:#92400e}
.report-list-v78{display:grid;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.report-list-header-v78,.report-list-row-v78{display:grid;grid-template-columns:minmax(260px,2.2fr) minmax(120px,1fr) minmax(150px,1fr) minmax(110px,.8fr) minmax(120px,.8fr);gap:14px;align-items:center;padding:13px 16px}.report-list-header-v78{background:#f1f5f9;font-size:12px;font-weight:800;text-transform:uppercase;color:#475569}.report-list-row-v78{border-top:1px solid #e2e8f0}.report-list-row-v78 p{margin:5px 0;color:#475569}.report-list-row-v78 small{color:#64748b}.list-actions-v78{display:flex;gap:6px;flex-wrap:wrap}.link-btn-v78{display:block;border:0;background:transparent;padding:4px 0;color:#0369a1;text-decoration:underline;cursor:pointer}
.picker-list-v78{display:grid;gap:8px;margin-bottom:14px}.picker-list-v78 label{display:flex;gap:10px;align-items:center;border:1px solid #e2e8f0;padding:10px;border-radius:10px}.picker-list-v78 span{display:flex;flex-direction:column}.report-photo-v78{display:inline-flex;flex-direction:column;width:180px;margin:6px}.report-photo-v78 img{width:180px;height:130px;object-fit:cover;border-radius:10px}
.chat-bubble-v78{position:relative;max-width:78%;margin:8px auto 8px 0;padding:10px 13px;border-radius:14px;background:#eef2f7}.chat-bubble-v78.mine{margin-left:auto;margin-right:0;background:#dbeafe}.chat-bubble-v78 p{white-space:pre-wrap;margin:5px 0}.chat-bubble-v78 img{display:block;max-width:220px;border-radius:10px;margin-top:8px}.chat-bubble-v78 small{display:block;margin-top:5px;color:#64748b}.chat-delete-v78{position:absolute;right:4px;top:3px;border:0;background:transparent;color:#b91c1c;font-size:18px}.profile-card-v78{text-align:center}.profile-card-v78 img{width:96px;height:96px;object-fit:contain}.profile-card-v78 dl{display:grid;grid-template-columns:120px 1fr;max-width:520px;margin:20px auto;text-align:left}.profile-card-v78 dt,.profile-card-v78 dd{padding:8px;border-bottom:1px solid #e2e8f0}.profile-card-v78 dt{font-weight:700}.empty-v78{text-align:center;color:#64748b;padding:24px!important}
.toast.warn{background:#9a3412!important}.toast.ok{background:#166534!important}
@media(max-width:900px){.report-list-header-v78{display:none}.report-list-row-v78{grid-template-columns:1fr;gap:8px}.report-list-row-v78>div{padding-bottom:6px}.list-actions-v78{border-top:1px dashed #dbe3ea;padding-top:10px}}
@media(max-width:720px){.mobile-bottom-nav-v78:not([hidden]){display:grid}.footer{padding-bottom:86px!important}.content{padding-bottom:92px!important}.app-shell{min-height:100vh}.sidebar{z-index:10001}.overlay{z-index:10000}.ticket-card-head{flex-direction:column}.ticket-meta-v78{display:grid;gap:6px}.cards-grid{grid-template-columns:1fr!important}.form-grid{grid-template-columns:1fr!important}.wide{grid-column:auto!important}.top-actions #newTicketBtn{display:none}.report-list-v78{border-radius:12px}}

/* V80: ticket picker, master tools, document actions, report photo gallery */
.edit-modal.open,.edit-modal.show{display:flex!important;align-items:center!important;justify-content:center!important}
.document-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#ticketToolsChecklist .check-chip{min-height:44px}
#ticketToolList.manager-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
#ticketToolList .manager-row{min-height:48px;box-shadow:0 2px 8px rgba(20,44,68,.05)}
#ticketToolList .manager-row span{overflow-wrap:anywhere}
.table-doc-actions-v80{display:flex;gap:6px;flex-wrap:wrap;min-width:330px}
.table-doc-actions-v80 button{white-space:nowrap}
.report-photo-upload-v80{border:1px dashed #9dcfe0;border-radius:16px;padding:14px;background:linear-gradient(135deg,#f8fdff,#f4fff9)}
.report-photo-picker-v80{margin-top:10px;width:max-content;max-width:100%}
.photo-caption-editor-v80{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:12px}
.photo-caption-item-v80{position:relative;display:grid;gap:8px;padding:10px;border:1px solid #d5e5ef;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(20,44,68,.06)}
.photo-caption-item-v80 img{width:100%;height:155px;object-fit:cover;border-radius:10px;background:#eef4f7}
.photo-caption-item-v80 input{padding:9px 10px;border-radius:10px}
.photo-caption-item-v80 small{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-caption-remove-v80{position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:50%;border:1px solid #ffc6cf;background:#fff1f3;color:#a5162b;font-weight:900;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.report-photo-gallery-v80{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.report-photo-card-v80{margin:0;padding:12px;border:1px solid #dce8f0;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(20,44,68,.08)}
.report-photo-open-v80{position:relative;display:block;width:100%;padding:0;border:0;border-radius:12px;background:transparent;cursor:pointer;overflow:hidden}
.report-photo-open-v80 span{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;font-size:12px;font-weight:800}
.report-photo-card-v80 img{display:block;width:100%;height:230px;object-fit:cover;border-radius:12px;background:#eef4f7}
.report-photo-card-v80 figcaption{padding:10px 3px 2px;color:#263f57;white-space:pre-wrap;overflow-wrap:anywhere}
.report-photo-card-v80 figcaption strong{display:block;margin-bottom:4px}
.report-photo-card-v80 figcaption small{color:#64748b}
.report-gallery-head-v80 .section-head{margin-bottom:0}
.report-photo-preview-v80{display:grid;gap:12px;text-align:center}.report-photo-preview-v80 img{display:block;max-width:min(100%,900px);max-height:72vh;margin:auto;object-fit:contain;border-radius:14px;background:#eef4f7}.report-photo-preview-v80 p{margin:0;font-weight:700;white-space:pre-wrap}.report-photo-preview-v80 small{color:#64748b}
.report-list-row-v78 .link-btn-v78{font-weight:800;text-align:left}
@media(max-width:720px){
  #ticketToolList.manager-list{grid-template-columns:1fr}
  .table-doc-actions-v80{min-width:260px}
  .photo-caption-editor-v80,.report-photo-gallery-v80{grid-template-columns:1fr}
  .report-photo-card-v80 img{height:220px}
  .document-toolbar{width:100%}.document-toolbar button{flex:1}
}

/* === V80 compact professional UI === */
html{font-size:13px!important}
body{font-size:13px!important}
.content{padding:14px 18px 18px!important}
.card{padding:14px!important;border-radius:9px!important}
.section-head{gap:10px!important;margin-bottom:10px!important}
.section-head h3{font-size:15px!important;line-height:1.2!important;margin:0!important}
.muted-note{font-size:11.5px!important;line-height:1.45!important}
.form-grid{gap:10px!important}
input,select,textarea{font-size:12.5px!important;min-height:38px!important;padding:8px 10px!important;border-radius:5px!important}
textarea{min-height:76px!important}
button,.primary,.ghost,.danger{font-size:12.5px!important;min-height:36px!important;padding:7px 11px!important;border-radius:5px!important}
button.small,.small{font-size:11.5px!important;min-height:32px!important;padding:5px 9px!important}
table{font-size:12px!important}
th,td{padding:8px 9px!important}
.badge,.status-pill{font-size:10.5px!important;padding:4px 7px!important}
.sidebar{width:260px!important;padding:12px!important}
.brand{padding:8px 10px 12px!important;margin-bottom:10px!important}
.brand h1{font-size:19px!important}.brand p{font-size:11px!important}
.brand-logo-img{width:48px!important;height:48px!important}
.nav{gap:5px!important}
#nav button,.nav button{min-height:45px!important;padding:6px 9px!important;grid-template-columns:36px 1fr!important;gap:8px!important;border-radius:8px!important}
#nav button .nav-ico,.nav button .nav-ico{width:31px!important;height:31px!important;min-width:31px!important;font-size:16px!important;border-radius:8px!important}
#nav button span:not(.nav-ico),.nav button span:not(.nav-ico){font-size:12px!important;line-height:1.15!important;min-height:auto!important;height:auto!important}
.topbar{min-height:58px!important;padding:8px 18px!important}
.top-title h2{font-size:14px!important}.top-title p{font-size:10.5px!important}
.footer{font-size:10.5px!important;padding:10px 14px!important}
.manager-row{padding:8px 10px!important;border-radius:6px!important;min-height:42px!important}.manager-row span{font-size:12px!important}
.check-chip{padding:7px 9px!important;border-radius:6px!important;font-size:12px!important;min-height:38px!important}.check-chip input{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;flex:0 0 16px!important}
.rab-row,.invoice-row{gap:7px!important;margin-bottom:7px!important}
.total-box{padding:10px!important;font-size:12.5px!important}

/* Pemilih teknisi rapi */
.technician-picker-v80{display:grid;gap:12px}
.technician-picker-note-v80{margin:0;color:#516579;font-size:12px}
.picker-list-v80{display:grid;gap:8px;max-height:48vh;overflow:auto;padding:2px}
.technician-choice-v80{display:grid!important;grid-template-columns:20px minmax(0,1fr) auto!important;align-items:center!important;gap:11px!important;width:100%!important;padding:10px 12px!important;border:1px solid #c8d6e3!important;border-radius:7px!important;background:#fff!important;cursor:pointer!important;box-shadow:0 1px 3px rgba(20,44,68,.06)!important}
.technician-choice-v80:hover{border-color:#3395c2!important;background:#f5fbff!important}
.technician-choice-v80 input[type="checkbox"]{appearance:auto!important;width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;padding:0!important;flex:0 0 17px!important}
.technician-choice-info-v80{display:grid!important;gap:2px!important;min-width:0!important}
.technician-choice-info-v80 b{font-size:12.5px!important;color:#1f3348!important;overflow-wrap:anywhere!important}
.technician-choice-info-v80 small{font-size:10.5px!important;color:#6b7d8e!important;overflow-wrap:anywhere!important}
.technician-choice-status-v80{font-size:10px!important;font-weight:800!important;color:#147647!important;background:#e6f7ee!important;border:1px solid #bce8cf!important;border-radius:999px!important;padding:3px 7px!important;white-space:nowrap!important}
.technician-picker-actions-v80{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid #dce6ee}
.technician-picker-actions-v80>span{font-size:11px;color:#5d7082;font-weight:700}

/* Aksi tabel dibuat ringkas */
.compact-actions-v80{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:235px}
.compact-actions-v80 button{white-space:nowrap}

/* Popup satu tombol cetak */
.document-picker-v80{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.document-picker-v80>p{grid-column:1/-1;margin:0 0 3px;color:#526579}
.document-picker-v80>button{display:grid!important;grid-template-columns:38px 1fr!important;grid-template-rows:auto auto!important;text-align:left!important;gap:1px 8px!important;align-items:center!important;min-height:78px!important;padding:11px!important;background:#fff!important;color:#23394f!important;border:1px solid #c9d7e3!important;box-shadow:0 2px 7px rgba(20,44,68,.07)!important}
.document-picker-v80>button:hover{border-color:#1687ba!important;background:#f2faff!important}
.document-picker-v80>button span{grid-row:1/3;font-size:24px;text-align:center}
.document-picker-v80>button b{font-size:12.5px}.document-picker-v80>button small{font-size:10.5px;color:#687b8e;line-height:1.3}

/* Modal lebih ringan dan proporsional */
.edit-modal-card{width:min(94vw,680px)!important;border-radius:9px!important;padding:0!important}
.edit-modal-head{padding:10px 12px!important;margin:0!important}.edit-modal-head h3{font-size:14px!important}
#editModalBody{padding:13px!important}

@media(max-width:900px){
  .document-picker-v80{grid-template-columns:1fr}
  .document-picker-v80>p{grid-column:auto}
}
@media(max-width:720px){
  html,body{font-size:13px!important}
  .content{padding:10px!important}
  .card{padding:11px!important}
  input,select,textarea{font-size:13px!important}
  .technician-choice-v80{grid-template-columns:20px minmax(0,1fr)!important}
  .technician-choice-status-v80{display:none!important}
  .technician-picker-actions-v80{align-items:stretch;flex-direction:column}
  .technician-picker-actions-v80 button{width:100%}
  .compact-actions-v80{min-width:0}
}
