:root{
  --bg:#e5ecf1;
  --bg-soft:#eff4f7;
  --panel:#dde6ec;
  --card:#ffffff;
  --card-muted:#f1f5f8;
  --card-muted-strong:#eaf0f4;
  --text:#10233d;
  --muted:#66788e;
  --line:#c6d2dc;
  --line-strong:#b5c4d0;
  --green:#176c42;
  --green-dark:#0f5935;
  --green-soft:#e1efe7;
  --danger:#cb3b3b;
  --danger-soft:#fff1f1;
  --shadow:0 16px 40px rgba(16,35,61,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;background:linear-gradient(180deg,#e5ecf1 0%,#e9eff4 100%);color:var(--text)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;font-size:16px}
input,textarea,select{width:100%;border:1px solid var(--line-strong);border-radius:16px;padding:14px 16px;background:#fdfefe;color:var(--text);transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;min-height:52px}
input:focus,textarea:focus,select:focus{outline:none;border-color:#8fb8a2;box-shadow:0 0 0 4px rgba(23,108,66,.10);background:#fff}
textarea{resize:vertical;min-height:118px}
label{display:grid;gap:8px;font-weight:800;color:var(--text);align-content:start}

.app-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(181,196,208,.9);backdrop-filter:blur(14px)}
.app-header-inner{max-width:1320px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-block{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,var(--green),var(--green-dark));color:#fff;font-size:16px;font-weight:900;box-shadow:0 14px 28px rgba(23,108,66,.18);flex:0 0 auto}.brand-text{display:grid;gap:2px;line-height:1.1}.brand-text span{font-size:12px;letter-spacing:.14em;color:var(--green);font-weight:900}.brand-text strong{font-size:15px;font-weight:900}.brand-text em{font-style:normal;font-size:12px;color:var(--muted);font-weight:700}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.main-nav a{min-height:42px;padding:10px 14px;border-radius:12px;font-weight:800;font-size:14px;color:#233851;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.main-nav a:hover{background:#f6f9fb;border-color:#dce6ee}.main-nav a.is-active{background:var(--green-soft);color:var(--green);border-color:#cfe2d7}.main-nav a.nav-logout{color:#30465f}

.container{max-width:1180px;margin:0 auto;padding:24px 16px 36px}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.14em;color:var(--green);font-weight:900}.page-head,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.page-head h1,.hero-card h1{margin:0;font-size:28px;line-height:1.15}.page-head p,.hero-card p,.muted{margin:0;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border-radius:14px;border:1px solid var(--line-strong);background:#fff;color:var(--text);font-weight:900;cursor:pointer}.btn:hover{background:#f9fbfc}.btn.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 10px 20px rgba(23,108,66,.16)}.btn.primary:hover{background:var(--green-dark)}.btn.danger{border-color:#f0c7c7;background:var(--danger-soft);color:var(--danger)}.btn.full{width:100%}

.card,.hero-card,.list-card,.report-row,.login-card,.install-card,.print-sheet,.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:22px;margin-bottom:18px}.hero-card{padding:26px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;background:linear-gradient(135deg,#ffffff 0%,#f4f9f6 100%)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{padding:18px}.stat-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.stat-card strong{font-size:28px}.list-cards{display:grid;gap:12px}.list-card,.report-row{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.list-card span,.report-row p{display:block;color:var(--muted);margin:6px 0 0}.row-actions{display:flex;gap:8px;flex-wrap:wrap}

.form-stack{display:grid;gap:18px}.form-grid{display:grid;gap:14px}.form-grid.two,.two-cols,.account-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{display:grid;gap:18px}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.compact-form{max-width:100%}.info-card h2,.card h2{margin:0 0 16px}.simple-list{display:grid;gap:10px}.simple-list div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.simple-list div:last-child{border-bottom:0}.simple-list span{color:var(--muted);text-align:right}

.alert{padding:14px 16px;border-radius:16px;margin-bottom:16px;border:1px solid #cae7d5;background:#edf9f1;color:#1a6c43;font-weight:700}.alert.danger{border-color:#f1c4c4;background:#fff2f2;color:#9f2b2b}

.report-form-card{padding:24px;background:linear-gradient(180deg,#f9fbfc 0%,#f4f7fa 100%);border-color:#d0dbe4}
.section-block{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--card-muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.section-hero{background:linear-gradient(180deg,#eef3f6 0%,#e8eef3 100%)}
.section-block-title{font-size:13px;letter-spacing:.12em;color:var(--green);font-weight:900;margin-bottom:14px;text-transform:uppercase}.section-mini-title{font-size:15px;font-weight:900;color:var(--text)}.time-caption{font-size:12px;color:var(--muted);font-weight:700}.time-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.time-picker-box{padding:16px;border:1px solid var(--line-strong);border-radius:18px;background:var(--card-muted-strong)}.time-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.time-picker-box input[type="time"]{min-height:52px;background:#fff}.top-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-stack{display:grid;gap:14px;align-content:start}.field-stack > label{margin:0}.field-stack input{background:#fbfdfe}.report-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-pair-grid textarea{min-height:144px;background:#fbfdfe}.quick-pick-panel{display:grid;gap:10px;align-content:start}.picker-inline{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;align-items:end}.full-span{grid-column:1 / -1}.sticky-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.sticky-actions-split{padding-top:8px}#work_hours{background:#f1f7f4;font-weight:900;color:#28445e}

.table-wrap{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;background:#fff}th{background:#eef3f6;color:#30465f;font-size:13px}tr:first-child th:first-child{border-top-left-radius:14px}tr:first-child th:last-child{border-top-right-radius:14px}

.print-sheet{padding:24px}.report-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #111827;margin-bottom:14px;padding-bottom:12px}.report-title h1{letter-spacing:.35em;margin:0}.report-date{font-size:20px;font-weight:900}.daily-table th{width:130px;background:#f3f4f6;border:1px solid #111827;vertical-align:top}.daily-table td{border:1px solid #111827;vertical-align:top;min-height:40px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-grid img{width:100%;height:170px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.photo-grid figcaption{font-size:12px;color:var(--muted);margin-top:4px}.no-print{margin-bottom:16px}.print-container{max-width:1000px}

.login-wrap,.install-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0f3b25,#14532d)}.login-card,.install-card{width:min(720px,100%);padding:30px}.install-card{width:min(780px,100%)}.login-card h1,.install-card h1{margin-top:0}.hint{color:var(--muted);font-size:12px;margin-top:18px}

@media (max-width:980px){.app-header-inner{padding:12px 14px;align-items:flex-start;flex-direction:column}.main-nav{width:100%;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:2px}.main-nav::-webkit-scrollbar{display:none}.main-nav a{flex:0 0 auto}.container{padding:18px 12px 28px}.page-head,.section-head{flex-direction:column;align-items:stretch}.actions .btn{flex:1;min-width:0}.stats-grid,.form-grid.two,.two-cols,.account-layout,.filter-grid,.report-pair-grid,.time-picker-grid,.picker-inline,.top-info-grid{grid-template-columns:1fr !important}.hero-card,.list-card,.report-row{display:grid}.row-actions,.actions{display:flex;flex-wrap:wrap}.card,.report-form-card{padding:16px}.section-block{padding:14px}.sticky-actions,.sticky-actions-split{display:grid;grid-template-columns:1fr;gap:10px}.sticky-actions .btn,.sticky-actions .actions .btn{width:100%}.photo-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.page-head h1,.hero-card h1{font-size:24px}.brand-mark{width:50px;height:50px;font-size:15px}.brand-text strong{font-size:14px}.brand-text span{font-size:11px}.brand-text em{font-size:11px}.report-pair-grid textarea{min-height:120px}.daily-table,.daily-table tbody,.daily-table tr,.daily-table th,.daily-table td{display:block;width:100%}.daily-table th{border-bottom:0}.daily-table td{margin-bottom:8px}.report-title{display:grid;gap:8px}}
@media print{body{background:#fff}.app-header,.alert,.no-print{display:none!important}.container{padding:0;max-width:none}.print-sheet{box-shadow:none;border-radius:0;border:0}.photo-grid{grid-template-columns:repeat(3,1fr)}.photo-grid img{height:140px}}


/* v19 basic section redesign */
.report-form-card{
  background:#eef3f6 !important;
  border-color:#c4d0da !important;
}
.section-block{
  background:#e3ebf1 !important;
  border-color:#bac8d3 !important;
}
.basic-section-v19{
  background:linear-gradient(180deg,#e8f0f5 0%,#dfe8ee 100%) !important;
}
.work-section-v19{
  background:#edf2f5 !important;
}
.basic-grid-v19{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.basic-grid-v19 label{
  background:rgba(255,255,255,.42);
  border:1px solid rgba(186,200,211,.75);
  border-radius:18px;
  padding:12px;
}
.basic-grid-v19 input{
  background:#fff;
  min-height:48px;
}
.field-site{
  grid-column:1 / -1;
}
.worktime-panel-v19{
  background:#f6faf8;
  border:1px solid #c2d2c9;
  border-radius:18px;
  padding:14px;
}
.worktime-title-v19{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.worktime-title-v19 strong{
  color:var(--green);
  font-size:15px;
}
.worktime-title-v19 span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.worktime-grid-v19{
  display:grid;
  grid-template-columns:1fr 1fr 1.25fr;
  gap:10px;
}
.worktime-grid-v19 label{
  gap:6px;
  font-size:14px;
}
.worktime-grid-v19 input{
  min-height:48px;
  background:#fff;
}
.worktime-grid-v19 #work_hours{
  background:#eaf4ee;
  border-color:#c4decf;
}
.report-pair-grid > label,
.quick-pick-panel{
  background:rgba(255,255,255,.42);
  border:1px solid rgba(186,200,211,.75);
  border-radius:18px;
  padding:12px;
}
.quick-pick-panel label{
  padding:0;
}
.report-pair-grid textarea{
  background:#fff;
}
@media (max-width:980px){
  .basic-grid-v19,
  .worktime-grid-v19{
    grid-template-columns:1fr !important;
  }
  .field-site{
    grid-column:auto;
  }
  .basic-grid-v19 label,
  .report-pair-grid > label,
  .quick-pick-panel{
    padding:10px;
  }
}


/* v20: compact form, fewer lines */
.report-form-card{
  background:#f3f6f8 !important;
  border-color:#cbd7e0 !important;
  padding:20px !important;
}
.section-block{
  background:#eef3f6 !important;
  border:0 !important;
  box-shadow:none !important;
}
.compact-basic-v20{
  padding:18px !important;
  border-radius:20px !important;
}
.compact-basic-grid-v20{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
  align-items:start;
}
.compact-basic-grid-v20 label{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.compact-basic-grid-v20 input{
  min-height:48px;
  background:#fff !important;
}
.worktime-compact-v20{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:170px 1fr 240px;
  gap:12px;
  align-items:end;
  padding:14px;
  border-radius:18px;
  background:#e3ece8;
  border:1px solid #c6d9cf;
}
.worktime-head-v20{
  display:grid;
  gap:4px;
  align-self:center;
}
.worktime-head-v20 strong{
  color:var(--green);
  font-size:15px;
}
.worktime-head-v20 span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.worktime-row-v20{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.worktime-row-v20 label{
  font-size:13px;
}
.worktime-compact-v20 #work_hours{
  min-height:48px;
  background:#f5faf7 !important;
  border-color:#bed5c8;
  font-weight:900;
}
.compact-work-v20{
  background:#f0f4f7 !important;
  padding:18px !important;
}
.compact-work-grid-v20{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.compact-work-grid-v20 > label,
.compact-work-grid-v20 > .quick-pick-panel{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.compact-work-grid-v20 textarea{
  min-height:130px;
  background:#fff !important;
}
.quick-pick-panel{
  border:0 !important;
  background:transparent !important;
}
.picker-inline{
  margin-top:8px;
}
.full-span{
  grid-column:1 / -1;
}
.section-block-title{
  margin-bottom:12px !important;
}
@media (max-width:980px){
  .compact-basic-grid-v20,
  .compact-work-grid-v20,
  .worktime-compact-v20{
    grid-template-columns:1fr !important;
  }
  .worktime-row-v20{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .report-form-card{
    padding:14px !important;
  }
  .compact-basic-v20,
  .compact-work-v20{
    padding:14px !important;
  }
  .worktime-row-v20{
    grid-template-columns:1fr !important;
  }
}


/* v21 vehicle/tool master table */
.master-add-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.master-add-card{
  background:#f7fafc;
}
.master-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
}
.master-card-head h2,
.master-table-head h2{
  margin:0;
}
.master-add-form{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:end;
}
.master-add-form .full-span{
  grid-column:1 / 3;
}
.master-add-form input{
  min-height:48px;
}
.master-table-card{
  background:#f4f7fa;
  border-color:#c7d3dd;
}
.master-table-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:14px;
}
.master-table-head p{
  margin:6px 0 0;
  color:var(--muted);
  font-weight:800;
}
.master-search{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:10px;
  align-items:end;
}
.master-live-search{
  margin-bottom:12px;
}
.master-live-search input{
  background:#fff;
  min-height:48px;
}
.master-table{
  display:grid;
  gap:8px;
}
.master-table-header,
.master-row{
  display:grid;
  grid-template-columns:90px minmax(180px,1.2fr) minmax(160px,.9fr) minmax(220px,1.2fr) 170px;
  gap:10px;
  align-items:center;
}
.master-table-header{
  padding:10px 12px;
  color:#41566d;
  font-size:13px;
  font-weight:900;
}
.master-row{
  padding:10px;
  background:#fff;
  border:1px solid #ccd8e2;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(16,35,61,.04);
}
.master-row input{
  min-height:44px;
  border-radius:12px;
  background:#fbfdfe;
  padding:10px 12px;
}
.type-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  min-height:34px;
  padding:0 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}
.type-badge.vehicle{
  background:#e6f3eb;
  color:#176c42;
}
.type-badge.tool{
  background:#edf2ff;
  color:#3157a4;
}
.master-row-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.master-row-actions .btn{
  min-height:42px;
  padding:0 10px;
}
.master-empty{
  padding:22px;
  background:#fff;
  border:1px dashed #bdcad5;
  border-radius:16px;
  color:var(--muted);
  font-weight:800;
  text-align:center;
}
@media (max-width:1100px){
  .master-table{
    overflow-x:auto;
    padding-bottom:4px;
  }
  .master-table-header,
  .master-row{
    min-width:980px;
  }
}
@media (max-width:760px){
  .master-add-grid{
    grid-template-columns:1fr;
  }
  .master-add-form,
  .master-add-form .full-span{
    grid-template-columns:1fr;
    grid-column:auto;
  }
  .master-table-head{
    display:grid;
  }
  .master-search{
    grid-template-columns:1fr;
  }
}


/* v22 memo popup for vehicle/tool table */
.memo-open-btn{
  width:100%;
  min-height:44px;
  border:1px solid #c9d6e0;
  border-radius:12px;
  background:#fff;
  color:#20364e;
  font-weight:800;
  text-align:left;
  padding:9px 12px;
  cursor:pointer;
  display:flex;
  align-items:center;
}
.memo-open-btn:hover{
  border-color:#96b4a4;
  background:#f7fbf8;
}
.memo-open-btn span{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.memo-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(12,25,38,.38);
  display:grid;
  place-items:center;
  padding:18px;
}
.memo-modal-backdrop[hidden]{
  display:none !important;
}
.memo-modal-card{
  width:min(680px,100%);
  background:#fff;
  border:1px solid #c7d4df;
  border-radius:22px;
  box-shadow:0 28px 80px rgba(10,25,40,.28);
  padding:20px;
}
.memo-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.memo-modal-head h2{
  margin:0;
  font-size:20px;
}
.memo-modal-close{
  width:42px;
  height:42px;
  border:1px solid #d4dee7;
  background:#f8fafc;
  border-radius:12px;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.memo-modal-card textarea{
  min-height:220px;
  border-radius:16px;
  background:#fbfdfe;
}
.memo-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
}
@media (max-width:760px){
  .memo-modal-card{
    padding:16px;
  }
  .memo-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .memo-modal-actions .btn{
    width:100%;
  }
}


/* v23 ajax/no-refresh feedback */
.ajax-toast{
  position:fixed;
  z-index:9999;
  right:20px;
  bottom:20px;
  min-width:220px;
  max-width:min(420px,calc(100vw - 40px));
  padding:14px 16px;
  border-radius:16px;
  font-weight:900;
  box-shadow:0 18px 45px rgba(16,35,61,.22);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.ajax-toast.show{
  opacity:1;
  transform:translateY(0);
}
.ajax-toast.ok{
  background:#176c42;
  color:#fff;
}
.ajax-toast.danger{
  background:#b42318;
  color:#fff;
}
button[disabled],
input[type="submit"][disabled]{
  opacity:.68;
  cursor:wait;
}
@media (max-width:640px){
  .ajax-toast{
    right:12px;
    left:12px;
    bottom:12px;
    max-width:none;
  }
}


/* v24 vehicle/tool picker modal */
body.modal-open{
  overflow:hidden;
}
.picker-modal-open{
  width:100%;
  justify-content:space-between;
  background:#fff;
  border-color:#b9c9d5;
}
.picker-modal-open::after{
  content:"検索して選択";
  font-size:12px;
  color:var(--muted);
  font-weight:800;
}
.select-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:250;
  background:rgba(9,24,38,.42);
  display:grid;
  place-items:center;
  padding:18px;
}
.select-modal-backdrop[hidden]{
  display:none !important;
}
.select-modal-card{
  width:min(760px,100%);
  max-height:min(760px,92vh);
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  background:#fff;
  border:1px solid #c8d5df;
  border-radius:24px;
  box-shadow:0 28px 80px rgba(9,24,38,.30);
  overflow:hidden;
}
.select-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px 12px;
  border-bottom:1px solid #e5edf3;
}
.select-modal-head h2{
  margin:0;
  font-size:20px;
}
.select-modal-close{
  width:42px;
  height:42px;
  border:1px solid #d2dee8;
  border-radius:13px;
  background:#f8fafc;
  font-size:24px;
  cursor:pointer;
}
.select-modal-search{
  margin:14px 20px;
  width:calc(100% - 40px);
  min-height:48px;
  background:#f8fbfc;
}
.select-modal-list{
  overflow:auto;
  padding:0 20px 20px;
  display:grid;
  gap:8px;
  max-height:520px;
}
.select-modal-item{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:54px;
  padding:12px 14px;
  border:1px solid #d6e1ea;
  border-radius:16px;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.select-modal-item:hover{
  background:#eef7f2;
  border-color:#a9cdb9;
}
.select-modal-item strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.select-modal-item span{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.select-modal-empty{
  padding:22px;
  color:var(--muted);
  border:1px dashed #cad6e0;
  border-radius:16px;
  text-align:center;
  font-weight:800;
}
@media (max-width:640px){
  .select-modal-backdrop{
    align-items:end;
    padding:0;
  }
  .select-modal-card{
    width:100%;
    max-height:82vh;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  .select-modal-list{
    max-height:58vh;
    padding:0 14px 14px;
  }
  .select-modal-head{
    padding:16px 16px 10px;
  }
  .select-modal-search{
    margin:12px 14px;
    width:calc(100% - 28px);
  }
  .select-modal-item{
    grid-template-columns:1fr;
    gap:4px;
  }
  .picker-modal-open::after{
    content:"";
  }
}

/* v25 dashboard redesign */
.dashboard-v25{
  display:grid;
  gap:16px;
  padding-top:4px;
}
.dash-hero-v25{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  border:1px solid #c5d2dc;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 18%,rgba(23,108,66,.10),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f4f8f6 100%);
  box-shadow:0 18px 42px rgba(16,35,61,.08);
}
.dash-hero-v25 h1{
  margin:0;
  font-size:30px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.dash-sub-v25{
  margin-top:10px;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
}
.dash-actions-v25{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.dash-stat-strip-v25{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.dash-stat-v25{
  padding:16px 18px;
  border:1px solid #c7d4df;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,35,61,.06);
  min-height:92px;
  display:grid;
  align-content:center;
  gap:4px;
}
.dash-stat-v25 span{
  color:#66788e;
  font-weight:900;
  font-size:13px;
}
.dash-stat-v25 strong{
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.03em;
  color:#10233d;
}
.dash-stat-user-v25 strong{
  font-size:24px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dash-recent-v25{
  border:1px solid #c7d4df;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(16,35,61,.07);
  padding:18px;
}
.dash-section-head-v25{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.dash-section-head-v25 h2{
  margin:0;
  font-size:22px;
}
.dash-section-head-v25 p{
  margin:5px 0 0;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
}
.dash-report-scroll-v25{
  max-height:320px;
  overflow:auto;
  border:1px solid #d2dde6;
  border-radius:18px;
  background:#f5f8fa;
}
.dash-report-table-v25{
  min-width:760px;
}
.dash-report-head-v25,
.dash-report-row-v25{
  display:grid;
  grid-template-columns:120px 1.15fr 1fr 1.5fr 72px;
  gap:12px;
  align-items:center;
}
.dash-report-head-v25{
  position:sticky;
  top:0;
  z-index:1;
  padding:11px 14px;
  color:#50677e;
  background:#edf3f6;
  border-bottom:1px solid #d2dde6;
  font-size:12px;
  font-weight:900;
}
.dash-report-row-v25{
  padding:13px 14px;
  color:#10233d;
  background:#fff;
  border-bottom:1px solid #e1e8ee;
  transition:background .15s ease;
}
.dash-report-row-v25:hover{
  background:#f8fbf9;
}
.dash-report-row-v25:last-child{
  border-bottom:0;
}
.dash-report-row-v25 div{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-weight:800;
}
.dash-date-v25{
  color:#41566d;
}
.dash-report-row-v25 span{
  color:var(--green);
  font-weight:900;
}
.dash-empty-v25{
  display:grid;
  place-items:center;
  min-height:110px;
  border:1px dashed #c7d4df;
  border-radius:18px;
  background:#f8fbfc;
  color:#66788e;
  font-weight:900;
}
@media (max-width:760px){
  .dashboard-v25{
    gap:14px;
  }
  .dash-hero-v25{
    padding:18px;
    border-radius:22px;
    display:grid;
  }
  .dash-hero-v25 h1{
    font-size:28px;
  }
  .dash-actions-v25{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .dash-actions-v25 .btn{
    width:100%;
  }
  .dash-stat-strip-v25{
    display:flex;
    overflow-x:auto;
    gap:10px;
    padding-bottom:2px;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .dash-stat-strip-v25::-webkit-scrollbar{display:none}
  .dash-stat-v25{
    min-width:142px;
    min-height:82px;
    padding:14px;
  }
  .dash-stat-v25 strong{
    font-size:26px;
  }
  .dash-stat-user-v25{
    min-width:170px;
  }
  .dash-stat-user-v25 strong{
    font-size:22px;
  }
  .dash-recent-v25{
    padding:14px;
    border-radius:22px;
  }
  .dash-section-head-v25 h2{
    font-size:20px;
  }
  .dash-report-scroll-v25{
    max-height:280px;
  }
  .dash-report-table-v25{
    min-width:0;
  }
  .dash-report-head-v25{
    display:none;
  }
  .dash-report-row-v25{
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 10px;
    padding:14px;
    white-space:normal;
  }
  .dash-report-row-v25 div{
    white-space:normal;
  }
  .dash-report-row-v25 div:nth-child(3),
  .dash-report-row-v25 div:nth-child(4){
    grid-column:1 / -1;
    color:#66788e;
    font-size:13px;
  }
  .dash-report-row-v25 div:nth-child(5){
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
  }
}

/* v26 dashboard + login polish */
.login-body-v26{
  overflow:hidden;
  background:
    radial-gradient(circle at 22% 18%, rgba(23,108,66,.10) 0%, rgba(23,108,66,0) 34%),
    radial-gradient(circle at 82% 86%, rgba(16,35,61,.08) 0%, rgba(16,35,61,0) 34%),
    linear-gradient(135deg,#eef4f7 0%,#e8f0f4 48%,#dfe9ee 100%);
}
.login-main-v26{
  max-width:none !important;
  width:100vw;
  height:100vh;
  min-height:100vh;
  padding:0 !important;
  margin:0 !important;
  display:block;
}
.login-screen-v26{
  min-height:100vh;
  width:100%;
  display:grid;
  place-items:center;
  padding:22px;
  background:
    linear-gradient(115deg, transparent 0 31%, rgba(255,255,255,.38) 31% 50%, transparent 50% 100%);
}
.login-card-v26{
  width:min(430px,100%);
  background:rgba(255,255,255,.96);
  border:1px solid #c9d6e0;
  border-radius:26px;
  box-shadow:0 28px 80px rgba(16,35,61,.18);
  padding:30px;
}
.login-brand-v26{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:22px;
  border-bottom:1px solid #e4ebf0;
  margin-bottom:22px;
}
.login-logo-v26{
  width:56px;
  height:56px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,var(--green),var(--green-dark));
  color:#fff;
  font-weight:900;
  box-shadow:0 16px 30px rgba(23,108,66,.20);
  flex:0 0 auto;
}
.login-kicker-v26{
  color:var(--green);
  font-size:12px;
  letter-spacing:.14em;
  font-weight:900;
  line-height:1;
  margin-bottom:6px;
}
.login-brand-v26 h1{
  margin:0;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.03em;
}
.login-brand-v26 p{
  margin:6px 0 0;
  color:var(--muted);
  font-weight:800;
  font-size:13px;
}
.login-form-v26{
  gap:18px;
}
.login-form-v26 input{
  min-height:56px;
  background:#fbfdfe;
}
.login-form-v26 .btn{
  min-height:56px;
  border-radius:16px;
  font-size:17px;
}
.login-body-v26 .alert{
  position:fixed;
  z-index:10;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  width:min(430px,calc(100vw - 32px));
}

.dashboard-v25{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  gap:16px;
}
.dash-hero-v25{
  padding:22px 24px;
  border-radius:26px;
  background:linear-gradient(135deg,#ffffff 0%,#f2f8f5 100%);
}
.dash-hero-v25 h1{
  font-size:28px;
}
.dash-sub-v25{
  margin-top:8px;
}
.dash-actions-v25 .btn{
  min-height:46px;
  min-width:118px;
  border-radius:15px;
}
.dash-stat-strip-v25{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.dash-stat-v25{
  min-height:86px;
  padding:14px 16px;
  border-radius:20px;
  background:linear-gradient(180deg,#fff 0%,#f9fbfc 100%);
}
.dash-stat-v25 strong{
  font-size:28px;
}
.dash-stat-user-v25 strong{
  font-size:22px;
}
.dash-recent-v25{
  border-radius:24px;
  padding:16px;
}
.dash-report-scroll-v25{
  max-height:260px;
}
.dash-empty-v25{
  min-height:120px;
}
@media (max-width:760px){
  .container{padding-left:14px;padding-right:14px;}
  .dashboard-v25{
    gap:12px;
  }
  .dash-hero-v25{
    padding:16px;
    border-radius:22px;
  }
  .dash-hero-v25 h1{
    font-size:25px;
  }
  .dash-sub-v25{
    font-size:12px;
  }
  .dash-actions-v25{
    display:flex;
    gap:8px;
    margin-top:12px;
  }
  .dash-actions-v25 .btn{
    flex:1;
    min-width:0;
    min-height:44px;
    padding:0 10px;
    font-size:15px;
  }
  .dash-stat-strip-v25{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    overflow:visible;
    padding:0;
  }
  .dash-stat-v25{
    min-width:0;
    min-height:76px;
    padding:11px 10px;
    border-radius:18px;
  }
  .dash-stat-v25 span{
    font-size:12px;
  }
  .dash-stat-v25 strong{
    font-size:23px;
  }
  .dash-stat-user-v25{
    min-width:0;
  }
  .dash-stat-user-v25 strong{
    font-size:18px;
    max-width:100%;
  }
  .dash-recent-v25{
    padding:14px;
    border-radius:22px;
  }
  .dash-section-head-v25{
    align-items:flex-start;
  }
  .dash-section-head-v25 .btn{
    width:auto;
    flex:0 0 auto;
    min-width:74px;
  }
  .dash-report-scroll-v25{
    max-height:250px;
  }
  .dash-empty-v25{
    min-height:118px;
  }
}
@media (max-width:520px){
  .login-screen-v26{
    padding:16px;
  }
  .login-card-v26{
    padding:24px 18px;
    border-radius:22px;
  }
  .login-logo-v26{
    width:52px;
    height:52px;
    border-radius:16px;
  }
  .login-brand-v26 h1{
    font-size:22px;
  }
  .dash-hero-v25 h1{
    font-size:24px;
  }
}


/* v28 report list clean rebuild */
.reports-v28-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:18px;
}
.reports-v28-head h1{
  margin:0;
  font-size:30px;
  line-height:1.15;
}
.reports-v28-head p:not(.eyebrow){
  margin:8px 0 0;
  color:#65778b;
  font-weight:800;
}
.reports-v28-head .actions .btn{
  min-width:118px;
}
.reports-v28-filter{
  padding:18px;
  margin-bottom:16px;
  background:#fff;
}
.reports-v28-filter-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.5fr) minmax(160px,.8fr) minmax(160px,.8fr) 96px;
  gap:12px;
  align-items:end;
}
.reports-v28-filter label{
  gap:7px;
}
.reports-v28-filter input{
  min-height:48px;
  border-radius:14px;
}
.reports-v28-panel{
  background:#fff;
  border:1px solid #c6d2dc;
  border-radius:22px;
  box-shadow:0 16px 40px rgba(16,35,61,.08);
  padding:16px;
}
.reports-v28-table{
  display:grid;
  gap:8px;
}
.reports-v28-table-head,
.reports-v28-row{
  display:grid;
  grid-template-columns:120px minmax(160px,1fr) minmax(160px,1fr) minmax(220px,1.3fr) 160px;
  gap:10px;
  align-items:center;
}
.reports-v28-table-head{
  padding:0 10px 4px;
  color:#637589;
  font-size:12px;
  font-weight:900;
}
.reports-v28-row{
  min-height:64px;
  padding:10px;
  border:1px solid #d4dee7;
  border-radius:16px;
  background:#fbfdfe;
}
.reports-v28-row strong{
  font-size:15px;
  color:#10233d;
}
.reports-v28-row span{
  color:#43576c;
  word-break:break-word;
}
.reports-v28-row small{
  display:block;
  margin-top:3px;
  color:#77899c;
  font-weight:800;
}
.reports-v28-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.reports-v28-actions .btn{
  min-height:40px;
  min-width:68px;
  padding:0 12px;
  border-radius:12px;
}
.reports-v28-empty{
  min-height:96px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:6px;
  border:1px dashed #c8d5df;
  border-radius:18px;
  background:#f8fbfd;
  color:#607286;
  font-weight:800;
}
.reports-v28-empty strong{
  color:#10233d;
  font-size:18px;
}
.reports-v28-pages{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.reports-v28-pages a{
  min-width:40px;
  height:40px;
  padding:0 13px;
  border-radius:12px;
  border:1px solid #c6d2dc;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.reports-v28-pages a.current{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.reports-v28-pages a.disabled{
  pointer-events:none;
  opacity:.42;
}
@media (max-width:860px){
  .reports-v28-head{
    display:grid;
    align-items:start;
  }
  .reports-v28-head .actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .reports-v28-filter-grid{
    grid-template-columns:1fr 1fr;
  }
  .reports-v28-filter-grid label:first-of-type{
    grid-column:1 / -1;
  }
  .reports-v28-filter-grid button{
    grid-column:1 / -1;
    width:100%;
  }
  .reports-v28-table-head{
    display:none;
  }
  .reports-v28-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:14px;
  }
  .reports-v28-row > div{
    display:grid;
    gap:4px;
  }
  .reports-v28-row > div::before{
    content:attr(data-label);
    color:#74869a;
    font-size:12px;
    font-weight:900;
  }
  .reports-v28-actions{
    justify-content:stretch;
    grid-template-columns:1fr 1fr;
    display:grid;
  }
}
@media (max-width:560px){
  .reports-v28-head h1{
    font-size:26px;
  }
  .reports-v28-filter-grid{
    grid-template-columns:1fr;
  }
  .reports-v28-panel,
  .reports-v28-filter{
    padding:14px;
  }
}

/* v34 report list redesign */
.reports-v34-hero,
.reports-v34-filter,
.reports-v34-results{
  border-radius:26px;
  border:1px solid #c8d5df;
  box-shadow:0 18px 42px rgba(16,35,61,.08);
}
.reports-v34-hero{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:24px;
  background:linear-gradient(135deg,#f8fbfc 0%,#eef5f1 100%);
}
.reports-v34-hero h1{
  margin:0;
  font-size:42px;
  line-height:1.08;
}
.reports-v34-sub{
  margin:10px 0 0;
  color:#6c8095;
  font-weight:700;
}
.reports-v34-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.reports-v34-meta-item{
  min-width:120px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid #d5dfe7;
  background:rgba(255,255,255,.78);
}
.reports-v34-meta-item span{
  display:block;
  font-size:12px;
  color:#6b7d90;
  font-weight:900;
  margin-bottom:6px;
}
.reports-v34-meta-item strong{
  font-size:22px;
  color:#10233d;
}
.reports-v34-hero-actions{
  display:grid;
  gap:10px;
  width:160px;
  flex:0 0 160px;
}
.reports-v34-hero-actions .btn{
  width:100%;
}
.reports-v34-filter{
  padding:22px;
  background:#fbfdfe;
}
.reports-v34-filter-head{
  margin-bottom:16px;
}
.reports-v34-filter-head h2,
.reports-v34-results-head h2{
  margin:0;
  font-size:24px;
}
.reports-v34-filter-head p,
.reports-v34-results-head p{
  margin:8px 0 0;
  color:#708396;
  font-weight:700;
}
.reports-v34-filter-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.6fr) repeat(2,minmax(180px,1fr)) auto;
  gap:14px;
  align-items:end;
}
.reports-v34-field{
  gap:8px;
}
.reports-v34-field span{
  font-size:13px;
  font-weight:900;
  color:#24415b;
}
.reports-v34-field input{
  background:#fff;
  min-height:50px;
  border-radius:16px;
}
.reports-v34-filter-actions{
  display:flex;
  gap:10px;
  align-items:end;
}
.reports-v34-filter-actions .btn{
  min-width:94px;
}
.reports-v34-results{
  padding:22px;
  background:#fbfdfe;
}
.reports-v34-results-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.reports-v34-table-head{
  display:grid;
  grid-template-columns:130px minmax(220px,1.2fr) 160px minmax(240px,1.6fr) 170px;
  gap:12px;
  padding:0 12px 10px;
  color:#6d8095;
  font-size:12px;
  font-weight:900;
}
.reports-v34-list{
  display:grid;
  gap:12px;
}
.reports-v34-row{
  display:grid;
  grid-template-columns:130px minmax(220px,1.2fr) 160px minmax(240px,1.6fr) 170px;
  gap:12px;
  align-items:center;
  padding:16px 14px;
  background:#fff;
  border:1px solid #d2dde6;
  border-radius:20px;
}
.reports-v34-col{
  min-width:0;
}
.reports-v34-col strong,
.reports-v34-date strong{
  display:block;
  color:#10233d;
  font-size:16px;
  line-height:1.35;
}
.reports-v34-col span,
.reports-v34-col small{
  display:block;
  color:#52667b;
  margin-top:4px;
  word-break:break-word;
}
.reports-v34-col small{
  font-size:12px;
  color:#7b8da0;
  font-weight:800;
}
.reports-v34-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.reports-v34-actions .btn{
  min-height:40px;
  min-width:72px;
  border-radius:12px;
}
.reports-v34-empty{
  display:grid;
  gap:8px;
  place-items:center;
  padding:36px 18px;
  border-radius:22px;
  border:1px dashed #cad6df;
  background:linear-gradient(180deg,#fdfefe 0%,#f6fafc 100%);
  text-align:center;
  color:#62758a;
}
.reports-v34-empty strong{
  font-size:20px;
  color:#10233d;
}
.reports-v34-pages{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}
.reports-v34-pages a{
  min-width:42px;
  height:42px;
  padding:0 14px;
  border-radius:13px;
  border:1px solid #c9d5de;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#29415a;
  font-weight:900;
}
.reports-v34-pages a.current{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.reports-v34-pages a.disabled{
  pointer-events:none;
  opacity:.42;
}
@media (max-width:980px){
  .reports-v34-hero{
    display:grid;
  }
  .reports-v34-hero h1{
    font-size:34px;
  }
  .reports-v34-hero-actions{
    width:100%;
    flex:0 0 auto;
    grid-template-columns:1fr 1fr;
  }
  .reports-v34-filter-grid{
    grid-template-columns:1fr 1fr;
  }
  .reports-v34-field-keyword,
  .reports-v34-filter-actions{
    grid-column:1 / -1;
  }
  .reports-v34-filter-actions{
    justify-content:flex-start;
  }
  .reports-v34-table-head{
    display:none;
  }
  .reports-v34-row{
    grid-template-columns:1fr;
    gap:10px;
    padding:16px;
  }
  .reports-v34-col::before,
  .reports-v34-actions::before{
    content:attr(data-label);
    display:block;
    font-size:12px;
    font-weight:900;
    color:#728599;
    margin-bottom:3px;
  }
  .reports-v34-actions{
    justify-content:stretch;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .reports-v34-hero,
  .reports-v34-filter,
  .reports-v34-results{
    padding:16px;
    border-radius:22px;
  }
  .reports-v34-hero h1{
    font-size:28px;
  }
  .reports-v34-sub{
    font-size:13px;
  }
  .reports-v34-meta{
    display:grid;
    grid-template-columns:1fr;
  }
  .reports-v34-hero-actions,
  .reports-v34-filter-grid,
  .reports-v34-filter-actions{
    grid-template-columns:1fr;
    display:grid;
  }
  .reports-v34-filter-actions .btn,
  .reports-v34-hero-actions .btn{
    width:100%;
  }
  .reports-v34-results-head h2,
  .reports-v34-filter-head h2{
    font-size:20px;
  }
  .reports-v34-empty{
    padding:26px 14px;
  }
}

/* v35 reports page compact redesign */
.reports-v35-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:16px;
}
.reports-v35-page-head h1{
  margin:0;
  font-size:34px;
  line-height:1.12;
}
.reports-v35-page-head p:not(.eyebrow){
  margin:8px 0 0;
  color:#65788d;
  font-weight:800;
}
.reports-v35-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.reports-v35-actions .btn{
  min-width:112px;
}
.reports-v35-search-card{
  padding:18px;
  border-radius:22px;
  background:#fbfdfe;
  margin-bottom:16px;
}
.reports-v35-search{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) minmax(160px,.8fr) minmax(160px,.8fr) auto;
  gap:12px;
  align-items:end;
}
.reports-v35-search label{
  gap:7px;
}
.reports-v35-search label span{
  font-size:13px;
  font-weight:900;
  color:#263d56;
}
.reports-v35-search input{
  min-height:48px;
  border-radius:14px;
  background:#fff;
}
.reports-v35-search-actions{
  display:flex;
  gap:8px;
}
.reports-v35-search-actions .btn{
  min-width:86px;
}
.reports-v35-list-card{
  padding:18px;
  border-radius:22px;
  background:#fbfdfe;
}
.reports-v35-list-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:12px;
}
.reports-v35-list-head h2{
  margin:0;
  font-size:22px;
}
.reports-v35-list-head span{
  color:#65788d;
  font-weight:900;
}
.reports-v35-table-head,
.reports-v35-row{
  display:grid;
  grid-template-columns:120px minmax(180px,1.1fr) minmax(160px,.95fr) minmax(220px,1.35fr) 150px;
  gap:10px;
  align-items:center;
}
.reports-v35-table-head{
  padding:0 10px 8px;
  color:#6b7d90;
  font-size:12px;
  font-weight:900;
}
.reports-v35-list{
  display:grid;
  gap:10px;
}
.reports-v35-row{
  padding:12px;
  border:1px solid #d3dde6;
  border-radius:16px;
  background:#fff;
}
.reports-v35-row strong{
  color:#10233d;
  font-size:15px;
}
.reports-v35-row span,
.reports-v35-row small{
  color:#53677c;
  word-break:break-word;
}
.reports-v35-row small{
  display:block;
  margin-top:3px;
  color:#7d8ea0;
  font-weight:800;
}
.reports-v35-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.reports-v35-row-actions .btn{
  min-width:66px;
  min-height:38px;
  padding:0 12px;
  border-radius:12px;
}
.reports-v35-empty{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:14px 16px;
  border:1px dashed #c9d5de;
  border-radius:16px;
  background:#f8fbfd;
  color:#66798e;
  font-weight:800;
}
.reports-v35-empty strong{
  color:#10233d;
}
.reports-v35-pages{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.reports-v35-pages a{
  min-width:40px;
  height:40px;
  padding:0 13px;
  border-radius:12px;
  border:1px solid #c6d2dc;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.reports-v35-pages a.current{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.reports-v35-pages a.disabled{
  pointer-events:none;
  opacity:.42;
}
@media (max-width:980px){
  .reports-v35-page-head{
    display:grid;
    align-items:start;
  }
  .reports-v35-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .reports-v35-search{
    grid-template-columns:1fr 1fr;
  }
  .reports-v35-keyword,
  .reports-v35-search-actions{
    grid-column:1 / -1;
  }
  .reports-v35-table-head{
    display:none;
  }
  .reports-v35-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:14px;
  }
  .reports-v35-row > div{
    display:grid;
    gap:3px;
  }
  .reports-v35-row > div::before{
    content:attr(data-label);
    color:#75879a;
    font-size:12px;
    font-weight:900;
  }
  .reports-v35-row-actions{
    justify-content:stretch;
    grid-template-columns:1fr 1fr;
    display:grid;
  }
}
@media (max-width:640px){
  .reports-v35-page-head h1{
    font-size:28px;
  }
  .reports-v35-search,
  .reports-v35-actions,
  .reports-v35-search-actions{
    grid-template-columns:1fr;
  }
  .reports-v35-search-card,
  .reports-v35-list-card{
    padding:16px;
  }
  .reports-v35-list-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .reports-v35-empty{
    display:grid;
    gap:4px;
  }
}

/* v36: reports mobile actions inline */
@media (max-width:640px){
  .reports-v35-actions{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:10px;
  }
  .reports-v35-actions .btn{
    flex:1 1 0;
    min-width:0;
    width:auto;
    padding-left:10px;
    padding-right:10px;
    white-space:nowrap;
  }
}

/* v37: masters page mobile redesign */
@media (max-width:760px){
  .master-table-card{
    padding:16px;
    border-radius:22px;
    background:#f5f8fb;
  }
  .master-table-head{
    display:grid;
    gap:12px;
    align-items:stretch;
    margin-bottom:12px;
  }
  .master-table-head h2{
    font-size:34px;
    line-height:1.1;
  }
  .master-table-head p{
    margin-top:4px;
    font-size:15px;
  }
  .master-search{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .master-search .btn,
  .master-live-search input{
    width:100%;
  }
  .master-table{
    gap:12px;
    overflow:visible !important;
    padding-bottom:0;
  }
  .master-table-header{
    display:none !important;
  }
  .master-row{
    min-width:0 !important;
    grid-template-columns:1fr !important;
    gap:10px;
    align-items:stretch;
    padding:14px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(16,35,61,.05);
  }
  .master-row > div:nth-of-type(1){
    display:flex;
    justify-content:flex-start;
    align-items:center;
    margin-bottom:2px;
  }
  .master-row > div:nth-of-type(2),
  .master-row > div:nth-of-type(3),
  .master-row > div:nth-of-type(4){
    display:grid;
    gap:6px;
  }
  .master-row > div:nth-of-type(2)::before,
  .master-row > div:nth-of-type(3)::before,
  .master-row > div:nth-of-type(4)::before{
    display:block;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    color:#6a7d91;
  }
  .master-row > div:nth-of-type(2)::before{ content:"名称"; }
  .master-row > div:nth-of-type(3)::before{ content:"番号"; }
  .master-row > div:nth-of-type(4)::before{ content:"メモ"; }
  .master-row input,
  .memo-open-btn{
    width:100%;
    min-width:0;
  }
  .memo-open-btn{
    justify-content:flex-start;
    text-align:left;
    padding:12px 14px;
    background:#fbfdff;
  }
  .master-row-actions{
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:2px;
  }
  .master-row-actions .btn{
    width:100%;
  }
  .type-badge{
    min-height:32px;
    font-size:12px;
  }
  .master-empty{
    padding:18px 14px;
    font-size:14px;
  }
}

/* v38: masters mobile compact list */
@media (max-width:760px){
  .master-table-card{
    padding:14px;
    border-radius:20px;
  }

  .master-table{
    max-height:62vh;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-right:3px;
    gap:8px;
  }

  .master-table::-webkit-scrollbar{
    width:6px;
  }
  .master-table::-webkit-scrollbar-thumb{
    background:#b8c7d3;
    border-radius:999px;
  }

  .master-row{
    min-width:0 !important;
    grid-template-columns:54px 1fr 1fr !important;
    grid-template-areas:
      "type name name"
      "type number memo"
      "actions actions actions";
    gap:8px !important;
    padding:10px !important;
    border-radius:16px !important;
  }

  .master-row > div:nth-of-type(1){
    grid-area:type;
    align-self:stretch;
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin:0 !important;
  }

  .master-row > div:nth-of-type(2){
    grid-area:name;
  }

  .master-row > div:nth-of-type(3){
    grid-area:number;
  }

  .master-row > div:nth-of-type(4){
    grid-area:memo;
  }

  .master-row > div:nth-of-type(5),
  .master-row-actions{
    grid-area:actions;
  }

  .master-row > div:nth-of-type(2)::before,
  .master-row > div:nth-of-type(3)::before,
  .master-row > div:nth-of-type(4)::before{
    display:none !important;
    content:none !important;
  }

  .type-badge{
    min-width:42px;
    width:42px;
    min-height:42px;
    height:42px;
    padding:0;
    border-radius:14px;
    font-size:12px;
  }

  .master-row input,
  .memo-open-btn{
    min-height:42px !important;
    height:42px;
    border-radius:13px !important;
    font-size:15px;
    padding:8px 10px !important;
  }

  .memo-open-btn{
    justify-content:center;
    text-align:center;
    background:#f8fbfd;
  }

  .memo-open-btn span{
    font-size:14px;
  }

  .master-row-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:0 !important;
  }

  .master-row-actions .btn{
    min-height:40px !important;
    height:40px;
    border-radius:13px;
  }

  .master-live-search{
    margin-bottom:10px;
  }

  .master-live-search input,
  .master-search input{
    min-height:44px;
    height:44px;
  }
}

@media (max-width:420px){
  .master-row{
    grid-template-columns:48px 1fr 1fr !important;
    gap:7px !important;
    padding:9px !important;
  }

  .type-badge{
    width:38px;
    min-width:38px;
    height:38px;
    min-height:38px;
    font-size:11px;
  }

  .master-row input,
  .memo-open-btn{
    min-height:40px !important;
    height:40px;
    font-size:14px;
  }
}

/* v39 employees pc + mobile optimization */
.employees-v39-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.employees-v39-hero h1{
  margin:0;
  font-size:34px;
  line-height:1.05;
}
.employees-v39-hero p{
  margin:10px 0 0;
  color:var(--muted);
  font-weight:700;
}
.employees-v39-card{
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
  border:1px solid #d4e0e8;
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}
.employees-v39-add-card,
.employees-v39-list-card{
  padding:24px;
}
.employees-v39-head-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.employees-v39-head-row h2{
  margin:0 0 4px;
  font-size:28px;
  line-height:1.1;
}
.employees-v39-head-row span{
  color:var(--muted);
  font-size:14px;
  font-weight:800;
}
.employees-v39-add-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr .85fr 1fr 130px;
  gap:12px;
  align-items:end;
}
.employees-v39-add-grid input,
.employees-v39-add-grid select,
.employees-v39-filter input,
.employees-v39-filter select{
  min-height:52px;
  background:#fbfdfe;
  border:1px solid #cad8e2;
  border-radius:15px;
}
.employees-v39-add-grid .btn,
.employees-v39-filter .btn{
  min-height:52px;
  border-radius:15px;
}
.employees-v39-filter{
  display:grid;
  grid-template-columns:1.5fr .85fr 120px;
  gap:12px;
  align-items:end;
  margin-bottom:18px;
  padding:16px;
  border-radius:18px;
  background:#eef4f7;
  border:1px solid #d3e0e8;
}
.employees-v39-table-wrap{
  overflow:auto;
}
.employees-v39-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}
.employees-v39-table thead th{
  background:#e9f0f4;
  color:#607286;
  font-size:12px;
  font-weight:900;
  padding:14px 16px;
  border:0;
  border-bottom:1px solid #d5e0e8;
}
.employees-v39-table thead th:first-child{border-top-left-radius:14px}
.employees-v39-table thead th:last-child{border-top-right-radius:14px}
.employees-v39-table tbody td{
  background:#fff;
  border-top:1px solid #d8e2ea;
  border-bottom:1px solid #d8e2ea;
  padding:16px;
  vertical-align:middle;
}
.employees-v39-table tbody td:first-child{
  border-left:1px solid #d8e2ea;
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}
.employees-v39-table tbody td:last-child{
  border-right:1px solid #d8e2ea;
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}
.employees-v39-table tbody tr:hover td{
  background:#fbfefe;
}
.employees-v39-table strong{
  font-size:17px;
}
.employees-v39-mobile-list{display:none}
.employees-v39-empty{
  min-height:140px;
  border:1px dashed #c7d3dc;
  border-radius:18px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:6px;
  color:#6c7f92;
  font-weight:800;
  background:#fbfdfe;
}
.employees-v39-empty strong{font-size:18px;color:var(--text)}
.employees-v39-pager{margin-top:18px}

@media (max-width:1080px){
  .employees-v39-add-grid{
    grid-template-columns:1fr 1fr;
  }
  .employees-v39-add-grid .btn{
    grid-column:1 / -1;
  }
}

@media (max-width:760px){
  .employees-v39-hero{
    display:grid;
    gap:8px;
    margin-bottom:14px;
  }
  .employees-v39-hero h1{
    font-size:28px;
  }
  .employees-v39-hero p{
    margin-top:6px;
    font-size:14px;
    line-height:1.5;
  }
  .employees-v39-add-card,
  .employees-v39-list-card{
    padding:18px 16px;
    border-radius:22px;
  }
  .employees-v39-head-row{
    display:grid;
    gap:6px;
    margin-bottom:12px;
  }
  .employees-v39-head-row h2{
    font-size:18px;
  }
  .employees-v39-head-row span{
    font-size:13px;
  }
  .employees-v39-add-grid,
  .employees-v39-filter{
    grid-template-columns:1fr;
  }
  .employees-v39-filter{
    padding:14px;
    margin-bottom:14px;
  }
  .employees-v39-filter .btn,
  .employees-v39-add-grid .btn{
    width:100%;
  }
  .employees-v39-desktop-table{
    display:none;
  }
  .employees-v39-mobile-list{
    display:grid;
    gap:10px;
  }
  .employees-v39-mobile-item{
    border:1px solid #d8e2ea;
    border-radius:16px;
    background:#fff;
    padding:14px;
    box-shadow:0 6px 16px rgba(15,23,42,.04);
  }
  .employees-v39-mobile-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }
  .employees-v39-mobile-top strong{
    font-size:20px;
    line-height:1.1;
  }
  .employees-v39-mobile-name{
    font-size:18px;
    font-weight:900;
    color:var(--text);
    margin-bottom:10px;
  }
  .employees-v39-mobile-login-label{
    color:#7a8998;
    font-size:11px;
    font-weight:900;
    margin-bottom:4px;
  }
  .employees-v39-mobile-login-value{
    font-size:14px;
    line-height:1.45;
    color:var(--text);
    word-break:break-word;
    border-top:1px solid #e3eaf0;
    padding-top:10px;
  }
}

/* v40 employee delete action */
.employees-v40-table th:last-child,
.employees-v40-table td:last-child{
  width:110px;
  text-align:right;
}
.employee-v40-delete-form{
  margin:0;
  display:inline-flex;
}
.employee-v40-delete-btn,
.btn.danger.employee-v40-delete-btn{
  min-height:38px;
  padding:0 14px;
  border-radius:12px;
  border-color:#f0b8b8;
  background:#fff7f7;
  color:#b42318;
  box-shadow:none;
}
.employee-v40-delete-btn:hover,
.btn.danger.employee-v40-delete-btn:hover{
  background:#ffecec;
  border-color:#e49a9a;
}
.employee-v40-self{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#eef4f7;
  color:#6c7f92;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.employee-v40-mobile-actions{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e3eaf0;
}
.employee-v40-mobile-actions .employee-v40-delete-form,
.employee-v40-mobile-actions .employee-v40-delete-btn{
  width:100%;
}
.employee-v40-mobile-actions .employee-v40-delete-btn{
  min-height:44px;
}
@media (max-width:760px){
  .employee-v40-mobile-actions .employee-v40-self{
    width:100%;
  }
}

/* v41: two role system */
.role-chip-v29.is-staff{
  background:#eef4f7;
  color:#355069;
  border-color:#d5e0e8;
}
.role-chip-v29.is-admin{
  background:#e7efff;
  color:#274c9a;
  border-color:#cddcff;
}

/* v42: logs mobile card redesign */
@media (max-width:900px){
  .logs-v32-head{
    margin-bottom:14px;
  }

  .logs-v32-head h1{
    font-size:30px;
    line-height:1.12;
  }

  .logs-v32-head p:not(.eyebrow){
    font-size:15px;
    margin-top:8px;
  }

  .logs-v32-card{
    padding:14px !important;
    border-radius:22px !important;
  }

  .logs-v32-table-wrap{
    overflow:visible !important;
  }

  .logs-v32-table,
  .logs-v32-table thead,
  .logs-v32-table tbody,
  .logs-v32-table tr,
  .logs-v32-table th,
  .logs-v32-table td{
    display:block !important;
    width:100% !important;
  }

  .logs-v32-table thead{
    display:none !important;
  }

  .logs-v32-table{
    border-spacing:0 !important;
  }

  .logs-v32-table tbody tr{
    display:grid !important;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "time action"
      "user target"
      "detail detail"
      "restore restore";
    gap:10px 12px;
    margin:0 0 10px !important;
    padding:14px !important;
    border:1px solid #d7e1e9;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 20px rgba(16,35,61,.05);
  }

  .logs-v32-table tbody td{
    border:0 !important;
    padding:0 !important;
    background:transparent !important;
    border-radius:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere;
    line-height:1.45;
  }

  .logs-v32-table tbody td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#7a8998;
    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
  }

  .logs-v32-table tbody td:nth-child(1){
    grid-area:time;
    font-weight:900;
    font-size:15px;
  }

  .logs-v32-table tbody td:nth-child(2){
    grid-area:action;
    justify-self:end;
    text-align:right;
  }

  .logs-v32-table tbody td:nth-child(2)::before{
    text-align:right;
  }

  .logs-v32-table tbody td:nth-child(3){
    grid-area:user;
  }

  .logs-v32-table tbody td:nth-child(4){
    grid-area:target;
    text-align:right;
  }

  .logs-v32-table tbody td:nth-child(4)::before{
    text-align:right;
  }

  .logs-v32-table tbody td:nth-child(5){
    grid-area:detail;
    padding-top:10px !important;
    border-top:1px solid #e5ecf1 !important;
  }

  .logs-v32-table tbody td:nth-child(6){
    grid-area:restore;
  }

  .log-action-v32{
    min-height:30px;
    padding:0 11px;
    white-space:nowrap;
    writing-mode:horizontal-tb !important;
    word-break:keep-all;
  }

  .log-restore-form-v32 .btn{
    width:100%;
    min-height:42px;
  }

  .log-state-v32{
    display:block;
    text-align:center;
    padding:10px 12px;
    border-radius:13px;
    background:#f5f8fa;
  }

  .logs-v32-pager{
    margin-top:14px;
  }
}

@media (max-width:420px){
  .logs-v32-table tbody tr{
    grid-template-columns:1fr;
    grid-template-areas:
      "time"
      "action"
      "user"
      "target"
      "detail"
      "restore";
  }

  .logs-v32-table tbody td:nth-child(2),
  .logs-v32-table tbody td:nth-child(4){
    justify-self:stretch;
    text-align:left;
  }

  .logs-v32-table tbody td:nth-child(2)::before,
  .logs-v32-table tbody td:nth-child(4)::before{
    text-align:left;
  }

  .log-action-v32{
    width:max-content;
  }
}

/* v43: logs pagination style fix */
.logs-v32-pager,
.logs-v32-card .logs-v32-pager,
nav.logs-v32-pager{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:18px auto 0 !important;
  padding:12px 0 0 !important;
  border-top:1px solid #e3eaf0 !important;
}

.logs-v32-pager a,
.logs-v32-card .logs-v32-pager a,
nav.logs-v32-pager a{
  min-width:42px !important;
  height:42px !important;
  padding:0 14px !important;
  border-radius:13px !important;
  border:1px solid #c7d3dc !important;
  background:#ffffff !important;
  color:#20364f !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 6px 14px rgba(16,35,61,.04) !important;
}

.logs-v32-pager a.current,
.logs-v32-card .logs-v32-pager a.current,
nav.logs-v32-pager a.current{
  background:var(--green,#176c42) !important;
  border-color:var(--green,#176c42) !important;
  color:#ffffff !important;
  box-shadow:0 8px 18px rgba(23,108,66,.18) !important;
}

.logs-v32-pager a.disabled,
.logs-v32-card .logs-v32-pager a.disabled,
nav.logs-v32-pager a.disabled{
  pointer-events:none !important;
  opacity:.4 !important;
  background:#f4f7f9 !important;
  box-shadow:none !important;
}

@media (max-width:900px){
  .logs-v32-pager,
  .logs-v32-card .logs-v32-pager,
  nav.logs-v32-pager{
    gap:7px !important;
    margin-top:14px !important;
    padding-top:12px !important;
  }

  .logs-v32-pager a,
  .logs-v32-card .logs-v32-pager a,
  nav.logs-v32-pager a{
    min-width:40px !important;
    height:40px !important;
    padding:0 12px !important;
    border-radius:12px !important;
    font-size:14px !important;
  }
}

/* v44: logs count badge + compact mobile rows */
.logs-v32-head{
  align-items:flex-start !important;
}
.logs-v32-head p:not(.eyebrow){
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:34px;
  padding:0 12px;
  border:1px solid #cbd8e2;
  border-radius:999px;
  background:#fff;
  color:#41566d !important;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(16,35,61,.05);
}

@media (max-width:900px){
  .logs-v32-head{
    margin-bottom:12px !important;
  }
  .logs-v32-head h1{
    font-size:28px !important;
  }
  .logs-v32-head p:not(.eyebrow){
    min-height:30px;
    padding:0 10px;
    font-size:12px;
    margin-top:8px !important;
  }

  .logs-v32-card{
    padding:12px !important;
  }

  .logs-v32-table tbody tr{
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "time action"
      "user target"
      "detail restore" !important;
    gap:8px 10px !important;
    padding:12px !important;
    margin-bottom:8px !important;
    border-radius:16px !important;
  }

  .logs-v32-table tbody td{
    line-height:1.35 !important;
    font-size:14px;
  }

  .logs-v32-table tbody td::before{
    display:inline !important;
    margin:0 6px 0 0 !important;
    font-size:11px !important;
  }

  .logs-v32-table tbody td:nth-child(1){
    grid-area:time !important;
    font-size:14px !important;
    font-weight:900;
  }
  .logs-v32-table tbody td:nth-child(1)::before{
    display:none !important;
  }

  .logs-v32-table tbody td:nth-child(2){
    grid-area:action !important;
    justify-self:end;
    text-align:right;
  }
  .logs-v32-table tbody td:nth-child(2)::before{
    display:none !important;
  }

  .logs-v32-table tbody td:nth-child(3){
    grid-area:user !important;
    color:#42566c;
  }
  .logs-v32-table tbody td:nth-child(3)::before{
    content:"担当";
    display:inline !important;
    color:#7a8998;
  }

  .logs-v32-table tbody td:nth-child(4){
    grid-area:target !important;
    text-align:right;
    color:#42566c;
  }
  .logs-v32-table tbody td:nth-child(4)::before{
    content:"対象";
    display:inline !important;
    color:#7a8998;
  }

  .logs-v32-table tbody td:nth-child(5){
    grid-area:detail !important;
    padding-top:8px !important;
    border-top:1px solid #e5ecf1 !important;
    color:#42566c;
  }
  .logs-v32-table tbody td:nth-child(5)::before{
    content:"詳細";
    display:inline !important;
    color:#7a8998;
  }

  .logs-v32-table tbody td:nth-child(6){
    grid-area:restore !important;
    align-self:center;
    justify-self:end;
  }

  .logs-v32-table tbody td:nth-child(6)::before{
    display:none !important;
  }

  .logs-v32-table tbody td:nth-child(6):has(.log-state-v32:not(.is-restored):not(.is-missing)){
    display:none !important;
  }

  .log-action-v32{
    min-height:28px !important;
    padding:0 10px !important;
    font-size:12px !important;
    border-radius:999px !important;
  }

  .log-restore-form-v32 .btn{
    width:auto !important;
    min-width:70px;
    min-height:36px !important;
    height:36px;
    padding:0 12px !important;
    border-radius:12px !important;
  }

  .log-state-v32.is-restored,
  .log-state-v32.is-missing{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 10px;
    border-radius:999px;
    background:#f5f8fa;
    font-size:12px;
  }
}

@media (max-width:420px){
  .logs-v32-table tbody tr{
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "time action"
      "user target"
      "detail detail"
      "restore restore" !important;
  }

  .logs-v32-table tbody td:nth-child(4){
    text-align:right;
  }

  .logs-v32-table tbody td:nth-child(6){
    justify-self:stretch;
  }

  .log-restore-form-v32 .btn{
    width:100% !important;
  }
}

/* v45: account employee id reset */
.account-v45-layout{
  align-items:start;
}
.account-v45-card{
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);
  border:1px solid #ccd9e3;
}
.account-v45-info-list{
  margin-bottom:18px;
}
.account-v45-id-box{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #d7e1e9;
}
.account-v45-id-box h3{
  margin:0 0 12px;
  font-size:20px;
  color:var(--text);
}
.account-v45-id-form input{
  min-height:48px;
  border-radius:14px;
}
.account-v45-note{
  margin:10px 0 0;
  color:#6c7f92;
  font-size:13px;
  font-weight:800;
}
.account-v45-readonly{
  padding:14px 16px;
  border-radius:16px;
  background:#eef4f7;
  border:1px solid #d5e0e8;
  color:#52667b;
  font-weight:900;
}
@media (max-width:820px){
  .account-v45-layout{
    grid-template-columns:1fr !important;
  }
  .account-v45-card{
    padding:20px;
  }
  .account-v45-head h1{
    font-size:30px;
  }
}

/* v46: account password form autocomplete support */
.account-v46-hidden-username{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* v47: masters mobile search width + nav keep position */
@media (max-width:760px){
  .master-table-card{
    overflow:hidden;
  }

  .master-table-head{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .master-table-head > div,
  .master-search,
  .master-live-search{
    width:100% !important;
    max-width:none !important;
  }

  .master-search{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .master-search input,
  .master-search .btn,
  .master-search a.btn,
  .master-live-search input{
    width:100% !important;
    max-width:none !important;
  }

  .master-search .btn,
  .master-search a.btn{
    min-height:48px;
  }

  .master-live-search{
    margin-top:12px;
  }

  .master-live-search input{
    min-height:48px;
  }
}

@media (max-width:980px){
  .app-header{
    position:sticky;
    top:0;
    z-index:80;
  }

  .main-nav{
    scroll-behavior:auto;
    overscroll-behavior-x:contain;
  }

  .main-nav a{
    scroll-margin-inline:16px;
  }
}

/* v50: report photo manager */
.photo-manager-v50{
  grid-column:1 / -1;
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #cbd8e2;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbfd 0%,#eef4f7 100%);
}
.photo-head-v50{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.photo-head-v50 h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
}
.photo-head-v50 span{
  color:#66788e;
  font-size:13px;
  font-weight:800;
}
.photo-add-btn-v50{
  cursor:pointer;
  min-height:44px;
  padding:0 16px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#176c42;
  color:#fff;
  border:1px solid #176c42;
  font-weight:900;
  white-space:nowrap;
}
.photo-input-v50{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.photo-grid-v50,
.photo-preview-grid-v50{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  gap:12px;
}
.photo-card-v50{
  position:relative;
  overflow:hidden;
  border:1px solid #cbd8e2;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 18px rgba(16,35,61,.06);
}
.photo-card-v50 a{
  display:block;
}
.photo-card-v50 img{
  width:100%;
  height:92px;
  object-fit:cover;
  display:block;
  background:#edf2f5;
}
.photo-card-v50 figcaption,
.photo-new-name-v50{
  display:block;
  padding:8px 9px;
  color:#556a80;
  font-size:12px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.photo-delete-v50,
.photo-remove-new-v50{
  position:absolute;
  top:6px;
  right:6px;
  min-width:34px;
  height:30px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(203,59,59,.35);
  background:rgba(255,241,241,.94);
  color:#b42318;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 6px 12px rgba(0,0,0,.08);
}
.photo-empty-v50,
.photo-preview-empty-v50{
  padding:16px;
  border:1px dashed #c5d2dc;
  border-radius:16px;
  background:#fff;
  color:#66788e;
  font-weight:800;
  text-align:center;
}
.photo-preview-title-v50{
  margin:0;
  color:#10233d;
  font-size:14px;
  font-weight:900;
}
@media (max-width:640px){
  .photo-manager-v50{
    padding:14px;
    border-radius:18px;
  }
  .photo-head-v50{
    display:grid;
    align-items:stretch;
  }
  .photo-add-btn-v50{
    width:100%;
  }
  .photo-grid-v50,
  .photo-preview-grid-v50{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .photo-card-v50 img{
    height:76px;
  }
  .photo-card-v50 figcaption,
  .photo-new-name-v50{
    font-size:11px;
    padding:6px 7px;
  }
}
@media (max-width:390px){
  .photo-grid-v50,
  .photo-preview-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* v51: photo thumbnail + report detail action cleanup */
.photo-manager-v50{
  overflow:hidden;
}
.photo-grid-v50,
.photo-preview-grid-v50{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(132px,148px)) !important;
  justify-content:start;
  align-items:start;
  gap:12px !important;
}
.photo-card-v50{
  margin:0 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  border-radius:16px !important;
}
.photo-card-v50 a,
.photo-card-v50 img{
  min-width:0 !important;
}
.photo-card-v50 img{
  width:100% !important;
  height:118px !important;
  object-fit:cover !important;
  display:block !important;
}
.photo-card-v50 figcaption,
.photo-new-name-v50{
  min-width:0 !important;
  width:100% !important;
  line-height:1.35 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.photo-delete-v50,
.photo-remove-new-v50{
  top:7px !important;
  right:7px !important;
  min-width:44px !important;
  height:30px !important;
  padding:0 10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}
.photo-empty-v50,
.photo-preview-empty-v50{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  line-height:1.45 !important;
}
.photo-preview-title-v50{
  margin-top:2px !important;
}

.print-sheet > .actions.no-print,
.print-sheet .report-actions,
.print-sheet .report-detail-actions{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(92px,auto)) !important;
  justify-content:start !important;
  align-items:center !important;
  gap:10px !important;
  margin:16px 0 18px !important;
}
.print-sheet > .actions.no-print .btn,
.print-sheet .report-actions .btn,
.print-sheet .report-detail-actions .btn,
.print-sheet > .actions.no-print button{
  width:auto !important;
  min-width:92px !important;
  min-height:44px !important;
  padding:0 15px !important;
  border-radius:14px !important;
  white-space:nowrap !important;
  line-height:1.15 !important;
  font-size:15px !important;
}
.print-sheet > .actions.no-print .btn.primary{
  box-shadow:0 10px 18px rgba(23,108,66,.16);
}
.print-sheet > .actions.no-print .btn.danger,
.print-sheet > .actions.no-print .danger,
.print-sheet > .actions.no-print button[name="delete"],
.print-sheet > .actions.no-print button[value="delete"]{
  border-color:#fecaca !important;
  background:#fff5f5 !important;
  color:#c24141 !important;
}

@media (max-width:640px){
  .photo-manager-v50{
    padding:14px !important;
    gap:12px !important;
  }
  .photo-head-v50{
    gap:10px !important;
  }
  .photo-head-v50 span{
    display:none !important;
  }
  .photo-grid-v50,
  .photo-preview-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .photo-card-v50 img{
    height:112px !important;
  }
  .photo-delete-v50,
  .photo-remove-new-v50{
    min-width:46px !important;
    height:30px !important;
    font-size:12px !important;
  }

  .print-sheet > .actions.no-print,
  .print-sheet .report-actions,
  .print-sheet .report-detail-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .print-sheet > .actions.no-print .btn,
  .print-sheet .report-actions .btn,
  .print-sheet .report-detail-actions .btn,
  .print-sheet > .actions.no-print button{
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    font-size:15px !important;
  }
}

@media (max-width:360px){
  .photo-grid-v50,
  .photo-preview-grid-v50{
    grid-template-columns:1fr !important;
  }
}

/* v52: mobile photo list compact horizontal scroll */
@media (max-width:640px){
  .photo-manager-v50{
    overflow:hidden !important;
  }

  .photo-grid-v50,
  .photo-preview-grid-v50{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:10px !important;
    padding:2px 2px 8px !important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    justify-content:flex-start !important;
    align-items:flex-start !important;
  }

  .photo-grid-v50::-webkit-scrollbar,
  .photo-preview-grid-v50::-webkit-scrollbar{
    height:6px;
  }
  .photo-grid-v50::-webkit-scrollbar-thumb,
  .photo-preview-grid-v50::-webkit-scrollbar-thumb{
    background:#b7c6d1;
    border-radius:999px;
  }

  .photo-card-v50{
    flex:0 0 96px !important;
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    border-radius:14px !important;
    scroll-snap-align:start;
  }

  .photo-card-v50 img{
    width:96px !important;
    height:104px !important;
    object-fit:cover !important;
  }

  .photo-card-v50 figcaption,
  .photo-new-name-v50{
    height:28px !important;
    padding:6px 7px !important;
    font-size:11px !important;
    line-height:16px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    word-break:keep-all !important;
  }

  .photo-delete-v50,
  .photo-remove-new-v50{
    top:5px !important;
    right:5px !important;
    min-width:40px !important;
    height:28px !important;
    padding:0 8px !important;
    font-size:11px !important;
  }

  .photo-empty-v50,
  .photo-preview-empty-v50{
    flex:1 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    min-height:58px !important;
    padding:12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    line-height:1.45 !important;
  }
}

/* v53: force mobile photo horizontal + report list mobile cleanup */
@media (max-width:760px){
  /* 日報詳細：写真が多い時は横スクロールにして、縦に長くならないようにする */
  body .print-sheet .photo-grid,
  body .photo-grid,
  body .photo-grid-v50,
  body .photo-preview-grid-v50{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:12px !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    padding:4px 2px 12px !important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:none !important;
  }

  body .print-sheet .photo-grid::-webkit-scrollbar,
  body .photo-grid::-webkit-scrollbar,
  body .photo-grid-v50::-webkit-scrollbar,
  body .photo-preview-grid-v50::-webkit-scrollbar{
    height:6px;
  }
  body .print-sheet .photo-grid::-webkit-scrollbar-thumb,
  body .photo-grid::-webkit-scrollbar-thumb,
  body .photo-grid-v50::-webkit-scrollbar-thumb,
  body .photo-preview-grid-v50::-webkit-scrollbar-thumb{
    background:#b8c7d3;
    border-radius:999px;
  }

  body .print-sheet .photo-grid figure,
  body .photo-grid figure,
  body .photo-card-v50{
    flex:0 0 112px !important;
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    margin:0 !important;
    scroll-snap-align:start;
  }

  body .print-sheet .photo-grid img,
  body .photo-grid img,
  body .photo-card-v50 img{
    width:112px !important;
    height:136px !important;
    min-width:112px !important;
    max-width:112px !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:13px !important;
  }

  body .print-sheet .photo-grid figcaption,
  body .photo-grid figcaption,
  body .photo-card-v50 figcaption,
  body .photo-new-name-v50{
    width:112px !important;
    max-width:112px !important;
    height:24px !important;
    min-height:24px !important;
    padding:5px 2px 0 !important;
    font-size:12px !important;
    line-height:18px !important;
    color:#53677c !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    word-break:keep-all !important;
  }

  body .photo-delete-v50,
  body .photo-remove-new-v50{
    top:6px !important;
    right:6px !important;
    min-width:40px !important;
    height:28px !important;
    padding:0 8px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1 !important;
  }

  body .photo-empty-v50,
  body .photo-preview-empty-v50{
    flex:1 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:58px !important;
    padding:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
    text-align:center !important;
  }

  /* 日報一覧：スマホではカードを短く、操作ボタンも整える */
  body .reports-v35-page-head{
    margin-bottom:12px !important;
  }
  body .reports-v35-page-head h1{
    font-size:28px !important;
    line-height:1.1 !important;
  }
  body .reports-v35-list-card{
    padding:16px !important;
    border-radius:22px !important;
  }
  body .reports-v35-list-head{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:12px !important;
  }
  body .reports-v35-list-head h2{
    font-size:24px !important;
    margin:0 !important;
  }
  body .reports-v35-list-head span{
    display:inline-flex !important;
    align-items:center !important;
    height:30px !important;
    padding:0 10px !important;
    border-radius:999px !important;
    background:#fff !important;
    border:1px solid #cfdae3 !important;
    color:#5d7085 !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  body .reports-v35-list{
    gap:10px !important;
  }
  body .reports-v35-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "date site"
      "subinfo content"
      "actions actions" !important;
    gap:10px 12px !important;
    padding:14px !important;
    border-radius:18px !important;
    background:#fff !important;
    border:1px solid #d3dee7 !important;
    box-shadow:0 8px 18px rgba(16,35,61,.05) !important;
  }
  body .reports-v35-date{ grid-area:date !important; }
  body .reports-v35-main{ grid-area:site !important; }
  body .reports-v35-subinfo{ grid-area:subinfo !important; }
  body .reports-v35-content{ grid-area:content !important; }
  body .reports-v35-row-actions{ grid-area:actions !important; }

  body .reports-v35-row > div::before{
    content:attr(data-label) !important;
    display:block !important;
    margin:0 0 4px !important;
    color:#73869a !important;
    font-size:11px !important;
    font-weight:900 !important;
  }
  body .reports-v35-row strong,
  body .reports-v35-date strong{
    font-size:15px !important;
    line-height:1.35 !important;
  }
  body .reports-v35-col span,
  body .reports-v35-col small,
  body .reports-v35-subinfo span,
  body .reports-v35-subinfo small,
  body .reports-v35-content span{
    font-size:14px !important;
    line-height:1.4 !important;
    color:#53677c !important;
    word-break:break-word !important;
  }
  body .reports-v35-row-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:2px !important;
  }
  body .reports-v35-row-actions::before{
    display:none !important;
  }
  body .reports-v35-row-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    border-radius:14px !important;
  }
}

@media (max-width:420px){
  body .print-sheet .photo-grid figure,
  body .photo-grid figure,
  body .photo-card-v50{
    flex-basis:104px !important;
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
  }
  body .print-sheet .photo-grid img,
  body .photo-grid img,
  body .photo-card-v50 img{
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
    height:128px !important;
  }
  body .print-sheet .photo-grid figcaption,
  body .photo-grid figcaption,
  body .photo-card-v50 figcaption,
  body .photo-new-name-v50{
    width:104px !important;
    max-width:104px !important;
  }
  body .reports-v35-row{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "date"
      "site"
      "subinfo"
      "content"
      "actions" !important;
  }
}

/* v54: no photos in print/PDF + stronger mobile photo strip + report list compact */
body.print-mode .print-sheet .photo-grid,
body.print-mode .print-sheet .photo-strip-v54,
body.print-mode .print-sheet .photo-grid-v50,
body.print-mode .print-sheet .photo-manager-v50,
body.print-mode .print-sheet .photo-preview-grid-v50,
body.print-mode .print-sheet .photo-preview-title-v50{
  display:none !important;
}
body.print-mode .print-sheet h2:has(+ .photo-grid),
body.print-mode .print-sheet h2:has(+ .photo-strip-v54){
  display:none !important;
}

@media print{
  body.print-mode .print-sheet .photo-grid,
  body.print-mode .print-sheet .photo-strip-v54,
  body.print-mode .print-sheet .photo-grid-v50,
  body.print-mode .print-sheet .photo-manager-v50{
    display:none !important;
  }
  body.print-mode .print-sheet h2:has(+ .photo-grid),
  body.print-mode .print-sheet h2:has(+ .photo-strip-v54){
    display:none !important;
  }
}

/* v238: selectable staff directory, editable money fields, and waste cost row. */
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-v238{
  display:grid!important;
  gap:14px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-add-v238{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-add-v238 label{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-add-v238 .btn{
  min-width:140px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-list-v238{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;
  gap:8px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-item-v238{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  min-width:0!important;
  padding:8px 10px!important;
  border:1px solid var(--ops-line,#d6e1e8)!important;
  border-radius:6px!important;
  background:#f8fbfc!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-item-v238 strong{
  overflow-wrap:anywhere!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-item-v238 form{
  margin:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-item-v238 .btn{
  min-height:36px!important;
  padding:6px 12px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-empty-v238{
  margin:0!important;
  color:#607587!important;
}

body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  border:1px solid #cfdde7!important;
  border-radius:6px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-field:focus-within{
  border-color:var(--ops-green,#126f43)!important;
  box-shadow:0 0 0 3px rgba(18,111,67,.12)!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-field input{
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  height:40px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0 6px 0 12px!important;
  text-align:right!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
  background:transparent!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-unit,
body.app-body:not(.login-body-v26):not(.print-mode) .v228-money-unit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 10px 0 3px!important;
  color:#17344d!important;
  font-weight:1000!important;
  pointer-events:none!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row .v238-money-field{
  max-width:130px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70="waste"] .line-editor-head-v70,
body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70="waste"] [data-row-v70]{
  grid-template-columns:minmax(170px,1fr) 120px minmax(210px,1.2fr) 126px 70px!important;
  gap:8px!important;
}

@media(max-width:1100px){
  body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-add-v238,
  body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-list-v238{
    grid-template-columns:1fr!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .worker-directory-add-v238 .btn,
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row .v238-money-field{
    width:100%!important;
    max-width:none!important;
  }
}

/* v238c: isolate report worker rows from legacy broad mobile row selectors. */
@media(max-width:1100px){
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row{
    flex-wrap:nowrap!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row>*{
    flex:0 0 auto!important;
    height:auto!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row .v178-no{
    height:28px!important;
    min-height:28px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row input,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row .v178-delete{
    height:42px!important;
    min-height:42px!important;
  }
}

/* v260: accurate, stable instruction metrics for large amounts. */
body.app-body:not(.login-body-v26):not(.print-mode) .v210-money-grid>div{
  min-width:0!important;
  overflow:hidden!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v210-money-grid strong{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  font-variant-numeric:tabular-nums!important;
  line-height:1.2!important;
}
@media(min-width:1281px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v210-instruction-row{
    grid-template-columns:90px minmax(260px,1.25fr) minmax(430px,1fr) auto!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v210-money-grid{
    grid-template-columns:minmax(76px,.8fr) minmax(110px,1.2fr) repeat(2,minmax(100px,1fr))!important;
  }
}
@media(min-width:1101px) and (max-width:1280px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v210-instruction-row{
    grid-template-columns:86px minmax(0,1fr)!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v210-money-grid,
  body.app-body:not(.login-body-v26):not(.print-mode) .v210-instruction-row .v156-row-actions{
    grid-column:2!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v210-money-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* v244: scalable folder assignment without long native select menus. */
body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker{
  overflow:hidden!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding-bottom:12px!important;
  border-bottom:1px solid var(--ops-line,#d5e1ea)!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-head h2{
  margin:0!important;
  font-size:20px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  min-width:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel{
  min-width:0!important;
  padding:16px 18px 2px 0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel+ .v244-picker-panel{
  padding-right:0!important;
  padding-left:18px!important;
  border-left:1px solid var(--ops-line,#d5e1ea)!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-title h3{
  margin:0!important;
  font-size:18px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-title span{
  color:var(--ops-green,#126f43)!important;
  font-weight:1000!important;
  font-variant-numeric:tabular-nums!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:8px!important;
  align-items:end!important;
  margin:0 0 8px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search label{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search input[type="search"]{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  padding:0 11px!important;
  border:1px solid var(--ops-line-2,#c5d4df)!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--ops-text,#082442)!important;
  font-weight:800!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-list{
  display:grid!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(92px,auto) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-width:0!important;
  padding:11px 0!important;
  border-top:1px solid #e4ebf0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main{
  min-width:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main strong,
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main span{
  display:block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main strong{
  color:var(--ops-text,#082442)!important;
  font-size:14px!important;
  line-height:1.4!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main span{
  margin-top:3px!important;
  color:var(--ops-muted,#60758a)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-money{
  text-align:right!important;
  white-space:nowrap!important;
  color:var(--ops-green,#126f43)!important;
  font-size:14px!important;
  font-variant-numeric:tabular-nums!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row form{
  margin:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-empty{
  padding:24px 10px!important;
  border-top:1px solid #e4ebf0!important;
  color:var(--ops-muted,#60758a)!important;
  text-align:center!important;
  font-weight:800!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages{
  display:grid!important;
  grid-template-columns:88px minmax(52px,1fr) 88px!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 0 6px!important;
  border-top:1px solid #e4ebf0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages>a{
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  min-height:38px!important;
  padding:0 12px!important;
  justify-content:center!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages>span{
  display:block!important;
  width:88px!important;
  min-width:88px!important;
  height:38px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages>a:first-child,
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages>span:first-child{
  justify-self:start!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages a:last-child{
  justify-self:end!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages b{
  justify-self:center!important;
  color:var(--ops-muted,#60758a)!important;
  font-size:12px!important;
  font-variant-numeric:tabular-nums!important;
}
@media(max-width:980px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-grid{
    grid-template-columns:1fr!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel,
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel+ .v244-picker-panel{
    padding:14px 0!important;
    border-left:0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel+ .v244-picker-panel{
    border-top:1px solid var(--ops-line,#d5e1ea)!important;
  }
}
@media(max-width:640px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-head h2{
    font-size:18px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search label{
    grid-column:1/-1!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search .btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search:not(.is-filtered) .btn{
    grid-column:1/-1!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px 10px!important;
    padding:12px 0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row form{
    grid-column:1/-1!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row form .btn{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }
}

/* v245: keep folder assignment compact until the user chooses a document type. */
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:48px!important;
  padding:0 13px!important;
  border:1px solid var(--ops-line-2,#c5d4df)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--ops-text,#082442)!important;
  cursor:pointer!important;
  list-style:none!important;
  user-select:none!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle::-webkit-details-marker{
  display:none!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle:after{
  content:"＋"!important;
  flex:0 0 auto!important;
  color:var(--ops-green,#126f43)!important;
  font-size:20px!important;
  font-weight:1000!important;
  line-height:1!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel[open]>.v245-picker-toggle{
  border-color:#8bbda4!important;
  background:#f3faf6!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel[open]>.v245-picker-toggle:after{
  content:"−"!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle h3{
  margin:0!important;
  font-size:16px!important;
  line-height:1.3!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle span{
  margin-left:auto!important;
  color:var(--ops-green,#126f43)!important;
  font-size:13px!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body{
  padding-top:12px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body .v244-candidate-list{
  max-height:310px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  border-bottom:1px solid #e4ebf0!important;
}
@media(max-width:980px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel,
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel+ .v244-picker-panel{
    padding:10px 0!important;
  }
}
@media(max-width:640px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-head{
    padding-bottom:8px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle{
    min-height:46px!important;
    padding:0 11px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body{
    padding-top:10px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body .v244-candidate-list{
    max-height:260px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions>a,
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions>form,
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions>form .btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions>a:first-child{
    order:1!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions>a:last-child{
    order:2!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-detail-head .actions>form{
    grid-column:1/-1!important;
    order:3!important;
    margin:0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-total-strip{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-total-strip div{
    min-width:0!important;
    padding:10px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-total-strip .is-total{
    grid-column:auto!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-total-strip strong{
    font-size:18px!important;
    overflow-wrap:anywhere!important;
  }
}

/* v246: separated, stateful folder pickers. */
body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  gap:16px!important;
  padding-top:12px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel,
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel+ .v244-picker-panel{
  padding:0!important;
  border:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle{
  min-height:52px!important;
  border-width:1px 1px 1px 4px!important;
  border-radius:7px!important;
  background:#fff!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle h3{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:16px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle h3:before{
  content:""!important;
  display:block!important;
  width:6px!important;
  height:20px!important;
  border-radius:2px!important;
  background:currentColor!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report>.v245-picker-toggle{
  border-color:#bdd0dc #d6e1e8 #d6e1e8 #2d6179!important;
  color:#173e54!important;
  background:#f8fbfc!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request>.v245-picker-toggle{
  border-color:#c6dccf #d9e6de #d9e6de #2e7452!important;
  color:#174b34!important;
  background:#f7fbf8!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report>.v245-picker-toggle span,
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report>.v245-picker-toggle:after{
  color:#2d6179!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request>.v245-picker-toggle span,
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request>.v245-picker-toggle:after{
  color:#2e7452!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel[open]>.v245-picker-toggle{
  border-radius:7px 7px 0 0!important;
  box-shadow:none!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report[open]>.v245-picker-toggle{
  background:#eef5f8!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request[open]>.v245-picker-toggle{
  background:#edf7f1!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body{
  padding:14px!important;
  border:1px solid #d8e3ea!important;
  border-top:0!important;
  border-radius:0 0 7px 7px!important;
  background:#fff!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report .btn.primary{
  border-color:#2d6179!important;
  background:#2d6179!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report .v244-candidate-money{
  color:#24566e!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request .btn.primary{
  border-color:#2e7452!important;
  background:#2e7452!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request .v244-candidate-money{
  color:#206a48!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search input[type="search"],
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search>.btn{
  height:44px!important;
  min-height:44px!important;
  align-self:end!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report .v244-picker-search .btn.primary{
  border-color:#176b8a!important;
  background:#176b8a!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request .v244-picker-search .btn.primary{
  border-color:#16805c!important;
  background:#16805c!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-report .v244-picker-search>a.btn{
  border-color:#a9c7d5!important;
  background:#f7fbfd!important;
  color:#155b76!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v246-picker-request .v244-picker-search>a.btn{
  border-color:#acd0bd!important;
  background:#f6fbf8!important;
  color:#126b4c!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body .v244-candidate-list{
  max-height:286px!important;
  background:#fff!important;
}
@media(max-width:760px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-grid{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker{
    padding:12px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search{
    grid-template-columns:minmax(0,1fr) 64px!important;
    align-items:end!important;
    gap:6px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search.is-filtered{
    grid-template-columns:minmax(0,1fr) 64px 64px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search label{
    grid-column:auto!important;
    margin-bottom:0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search .btn,
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search:not(.is-filtered) .btn{
    grid-column:auto!important;
    width:64px!important;
    min-width:64px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 6px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-search.is-filtered>a.btn{
    grid-column:auto!important;
    width:64px!important;
    min-width:64px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row{
    grid-template-columns:minmax(0,1fr) 74px!important;
    grid-template-areas:
      "main money"
      "main action"!important;
    gap:5px 10px!important;
    min-height:72px!important;
    padding:10px 0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main{
    grid-area:main!important;
    align-self:center!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main strong{
    font-size:13px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-main span{
    font-size:11px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-money{
    grid-area:money!important;
    align-self:start!important;
    font-size:13px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row form{
    grid-area:action!important;
    grid-column:auto!important;
    align-self:end!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-candidate-row form .btn{
    width:74px!important;
    min-width:74px!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 8px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body .v244-candidate-list{
    max-height:260px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages{
    grid-template-columns:76px minmax(44px,1fr) 76px!important;
    gap:6px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages>a,
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-pages>span{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
  }
}
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body.is-page-loading{
  opacity:.55!important;
  pointer-events:none!important;
  transition:opacity .12s ease!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker,
body.app-body:not(.login-body-v26):not(.print-mode) .v244-picker-panel,
body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body{
  overflow-anchor:none!important;
}
@media(max-width:640px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v244-folder-picker-grid{
    gap:8px!important;
    padding-top:10px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-toggle{
    min-height:48px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body{
    padding:10px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v245-picker-body .v244-candidate-list{
    max-height:248px!important;
  }
}

@media (max-width:760px){
  /* 詳細画面の写真：縦積み禁止。横スクロールで確認 */
  body:not(.print-mode) .print-sheet .photo-grid,
  body:not(.print-mode) .print-sheet .photo-strip-v54,
  body:not(.print-mode) .photo-grid-v50,
  body:not(.print-mode) .photo-preview-grid-v50{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:10px !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    padding:4px 2px 12px !important;
    margin:0 !important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:none !important;
    grid-auto-flow:unset !important;
  }

  body:not(.print-mode) .print-sheet .photo-grid::-webkit-scrollbar,
  body:not(.print-mode) .photo-grid-v50::-webkit-scrollbar,
  body:not(.print-mode) .photo-preview-grid-v50::-webkit-scrollbar{
    height:6px;
  }
  body:not(.print-mode) .print-sheet .photo-grid::-webkit-scrollbar-thumb,
  body:not(.print-mode) .photo-grid-v50::-webkit-scrollbar-thumb,
  body:not(.print-mode) .photo-preview-grid-v50::-webkit-scrollbar-thumb{
    background:#b8c7d3;
    border-radius:999px;
  }

  body:not(.print-mode) .print-sheet .photo-grid figure,
  body:not(.print-mode) .photo-grid-v50 .photo-card-v50,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50{
    flex:0 0 104px !important;
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
    margin:0 !important;
    scroll-snap-align:start;
  }

  body:not(.print-mode) .print-sheet .photo-grid img,
  body:not(.print-mode) .photo-grid-v50 .photo-card-v50 img,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50 img{
    width:104px !important;
    height:124px !important;
    min-width:104px !important;
    max-width:104px !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:12px !important;
  }

  body:not(.print-mode) .print-sheet .photo-grid figcaption,
  body:not(.print-mode) .photo-grid-v50 .photo-card-v50 figcaption,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50 figcaption,
  body:not(.print-mode) .photo-new-name-v50{
    display:block !important;
    width:104px !important;
    max-width:104px !important;
    height:22px !important;
    min-height:22px !important;
    padding:4px 1px 0 !important;
    font-size:11px !important;
    line-height:17px !important;
    color:#53677c !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    word-break:keep-all !important;
  }

  body:not(.print-mode) .photo-empty-v50,
  body:not(.print-mode) .photo-preview-empty-v50{
    flex:1 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    min-height:56px !important;
    height:auto !important;
    padding:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
    text-align:center !important;
  }

  /* 日報一覧：スマホカードを短く、2列で情報を整理 */
  body .reports-v35-page-head{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:12px !important;
  }
  body .reports-v35-page-head h1{
    font-size:28px !important;
    line-height:1.1 !important;
    margin:0 !important;
    text-align:left !important;
  }
  body .reports-v35-actions{
    display:flex !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
  }
  body .reports-v35-actions .btn{
    min-width:0 !important;
    width:auto !important;
    padding:0 12px !important;
    white-space:nowrap !important;
  }
  body .reports-v35-list-card{
    padding:16px !important;
    border-radius:22px !important;
  }
  body .reports-v35-list-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:12px !important;
  }
  body .reports-v35-list-head h2{
    font-size:25px !important;
    line-height:1.1 !important;
    margin:0 !important;
    text-align:left !important;
  }
  body .reports-v35-list-head span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:30px !important;
    min-width:86px !important;
    padding:0 10px !important;
    border-radius:999px !important;
    background:#fff !important;
    border:1px solid #cfdae3 !important;
    color:#5d7085 !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  body .reports-v35-list{
    display:grid !important;
    gap:10px !important;
  }
  body .reports-v35-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
      "date site"
      "subinfo content"
      "actions actions" !important;
    gap:10px 12px !important;
    padding:14px !important;
    border-radius:18px !important;
    background:#fff !important;
    border:1px solid #d3dee7 !important;
    box-shadow:0 8px 18px rgba(16,35,61,.05) !important;
  }
  body .reports-v35-date{ grid-area:date !important; min-width:0 !important; }
  body .reports-v35-main{ grid-area:site !important; min-width:0 !important; }
  body .reports-v35-subinfo{ grid-area:subinfo !important; min-width:0 !important; }
  body .reports-v35-content{ grid-area:content !important; min-width:0 !important; }
  body .reports-v35-row-actions{ grid-area:actions !important; min-width:0 !important; }

  body .reports-v35-row > div::before{
    content:attr(data-label) !important;
    display:block !important;
    margin:0 0 4px !important;
    color:#73869a !important;
    font-size:11px !important;
    font-weight:900 !important;
  }
  body .reports-v35-row strong,
  body .reports-v35-date strong{
    font-size:15px !important;
    line-height:1.35 !important;
    word-break:break-word !important;
  }
  body .reports-v35-subinfo span,
  body .reports-v35-subinfo small,
  body .reports-v35-content span,
  body .reports-v35-col span,
  body .reports-v35-col small{
    font-size:13px !important;
    line-height:1.35 !important;
    color:#53677c !important;
    word-break:break-word !important;
  }
  body .reports-v35-row-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:2px !important;
  }
  body .reports-v35-row-actions::before{
    display:none !important;
    content:none !important;
  }
  body .reports-v35-row-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  /* 旧一覧HTMLにも効かせる */
  body .report-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px !important;
    border-radius:18px !important;
  }
  body .report-row .row-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
  }
  body .report-row .row-actions .btn{
    width:100% !important;
    min-height:42px !important;
    border-radius:14px !important;
  }
}

@media (max-width:420px){
  body .reports-v35-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
      "date site"
      "subinfo content"
      "actions actions" !important;
  }
  body:not(.print-mode) .print-sheet .photo-grid figure,
  body:not(.print-mode) .photo-grid-v50 .photo-card-v50,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50{
    flex-basis:96px !important;
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
  }
  body:not(.print-mode) .print-sheet .photo-grid img,
  body:not(.print-mode) .photo-grid-v50 .photo-card-v50 img,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50 img{
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    height:116px !important;
  }
  body:not(.print-mode) .print-sheet .photo-grid figcaption,
  body:not(.print-mode) .photo-grid-v50 .photo-card-v50 figcaption,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50 figcaption,
  body:not(.print-mode) .photo-new-name-v50{
    width:96px !important;
    max-width:96px !important;
  }
}

/* v55: A4 print cleanup + mobile report list button alignment */
@media print{
  
html,
  body{
    width:210mm !important;
    min-height:297mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  body.print-mode .topbar,
  body.print-mode .nav,
  body.print-mode .alert,
  body.print-mode .no-print,
  body.print-mode .actions,
  body.print-mode .photo-grid,
  body.print-mode .photo-grid-v50,
  body.print-mode .photo-manager-v50,
  body.print-mode .photo-preview-grid-v50,
  body.print-mode .photo-preview-title-v50,
  body.print-mode .photo-strip-v54,
  body.print-mode h2{
    display:none !important;
  }

  body.print-mode .container,
  body.print-mode .print-container{
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    min-height:297mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  body.print-mode .print-sheet{
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    min-height:297mm !important;
    margin:0 !important;
    padding:16mm 17mm 14mm !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body.print-mode .report-title{
    flex:0 0 auto !important;
    align-items:flex-start !important;
    margin:0 0 7mm !important;
    padding:0 0 6mm !important;
    border-bottom:2.2pt solid #10233d !important;
  }

  body.print-mode .report-title h1{
    margin:0 0 4mm !important;
    font-size:24pt !important;
    line-height:1.1 !important;
    letter-spacing:.34em !important;
    color:#10233d !important;
  }

  body.print-mode .report-title p{
    margin:0 !important;
    font-size:10.5pt !important;
    color:#10233d !important;
  }

  body.print-mode .report-date{
    font-size:17pt !important;
    line-height:1.15 !important;
    color:#10233d !important;
    padding-top:2mm !important;
    white-space:nowrap !important;
  }

  body.print-mode .daily-table{
    width:100% !important;
    height:215mm !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    border:1.3pt solid #10233d !important;
  }

  body.print-mode .daily-table th,
  body.print-mode .daily-table td{
    border:1.05pt solid #10233d !important;
    padding:3.2mm 3.4mm !important;
    font-size:10pt !important;
    line-height:1.45 !important;
    color:#10233d !important;
    vertical-align:top !important;
  }

  body.print-mode .daily-table th{
    width:30mm !important;
    background:#f3f6f8 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  body.print-mode .daily-table tr:nth-child(1),
  body.print-mode .daily-table tr:nth-child(2),
  body.print-mode .daily-table tr:nth-child(3){
    height:15mm !important;
  }
  body.print-mode .daily-table tr:nth-child(4),
  body.print-mode .daily-table tr:nth-child(5),
  body.print-mode .daily-table tr:nth-child(6),
  body.print-mode .daily-table tr:nth-child(7),
  body.print-mode .daily-table tr:nth-child(8),
  body.print-mode .daily-table tr:nth-child(9),
  body.print-mode .daily-table tr:nth-child(10),
  body.print-mode .daily-table tr:nth-child(11){
    height:21.25mm !important;
  }
}

@media (max-width:760px){
  .reports-v35-list-card{
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .reports-v35-list-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }

  .reports-v35-list-head h2{
    font-size:28px !important;
    line-height:1.1 !important;
    margin:0 !important;
  }

  .reports-v35-list-head span{
    flex:0 0 auto !important;
    min-width:82px !important;
    height:30px !important;
    padding:0 10px !important;
    border-radius:999px !important;
    background:#fff !important;
    border:1px solid #cfdae3 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:12px !important;
    font-weight:900 !important;
    color:#5d7085 !important;
  }

  .reports-v35-row{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
      "date site"
      "subinfo content"
      "actions actions" !important;
    gap:9px 12px !important;
    padding:13px !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }

  .reports-v35-date{grid-area:date !important;}
  .reports-v35-main{grid-area:site !important;}
  .reports-v35-subinfo{grid-area:subinfo !important;}
  .reports-v35-content{grid-area:content !important;}
  .reports-v35-row-actions{grid-area:actions !important;}

  .reports-v35-row > div{
    min-width:0 !important;
  }

  .reports-v35-row > div:not(.reports-v35-row-actions)::before{
    display:block !important;
    content:attr(data-label) !important;
    margin:0 0 4px !important;
    color:#73869a !important;
    font-size:11px !important;
    font-weight:900 !important;
  }

  .reports-v35-row-actions::before,
  .reports-v35-row-actions[data-label]::before,
  .reports-v35-row > .reports-v35-row-actions::before{
    display:none !important;
    content:none !important;
  }

  .reports-v35-row-actions{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    align-items:stretch !important;
    margin-top:4px !important;
  }

  .reports-v35-row-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    height:44px !important;
    border-radius:14px !important;
    padding:0 10px !important;
    font-size:15px !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .reports-v35-row strong,
  .reports-v35-row span,
  .reports-v35-row small{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .reports-v35-row strong{
    font-size:15px !important;
    line-height:1.35 !important;
  }

  .reports-v35-subinfo span,
  .reports-v35-subinfo small,
  .reports-v35-content span{
    font-size:13px !important;
    line-height:1.35 !important;
    color:#53677c !important;
  }

  /* 旧HTMLでもボタンを同じ高さで横並びにする */
  .report-row{
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .report-row .row-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .report-row .row-actions .btn{
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
  }
}

@media (max-width:420px){
  .reports-v35-list-card,
  .report-row{
    max-width:390px !important;
  }
  .reports-v35-row{
    padding:12px !important;
    gap:8px 10px !important;
  }
}

/* v56: iPhone overflow fix + in-page photo viewer */
@media (max-width:760px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body,
  .app-body,
  .container,
  main,
  section,
  form,
  .card,
  .report-form-card,
  .section-block,
  .compact-basic-v20,
  .compact-work-v20,
  .photo-manager-v50,
  .reports-v35-search-card,
  .reports-v35-list-card,
  .reports-v35-row{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .container{
    width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .report-form-card,
  .card{
    width:100% !important;
    overflow:hidden !important;
  }

  .section-block,
  .compact-basic-v20,
  .compact-work-v20,
  .photo-manager-v50{
    width:100% !important;
    overflow:hidden !important;
  }

  .form-grid,
  .form-grid.two,
  .top-info-grid,
  .basic-grid-v19,
  .compact-basic-grid-v20,
  .compact-work-grid-v20,
  .report-pair-grid,
  .worktime-compact-v20,
  .worktime-grid-v19,
  .picker-inline,
  .reports-v35-search{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-template-columns:1fr !important;
    overflow:hidden !important;
  }

  label,
  .field-stack,
  .quick-pick-panel,
  .worktime-row-v20,
  .time-picker-grid,
  .time-picker-box,
  .worktime-panel-v19,
  .worktime-compact-v20 > *,
  .compact-basic-grid-v20 > *,
  .compact-work-grid-v20 > *,
  .reports-v35-search > *{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  input,
  textarea,
  select,
  button,
  .btn{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  input[type="date"],
  input[type="time"],
  input[type="text"],
  input[type="password"],
  textarea,
  select{
    width:100% !important;
    min-width:0 !important;
  }

  .worktime-row-v20,
  .time-picker-grid{
    grid-template-columns:1fr !important;
  }

  .sticky-actions{
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-width:calc(100vw - 20px) !important;
  }

  /* 写真はスマホでは横スライド。縦に長くしない */
  body:not(.print-mode) .photo-manager-v50{
    padding:14px !important;
  }

  body:not(.print-mode) .photo-grid-v50,
  body:not(.print-mode) .photo-preview-grid-v50,
  body:not(.print-mode) .print-sheet .photo-grid,
  body:not(.print-mode) .photo-grid{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:10px !important;
    padding:4px 2px 12px !important;
    margin:0 !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    grid-template-columns:none !important;
  }

  body:not(.print-mode) .photo-grid-v50 .photo-card-v50,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50,
  body:not(.print-mode) .photo-grid figure,
  body:not(.print-mode) .print-sheet .photo-grid figure{
    flex:0 0 94px !important;
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    margin:0 !important;
    scroll-snap-align:start !important;
  }

  body:not(.print-mode) .photo-grid-v50 .photo-card-v50 img,
  body:not(.print-mode) .photo-preview-grid-v50 .photo-card-v50 img,
  body:not(.print-mode) .photo-grid img,
  body:not(.print-mode) .print-sheet .photo-grid img{
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    height:112px !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:12px !important;
  }

  body:not(.print-mode) .photo-grid-v50 figcaption,
  body:not(.print-mode) .photo-preview-grid-v50 figcaption,
  body:not(.print-mode) .photo-grid figcaption,
  body:not(.print-mode) .photo-new-name-v50{
    width:94px !important;
    max-width:94px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    font-size:11px !important;
    line-height:18px !important;
    padding:4px 1px 0 !important;
  }

  body:not(.print-mode) .photo-empty-v50,
  body:not(.print-mode) .photo-preview-empty-v50{
    flex:1 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    min-height:54px !important;
    white-space:normal !important;
    word-break:keep-all !important;
    overflow-wrap:break-word !important;
  }
}

.kankyo-lightbox-v56{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  background:rgba(4,12,23,.88);
  align-items:center;
  justify-content:center;
  padding:14px;
  box-sizing:border-box;
}
.kankyo-lightbox-v56.is-open{
  display:flex;
}
.kankyo-lightbox-v56__stage{
  width:100%;
  height:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  display:flex;
  align-items:center;
  justify-content:center;
  touch-action:pan-x pan-y pinch-zoom;
}
.kankyo-lightbox-v56__img{
  max-width:96vw;
  max-height:86vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  cursor:zoom-in;
}
.kankyo-lightbox-v56__img.is-zoomed{
  max-width:none;
  max-height:none;
  width:160vw;
  height:auto;
  cursor:zoom-out;
}
.kankyo-lightbox-v56__close{
  position:fixed;
  top:max(12px, env(safe-area-inset-top));
  right:max(12px, env(safe-area-inset-right));
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.kankyo-lightbox-v56__hint{
  position:fixed;
  left:50%;
  bottom:max(14px, env(safe-area-inset-bottom));
  transform:translateX(-50%);
  color:#fff;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

/* v57: advanced photo viewer controls */
.kankyo-lightbox-v57{
  padding:0 !important;
  background:rgba(3,10,20,.92) !important;
}
.kankyo-lightbox-v57__topbar{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:100002;
  min-height:58px;
  padding:max(10px, env(safe-area-inset-top)) 70px 10px max(12px, env(safe-area-inset-left));
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  pointer-events:none;
}
.kankyo-lightbox-v57__meta{
  min-width:0;
  display:grid;
  gap:2px;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.kankyo-lightbox-v57__title{
  display:block;
  max-width:calc(100vw - 120px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:14px;
}
.kankyo-lightbox-v57__count{
  font-size:12px;
  opacity:.82;
}
.kankyo-lightbox-v57__close{
  z-index:100004 !important;
  pointer-events:auto;
}
.kankyo-lightbox-v57__stage{
  position:fixed;
  inset:0;
  z-index:100000;
  width:100vw !important;
  height:100vh !important;
  padding:76px 14px 86px !important;
  box-sizing:border-box;
  overflow:auto !important;
  display:grid !important;
  place-items:center !important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y pinch-zoom;
}
.kankyo-lightbox-v57__img{
  display:block !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  border-radius:14px !important;
  background:#fff;
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  cursor:zoom-in;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
.kankyo-lightbox-v57__img.is-zoomed{
  cursor:grab;
}
.kankyo-lightbox-v57__nav{
  position:fixed;
  z-index:100003;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:72px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:44px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.kankyo-lightbox-v57__prev{ left:max(10px, env(safe-area-inset-left)); }
.kankyo-lightbox-v57__next{ right:max(10px, env(safe-area-inset-right)); }
.kankyo-lightbox-v57__nav:disabled{
  opacity:.28;
  pointer-events:none;
}
.kankyo-lightbox-v57__toolbar{
  position:fixed;
  z-index:100003;
  left:50%;
  bottom:max(14px, env(safe-area-inset-bottom));
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
}
.kankyo-lightbox-v57__tool{
  min-width:48px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#10233d;
  font-size:18px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  cursor:pointer;
}
.kankyo-lightbox-v57__tool:disabled{
  opacity:.45;
}
.kankyo-lightbox-v56__hint{
  display:none !important;
}
@media (max-width:760px){
  .kankyo-lightbox-v57__nav{
    width:40px;
    height:56px;
    border-radius:15px;
    font-size:34px;
  }
  .kankyo-lightbox-v57__prev{ left:6px; }
  .kankyo-lightbox-v57__next{ right:6px; }
  .kankyo-lightbox-v57__stage{
    padding:72px 8px 84px !important;
  }
  .kankyo-lightbox-v57__toolbar{
    gap:6px;
    padding:7px;
  }
  .kankyo-lightbox-v57__tool{
    min-width:44px;
    height:40px;
    font-size:17px;
    padding:0 12px;
  }
}

/* v58: photo viewer auto-hide controls / less obstruction */
.kankyo-lightbox-v58{
  padding:0 !important;
  background:rgba(3,10,20,.94) !important;
}
.kankyo-lightbox-v58__stage{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  width:100vw !important;
  height:100vh !important;
  padding:max(14px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left)) !important;
  box-sizing:border-box !important;
  overflow:auto !important;
  display:grid !important;
  place-items:center !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-x pan-y pinch-zoom;
}
.kankyo-lightbox-v58__img{
  display:block !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  border-radius:12px !important;
  background:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.42);
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  transition:box-shadow .18s ease;
}
.kankyo-lightbox-v58__img.is-zoomed{
  cursor:grab;
  box-shadow:0 18px 50px rgba(0,0,0,.5);
}
.kankyo-lightbox-v58__topbar{
  position:fixed !important;
  inset:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) auto max(8px, env(safe-area-inset-left)) !important;
  z-index:100004 !important;
  min-height:42px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease;
}
.kankyo-lightbox-v58.is-ui-visible .kankyo-lightbox-v58__topbar{
  opacity:1 !important;
  transform:translateY(0);
}
.kankyo-lightbox-v58__meta{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
}
.kankyo-lightbox-v58 .kankyo-lightbox-v57__title{
  display:none !important;
}
.kankyo-lightbox-v58__count{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(12,18,28,.38);
  border:1px solid rgba(255,255,255,.14);
  color:#fff !important;
  font-size:13px !important;
  font-weight:800;
  letter-spacing:.04em;
  backdrop-filter:blur(10px);
  text-shadow:none;
}
.kankyo-lightbox-v58__close{
  position:fixed !important;
  top:max(10px, env(safe-area-inset-top)) !important;
  right:max(10px, env(safe-area-inset-right)) !important;
  z-index:100006 !important;
  width:36px !important;
  height:36px !important;
  border-radius:999px !important;
  background:rgba(18,24,34,.34) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  opacity:0 !important;
  transform:scale(.92);
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
  pointer-events:none !important;
  backdrop-filter:blur(10px);
}
.kankyo-lightbox-v58.is-ui-visible .kankyo-lightbox-v58__close{
  opacity:1 !important;
  transform:scale(1);
  pointer-events:auto !important;
}
.kankyo-lightbox-v58__prev,
.kankyo-lightbox-v58__next{
  position:fixed !important;
  z-index:100003 !important;
  top:50% !important;
  width:34px !important;
  height:86px !important;
  transform:translateY(-50%) !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.03) !important;
  color:#fff !important;
  font-size:42px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .18s ease, background .18s ease;
  backdrop-filter:blur(4px);
}
.kankyo-lightbox-v58__prev{ left:max(2px, env(safe-area-inset-left)) !important; }
.kankyo-lightbox-v58__next{ right:max(2px, env(safe-area-inset-right)) !important; }
.kankyo-lightbox-v58.is-ui-visible .kankyo-lightbox-v58__prev,
.kankyo-lightbox-v58.is-ui-visible .kankyo-lightbox-v58__next{
  opacity:.56 !important;
  pointer-events:auto !important;
}
.kankyo-lightbox-v58__prev:disabled,
.kankyo-lightbox-v58__next:disabled{
  display:none !important;
}
.kankyo-lightbox-v58__toolbar{
  position:fixed !important;
  z-index:100003 !important;
  left:50% !important;
  bottom:max(10px, env(safe-area-inset-bottom)) !important;
  transform:translateX(-50%) translateY(12px) !important;
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  padding:5px !important;
  border-radius:999px !important;
  background:rgba(12,18,28,.34) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  backdrop-filter:blur(12px);
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease;
}
.kankyo-lightbox-v58.is-ui-visible .kankyo-lightbox-v58__toolbar{
  opacity:1 !important;
  transform:translateX(-50%) translateY(0) !important;
  pointer-events:auto !important;
}
.kankyo-lightbox-v58__tool{
  min-width:38px !important;
  height:34px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.88) !important;
  color:#10233d !important;
  font-size:17px !important;
  font-weight:900 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 10px !important;
}
.kankyo-lightbox-v58__tool[data-action="reset"]{
  min-width:64px !important;
  background:rgba(255,255,255,.94) !important;
  font-size:14px !important;
}
.kankyo-lightbox-v58__tool:disabled{
  opacity:.4 !important;
}
.kankyo-lightbox-v58__hint{
  position:fixed;
  z-index:100002;
  left:50%;
  bottom:calc(max(10px, env(safe-area-inset-bottom)) + 48px);
  transform:translateX(-50%) translateY(8px);
  max-width:calc(100vw - 40px);
  color:rgba(255,255,255,.74);
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(10,15,24,.25);
  backdrop-filter:blur(8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.kankyo-lightbox-v58.is-ui-visible .kankyo-lightbox-v58__hint{
  opacity:.72;
  transform:translateX(-50%) translateY(0);
}
@media (max-width:760px){
  .kankyo-lightbox-v58__stage{
    padding:max(8px, env(safe-area-inset-top)) max(2px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(2px, env(safe-area-inset-left)) !important;
  }
  .kankyo-lightbox-v58__img{
    border-radius:10px !important;
  }
  .kankyo-lightbox-v58__prev,
  .kankyo-lightbox-v58__next{
    width:30px !important;
    height:76px !important;
    font-size:36px !important;
  }
  .kankyo-lightbox-v58__toolbar{
    padding:4px !important;
  }
  .kankyo-lightbox-v58__tool{
    min-width:36px !important;
    height:32px !important;
    font-size:16px !important;
  }
  .kankyo-lightbox-v58__tool[data-action="reset"]{
    min-width:60px !important;
  }
}

/* v60: smoother image viewer alignment, soft controls, bottom swipe rail aligned to photo */
.kankyo-lightbox-v60{
  --photo-left:8px;
  --photo-right:calc(100vw - 8px);
  --photo-top:72px;
  --photo-bottom:calc(100vh - 72px);
  --photo-mid-y:50vh;
  --photo-width:calc(100vw - 16px);
  --photo-height:50vh;
  --photo-bar-top:calc(100vh - 62px);
  --photo-tool-top:calc(100vh - 42px);
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__stage{
  padding:max(10px, env(safe-area-inset-top)) max(5px, env(safe-area-inset-right)) calc(max(18px, env(safe-area-inset-bottom)) + 34px) max(5px, env(safe-area-inset-left)) !important;
  scroll-behavior:smooth;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__img{
  border-radius:11px !important;
  box-shadow:0 22px 70px rgba(0,0,0,.50) !important;
  will-change:width, opacity, transform;
  transition:
    width .18s cubic-bezier(.2,.8,.2,1),
    opacity .12s linear,
    transform .18s cubic-bezier(.2,.8,.2,1),
    box-shadow .18s ease !important;
}
.kankyo-lightbox-v60.is-moving-next .kankyo-lightbox-v59__img{
  opacity:.82 !important;
  transform:translate3d(-8px,0,0) scale(.997) !important;
}
.kankyo-lightbox-v60.is-moving-prev .kankyo-lightbox-v59__img{
  opacity:.82 !important;
  transform:translate3d(8px,0,0) scale(.997) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__img.is-loading{
  opacity:.72 !important;
}

/* top controls are aligned to the actual image, not to the phone screen */
.kankyo-lightbox-v60 .kankyo-lightbox-v59__topbar{
  top:calc(var(--photo-top) + 8px) !important;
  left:var(--photo-left) !important;
  width:var(--photo-width) !important;
  min-height:30px !important;
  transform:translateY(-3px) !important;
}
.kankyo-lightbox-v60.is-ui-visible .kankyo-lightbox-v59__topbar{
  transform:translateY(0) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__count{
  min-height:27px !important;
  padding:0 12px !important;
  font-size:12px !important;
  background:rgba(15,21,32,.40) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__close{
  top:calc(var(--photo-top) + 8px) !important;
  left:auto !important;
  right:max(8px, calc(100vw - var(--photo-right) + 8px)) !important;
  width:30px !important;
  height:30px !important;
  font-size:22px !important;
  background:rgba(12,18,28,.38) !important;
  border-color:rgba(255,255,255,.18) !important;
}

/* arrows are slim edge handles aligned to image center */
.kankyo-lightbox-v60 .kankyo-lightbox-v59__nav{
  top:var(--photo-mid-y) !important;
  width:30px !important;
  height:min(96px, max(56px, calc(var(--photo-height) * .32))) !important;
  margin-top:calc(min(96px, max(56px, calc(var(--photo-height) * .32))) / -2) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.035) !important;
  color:rgba(255,255,255,.72) !important;
  font-size:30px !important;
  font-weight:300 !important;
  opacity:0 !important;
  transform:translateX(0) scale(.98) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__prev{
  left:calc(var(--photo-left) + 6px) !important;
  right:auto !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__next{
  left:auto !important;
  right:calc(100vw - var(--photo-right) + 6px) !important;
}
.kankyo-lightbox-v60.is-ui-visible .kankyo-lightbox-v59__nav{
  opacity:.38 !important;
  pointer-events:auto !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__nav:hover,
.kankyo-lightbox-v60 .kankyo-lightbox-v59__nav:active{
  opacity:.72 !important;
  background:rgba(255,255,255,.08) !important;
  transform:scale(1) !important;
}

/* bottom swipe progress is tied to the image bottom */
.kankyo-lightbox-v60 .kankyo-lightbox-v59__swipebar{
  top:var(--photo-bar-top) !important;
  bottom:auto !important;
  left:var(--photo-left) !important;
  width:var(--photo-width) !important;
  height:16px !important;
  transform:none !important;
  opacity:.78 !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__swipebar-rail{
  width:min(150px, calc(var(--photo-width) - 56px)) !important;
  height:3px !important;
  margin:auto !important;
  background:rgba(255,255,255,.16) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__swipebar-rail i{
  background:rgba(255,255,255,.82) !important;
  transition:transform .20s cubic-bezier(.2,.8,.2,1), width .20s ease !important;
}

/* zoom toolbar follows below image and stays compact */
.kankyo-lightbox-v60 .kankyo-lightbox-v59__toolbar{
  top:var(--photo-tool-top) !important;
  bottom:auto !important;
  transform:translateX(-50%) translateY(7px) !important;
  padding:3px !important;
  background:rgba(9,14,22,.30) !important;
  border-color:rgba(255,255,255,.12) !important;
}
.kankyo-lightbox-v60.is-ui-visible .kankyo-lightbox-v59__toolbar{
  transform:translateX(-50%) translateY(0) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__tool{
  min-width:31px !important;
  height:28px !important;
  font-size:15px !important;
  background:rgba(255,255,255,.86) !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__tool[data-action="reset"]{
  min-width:56px !important;
  font-size:12px !important;
}
.kankyo-lightbox-v60 .kankyo-lightbox-v59__hint{
  top:calc(var(--photo-bar-top) - 30px) !important;
  bottom:auto !important;
  font-size:10px !important;
  padding:4px 8px !important;
  background:rgba(10,15,24,.18) !important;
}

@media (max-width:760px){
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__stage{
    padding:max(7px, env(safe-area-inset-top)) max(3px, env(safe-area-inset-right)) calc(max(16px, env(safe-area-inset-bottom)) + 28px) max(3px, env(safe-area-inset-left)) !important;
  }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__close{
    top:calc(var(--photo-top) + 6px) !important;
    right:max(6px, calc(100vw - var(--photo-right) + 6px)) !important;
    width:29px !important;
    height:29px !important;
    font-size:21px !important;
  }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__topbar{
    top:calc(var(--photo-top) + 6px) !important;
  }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__nav{
    width:26px !important;
    height:min(84px, max(52px, calc(var(--photo-height) * .30))) !important;
    margin-top:calc(min(84px, max(52px, calc(var(--photo-height) * .30))) / -2) !important;
    font-size:28px !important;
  }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__prev{ left:calc(var(--photo-left) + 3px) !important; }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__next{ right:calc(100vw - var(--photo-right) + 3px) !important; }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__toolbar{
    padding:2px !important;
  }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__tool{
    min-width:30px !important;
    height:27px !important;
  }
  .kankyo-lightbox-v60 .kankyo-lightbox-v59__tool[data-action="reset"]{ min-width:52px !important; }
}

/* v61: clean fitted photo viewer, smooth pan/zoom/switch. Uses unique classes to avoid old v56-v60 CSS conflicts. */
.kt-photo-viewer-v61,
.kt-photo-viewer-v61 *{
  box-sizing:border-box;
}
.kt-photo-viewer-v61{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  background:rgba(5,11,20,.92);
  color:#fff;
  -webkit-tap-highlight-color:transparent;
  touch-action:none;
}
.kt-photo-viewer-v61.is-open{
  display:block;
}
.kt-photo-viewer-v61__stage{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:max(14px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) calc(max(14px, env(safe-area-inset-bottom)) + 4px) max(12px, env(safe-area-inset-left));
  overflow:hidden;
}
.kt-photo-viewer-v61__frame{
  position:relative;
  display:block;
  width:min(90vw, 900px);
  height:min(64vh, 680px);
  flex:0 0 auto;
  transition:opacity .16s ease, transform .18s cubic-bezier(.2,.8,.2,1), width .12s ease, height .12s ease;
  overflow:visible;
}
.kt-photo-viewer-v61__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 70px rgba(0,0,0,.48);
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center center;
  transition:transform .18s cubic-bezier(.2,.8,.2,1), opacity .14s ease, box-shadow .18s ease;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  cursor:zoom-in;
}
.kt-photo-viewer-v61__frame.no-animate .kt-photo-viewer-v61__img,
.kt-photo-viewer-v61__frame.is-dragging .kt-photo-viewer-v61__img{
  transition:none !important;
}
.kt-photo-viewer-v61__frame.is-zoomed .kt-photo-viewer-v61__img{
  cursor:grab;
  box-shadow:0 24px 76px rgba(0,0,0,.56);
}
.kt-photo-viewer-v61__frame.is-dragging .kt-photo-viewer-v61__img{
  cursor:grabbing;
}
.kt-photo-viewer-v61__frame.is-loading,
.kt-photo-viewer-v61__frame.is-out-left,
.kt-photo-viewer-v61__frame.is-out-right{
  opacity:.22;
}
.kt-photo-viewer-v61__frame.is-out-left{ transform:translateX(-18px) scale(.992); }
.kt-photo-viewer-v61__frame.is-out-right{ transform:translateX(18px) scale(.992); }
.kt-photo-viewer-v61__frame.is-in-left{ animation:ktv61InLeft .18s cubic-bezier(.2,.8,.2,1); }
.kt-photo-viewer-v61__frame.is-in-right{ animation:ktv61InRight .18s cubic-bezier(.2,.8,.2,1); }
@keyframes ktv61InLeft{ from{opacity:.15; transform:translateX(-16px) scale(.994)} to{opacity:1; transform:none} }
@keyframes ktv61InRight{ from{opacity:.15; transform:translateX(16px) scale(.994)} to{opacity:1; transform:none} }

.kt-photo-viewer-v61__count,
.kt-photo-viewer-v61__close,
.kt-photo-viewer-v61__nav,
.kt-photo-viewer-v61__bottom{
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s cubic-bezier(.2,.8,.2,1), background .18s ease;
}
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__count,
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__close,
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__nav,
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__bottom{
  opacity:1;
  pointer-events:auto;
}
.kt-photo-viewer-v61__count{
  position:absolute;
  top:8px;
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  min-height:30px;
  padding:0 13px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(12,18,28,.44);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.05em;
  backdrop-filter:blur(12px);
  z-index:6;
}
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__count{
  transform:translateX(-50%) translateY(0);
}
.kt-photo-viewer-v61__close{
  position:absolute;
  top:8px;
  right:8px;
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(12,18,28,.42);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:24px;
  font-weight:700;
  line-height:1;
  z-index:7;
  backdrop-filter:blur(12px);
  transform:scale(.94);
  cursor:pointer;
}
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__close{
  transform:scale(1);
}
.kt-photo-viewer-v61__close:hover,
.kt-photo-viewer-v61__close:active{
  background:rgba(22,30,44,.64);
}
.kt-photo-viewer-v61__nav{
  position:absolute;
  top:50%;
  width:28px;
  height:min(92px, max(56px, 32%));
  margin-top:calc(min(92px, max(56px, 32%)) / -2);
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:32px;
  font-weight:300;
  line-height:1;
  z-index:6;
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.kt-photo-viewer-v61__prev{ left:7px; }
.kt-photo-viewer-v61__next{ right:7px; }
.kt-photo-viewer-v61__nav:hover,
.kt-photo-viewer-v61__nav:active{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.kt-photo-viewer-v61__nav:disabled{
  display:none;
}
.kt-photo-viewer-v61__bottom{
  flex:0 0 auto;
  width:min(430px, calc(100vw - 34px));
  display:grid;
  place-items:center;
  gap:7px;
  transform:translateY(8px);
  z-index:8;
}
.kt-photo-viewer-v61.is-ui-visible .kt-photo-viewer-v61__bottom{
  transform:translateY(0);
}
.kt-photo-viewer-v61__hint{
  max-width:100%;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(10,16,25,.18);
  backdrop-filter:blur(8px);
}
.kt-photo-viewer-v61__swipebar{
  position:relative;
  width:min(190px, 56vw);
  height:3px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.16);
}
.kt-photo-viewer-v61__swipebar i{
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:20%;
  border-radius:inherit;
  background:rgba(255,255,255,.84);
  transform:translateX(0);
  transition:transform .22s cubic-bezier(.2,.8,.2,1), width .22s ease;
}
.kt-photo-viewer-v61__toolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:rgba(10,16,25,.34);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
}
.kt-photo-viewer-v61__tool{
  min-width:34px;
  height:30px;
  border:0;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.90);
  color:#10223c;
  font-size:17px;
  font-weight:900;
  padding:0 10px;
  cursor:pointer;
}
.kt-photo-viewer-v61__tool[data-action="reset"]{
  min-width:62px;
  font-size:13px;
  letter-spacing:.01em;
  background:#fff;
}
.kt-photo-viewer-v61__tool:disabled{
  opacity:.40;
}

@media (max-width:760px){
  .kt-photo-viewer-v61__stage{
    gap:8px;
    padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) calc(max(8px, env(safe-area-inset-bottom)) + 4px) max(8px, env(safe-area-inset-left));
  }
  .kt-photo-viewer-v61__frame{
    border-radius:10px;
  }
  .kt-photo-viewer-v61__img{
    border-radius:10px;
  }
  .kt-photo-viewer-v61__count{
    top:6px;
    min-height:28px;
    padding:0 12px;
    font-size:12px;
  }
  .kt-photo-viewer-v61__close{
    top:6px;
    right:6px;
    width:30px;
    height:30px;
    font-size:22px;
  }
  .kt-photo-viewer-v61__nav{
    width:25px;
    height:min(80px, max(50px, 30%));
    margin-top:calc(min(80px, max(50px, 30%)) / -2);
    font-size:29px;
    background:rgba(255,255,255,.045);
  }
  .kt-photo-viewer-v61__prev{ left:5px; }
  .kt-photo-viewer-v61__next{ right:5px; }
  .kt-photo-viewer-v61__bottom{
    gap:6px;
    width:calc(100vw - 28px);
  }
  .kt-photo-viewer-v61__hint{
    font-size:10px;
    padding:3px 8px;
  }
  .kt-photo-viewer-v61__toolbar{
    padding:3px;
  }
  .kt-photo-viewer-v61__tool{
    min-width:32px;
    height:28px;
    font-size:16px;
  }
  .kt-photo-viewer-v61__tool[data-action="reset"]{
    min-width:58px;
    font-size:12px;
  }
}

/* v62: cleaner photo viewer layout with aligned controls, real bottom slider, and less image obstruction. */
.kt-photo-viewer-v62,
.kt-photo-viewer-v62 * {
  box-sizing: border-box;
}
.kt-photo-viewer-v62 {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  background: rgba(5, 11, 20, .92);
  color: #fff;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
}
.kt-photo-viewer-v62.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
}
.kt-photo-viewer-v62__viewer {
  width: min(calc(100vw - 20px), 1000px);
  max-width: 100%;
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 10px;
  align-items: center;
  justify-items: center;
}
.kt-photo-viewer-v62__header {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}
.kt-photo-viewer-v62__spacer {
  min-width: 32px;
  min-height: 1px;
}
.kt-photo-viewer-v62__count {
  justify-self: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(12,18,28,.44);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .05em;
  backdrop-filter: blur(12px);
}
.kt-photo-viewer-v62__close {
  justify-self: end;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(12,18,28,.42);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  backdrop-filter: blur(12px);
  cursor: pointer;
}
.kt-photo-viewer-v62__close:hover,
.kt-photo-viewer-v62__close:active {
  background: rgba(22,30,44,.64);
}
.kt-photo-viewer-v62__body {
  width: 100%;
  display: grid;
  grid-template-columns: var(--kt-v62-nav-col, 56px) minmax(120px, var(--kt-v62-frame-w, 680px)) var(--kt-v62-nav-col, 56px);
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.kt-photo-viewer-v62__frame {
  position: relative;
  width: var(--kt-v62-frame-w, min(80vw, 680px));
  height: var(--kt-v62-frame-h, min(60vh, 520px));
  overflow: hidden;
  border-radius: 14px;
}
.kt-photo-viewer-v62__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 70px rgba(0,0,0,.48);
  transform: translate3d(0,0,0) scale(1);
  transform-origin: center center;
  transition: transform .18s cubic-bezier(.2,.8,.2,1), opacity .16s ease, box-shadow .18s ease;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  cursor: zoom-in;
}
.kt-photo-viewer-v62__frame.no-animate .kt-photo-viewer-v62__img,
.kt-photo-viewer-v62__frame.is-dragging .kt-photo-viewer-v62__img {
  transition: none !important;
}
.kt-photo-viewer-v62__frame.is-zoomed .kt-photo-viewer-v62__img {
  cursor: grab;
  box-shadow: 0 24px 76px rgba(0,0,0,.56);
}
.kt-photo-viewer-v62__frame.is-dragging .kt-photo-viewer-v62__img {
  cursor: grabbing;
}
.kt-photo-viewer-v62__frame.is-loading,
.kt-photo-viewer-v62__frame.slide-next,
.kt-photo-viewer-v62__frame.slide-prev {
  opacity: .75;
}
.kt-photo-viewer-v62__frame.slide-next { transform: translateX(10px); }
.kt-photo-viewer-v62__frame.slide-prev { transform: translateX(-10px); }
.kt-photo-viewer-v62__frame.slide-in-next { animation: ktv62InNext .18s cubic-bezier(.2,.8,.2,1); }
.kt-photo-viewer-v62__frame.slide-in-prev { animation: ktv62InPrev .18s cubic-bezier(.2,.8,.2,1); }
@keyframes ktv62InNext { from { opacity: .4; transform: translateX(12px);} to { opacity: 1; transform: none; } }
@keyframes ktv62InPrev { from { opacity: .4; transform: translateX(-12px);} to { opacity: 1; transform: none; } }
.kt-photo-viewer-v62__nav {
  width: 100%;
  max-width: 40px;
  height: 88px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 34px;
  font-weight: 300;
  line-height: 1;
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, opacity .18s ease;
}
.kt-photo-viewer-v62__nav:hover,
.kt-photo-viewer-v62__nav:active {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.kt-photo-viewer-v62__nav:disabled {
  opacity: .2;
  cursor: default;
}
.kt-photo-viewer-v62__footer {
  width: min(100%, 460px);
  display: grid;
  gap: 10px;
  justify-items: center;
}
.kt-photo-viewer-v62__range {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.20);
  outline: none;
}
.kt-photo-viewer-v62__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fff;
  border: 3px solid #16325c;
  box-shadow: 0 4px 14px rgba(0,0,0,.26);
}
.kt-photo-viewer-v62__range::-moz-range-thumb {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fff;
  border: 3px solid #16325c;
  box-shadow: 0 4px 14px rgba(0,0,0,.26);
}
.kt-photo-viewer-v62__toolbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px;
  border-radius: 999px;
  background: rgba(10,16,25,.34);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
}
.kt-photo-viewer-v62__tool {
  min-width: 36px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.92);
  color: #10223c;
  font-size: 18px;
  font-weight: 900;
  padding: 0 10px;
  cursor: pointer;
}
.kt-photo-viewer-v62__tool[data-action="reset"] {
  min-width: 66px;
  font-size: 14px;
}
.kt-photo-viewer-v62__tool:disabled {
  opacity: .40;
}

@media (max-width: 760px) {
  .kt-photo-viewer-v62.is-open {
    padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }
  .kt-photo-viewer-v62__viewer {
    gap: 8px;
  }
  .kt-photo-viewer-v62__header {
    gap: 8px;
  }
  .kt-photo-viewer-v62__count {
    min-height: 30px;
    padding: 0 12px;
    font-size: 13px;
  }
  .kt-photo-viewer-v62__close {
    width: 34px;
    height: 34px;
    font-size: 24px;
  }
  .kt-photo-viewer-v62__body {
    gap: 6px;
    grid-template-columns: var(--kt-v62-nav-col, 42px) minmax(120px, var(--kt-v62-frame-w, calc(100vw - 100px))) var(--kt-v62-nav-col, 42px);
  }
  .kt-photo-viewer-v62__frame,
  .kt-photo-viewer-v62__img {
    border-radius: 12px;
  }
  .kt-photo-viewer-v62__nav {
    max-width: 34px;
    height: 72px;
    font-size: 30px;
  }
  .kt-photo-viewer-v62__footer {
    width: min(100%, 320px);
    gap: 8px;
  }
  .kt-photo-viewer-v62__range::-webkit-slider-thumb {
    width: 24px;
    height: 24px;
  }
  .kt-photo-viewer-v62__range::-moz-range-thumb {
    width: 24px;
    height: 24px;
  }
  .kt-photo-viewer-v62__toolbar {
    gap: 5px;
    padding: 4px;
  }
  .kt-photo-viewer-v62__tool {
    min-width: 34px;
    height: 30px;
    font-size: 17px;
  }
  .kt-photo-viewer-v62__tool[data-action="reset"] {
    min-width: 62px;
    font-size: 13px;
  }
}

/* v63: normal full-screen photo viewer, large image, controls outside the photo as much as possible. */
.kt-photo-viewer-v63,
.kt-photo-viewer-v63 *{
  box-sizing:border-box;
}
.kt-photo-viewer-v63{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  background:rgba(5,11,20,.92);
  color:#fff;
  -webkit-tap-highlight-color:transparent;
  touch-action:none;
}
.kt-photo-viewer-v63.is-open{
  display:block;
}
.kt-photo-viewer-v63__shell{
  position:absolute;
  inset:58px 10px 92px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.kt-photo-viewer-v63__frame{
  position:relative;
  width:var(--kt-v63-frame-w, min(96vw, 900px));
  height:var(--kt-v63-frame-h, min(78vh, 720px));
  overflow:hidden;
  border-radius:14px;
  transform:translate3d(0,0,0);
  transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .14s ease;
}
.kt-photo-viewer-v63__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 70px rgba(0,0,0,.48);
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center center;
  transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  cursor:zoom-in;
}
.kt-photo-viewer-v63__frame.no-animate .kt-photo-viewer-v63__img,
.kt-photo-viewer-v63__frame.is-dragging .kt-photo-viewer-v63__img{
  transition:none !important;
}
.kt-photo-viewer-v63__frame.is-zoomed .kt-photo-viewer-v63__img{
  cursor:grab;
  box-shadow:0 24px 76px rgba(0,0,0,.56);
}
.kt-photo-viewer-v63__frame.is-dragging .kt-photo-viewer-v63__img{
  cursor:grabbing;
}
.kt-photo-viewer-v63__frame.slide-next{opacity:.55; transform:translateX(18px) scale(.992);}
.kt-photo-viewer-v63__frame.slide-prev{opacity:.55; transform:translateX(-18px) scale(.992);}
.kt-photo-viewer-v63__frame.slide-in-next{animation:ktv63InNext .16s cubic-bezier(.2,.8,.2,1);}
.kt-photo-viewer-v63__frame.slide-in-prev{animation:ktv63InPrev .16s cubic-bezier(.2,.8,.2,1);}
@keyframes ktv63InNext{from{opacity:.55; transform:translateX(18px) scale(.992)}to{opacity:1; transform:none}}
@keyframes ktv63InPrev{from{opacity:.55; transform:translateX(-18px) scale(.992)}to{opacity:1; transform:none}}

.kt-photo-viewer-v63__count{
  position:absolute;
  left:50%;
  top:12px;
  transform:translateX(-50%);
  min-height:34px;
  padding:0 15px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(12,18,28,.58);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.05em;
  backdrop-filter:blur(12px);
  z-index:4;
}
.kt-photo-viewer-v63__close{
  position:absolute;
  top:12px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(12,18,28,.58);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:27px;
  font-weight:700;
  line-height:1;
  z-index:5;
  backdrop-filter:blur(12px);
  cursor:pointer;
}
.kt-photo-viewer-v63__close:hover,
.kt-photo-viewer-v63__close:active{
  background:rgba(22,30,44,.74);
}
.kt-photo-viewer-v63__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:92px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:36px;
  font-weight:300;
  line-height:1;
  z-index:4;
  backdrop-filter:blur(10px);
  cursor:pointer;
  transition:background .18s ease, opacity .18s ease, transform .18s ease;
}
.kt-photo-viewer-v63__prev{left:12px;}
.kt-photo-viewer-v63__next{right:12px;}
.kt-photo-viewer-v63__nav:hover,
.kt-photo-viewer-v63__nav:active{
  background:rgba(255,255,255,.15);
  color:#fff;
}
.kt-photo-viewer-v63__nav:disabled{
  opacity:.22;
  cursor:default;
}
.kt-photo-viewer-v63.is-zoomed .kt-photo-viewer-v63__nav{
  opacity:.22;
}
.kt-photo-viewer-v63__footer{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  width:min(440px, calc(100vw - 36px));
  display:grid;
  gap:10px;
  justify-items:center;
  z-index:4;
}
.kt-photo-viewer-v63__range{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.24);
  outline:none;
}
.kt-photo-viewer-v63__range::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:26px;
  height:26px;
  border-radius:999px;
  background:#fff;
  border:3px solid #16325c;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
}
.kt-photo-viewer-v63__range::-moz-range-thumb{
  width:26px;
  height:26px;
  border-radius:999px;
  background:#fff;
  border:3px solid #16325c;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
}
.kt-photo-viewer-v63__toolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:5px;
  border-radius:999px;
  background:rgba(10,16,25,.44);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
}
.kt-photo-viewer-v63__tool{
  min-width:38px;
  height:34px;
  border:0;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.94);
  color:#10223c;
  font-size:19px;
  font-weight:900;
  padding:0 11px;
  cursor:pointer;
}
.kt-photo-viewer-v63__tool[data-action="reset"]{
  min-width:70px;
  font-size:14px;
}
.kt-photo-viewer-v63__tool:disabled{
  opacity:.40;
}

@media (max-width:760px){
  .kt-photo-viewer-v63__shell{
    inset:56px 8px 88px;
  }
  .kt-photo-viewer-v63__count{
    top:10px;
    min-height:32px;
    padding:0 14px;
    font-size:13px;
  }
  .kt-photo-viewer-v63__close{
    top:9px;
    right:10px;
    width:36px;
    height:36px;
    font-size:26px;
  }
  .kt-photo-viewer-v63__nav{
    width:32px;
    height:84px;
    font-size:32px;
  }
  .kt-photo-viewer-v63__prev{left:8px;}
  .kt-photo-viewer-v63__next{right:8px;}
  .kt-photo-viewer-v63__frame,
  .kt-photo-viewer-v63__img{
    border-radius:12px;
  }
  .kt-photo-viewer-v63__footer{
    bottom:10px;
    width:min(340px, calc(100vw - 34px));
    gap:9px;
  }
  .kt-photo-viewer-v63__range::-webkit-slider-thumb{
    width:24px;
    height:24px;
  }
  .kt-photo-viewer-v63__range::-moz-range-thumb{
    width:24px;
    height:24px;
  }
  .kt-photo-viewer-v63__toolbar{
    gap:5px;
    padding:4px;
  }
  .kt-photo-viewer-v63__tool{
    min-width:36px;
    height:32px;
    font-size:18px;
  }
  .kt-photo-viewer-v63__tool[data-action="reset"]{
    min-width:66px;
    font-size:13px;
  }
}

/* v64: align lightbox controls to the photo frame itself */
.kt-photo-viewer-v63{
  --kt-v64-edge-gap: 12px;
}
.kt-photo-viewer-v63__count{
  left: calc(var(--kt-v63-frame-left, 16px) + (var(--kt-v63-frame-w, 320px) / 2));
  top: calc(var(--kt-v63-frame-top, 56px) + var(--kt-v64-edge-gap));
  transform: translateX(-50%);
  z-index: 8;
}
.kt-photo-viewer-v63__close{
  left: calc(var(--kt-v63-frame-left, 16px) + var(--kt-v63-frame-w, 320px) - 38px - var(--kt-v64-edge-gap));
  right: auto;
  top: calc(var(--kt-v63-frame-top, 56px) + var(--kt-v64-edge-gap));
  z-index: 9;
}
.kt-photo-viewer-v63__nav{
  top: calc(var(--kt-v63-frame-top, 56px) + (var(--kt-v63-frame-h, 360px) / 2));
  transform: translateY(-50%);
  z-index: 8;
}
.kt-photo-viewer-v63__prev{
  left: calc(var(--kt-v63-frame-left, 16px) + var(--kt-v64-edge-gap));
}
.kt-photo-viewer-v63__next{
  left: calc(var(--kt-v63-frame-left, 16px) + var(--kt-v63-frame-w, 320px) - 36px - var(--kt-v64-edge-gap));
  right: auto;
}

@media (max-width:760px){
  .kt-photo-viewer-v63{
    --kt-v64-edge-gap: 10px;
  }
  .kt-photo-viewer-v63__close{
    left: calc(var(--kt-v63-frame-left, 8px) + var(--kt-v63-frame-w, 280px) - 36px - var(--kt-v64-edge-gap));
  }
  .kt-photo-viewer-v63__prev{
    left: calc(var(--kt-v63-frame-left, 8px) + var(--kt-v64-edge-gap));
  }
  .kt-photo-viewer-v63__next{
    left: calc(var(--kt-v63-frame-left, 8px) + var(--kt-v63-frame-w, 280px) - 32px - var(--kt-v64-edge-gap));
  }
}

/* v65: symmetric photo viewer controls, centered icons, less obstruction */
.kt-photo-viewer-v63{
  --kt-v65-gap: 10px;
  --kt-v65-close-size: 36px;
  --kt-v65-nav-w: 32px;
  --kt-v65-nav-h: 76px;
}

/* count: centered against the actual image frame */
.kt-photo-viewer-v63__count{
  left: calc(var(--kt-v63-frame-left, 16px) + (var(--kt-v63-frame-w, 320px) / 2)) !important;
  top: max(10px, calc(var(--kt-v63-frame-top, 56px) + var(--kt-v65-gap))) !important;
  transform: translateX(-50%) !important;
  height: 34px !important;
  min-height: 34px !important;
  line-height: 34px !important;
  padding: 0 14px !important;
  z-index: 20 !important;
}

/* close: same right reference as the photo frame, icon drawn with centered lines */
.kt-photo-viewer-v63__close{
  left: calc(var(--kt-v63-frame-left, 16px) + var(--kt-v63-frame-w, 320px) - var(--kt-v65-close-size) - var(--kt-v65-gap)) !important;
  right: auto !important;
  top: max(10px, calc(var(--kt-v63-frame-top, 56px) + var(--kt-v65-gap))) !important;
  width: var(--kt-v65-close-size) !important;
  height: var(--kt-v65-close-size) !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  z-index: 21 !important;
}
.kt-photo-viewer-v63__close::before,
.kt-photo-viewer-v63__close::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2.5px;
  border-radius: 999px;
  background: #fff;
  transform-origin: center;
}
.kt-photo-viewer-v63__close::before{
  transform: translate(-50%, -50%) rotate(45deg);
}
.kt-photo-viewer-v63__close::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* side nav: mirrored, aligned to the real image vertical center */
.kt-photo-viewer-v63__nav{
  top: calc(var(--kt-v63-frame-top, 56px) + (var(--kt-v63-frame-h, 360px) / 2)) !important;
  width: var(--kt-v65-nav-w) !important;
  height: var(--kt-v65-nav-h) !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border-radius: 999px !important;
  z-index: 20 !important;
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  backdrop-filter: blur(10px);
}
.kt-photo-viewer-v63__prev{
  left: max(8px, calc(var(--kt-v63-frame-left, 16px) + var(--kt-v65-gap))) !important;
  right: auto !important;
}
.kt-photo-viewer-v63__next{
  left: calc(var(--kt-v63-frame-left, 16px) + var(--kt-v63-frame-w, 320px) - var(--kt-v65-nav-w) - var(--kt-v65-gap)) !important;
  right: auto !important;
}
.kt-photo-viewer-v63__nav::before,
.kt-photo-viewer-v63__nav::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 13px;
  height: 2.5px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  transform-origin: center;
}
.kt-photo-viewer-v63__prev::before{
  transform: translate(-58%, -4px) rotate(-45deg);
}
.kt-photo-viewer-v63__prev::after{
  transform: translate(-58%, 4px) rotate(45deg);
}
.kt-photo-viewer-v63__next::before{
  transform: translate(-42%, -4px) rotate(45deg);
}
.kt-photo-viewer-v63__next::after{
  transform: translate(-42%, 4px) rotate(-45deg);
}
.kt-photo-viewer-v63__nav:hover,
.kt-photo-viewer-v63__nav:active{
  background: rgba(255,255,255,.14) !important;
}
.kt-photo-viewer-v63.is-zoomed .kt-photo-viewer-v63__nav,
.kt-photo-viewer-v63.is-zoomed .kt-photo-viewer-v63__count,
.kt-photo-viewer-v63.is-zoomed .kt-photo-viewer-v63__close{
  opacity: .34 !important;
}
.kt-photo-viewer-v63.is-zoomed .kt-photo-viewer-v63__footer{
  opacity: .42 !important;
}

/* slider/toolbar: keep centered and visually lighter */
.kt-photo-viewer-v63__footer{
  width: min(360px, calc(100vw - 54px)) !important;
  gap: 8px !important;
}
.kt-photo-viewer-v63__range{
  height: 4px !important;
  background: rgba(255,255,255,.20) !important;
}
.kt-photo-viewer-v63__range::-webkit-slider-thumb{
  width: 22px !important;
  height: 22px !important;
}
.kt-photo-viewer-v63__range::-moz-range-thumb{
  width: 22px !important;
  height: 22px !important;
}
.kt-photo-viewer-v63__toolbar{
  padding: 4px !important;
  gap: 5px !important;
}
.kt-photo-viewer-v63__tool{
  min-width: 34px !important;
  height: 30px !important;
  font-size: 17px !important;
}
.kt-photo-viewer-v63__tool[data-action="reset"]{
  min-width: 64px !important;
  font-size: 13px !important;
}

@media (max-width:760px){
  .kt-photo-viewer-v63{
    --kt-v65-gap: 8px;
    --kt-v65-close-size: 34px;
    --kt-v65-nav-w: 30px;
    --kt-v65-nav-h: 70px;
  }
  .kt-photo-viewer-v63__count{
    height: 32px !important;
    min-height: 32px !important;
    line-height: 32px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
  }
  .kt-photo-viewer-v63__close::before,
  .kt-photo-viewer-v63__close::after{
    width: 15px;
    height: 2.4px;
  }
  .kt-photo-viewer-v63__nav::before,
  .kt-photo-viewer-v63__nav::after{
    width: 12px;
    height: 2.4px;
  }
  .kt-photo-viewer-v63__footer{
    width: min(320px, calc(100vw - 52px)) !important;
  }
}

/* v66: darker photo matte, no white flash, safer zoom-pan behavior */
.kt-photo-viewer-v66,
.kt-photo-viewer-v66 *{box-sizing:border-box;}
.kt-photo-viewer-v66{
  position:fixed; inset:0; z-index:999999; display:none;
  background:rgba(5,11,20,.94); color:#fff;
  -webkit-tap-highlight-color:transparent; touch-action:none;
}
.kt-photo-viewer-v66.is-open{display:block;}
.kt-photo-viewer-v66__shell{
  position:absolute; inset:58px 10px 92px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.kt-photo-viewer-v66__frame{
  position:relative;
  width:var(--kt-v66-frame-w, min(96vw,900px));
  height:var(--kt-v66-frame-h, min(78vh,720px));
  overflow:hidden; border-radius:14px;
  background:#0b1220;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 70px rgba(0,0,0,.55), inset 0 0 0 1px rgba(0,0,0,.35);
  transform:translate3d(0,0,0);
  transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .14s ease;
}
.kt-photo-viewer-v66__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block;
  border-radius:13px; background:#0b1220;
  transform:translate3d(0,0,0) scale(1); transform-origin:center center;
  transition:transform .18s cubic-bezier(.2,.8,.2,1);
  user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; cursor:zoom-in;
}
.kt-photo-viewer-v66__frame.no-animate .kt-photo-viewer-v66__img,
.kt-photo-viewer-v66__frame.is-dragging .kt-photo-viewer-v66__img{transition:none!important;}
.kt-photo-viewer-v66__frame.is-zoomed .kt-photo-viewer-v66__img{cursor:grab;}
.kt-photo-viewer-v66__frame.is-dragging .kt-photo-viewer-v66__img{cursor:grabbing;}
.kt-photo-viewer-v66__frame.slide-next{opacity:.70; transform:translateX(18px) scale(.996);}
.kt-photo-viewer-v66__frame.slide-prev{opacity:.70; transform:translateX(-18px) scale(.996);}
.kt-photo-viewer-v66__frame.slide-in-next{animation:ktv66InNext .16s cubic-bezier(.2,.8,.2,1);}
.kt-photo-viewer-v66__frame.slide-in-prev{animation:ktv66InPrev .16s cubic-bezier(.2,.8,.2,1);}
@keyframes ktv66InNext{from{opacity:.70; transform:translateX(18px) scale(.996)}to{opacity:1; transform:none}}
@keyframes ktv66InPrev{from{opacity:.70; transform:translateX(-18px) scale(.996)}to{opacity:1; transform:none}}
.kt-photo-viewer-v66__count{
  position:absolute; left:calc(var(--kt-v66-frame-left,16px) + (var(--kt-v66-frame-w,320px) / 2));
  top:max(10px, calc(var(--kt-v66-frame-top,56px) + 10px)); transform:translateX(-50%);
  height:34px; min-height:34px; padding:0 15px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(12,18,28,.70); border:1px solid rgba(255,255,255,.22);
  color:#fff; font-size:14px; font-weight:900; letter-spacing:.05em; backdrop-filter:blur(12px); z-index:20;
}
.kt-photo-viewer-v66__close{
  position:absolute; left:calc(var(--kt-v66-frame-left,16px) + var(--kt-v66-frame-w,320px) - 46px);
  top:max(10px, calc(var(--kt-v66-frame-top,56px) + 10px));
  width:36px; height:36px; border-radius:999px; border:1px solid rgba(255,255,255,.22);
  background:rgba(12,18,28,.70); padding:0; z-index:21; backdrop-filter:blur(12px); cursor:pointer;
}
.kt-photo-viewer-v66__close span::before,
.kt-photo-viewer-v66__close span::after{
  content:""; position:absolute; left:50%; top:50%; width:16px; height:2.5px; border-radius:999px; background:#fff; transform-origin:center;
}
.kt-photo-viewer-v66__close span::before{transform:translate(-50%,-50%) rotate(45deg);}
.kt-photo-viewer-v66__close span::after{transform:translate(-50%,-50%) rotate(-45deg);}
.kt-photo-viewer-v66__nav{
  position:absolute; top:calc(var(--kt-v66-frame-top,56px) + (var(--kt-v66-frame-h,360px) / 2)); transform:translateY(-50%);
  width:30px; height:72px; border-radius:999px; border:1px solid rgba(255,255,255,.13);
  background:rgba(12,18,28,.58); padding:0; z-index:20; backdrop-filter:blur(10px); cursor:pointer;
}
.kt-photo-viewer-v66__prev{left:max(8px, calc(var(--kt-v66-frame-left,16px) + 8px));}
.kt-photo-viewer-v66__next{left:calc(var(--kt-v66-frame-left,16px) + var(--kt-v66-frame-w,320px) - 38px);}
.kt-photo-viewer-v66__nav span::before,
.kt-photo-viewer-v66__nav span::after{
  content:""; position:absolute; left:50%; top:50%; width:12px; height:2.4px; border-radius:999px; background:rgba(255,255,255,.94); transform-origin:center;
}
.kt-photo-viewer-v66__prev span::before{transform:translate(-58%,-4px) rotate(-45deg);}
.kt-photo-viewer-v66__prev span::after{transform:translate(-58%,4px) rotate(45deg);}
.kt-photo-viewer-v66__next span::before{transform:translate(-42%,-4px) rotate(45deg);}
.kt-photo-viewer-v66__next span::after{transform:translate(-42%,4px) rotate(-45deg);}
.kt-photo-viewer-v66__nav:disabled{opacity:.22; cursor:default;}
.kt-photo-viewer-v66.is-zoomed .kt-photo-viewer-v66__nav,
.kt-photo-viewer-v66.is-zoomed .kt-photo-viewer-v66__count,
.kt-photo-viewer-v66.is-zoomed .kt-photo-viewer-v66__close{opacity:.28;}
.kt-photo-viewer-v66__footer{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%);
  width:min(360px, calc(100vw - 54px)); display:grid; gap:8px; justify-items:center; z-index:20;
}
.kt-photo-viewer-v66__range{width:100%; appearance:none; -webkit-appearance:none; height:4px; border-radius:999px; background:rgba(255,255,255,.22); outline:none;}
.kt-photo-viewer-v66__range::-webkit-slider-thumb{-webkit-appearance:none; width:22px; height:22px; border-radius:999px; background:#fff; border:3px solid #16325c; box-shadow:0 4px 14px rgba(0,0,0,.30);}
.kt-photo-viewer-v66__range::-moz-range-thumb{width:22px; height:22px; border-radius:999px; background:#fff; border:3px solid #16325c; box-shadow:0 4px 14px rgba(0,0,0,.30);}
.kt-photo-viewer-v66__toolbar{display:flex; align-items:center; justify-content:center; gap:5px; padding:4px; border-radius:999px; background:rgba(10,16,25,.48); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(12px);}
.kt-photo-viewer-v66__tool{min-width:34px; height:30px; border:0; border-radius:999px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.94); color:#10223c; font-size:17px; font-weight:900; padding:0 10px; cursor:pointer;}
.kt-photo-viewer-v66__tool[data-action="reset"]{min-width:64px; font-size:13px;}
.kt-photo-viewer-v66__tool:disabled{opacity:.40;}
@media(max-width:760px){
  .kt-photo-viewer-v66__shell{inset:56px 8px 88px;}
  .kt-photo-viewer-v66__frame,.kt-photo-viewer-v66__img{border-radius:12px;}
  .kt-photo-viewer-v66__count{height:32px; min-height:32px; padding:0 13px; font-size:13px;}
  .kt-photo-viewer-v66__close{width:34px; height:34px; left:calc(var(--kt-v66-frame-left,8px) + var(--kt-v66-frame-w,280px) - 42px);}
  .kt-photo-viewer-v66__nav{width:30px; height:70px;}
  .kt-photo-viewer-v66__prev{left:max(7px, calc(var(--kt-v66-frame-left,8px) + 7px));}
  .kt-photo-viewer-v66__next{left:calc(var(--kt-v66-frame-left,8px) + var(--kt-v66-frame-w,280px) - 37px);}
  .kt-photo-viewer-v66__footer{width:min(320px, calc(100vw - 52px)); bottom:10px;}
}

/* v67: pin page count + close button to the top of viewport so they do not cover the photo */
.kt-photo-viewer-v66__count{
  position:fixed !important;
  left:50% !important;
  top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
  transform:translateX(-50%) !important;
  z-index:40 !important;
}
.kt-photo-viewer-v66__close{
  position:fixed !important;
  top:calc(env(safe-area-inset-top, 0px) + 12px) !important;
  right:calc(env(safe-area-inset-right, 0px) + 12px) !important;
  left:auto !important;
  z-index:41 !important;
}
@media (max-width: 760px){
  .kt-photo-viewer-v66__count{
    top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
  }
  .kt-photo-viewer-v66__close{
    top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
    right:calc(env(safe-area-inset-right, 0px) + 10px) !important;
  }
}

/* v68: operation log readability */
.logs-v68-table .logs-v68-detail{
  min-width: 220px;
  white-space: normal;
  line-height: 1.55;
}
.logs-v68-table th:nth-child(5),
.logs-v68-table td:nth-child(5){
  width: 28%;
}
@media (max-width: 760px){
  .logs-v68-table .logs-v68-detail{
    min-width: 0;
    font-weight: 700;
  }
}

/* v69: report input page - remove unnecessary top-right "一覧へ" button */
body:has(form[action*="report_save"]) .page-actions,
body:has(form[action*="report_create"]) .page-actions,
body:has(form[action*="report_store"]) .page-actions{
  display:none !important;
}

/* fallback for older markup */
body:has(form[action*="report"]) a[href*="page=reports"].btn.back-only-v69,
body:has(form[action*="report"]) .report-form-head a[href*="page=reports"],
body:has(form[action*="report"]) .report-form-header a[href*="page=reports"],
body:has(form[action*="report"]) .page-head a[href*="page=reports"]{
  display:none !important;
}

/* v70: paper based report form */
.report-form-v70{padding:28px;border-radius:28px;background:rgba(248,252,255,.88)}
.report-form-v70 .line-hidden-v70{display:none!important}
.paper-form-v70{display:grid;gap:18px}
.paper-section-v70{border:1px solid rgba(111,139,160,.28);border-radius:20px;background:linear-gradient(180deg,rgba(238,246,247,.86),rgba(246,250,251,.96));padding:18px;box-shadow:0 12px 28px rgba(15,35,55,.05)}
.paper-section-title-v70{font-weight:900;color:#006b3f;font-size:14px;letter-spacing:.03em;margin-bottom:12px}
.paper-section-head-v70{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.paper-section-head-v70 p{margin:3px 0 0;color:#667789;font-weight:700;font-size:13px}
.paper-grid-v70{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.paper-grid-v70 label,.lined-field-v70{display:grid;gap:7px;font-weight:900;color:#071d36;font-size:14px}
.paper-grid-v70 input,.paper-grid-v70 select,.lined-field-v70 textarea,.line-input-v70{width:100%;border:1px solid rgba(112,140,162,.34);border-radius:14px;background:rgba(255,255,255,.92);min-height:46px;padding:0 14px;font-weight:800;color:#071d36;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.paper-grid-v70 input:focus,.lined-field-v70 textarea:focus,.line-input-v70:focus{border-color:#16805a;box-shadow:0 0 0 4px rgba(22,128,90,.13)}
.span-2-v70{grid-column:span 1}
.lined-field-v70 textarea{padding:14px;line-height:2.05;resize:vertical;background-color:#fff;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(75,93,112,.17) 32px)}
.worker-section-v70{background:linear-gradient(180deg,rgba(231,244,239,.96),rgba(246,250,248,.98))}
.vehicle-section-v70{background:linear-gradient(180deg,rgba(235,244,247,.96),rgba(247,250,251,.98))}
.line-editor-v70{display:grid;gap:10px}
.line-editor-head-v70{display:grid;gap:10px;color:#5f7080;font-size:12px;font-weight:900;padding:0 54px 0 6px}
.worker-head-v70{grid-template-columns:minmax(0,1fr) 120px 46px}.vehicle-head-v70{grid-template-columns:minmax(0,1.4fr) 110px 110px 110px 46px}.tool-head-v70{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 46px}.waste-head-v70{grid-template-columns:1fr 120px 1.2fr 46px}
.line-editor-rows-v70{display:grid;gap:8px}
.line-row-v70{display:grid;gap:10px;align-items:center}
.line-row-workers-v70{grid-template-columns:minmax(0,1fr) 120px 46px}.line-row-vehicles-v70{grid-template-columns:minmax(0,1.4fr) 110px 110px 110px 46px}.line-row-tools-v70{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 46px}.line-row-waste-v70{grid-template-columns:1fr 120px 1.2fr 46px}
.line-input-v70.small-v70,.line-input-v70.km-v70{text-align:center}.line-input-v70.km-v70{padding-right:8px;padding-left:8px}
.line-remove-v70{height:42px;border:1px solid rgba(225,89,89,.25);border-radius:12px;background:#fff5f5;color:#c62828;font-weight:900;cursor:pointer}
.line-add-v70{justify-self:start;margin-top:2px;background:#fff!important}
.work-total-v70{white-space:nowrap;border:1px solid rgba(0,107,63,.22);background:#fff;border-radius:999px;padding:8px 14px;color:#006b3f;font-size:14px}
.memo-grid-v70{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-span-v70{grid-column:1/-1}.photo-section-v70{background:rgba(239,247,250,.9)}
.sticky-actions-v70{z-index:50}
@media (max-width:920px){.report-form-v70{padding:20px}.paper-grid-v70{grid-template-columns:1fr 1fr}.line-row-vehicles-v70,.vehicle-head-v70{grid-template-columns:minmax(0,1fr) 88px 88px 88px 42px}.waste-head-v70,.line-row-waste-v70{grid-template-columns:1fr 90px 1fr 42px}}
@media (max-width:640px){.report-form-title-v70{padding:26px 18px 12px}.report-form-v70{padding:14px;border-radius:22px}.paper-form-v70{gap:14px}.paper-section-v70{padding:14px;border-radius:18px}.paper-section-head-v70{display:grid;gap:8px}.work-total-v70{justify-self:start}.paper-grid-v70{grid-template-columns:1fr;gap:12px}.line-editor-head-v70{display:none}.line-row-v70{background:rgba(255,255,255,.56);border:1px solid rgba(112,140,162,.20);border-radius:16px;padding:10px}.line-row-workers-v70{grid-template-columns:minmax(0,1fr) 88px 42px}.line-row-vehicles-v70{grid-template-columns:1fr 1fr 1fr 42px}.line-row-vehicles-v70 input:first-child{grid-column:1/-1}.line-row-vehicles-v70 input:nth-child(4){grid-column:1/3}.line-row-tools-v70,.line-row-waste-v70{grid-template-columns:1fr 42px}.line-row-tools-v70 input:nth-child(2),.line-row-waste-v70 input:nth-child(2),.line-row-waste-v70 input:nth-child(3){grid-column:1/2}.line-row-waste-v70 .line-remove-v70,.line-row-tools-v70 .line-remove-v70{grid-row:1 / span 3;grid-column:2}.line-input-v70{min-height:46px;font-size:16px}.line-remove-v70{height:46px;font-size:12px}.memo-grid-v70{grid-template-columns:1fr}.lined-field-v70 textarea{min-height:112px}.photo-section-v70{padding:12px}.photo-manager-v50{border-radius:16px}.sticky-actions-v70{padding:10px!important}.sticky-actions-v70 .actions,.sticky-actions-v70 .btn.primary{width:100%}.sticky-actions-v70 .btn.primary{min-height:52px}}

/* v71: report form follow-up fixes */
.worktime-panel-v71{
  margin-top:16px;
  display:grid;
  grid-template-columns:1.1fr minmax(150px,.65fr) minmax(150px,.65fr) minmax(180px,.75fr);
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid rgba(22,128,90,.20);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(226,240,235,.95),rgba(241,248,245,.98));
}
.worktime-title-v71{display:grid;gap:4px;align-self:center}
.worktime-title-v71 strong{font-weight:900;color:#006b3f}
.worktime-title-v71 span{font-size:12px;color:#667789;font-weight:800}
.worktime-panel-v71 label{display:grid;gap:6px;font-size:13px;font-weight:900;color:#071d36}
.worktime-panel-v71 input{min-height:46px;border-radius:14px;background:#fff}

.master-pick-v71{
  display:grid;
  gap:8px;
  margin:0 0 12px;
  padding:12px;
  border:1px dashed rgba(22,108,66,.24);
  border-radius:16px;
  background:rgba(255,255,255,.52);
}
.master-pick-v71 > span{
  color:#667789;
  font-size:12px;
  font-weight:900;
}
.master-pick-v71 > div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-height:116px;
  overflow:auto;
  padding-right:2px;
}
.master-pick-v71 button{
  width:auto!important;
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid rgba(23,108,66,.22);
  border-radius:999px;
  background:#fff;
  color:#0b2a45;
  font-weight:900;
  cursor:pointer;
}
.master-pick-v71 button:hover{background:#eaf4ee;border-color:rgba(23,108,66,.38)}

.lined-field-v70 textarea{
  line-height:34px!important;
  padding:10px 14px!important;
  background-size:100% 34px!important;
  background-position:0 10px!important;
  background-image:linear-gradient(to bottom,transparent 33px,rgba(75,93,112,.16) 34px)!important;
}

.photo-section-v70 .photo-preview-grid-v50{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  gap:12px!important;
}
.photo-section-v70 .photo-preview-empty-v50{
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  grid-column:1/-1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}
.photo-section-v70 .photo-empty-v50{
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  place-items:center!important;
}

@media (max-width:920px){
  .worktime-panel-v71{
    grid-template-columns:1fr 1fr;
  }
  .worktime-title-v71{grid-column:1/-1}
}

@media (max-width:640px){
  .worktime-panel-v71{
    grid-template-columns:1fr;
    padding:12px;
  }
  .master-pick-v71 > div{
    max-height:96px;
  }
  .master-pick-v71 button{
    min-height:38px!important;
  }
  .photo-section-v70 .photo-preview-grid-v50{
    grid-template-columns:1fr!important;
  }
}

/* v72: compact linked pickers */
.master-pick-v71{display:none!important}

.master-addbar-v72{
  display:grid;
  grid-template-columns:minmax(210px,.9fr) minmax(240px,1.2fr) auto;
  gap:10px;
  align-items:end;
  margin:0 0 12px;
  padding:12px;
  border:1px solid rgba(22,108,66,.18);
  border-radius:16px;
  background:rgba(255,255,255,.62);
}
.master-addbar-workers-v72{
  grid-template-columns:minmax(210px,.95fr) minmax(260px,1.25fr) 110px auto;
}
.master-addbar-tools-v72{
  grid-template-columns:minmax(210px,.9fr) minmax(260px,1fr) minmax(170px,.75fr) auto;
}
.master-addbar-title-v72{
  display:grid;
  gap:4px;
  align-self:center;
}
.master-addbar-title-v72 strong{
  color:#006b3f;
  font-weight:900;
  font-size:13px;
}
.master-addbar-title-v72 span{
  color:#667789;
  font-weight:800;
  font-size:12px;
}
.master-addbar-v72 label{
  display:grid;
  gap:6px;
  font-weight:900;
  color:#5f7080;
  font-size:12px;
}
.master-addbar-v72 input{
  width:100%;
  min-height:42px;
  border:1px solid rgba(112,140,162,.34);
  border-radius:13px;
  background:#fff;
  padding:0 12px;
  color:#071d36;
  font-weight:850;
  outline:none;
}
.master-addbar-v72 input:focus{
  border-color:#16805a;
  box-shadow:0 0 0 4px rgba(22,128,90,.12);
}
.master-add-v72{
  min-height:42px!important;
  width:auto!important;
  white-space:nowrap;
  padding:0 18px!important;
}

.worker-section-v70 .paper-section-head-v70{
  align-items:center;
}
.worker-section-v70 .paper-section-head-v70 p{
  margin-top:4px;
}

.line-row-workers-v70{
  grid-template-columns:minmax(0,1fr) 130px 58px!important;
}
.worker-head-v70{
  grid-template-columns:minmax(0,1fr) 130px 58px!important;
}
.line-row-vehicles-v70{
  grid-template-columns:minmax(0,1.45fr) 112px 112px 112px 58px!important;
}
.vehicle-head-v70{
  grid-template-columns:minmax(0,1.45fr) 112px 112px 112px 58px!important;
}
.line-row-tools-v70{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 58px!important;
}
.tool-head-v70{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 58px!important;
}

.worktime-panel-v71{
  margin-top:16px;
  display:grid;
  grid-template-columns:1.1fr minmax(150px,.65fr) minmax(150px,.65fr) minmax(180px,.75fr);
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid rgba(22,128,90,.20);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(226,240,235,.95),rgba(241,248,245,.98));
}
.worktime-title-v71{display:grid;gap:4px;align-self:center}
.worktime-title-v71 strong{font-weight:900;color:#006b3f}
.worktime-title-v71 span{font-size:12px;color:#667789;font-weight:800}
.worktime-panel-v71 label{display:grid;gap:6px;font-size:13px;font-weight:900;color:#071d36}
.worktime-panel-v71 input{min-height:46px;border-radius:14px;background:#fff}

.lined-field-v70 textarea{
  line-height:34px!important;
  padding:10px 14px!important;
  background-size:100% 34px!important;
  background-position:0 10px!important;
  background-image:linear-gradient(to bottom,transparent 33px,rgba(75,93,112,.16) 34px)!important;
}

.photo-section-v70 .photo-preview-grid-v50{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  gap:12px!important;
}
.photo-section-v70 .photo-preview-empty-v50{
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  grid-column:1/-1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}
.photo-section-v70 .photo-empty-v50{
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  place-items:center!important;
}

@media (max-width:920px){
  .master-addbar-v72,
  .master-addbar-workers-v72,
  .master-addbar-tools-v72{
    grid-template-columns:1fr 1fr auto;
  }
  .master-addbar-title-v72{
    grid-column:1/-1;
  }
  .worktime-panel-v71{
    grid-template-columns:1fr 1fr;
  }
  .worktime-title-v71{grid-column:1/-1}
  .line-row-vehicles-v70,
  .vehicle-head-v70{
    grid-template-columns:minmax(0,1fr) 92px 92px 92px 48px!important;
  }
}

@media (max-width:640px){
  .master-addbar-v72,
  .master-addbar-workers-v72,
  .master-addbar-tools-v72{
    grid-template-columns:1fr;
    padding:12px;
  }
  .master-add-v72{
    width:100%!important;
    min-height:46px!important;
  }
  .worktime-panel-v71{
    grid-template-columns:1fr;
    padding:12px;
  }
  .line-row-workers-v70{
    grid-template-columns:minmax(0,1fr) 88px 46px!important;
  }
  .line-row-vehicles-v70{
    grid-template-columns:1fr 1fr 1fr 46px!important;
  }
  .line-row-vehicles-v70 input:first-child{grid-column:1/-1}
  .line-row-vehicles-v70 input:nth-child(4){grid-column:1/3}
  .line-row-tools-v70{
    grid-template-columns:1fr 46px!important;
  }
  .line-row-tools-v70 input:nth-child(2){grid-column:1/2}
  .line-row-tools-v70 .line-remove-v70{grid-row:1 / span 2;grid-column:2}
  .photo-section-v70 .photo-preview-grid-v50{grid-template-columns:1fr!important}
}

/* v73: linked worker time and aligned row editors */
.master-addbar-v72{align-items:end!important}
.master-addbar-workers-v72.master-addbar-v73{grid-template-columns:minmax(230px,.95fr) minmax(360px,1.45fr) auto!important}
.master-addbar-v72 label{margin:0!important}
.master-addbar-v72 input{height:44px!important;min-height:44px!important}
.master-add-v72{height:44px!important;min-height:44px!important;align-self:end!important}

.line-editor-v70{gap:8px!important}
.line-editor-head-v70{align-items:end!important;padding:0 68px 0 6px!important;gap:10px!important}
.line-row-v70{gap:10px!important;align-items:center!important}
.line-row-v70 .line-input-v70{height:46px!important;min-height:46px!important;line-height:46px!important;padding-top:0!important;padding-bottom:0!important;margin:0!important}
.line-remove-v70{height:44px!important;min-height:44px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}

.worker-head-v70,.line-row-workers-v70{grid-template-columns:minmax(0,1fr) 130px 68px!important}
.vehicle-head-v70,.line-row-vehicles-v70{grid-template-columns:minmax(0,1.4fr) 112px 112px 112px 68px!important}
.tool-head-v70,.line-row-tools-v70{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 68px!important}
.waste-head-v70,.line-row-waste-v70{grid-template-columns:1fr 120px 1.2fr 68px!important}

.line-row-vehicles-v70 .line-input-v70.km-v70{text-align:center!important}
.line-row-vehicles-v70 input:nth-child(4){background:#f7fbf9!important;color:#526475!important}
.line-row-workers-v70 input:nth-child(2){text-align:center!important;background:#f7fbf9!important}

.line-add-v70{margin-top:8px!important;justify-self:start!important}

.worktime-panel-v71 #work_hours{background:#f7fbf9!important;color:#071d36!important}

@media (max-width:920px){
  .master-addbar-workers-v72.master-addbar-v73{grid-template-columns:1fr 1fr auto!important}
  .vehicle-head-v70,.line-row-vehicles-v70{grid-template-columns:minmax(0,1fr) 92px 92px 92px 56px!important}
}
@media (max-width:640px){
  .master-addbar-workers-v72.master-addbar-v73,
  .master-addbar-v72,
  .master-addbar-tools-v72{grid-template-columns:1fr!important}
  .master-addbar-v72{padding:12px!important}
  .master-add-v72{width:100%!important}
  .worker-head-v70,.vehicle-head-v70,.tool-head-v70,.waste-head-v70{display:none!important}
  .line-row-v70{background:rgba(255,255,255,.62)!important;border:1px solid rgba(112,140,162,.22)!important;border-radius:16px!important;padding:10px!important}
  .line-row-workers-v70{grid-template-columns:minmax(0,1fr) 92px 48px!important}
  .line-row-vehicles-v70{grid-template-columns:1fr 1fr 1fr 48px!important}
  .line-row-vehicles-v70 input:first-child{grid-column:1/-1!important}
  .line-row-vehicles-v70 input:nth-child(4){grid-column:1/3!important}
  .line-row-tools-v70{grid-template-columns:1fr 48px!important}
  .line-row-tools-v70 input:nth-child(2){grid-column:1/2!important}
  .line-row-tools-v70 .line-remove-v70{grid-row:1 / span 2!important;grid-column:2!important;height:100%!important}
  .line-row-waste-v70{grid-template-columns:1fr 48px!important}
  .line-row-waste-v70 input:nth-child(2),.line-row-waste-v70 input:nth-child(3){grid-column:1/2!important}
  .line-row-waste-v70 .line-remove-v70{grid-row:1 / span 3!important;grid-column:2!important;height:100%!important}
}

/* v74: worker time merged, vehicle distance simplified, photo preview fixed */
.worktime-panel-v71{display:none!important}

.worker-time-add-v74{
  display:grid;
  grid-template-columns:minmax(190px,1.15fr) 130px 130px 190px minmax(240px,1.3fr) auto;
  gap:10px;
  align-items:end;
  margin:0 0 12px;
  padding:14px;
  border:1px dashed rgba(22,108,66,.24);
  border-radius:16px;
  background:rgba(255,255,255,.56);
}
.worker-time-add-v74 .master-addbar-title-v72{align-self:center}
.worker-time-add-v74 label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#5f7080;margin:0!important}
.worker-time-add-v74 input{height:44px!important;min-height:44px!important;margin:0!important}
.worker-time-add-v74 .master-add-v72{height:44px!important;min-height:44px!important;white-space:nowrap}

.vehicle-head-v70,.line-row-vehicles-v70{
  grid-template-columns:minmax(0,1.5fr) 170px 68px!important;
}
.vehicle-head-v70 span:nth-child(2){text-align:center}
.line-row-vehicles-v70 .line-input-v70.km-v70{
  text-align:center!important;
  background:#fff!important;
  color:#071d36!important;
}
.line-row-vehicles-v70 .line-input-v70.km-v70::placeholder{
  color:#6b7580!important;
}

.line-editor-head-v70{align-items:end!important}
.line-row-v70{align-items:center!important}
.line-row-v70 .line-input-v70{
  height:46px!important;
  min-height:46px!important;
  line-height:46px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0!important;
}
.line-remove-v70{
  height:44px!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.photo-section-v70 .photo-preview-grid-v50{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  gap:12px!important;
}
.photo-section-v70 .photo-preview-empty-v50,
.photo-section-v70 .photo-empty-v50{
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  grid-column:1/-1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}
.photo-new-card-v74{
  position:relative;
  margin:0!important;
  border:1px solid rgba(112,140,162,.28);
  border-radius:14px;
  background:#fff;
  padding:8px;
  overflow:hidden;
}
.photo-new-card-v74 img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.photo-new-card-v74 figcaption{
  margin-top:6px;
  font-size:12px;
  font-weight:800;
  color:#526475;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:1100px){
  .worker-time-add-v74{
    grid-template-columns:1fr 1fr 1fr;
  }
  .worker-time-add-v74 .master-addbar-title-v72{
    grid-column:1/-1;
  }
  .worker-time-add-v74 .master-add-v72{
    width:100%!important;
  }
}
@media (max-width:760px){
  .worker-time-add-v74{
    grid-template-columns:1fr 1fr;
    padding:12px;
  }
  .worker-time-add-v74 .master-addbar-title-v72,
  .worker-time-add-v74 label:nth-of-type(3),
  .worker-time-add-v74 label:nth-of-type(4),
  .worker-time-add-v74 .master-add-v72{
    grid-column:1/-1;
  }
  .vehicle-head-v70{display:none!important}
  .line-row-vehicles-v70{
    grid-template-columns:1fr 105px 48px!important;
  }
  .line-row-vehicles-v70 input:first-child{
    grid-column:1/-1!important;
  }
  .line-row-vehicles-v70 input:nth-child(2){
    grid-column:1/3!important;
  }
  .line-row-vehicles-v70 .line-remove-v70{
    grid-column:3!important;
    grid-row:2!important;
  }
}
@media (max-width:520px){
  .worker-time-add-v74{
    grid-template-columns:1fr;
  }
  .worker-time-add-v74 label,
  .worker-time-add-v74 .master-add-v72{
    grid-column:1!important;
  }
  .photo-section-v70 .photo-preview-grid-v50{
    grid-template-columns:1fr!important;
  }
}

/* v75: remove useless photo viewer slider, clear auto text, reset worker time, photo preview delete */
[class*="kt-photo-viewer-"][class*="__range"]{
  display:none!important;
}
.kt-photo-viewer-v66__footer,
.kt-photo-viewer-v63__footer,
.kt-photo-viewer-v62__footer{
  width:auto!important;
  max-width:none!important;
}
.kt-photo-viewer-v66__toolbar,
.kt-photo-viewer-v63__toolbar,
.kt-photo-viewer-v62__toolbar{
  margin-top:0!important;
}

.worker-time-add-v74 input#work_hours::placeholder,
.line-row-workers-v70 input:nth-child(2)::placeholder{
  color:transparent!important;
}

.photo-section-v70 .photo-preview-grid-v50{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}
.photo-new-card-v75{
  position:relative;
  margin:0!important;
  border:1px solid rgba(112,140,162,.30);
  border-radius:14px;
  background:#fff;
  padding:8px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(15,35,55,.08);
}
.photo-new-card-v75 img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  background:#eef4f7;
}
.photo-new-card-v75 figcaption{
  margin-top:6px;
  padding-right:42px;
  font-size:12px;
  font-weight:800;
  color:#526475;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.photo-preview-delete-v75{
  position:absolute;
  right:8px;
  bottom:7px;
  min-height:28px!important;
  padding:4px 8px!important;
  border-radius:999px;
  border:1px solid rgba(215,60,60,.28);
  background:#fff3f3;
  color:#d71920;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}
.photo-preview-delete-v75:hover{
  background:#ffe5e5;
}
.photo-section-v70 .photo-preview-empty-v50,
.photo-section-v70 .photo-empty-v50{
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  grid-column:1/-1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}

@media (max-width:520px){
  .photo-section-v70 .photo-preview-grid-v50{
    grid-template-columns:1fr 1fr!important;
  }
  .photo-new-card-v75 img{
    height:108px;
  }
}

/* v76: clean report form layout, worker name before time, prevent right overflow, hide new-report registered photo box */
.report-form-v70,
.report-form-v70 *,
.paper-form-v70,
.paper-form-v70 *{
  box-sizing:border-box!important;
}
.report-form-v70{
  overflow:hidden!important;
}
.paper-form-v70,
.paper-section-v70,
.photo-manager-v50{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.paper-section-head-v70 p,
.master-addbar-title-v72{
  display:none!important;
}

/* worker add row: name first, then time */
.worker-time-add-v74{display:none!important}
.worker-time-add-v76{
  display:grid;
  grid-template-columns:minmax(220px,1.35fr) 130px 130px 190px auto;
  gap:10px;
  align-items:end;
  width:100%;
  max-width:100%;
  margin:0 0 12px;
  padding:12px;
  border:1px dashed rgba(22,108,66,.22);
  border-radius:16px;
  background:rgba(255,255,255,.54);
  overflow:hidden;
}
.worker-time-add-v76 label{
  display:grid;
  gap:6px;
  min-width:0;
  margin:0!important;
  font-size:12px;
  font-weight:900;
  color:#5f7080;
}
.worker-time-add-v76 input{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
}
.worker-time-add-v76 .master-add-v72{
  height:44px!important;
  min-height:44px!important;
  white-space:nowrap;
  width:auto!important;
  min-width:132px;
}

/* compact pickers */
.master-addbar-v72{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  width:100%!important;
  max-width:100%!important;
  padding:10px!important;
  overflow:hidden!important;
}
.master-addbar-tools-v72{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
}
.master-addbar-v72 label{
  min-width:0!important;
  margin:0!important;
}
.master-addbar-v72 input{
  width:100%!important;
  min-width:0!important;
}
.master-addbar-v72 .master-add-v72{
  width:auto!important;
  min-width:58px!important;
  height:44px!important;
  min-height:44px!important;
}

/* line rows: no right overflow */
.line-editor-v70,
.line-editor-rows-v70,
.line-row-v70,
.line-editor-head-v70{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.line-row-v70{
  gap:10px!important;
}
.line-row-v70 input{
  min-width:0!important;
  width:100%!important;
}
.worker-head-v70,
.line-row-workers-v70{
  grid-template-columns:minmax(0,1fr) 130px 62px!important;
}
.vehicle-head-v70,
.line-row-vehicles-v70{
  grid-template-columns:minmax(0,1fr) 150px 62px!important;
}
.tool-head-v70,
.line-row-tools-v70{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 62px!important;
}
.waste-head-v70,
.line-row-waste-v70{
  grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr) 62px!important;
}
.line-remove-v70{
  width:62px!important;
  min-width:62px!important;
  max-width:62px!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* new report: registered-photo box is not shown by PHP, keep preview aligned */
.photo-section-v70 .photo-preview-grid-v50{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  gap:12px!important;
}
.photo-section-v70 .photo-preview-empty-v50,
.photo-section-v70 .photo-empty-v50{
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  grid-column:1/-1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
}

@media (max-width:1100px){
  .worker-time-add-v76{
    grid-template-columns:1fr 1fr 1fr;
  }
  .worker-time-add-v76 label:first-child,
  .worker-time-add-v76 .master-add-v72{
    grid-column:1/-1;
  }
  .worker-time-add-v76 .master-add-v72{
    width:100%!important;
  }
}
@media (max-width:760px){
  .paper-section-v70{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .worker-time-add-v76{
    grid-template-columns:1fr 1fr;
    padding:10px;
  }
  .worker-time-add-v76 label:first-child,
  .worker-time-add-v76 label:nth-child(4),
  .worker-time-add-v76 .master-add-v72{
    grid-column:1/-1;
  }
  .line-editor-head-v70{display:none!important}
  .line-row-workers-v70,
  .line-row-vehicles-v70,
  .line-row-tools-v70,
  .line-row-waste-v70{
    grid-template-columns:1fr 58px!important;
    align-items:center!important;
  }
  .line-row-workers-v70 input:first-child,
  .line-row-vehicles-v70 input:first-child,
  .line-row-tools-v70 input:first-child,
  .line-row-tools-v70 input:nth-child(2),
  .line-row-waste-v70 input:first-child,
  .line-row-waste-v70 input:nth-child(3){
    grid-column:1/-1!important;
  }
  .line-row-workers-v70 input:nth-child(2),
  .line-row-vehicles-v70 input:nth-child(2),
  .line-row-waste-v70 input:nth-child(2){
    grid-column:1/2!important;
  }
  .line-row-v70 .line-remove-v70{
    grid-column:2/3!important;
    grid-row:auto!important;
  }
  .master-addbar-v72,
  .master-addbar-tools-v72{
    grid-template-columns:1fr!important;
  }
  .master-addbar-v72 .master-add-v72{
    width:100%!important;
  }
}
@media (max-width:520px){
  .worker-time-add-v76{
    grid-template-columns:1fr;
  }
  .worker-time-add-v76 label,
  .worker-time-add-v76 .master-add-v72{
    grid-column:1!important;
  }
  .photo-section-v70 .photo-preview-grid-v50{
    grid-template-columns:1fr 1fr!important;
  }
}

/* v77: compact aligned report form sections */
.report-form-v70,
.report-form-v70 *,
.paper-form-v70,
.paper-form-v70 *{
  box-sizing:border-box!important;
}

.report-form-v70,
.paper-form-v70{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

/* 全体を詰める */
.paper-section-v70{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding:16px 18px!important;
  margin:14px 0!important;
  border-radius:18px!important;
}
.paper-section-head-v70{
  margin:0 0 10px!important;
}
.paper-section-head-v70 h2,
.paper-section-head-v70 h3{
  margin:0!important;
  font-size:18px!important;
  line-height:1.25!important;
}
.paper-section-head-v70 p,
.master-addbar-title-v72{
  display:none!important;
}

/* 入力欄の高さを統一 */
.paper-section-v70 input,
.paper-section-v70 select,
.paper-section-v70 textarea{
  min-width:0!important;
  max-width:100%!important;
}
.paper-section-v70 input,
.paper-section-v70 select{
  height:40px!important;
  min-height:40px!important;
  line-height:40px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-radius:12px!important;
}
.paper-section-v70 button{
  min-height:40px!important;
  border-radius:12px!important;
}

/* 作業員 + 時間：1行でコンパクト */
.worker-time-add-v74{display:none!important}
.worker-time-add-v76{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(210px,1.45fr) 112px 112px 150px 120px!important;
  gap:8px!important;
  align-items:end!important;
  padding:10px!important;
  margin:0 0 10px!important;
  border:1px dashed rgba(22,108,66,.22)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.58)!important;
  overflow:hidden!important;
}
.worker-time-add-v76 label{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#607283!important;
}
.worker-time-add-v76 input{
  width:100%!important;
  min-width:0!important;
}
.worker-time-add-v76 .master-add-v72{
  width:100%!important;
  min-width:0!important;
  padding-left:8px!important;
  padding-right:8px!important;
  white-space:nowrap!important;
}

/* 登録済み選択バー：上下を詰める */
.master-addbar-v72,
.master-addbar-tools-v72{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding:10px!important;
  margin:0 0 10px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.60)!important;
  border:1px solid rgba(147,179,165,.28)!important;
}
.master-addbar-v72{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  gap:8px!important;
  align-items:end!important;
}
.master-addbar-tools-v72{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 58px!important;
}
.master-addbar-v72 label{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#607283!important;
}
.master-addbar-v72 input{
  width:100%!important;
  min-width:0!important;
}
.master-addbar-v72 .master-add-v72{
  width:58px!important;
  min-width:58px!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* 行エディタ共通：表頭と入力欄を同じ grid にする */
.line-editor-v70,
.line-editor-rows-v70,
.line-row-v70,
.line-editor-head-v70{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.line-editor-v70{
  margin-top:0!important;
}
.line-editor-head-v70{
  display:grid!important;
  gap:8px!important;
  align-items:end!important;
  padding:0 0 5px!important;
  margin:0!important;
}
.line-editor-head-v70 span{
  min-width:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#607283!important;
  padding:0!important;
  margin:0!important;
}
.line-row-v70{
  display:grid!important;
  gap:8px!important;
  align-items:center!important;
  margin:0 0 8px!important;
}
.line-row-v70 .line-input-v70{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  height:40px!important;
  min-height:40px!important;
  line-height:40px!important;
  padding:0 12px!important;
  border-radius:12px!important;
}
.line-remove-v70{
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
}

/* 各项目列宽：标题和格子严格同一套 */
.worker-head-v70,
.line-row-workers-v70{
  grid-template-columns:minmax(0,1fr) 120px 54px!important;
}
.vehicle-head-v70,
.line-row-vehicles-v70{
  grid-template-columns:minmax(0,1fr) 132px 54px!important;
}
.tool-head-v70,
.line-row-tools-v70{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 54px!important;
}
.waste-head-v70,
.line-row-waste-v70{
  grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr) 54px!important;
}

/* 没有意义的大按钮缩小 */
.line-editor-v70 > .btn,
button[data-add-row-v70]{
  min-height:38px!important;
  padding:0 14px!important;
  width:auto!important;
  min-width:0!important;
  margin-top:0!important;
}

/* 防止右边顶出去 */
.line-row-v70 > *,
.line-editor-head-v70 > *,
.master-addbar-v72 > *,
.worker-time-add-v76 > *{
  min-width:0!important;
}

/* 图片区域一起保持整齐 */
.photo-section-v70 .photo-preview-grid-v50{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;
  gap:10px!important;
}
.photo-section-v70 .photo-preview-empty-v50,
.photo-section-v70 .photo-empty-v50{
  width:100%!important;
  max-width:none!important;
  min-height:58px!important;
  grid-column:1/-1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
}

/* 中宽屏：先压缩，不换成超长 */
@media (max-width:1180px){
  .worker-time-add-v76{
    grid-template-columns:minmax(180px,1.3fr) 104px 104px 140px 112px!important;
  }
  .vehicle-head-v70,
  .line-row-vehicles-v70{
    grid-template-columns:minmax(0,1fr) 118px 54px!important;
  }
  .waste-head-v70,
  .line-row-waste-v70{
    grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr) 54px!important;
  }
}

/* 手机端：紧凑但不挤爆 */
@media (max-width:760px){
  .paper-section-v70{
    padding:12px!important;
    margin:12px 0!important;
    border-radius:16px!important;
  }

  .worker-time-add-v76{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:10px!important;
  }
  .worker-time-add-v76 label:first-child,
  .worker-time-add-v76 label:nth-child(4),
  .worker-time-add-v76 .master-add-v72{
    grid-column:1/-1!important;
  }

  .master-addbar-v72,
  .master-addbar-tools-v72{
    grid-template-columns:1fr!important;
    padding:9px!important;
  }
  .master-addbar-v72 .master-add-v72{
    width:100%!important;
    min-width:0!important;
  }

  .line-editor-head-v70{
    display:none!important;
  }
  .line-row-v70{
    gap:7px!important;
    padding:8px!important;
    margin-bottom:8px!important;
    border:1px solid rgba(153,177,194,.22)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.52)!important;
  }

  .line-row-workers-v70{
    grid-template-columns:1fr 86px 48px!important;
  }
  .line-row-vehicles-v70{
    grid-template-columns:1fr 96px 48px!important;
  }
  .line-row-tools-v70{
    grid-template-columns:1fr 48px!important;
  }
  .line-row-waste-v70{
    grid-template-columns:1fr 80px 48px!important;
  }

  .line-row-tools-v70 input:first-child,
  .line-row-tools-v70 input:nth-child(2),
  .line-row-waste-v70 input:first-child,
  .line-row-waste-v70 input:nth-child(3){
    grid-column:1/-1!important;
  }

  .line-row-v70 .line-remove-v70{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
  }
}

@media (max-width:520px){
  .worker-time-add-v76{
    grid-template-columns:1fr!important;
  }
  .worker-time-add-v76 label,
  .worker-time-add-v76 .master-add-v72{
    grid-column:1!important;
  }

  .line-row-workers-v70,
  .line-row-vehicles-v70,
  .line-row-tools-v70,
  .line-row-waste-v70{
    grid-template-columns:1fr!important;
  }
  .line-row-v70 .line-remove-v70{
    width:100%!important;
    max-width:none!important;
  }

  .photo-section-v70 .photo-preview-grid-v50{
    grid-template-columns:1fr 1fr!important;
  }
}

/* v78: saved master picker buttons + small selection modal */
.picker-field-v78{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#607283!important;
}
.picker-open-v78{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 36px 0 12px!important;
  border:1px solid rgba(151,174,194,.70)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fff,#f8fbfc)!important;
  color:#071d36!important;
  font-weight:900!important;
  text-align:left!important;
  position:relative!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  cursor:pointer!important;
}
.picker-open-v78::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:7px solid #0b2a45;
  transform:translateY(-40%);
}
.picker-open-v78:hover,
.picker-open-v78:focus{
  border-color:rgba(22,128,90,.62)!important;
  box-shadow:0 0 0 4px rgba(22,128,90,.10)!important;
}
.picker-open-v78 span{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.picker-open-v78 span.is-selected-v78{
  color:#071d36!important;
}

/* top select rows become button-based and compact */
.worker-time-add-v76 .picker-field-v78,
.master-addbar-v72 .picker-field-v78{
  min-width:0!important;
}

/* modal */
.picker-modal-v78{
  position:fixed;
  inset:0;
  z-index:999998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(7,16,28,.46);
  backdrop-filter:blur(5px);
}
.picker-modal-v78.is-open{
  display:flex;
}
.picker-dialog-v78{
  width:min(460px, calc(100vw - 32px));
  max-height:min(620px, calc(100vh - 54px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  gap:10px;
  padding:16px;
  border-radius:20px;
  background:#f7fbfd;
  border:1px solid rgba(166,187,204,.55);
  box-shadow:0 26px 80px rgba(5,17,31,.30);
}
.picker-head-v78{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.picker-head-v78 strong{
  font-size:20px;
  font-weight:900;
  color:#071d36;
}
.picker-close-v78{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(151,174,194,.70)!important;
  background:#fff!important;
  color:#0b2a45!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:0!important;
  cursor:pointer!important;
}
.picker-search-v78,
.picker-manual-v78 input{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:1px solid rgba(151,174,194,.70)!important;
  background:#fff!important;
  padding:0 12px!important;
  color:#071d36!important;
  font-weight:800!important;
}
.picker-list-v78{
  min-height:80px;
  max-height:300px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding:2px 2px 2px 0;
}
.picker-option-v78{
  width:100%!important;
  min-height:42px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  border:1px solid rgba(151,174,194,.45)!important;
  background:#fff!important;
  color:#071d36!important;
  font-weight:900!important;
  text-align:left!important;
  cursor:pointer!important;
}
.picker-option-v78:hover,
.picker-option-v78:focus{
  background:#eaf4ee!important;
  border-color:rgba(22,128,90,.42)!important;
}
.picker-empty-v78{
  display:none;
  padding:12px;
  border-radius:12px;
  border:1px dashed rgba(151,174,194,.65);
  color:#637587;
  font-weight:800;
  background:#fff;
}
.picker-manual-v78{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding-top:2px;
}
.picker-manual-v78 button{
  width:auto!important;
  min-width:118px!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:0!important;
  background:#147a4f!important;
  color:#fff!important;
  font-weight:900!important;
  padding:0 14px!important;
  cursor:pointer!important;
}
.picker-open-body-v78{
  overflow:hidden;
}

@media (max-width:760px){
  .picker-dialog-v78{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 42px);
    padding:14px;
    border-radius:18px;
  }
  .picker-manual-v78{
    grid-template-columns:1fr;
  }
  .picker-manual-v78 button{
    width:100%!important;
  }
}

/* v79: picker pagination, centered close icon, mobile photo preview fix, shorter calculated time */
.worker-time-add-v76{
  grid-template-columns:minmax(190px,1.35fr) 110px 110px 98px 120px!important;
}
.worker-time-add-v76 input#work_hours{
  text-align:center!important;
  padding-left:8px!important;
  padding-right:8px!important;
  font-size:15px!important;
  white-space:nowrap!important;
}

/* picker modal: 5件ずつ */
.picker-dialog-v78{
  grid-template-rows:auto auto auto minmax(0,1fr) auto auto!important;
}
.picker-list-v78{
  max-height:none!important;
  min-height:252px!important;
  display:grid!important;
  grid-template-rows:repeat(5, 44px)!important;
  gap:8px!important;
  overflow:hidden!important;
}
.picker-option-v78{
  min-height:44px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.picker-pager-v79{
  display:none;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:2px 0 0;
}
.picker-pager-v79 button{
  width:42px!important;
  height:36px!important;
  min-height:36px!important;
  border-radius:999px!important;
  border:1px solid rgba(151,174,194,.62)!important;
  background:#fff!important;
  color:#071d36!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:0!important;
}
.picker-pager-v79 button:disabled{
  opacity:.38!important;
}
.picker-pager-v79 span{
  min-width:64px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#edf4f7;
  color:#071d36;
  font-weight:900;
}

/* close icon: draw the x in the exact center */
.picker-close-v78{
  position:relative!important;
  font-size:0!important;
  line-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 38px!important;
}
.picker-close-v78::before,
.picker-close-v78::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2.6px;
  border-radius:999px;
  background:#0b2a45;
  transform-origin:center;
}
.picker-close-v78::before{transform:translate(-50%,-50%) rotate(45deg)}
.picker-close-v78::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* photo preview on mobile: no cropped card, scroll horizontally */
@media (max-width:760px){
  .photo-section-v70{
    overflow:visible!important;
  }
  .photo-section-v70 .photo-preview-grid-v50{
    display:flex!important;
    grid-template-columns:none!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%!important;
    max-width:100%!important;
    padding:2px 4px 10px 0!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .photo-section-v70 .photo-preview-grid-v50 > figure,
  .photo-section-v70 .photo-preview-grid-v50 > .photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50 > .photo-new-card-v75{
    flex:0 0 116px!important;
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    scroll-snap-align:start;
  }
  .photo-section-v70 .photo-preview-grid-v50 img{
    height:108px!important;
  }
  .photo-section-v70 .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    flex:1 0 100%!important;
    width:100%!important;
    min-width:100%!important;
  }
}

@media (max-width:520px){
  .worker-time-add-v76{
    grid-template-columns:1fr 1fr!important;
  }
  .worker-time-add-v76 label:first-child,
  .worker-time-add-v76 label:nth-child(4),
  .worker-time-add-v76 .master-add-v72{
    grid-column:1/-1!important;
  }
  .picker-list-v78{
    min-height:242px!important;
    grid-template-rows:repeat(5, 42px)!important;
  }
  .picker-option-v78{
    height:42px!important;
    min-height:42px!important;
  }
}

/* v80: picker only button pagination + cleaner mobile photo cards */

/* 选择窗口：只用上一页/下一页按钮，不滑动 */
.picker-list-v78{
  touch-action:auto!important;
  overscroll-behavior:contain!important;
}
.picker-pager-v79{
  padding-top:8px!important;
}
.picker-pager-v79 button{
  box-shadow:none!important;
}

/* 选择窗口右上角关闭按钮再居中一次 */
.picker-close-v78{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
.picker-close-v78::before,
.picker-close-v78::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:16px!important;
  height:2.6px!important;
  border-radius:999px!important;
  background:#0b2a45!important;
  transform-origin:center!important;
}
.picker-close-v78::before{
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
.picker-close-v78::after{
  transform:translate(-50%,-50%) rotate(-45deg)!important;
}

/* 照片区域：减少多余线条 */
.photo-section-v70{
  border-color:rgba(143,170,190,.22)!important;
  background:linear-gradient(180deg,rgba(248,252,253,.96),rgba(242,249,250,.96))!important;
}
.photo-section-v70 .photo-manager-v50,
.photo-section-v70 .photo-preview-wrap-v50,
.photo-section-v70 .photo-preview-panel-v50{
  border:none!important;
  box-shadow:none!important;
  background:transparent!important;
}
.photo-section-v70 .photo-preview-empty-v50,
.photo-section-v70 .photo-empty-v50{
  border:1px dashed rgba(155,178,195,.34)!important;
  background:rgba(255,255,255,.50)!important;
}

/* 手机端照片：不横向滑动，不裁半张；两列完整显示 */
@media (max-width:760px){
  .photo-section-v70{
    overflow:hidden!important;
  }
  .photo-section-v70 .photo-preview-grid-v50{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:10px!important;
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  .photo-section-v70 .photo-preview-grid-v50 > figure,
  .photo-section-v70 .photo-preview-grid-v50 > .photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50 > .photo-new-card-v75{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    flex:none!important;
    margin:0!important;
    padding:7px!important;
    border-radius:14px!important;
  }
  .photo-section-v70 .photo-preview-grid-v50 img{
    width:100%!important;
    height:110px!important;
    object-fit:cover!important;
    border-radius:10px!important;
    display:block!important;
  }
  .photo-section-v70 .photo-preview-grid-v50 figcaption{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:6px!important;
    padding:0!important;
    padding-right:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .photo-preview-delete-v75{
    position:absolute!important;
    top:8px!important;
    right:8px!important;
    bottom:auto!important;
    min-width:42px!important;
    min-height:30px!important;
    height:30px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:30px!important;
    background:rgba(255,243,243,.96)!important;
    box-shadow:0 6px 16px rgba(120,20,20,.12)!important;
  }
  .photo-section-v70 .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
  }
}

@media (max-width:420px){
  .photo-section-v70 .photo-preview-grid-v50{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .photo-section-v70 .photo-preview-grid-v50 img{
    height:98px!important;
  }
}

/* v81: force mobile photo preview to wrap normally, no right-side cropping */

/* 写真エリア全体：中で横にはみ出さない */
.photo-section-v70,
.photo-section-v70 *,
[data-photo-manager-v50],
[data-photo-manager-v50] *{
  box-sizing:border-box!important;
}

.photo-section-v70,
[data-photo-manager-v50],
.photo-preview-wrap-v50,
.photo-preview-panel-v50{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}

/* 追加予定写真：スマホ幅では横スクロールではなく、きちんと折り返す */
@media (max-width:900px){
  [data-photo-preview-v50],
  .photo-section-v70 .photo-preview-grid-v50,
  .photo-section-v70 .photo-grid-v50{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    overflow-x:hidden!important;
    padding:0!important;
    margin:0!important;
    scroll-snap-type:none!important;
  }

  [data-photo-preview-v50] > *,
  .photo-section-v70 .photo-preview-grid-v50 > *,
  .photo-section-v70 .photo-grid-v50 > *,
  .photo-section-v70 figure.photo-card-v50,
  .photo-section-v70 figure.photo-new-card-v75,
  .photo-section-v70 .photo-card-v50,
  .photo-section-v70 .photo-new-card-v75{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 1 auto!important;
    flex-basis:auto!important;
    margin:0!important;
    padding:7px!important;
    border-radius:14px!important;
    position:relative!important;
    overflow:hidden!important;
  }

  .photo-section-v70 .photo-card-v50 img,
  .photo-section-v70 .photo-new-card-v75 img,
  [data-photo-preview-v50] img{
    width:100%!important;
    max-width:100%!important;
    height:112px!important;
    min-height:112px!important;
    object-fit:cover!important;
    display:block!important;
    border-radius:10px!important;
  }

  .photo-section-v70 figcaption,
  .photo-section-v70 .photo-card-v50 figcaption,
  .photo-section-v70 .photo-new-card-v75 figcaption{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:6px 0 0!important;
    padding:0!important;
    padding-right:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    color:#526475!important;
  }

  .photo-preview-delete-v75,
  .photo-section-v70 .photo-delete-v50{
    position:absolute!important;
    top:8px!important;
    right:8px!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    min-width:42px!important;
    max-width:54px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:30px!important;
    z-index:5!important;
    background:rgba(255,243,243,.96)!important;
    color:#d71920!important;
    border:1px solid rgba(215,60,60,.26)!important;
    box-shadow:0 6px 16px rgba(120,20,20,.12)!important;
  }

  .photo-section-v70 .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

/* 特别窄的手机：改成一列，彻底避免被裁 */
@media (max-width:360px){
  [data-photo-preview-v50],
  .photo-section-v70 .photo-preview-grid-v50,
  .photo-section-v70 .photo-grid-v50{
    grid-template-columns:1fr!important;
  }

  .photo-section-v70 .photo-card-v50 img,
  .photo-section-v70 .photo-new-card-v75 img,
  [data-photo-preview-v50] img{
    height:150px!important;
  }
}

/* v82: mobile photo list fix + clearer saved-picker blocks */

/* 保存済みから選択するブロック：手入力行と区別する */
.worker-time-add-v76,
.master-addbar-v72,
.master-addbar-tools-v72{
  background:linear-gradient(180deg,#eaf6f1 0%,#f3fbf7 100%)!important;
  border:1px solid rgba(24,128,88,.24)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important;
}
.worker-time-add-v76 label,
.master-addbar-v72 label{
  color:#315f52!important;
}
.picker-open-v78{
  background:#ffffff!important;
  border-color:rgba(22,128,90,.34)!important;
}
.line-editor-v70{
  background:rgba(255,255,255,.38)!important;
  border-radius:14px!important;
  padding-top:6px!important;
}

/* 手机/窄屏照片：改成普通列表，彻底取消横向裁切 */
@media (max-width:980px){
  .photo-section-v70,
  .photo-section-v70 .photo-manager-v50,
  .photo-section-v70 .photo-preview-grid-v50,
  .photo-section-v70 [data-photo-preview-v50]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50],
  .photo-section-v70 [data-photo-preview-v50]{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:0!important;
    margin:0!important;
    scroll-snap-type:none!important;
    -webkit-overflow-scrolling:auto!important;
  }

  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50]::-webkit-scrollbar,
  .photo-section-v70 [data-photo-preview-v50]::-webkit-scrollbar{
    display:none!important;
  }

  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr) 52px!important;
    grid-template-rows:auto!important;
    gap:8px!important;
    align-items:center!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
    flex:none!important;
  }

  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 [data-photo-preview-v50] img{
    grid-column:1!important;
    grid-row:1!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    object-fit:cover!important;
    border-radius:10px!important;
    display:block!important;
    margin:0!important;
  }

  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption,
  .photo-section-v70 [data-photo-preview-v50] figcaption{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    color:#526475!important;
  }

  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 [data-photo-preview-v50] .photo-preview-delete-v75{
    grid-column:3!important;
    grid-row:1!important;
    position:static!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    border-radius:12px!important;
    font-size:12px!important;
    line-height:36px!important;
    justify-self:end!important;
    align-self:center!important;
    box-shadow:none!important;
  }

  .photo-section-v70 .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1!important;
    display:grid!important;
    place-items:center!important;
  }
}

/* 特别窄：图片缩小一点，但还是列表，不裁切 */
@media (max-width:380px){
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75{
    grid-template-columns:76px minmax(0,1fr) 50px!important;
  }
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 [data-photo-preview-v50] img{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
}

/* v83: mobile photo horizontal carousel, no vertical list, no half-cut card */

/* 追加予定写真：スマホでは左右スワイプ。1画面に2枚ぴったり表示 */
@media (max-width:980px){
  .photo-section-v70,
  .photo-section-v70 .photo-manager-v50{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50],
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0 0 10px 0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:0!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75{
    flex:0 0 calc((100% - 10px) / 2)!important;
    width:calc((100% - 10px) / 2)!important;
    min-width:calc((100% - 10px) / 2)!important;
    max-width:calc((100% - 10px) / 2)!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    display:block!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
    scroll-snap-align:start!important;
    position:relative!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    object-fit:cover!important;
    border-radius:10px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:7px 0 0!important;
    padding:0!important;
    padding-right:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:900!important;
    color:#526475!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-delete-v75{
    position:absolute!important;
    top:8px!important;
    right:8px!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    min-width:44px!important;
    max-width:56px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 8px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:32px!important;
    z-index:5!important;
    background:rgba(255,243,243,.96)!important;
    color:#d71920!important;
    border:1px solid rgba(215,60,60,.26)!important;
    box-shadow:0 6px 16px rgba(120,20,20,.12)!important;
  }

  .photo-section-v70 [data-photo-preview-v50] .photo-preview-empty-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    display:grid!important;
    place-items:center!important;
  }

  /* 横スクロールバーは細く表示。右端が切れているように見えないようにする */
  .photo-section-v70 [data-photo-preview-v50]::-webkit-scrollbar,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50]::-webkit-scrollbar{
    height:6px!important;
  }
  .photo-section-v70 [data-photo-preview-v50]::-webkit-scrollbar-thumb,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50]::-webkit-scrollbar-thumb{
    background:#bed0da!important;
    border-radius:999px!important;
  }
}

/* 很窄手机：1张一屏横滑，不裁切 */
@media (max-width:360px){
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75{
    flex-basis:100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }
}

/* v84: mobile photo carousel card width fixed, no blank space inside cards */
@media (max-width:980px){
  .photo-section-v70 [data-photo-preview-v50],
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0 2px 10px 0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] > figure,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure,
  .photo-section-v70 [data-photo-preview-v50] > .photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > .photo-new-card-v75{
    flex:0 0 128px!important;
    width:128px!important;
    min-width:128px!important;
    max-width:128px!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    display:block!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
    scroll-snap-align:start!important;
    position:relative!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 figure.photo-card-v50 img,
  .photo-section-v70 figure.photo-new-card-v75 img{
    display:block!important;
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
    object-fit:cover!important;
    border-radius:10px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption,
  .photo-section-v70 figure.photo-card-v50 figcaption,
  .photo-section-v70 figure.photo-new-card-v75 figcaption{
    display:block!important;
    width:112px!important;
    max-width:112px!important;
    min-width:0!important;
    margin:7px 0 0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:900!important;
    color:#526475!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 figure.photo-card-v50 .photo-delete-v50,
  .photo-section-v70 figure.photo-new-card-v75 .photo-preview-delete-v75{
    position:absolute!important;
    top:8px!important;
    right:8px!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    min-width:44px!important;
    max-width:56px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 8px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:32px!important;
    z-index:5!important;
    background:rgba(255,243,243,.96)!important;
    color:#d71920!important;
    border:1px solid rgba(215,60,60,.26)!important;
    box-shadow:0 6px 16px rgba(120,20,20,.12)!important;
  }

  .photo-section-v70 [data-photo-preview-v50] .photo-preview-empty-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    display:grid!important;
    place-items:center!important;
  }
}

@media (max-width:360px){
  .photo-section-v70 [data-photo-preview-v50] > figure,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure,
  .photo-section-v70 [data-photo-preview-v50] > .photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > .photo-new-card-v75{
    flex-basis:122px!important;
    width:122px!important;
    min-width:122px!important;
    max-width:122px!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 figure.photo-card-v50 img,
  .photo-section-v70 figure.photo-new-card-v75 img,
  .photo-section-v70 [data-photo-preview-v50] figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption{
    width:106px!important;
    min-width:106px!important;
    max-width:106px!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img{
    height:106px!important;
    min-height:106px!important;
    max-height:106px!important;
  }
}

/* v85: mobile work-time row + photo carousel no blank side */

/* 手机端：開始/終了不要竖着排，保持一排 */
@media (max-width:520px){
  .worker-time-add-v76{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .worker-time-add-v76 label:first-child{
    grid-column:1/-1!important;
  }

  .worker-time-add-v76 label:nth-child(2){
    grid-column:1/2!important;
  }

  .worker-time-add-v76 label:nth-child(3){
    grid-column:2/3!important;
  }

  .worker-time-add-v76 label:nth-child(4),
  .worker-time-add-v76 .master-add-v72{
    grid-column:1/-1!important;
  }
}

/* 照片：手机端保持左右滑动，但卡片不要留右边空白 */
@media (max-width:980px){
  .photo-section-v70 [data-photo-preview-v50],
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0 0 10px 0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] > figure,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure,
  .photo-section-v70 [data-photo-preview-v50] > .photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > .photo-new-card-v75{
    flex:0 0 118px!important;
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    border:0!important;
    border-radius:12px!important;
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    scroll-snap-align:start!important;
    position:relative!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 figure.photo-card-v50 img,
  .photo-section-v70 figure.photo-new-card-v75 img{
    display:block!important;
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    object-fit:cover!important;
    border-radius:12px!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#eef4f7!important;
    border:1px solid rgba(145,168,186,.32)!important;
  }

  .photo-section-v70 [data-photo-preview-v50] figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption,
  .photo-section-v70 figure.photo-card-v50 figcaption,
  .photo-section-v70 figure.photo-new-card-v75 figcaption{
    display:block!important;
    width:118px!important;
    max-width:118px!important;
    min-width:0!important;
    margin:7px 0 0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:900!important;
    color:#526475!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 [data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 figure.photo-card-v50 .photo-delete-v50,
  .photo-section-v70 figure.photo-new-card-v75 .photo-preview-delete-v75{
    position:absolute!important;
    top:6px!important;
    right:6px!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    min-width:42px!important;
    max-width:52px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 8px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:12px!important;
    line-height:30px!important;
    z-index:5!important;
    background:rgba(255,243,243,.96)!important;
    color:#d71920!important;
    border:1px solid rgba(215,60,60,.26)!important;
    box-shadow:0 6px 16px rgba(120,20,20,.16)!important;
  }

  .photo-section-v70 [data-photo-preview-v50] .photo-preview-empty-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-empty-v50,
  .photo-section-v70 .photo-empty-v50{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    display:grid!important;
    place-items:center!important;
  }
}

/* 很窄手机稍微缩小，仍然左右滑动 */
@media (max-width:360px){
  .photo-section-v70 [data-photo-preview-v50] > figure,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure,
  .photo-section-v70 [data-photo-preview-v50] > .photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > .photo-new-card-v75{
    flex-basis:108px!important;
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 [data-photo-preview-v50] figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption{
    width:108px!important;
    min-width:108px!important;
    max-width:108px!important;
  }

  .photo-section-v70 [data-photo-preview-v50] img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img{
    height:108px!important;
    min-height:108px!important;
    max-height:108px!important;
  }
}

/* v88: login remember account/password */
.login-remember-v88{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:-2px 0 2px;
  padding:2px 1px 0;
}
.login-remember-check-v88{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:8px!important;
  color:#526475!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.login-remember-check-v88 input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin:0!important;
  accent-color:#147a4f;
}
.login-remember-clear-v88{
  border:0;
  background:transparent;
  color:#657789;
  font-size:13px;
  font-weight:800;
  padding:4px 0;
  cursor:pointer;
}
.login-remember-clear-v88:hover{
  color:#b42318;
  text-decoration:underline;
}
@media (max-width:520px){
  .login-remember-v88{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
}

/* v89: login remember checkbox visual fix */
.login-remember-v88{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:8px 0 18px!important;
  padding:0!important;
}

.login-remember-check-v88{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#526475!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.2!important;
  cursor:pointer!important;
}

.login-remember-check-v88 input,
.login-remember-check-v88 input[type="checkbox"],
#login_remember_v88{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  -moz-appearance:checkbox!important;
  display:inline-block!important;
  flex:0 0 20px!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  padding:0!important;
  margin:0!important;
  border-radius:4px!important;
  border:1px solid #9db1c5!important;
  background:#fff!important;
  box-shadow:none!important;
  outline:none!important;
  accent-color:#147a4f!important;
  vertical-align:middle!important;
}

.login-remember-check-v88 input[type="checkbox"]:focus{
  box-shadow:0 0 0 4px rgba(20,122,79,.14)!important;
}

.login-remember-clear-v88{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:4px 0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#657789!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  cursor:pointer!important;
}

.login-remember-clear-v88:hover{
  color:#b42318!important;
  text-decoration:underline!important;
}

@media (max-width:520px){
  .login-remember-v88{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
    margin:8px 0 16px!important;
  }
}

/* v90: PC work-hours display wider */
@media (min-width:761px){
  .worker-time-add-v76{
    grid-template-columns:minmax(260px,1.25fr) 112px 112px minmax(210px,240px) 128px!important;
    gap:10px!important;
  }

  .worker-time-add-v76 label:nth-child(4){
    min-width:210px!important;
  }

  .worker-time-add-v76 input#work_hours{
    width:100%!important;
    min-width:210px!important;
    max-width:none!important;
    padding-left:10px!important;
    padding-right:10px!important;
    text-align:center!important;
    font-size:14px!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }

  .worker-time-add-v76 .master-add-v72{
    min-width:128px!important;
  }
}

@media (min-width:1180px){
  .worker-time-add-v76{
    grid-template-columns:minmax(320px,1.35fr) 120px 120px minmax(235px,270px) 138px!important;
  }

  .worker-time-add-v76 label:nth-child(4){
    min-width:235px!important;
  }

  .worker-time-add-v76 input#work_hours{
    min-width:235px!important;
    font-size:15px!important;
  }
}

/* v91: account settings mobile horizontal overflow fix */

/* 手机端整体不允许被右侧内容撑开 */
@media (max-width:760px){
  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body,
  .app-shell,
  .app-main,
  .main-shell,
  .main-content,
  .page-shell,
  .page-main,
  .page-content,
  .content,
  .container,
  .wrap,
  main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  /* アカウント設定周りのカード・グリッドを1列に固定 */
  .account-page,
  .account-page *,
  .account-settings,
  .account-settings *,
  .account-panel,
  .account-panel *,
  .account-card,
  .account-card *,
  .account-grid,
  .settings-grid,
  .setting-grid,
  .settings-card,
  .setting-card{
    box-sizing:border-box!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .account-page,
  .account-settings,
  .account-panel,
  .account-card,
  .account-grid,
  .settings-grid,
  .setting-grid,
  .settings-card,
  .setting-card{
    width:100%!important;
    overflow-x:hidden!important;
  }

  .account-grid,
  .settings-grid,
  .setting-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  /* 没有专用 class 的时候，也压住页面里的白色卡片 */
  main > section,
  main > div,
  .page-main > section,
  .page-main > div,
  .main-content > section,
  .main-content > div{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* 登录信息那种左右两列，在手机端保持在卡片内 */
  .account-card dl,
  .account-card .info-list,
  .account-card .profile-list,
  .settings-card dl,
  .setting-card dl,
  .account-panel dl{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .account-card dt,
  .account-card dd,
  .settings-card dt,
  .settings-card dd,
  .setting-card dt,
  .setting-card dd,
  .account-panel dt,
  .account-panel dd{
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  /* 表单输入框不能把页面撑宽 */
  .account-page input,
  .account-page select,
  .account-page textarea,
  .account-settings input,
  .account-settings select,
  .account-settings textarea,
  .account-panel input,
  .account-panel select,
  .account-panel textarea,
  .account-card input,
  .account-card select,
  .account-card textarea,
  .settings-card input,
  .settings-card select,
  .settings-card textarea,
  .setting-card input,
  .setting-card select,
  .setting-card textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* 如果页面标题/卡片被旧 CSS 写了固定宽度，手机端解除 */
  [class*="account"],
  [class*="setting"]{
    max-width:100%!important;
    min-width:0!important;
  }

  /* 右侧灰色可拉开的根源通常是卡片宽度 + padding 超出，这里统一压住 */
  .card,
  .panel,
  .box,
  .section-card,
  .paper-card,
  .content-card{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* 更窄手机再收一点左右边距 */
@media (max-width:520px){
  .account-page,
  .account-settings,
  .page-main,
  .main-content,
  main{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .account-card,
  .settings-card,
  .setting-card,
  .account-panel,
  .card,
  .panel{
    border-radius:18px!important;
  }
}

/* v92: account page real mobile overflow fix */

/* アカウント設定ページ専用。前回の汎用指定では足りなかった v45 系 class を直接直す */
@media (max-width:820px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  /* ヘッダーとナビが画面幅を押し広げないようにする */
  .app-header,
  .app-header *,
  .brand,
  .brand *,
  .main-nav,
  .main-nav *{
    box-sizing:border-box!important;
    min-width:0!important;
  }

  .app-header{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .app-header .container,
  .header-inner,
  .topbar,
  .topbar-inner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .brand{
    max-width:100%!important;
    overflow:hidden!important;
  }

  .main-nav{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .main-nav a{
    flex:0 0 auto!important;
  }

  /* ここが本体。account-v45 のカードが横にはみ出していた */
  .page-head.account-v45-head,
  .account-v45-head,
  .account-v45-layout,
  .account-layout,
  .account-v45-card,
  .account-v45-card *,
  .account-v45-id-box,
  .account-v45-id-form,
  .account-v45-info-list{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .page-head.account-v45-head,
  .account-v45-head{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .account-v45-layout,
  .grid.two-cols.account-layout.account-v45-layout{
    display:grid!important;
    grid-template-columns:minmax(0, 1fr)!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:hidden!important;
  }

  .account-v45-card,
  .grid.two-cols.account-layout.account-v45-layout > .account-v45-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:18px 16px!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }

  .account-v45-card h2,
  .account-v45-card h3{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }

  .account-v45-info-list{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .account-v45-info-list > div,
  .simple-list.account-v45-info-list > div,
  .info-list.account-v45-info-list > div{
    display:grid!important;
    grid-template-columns:minmax(88px, 34%) minmax(0, 1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .account-v45-info-list b,
  .account-v45-info-list span{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .account-v45-id-form,
  .account-v45-id-form label,
  .account-v45-id-form input,
  .account-v45-card form,
  .account-v45-card form label,
  .account-v45-card form input{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .account-v45-card .actions,
  .account-v45-card .btn,
  .account-v45-card button{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* 万一、親の page/container が固定幅を持っていても解除 */
  main,
  .app-main,
  .page-main,
  .content,
  .page-content,
  .container,
  .wrap{
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
}

/* さらに狭い端末では左右余白も少し減らす */
@media (max-width:520px){
  .page-head.account-v45-head h1,
  .account-v45-head h1{
    font-size:28px!important;
    line-height:1.15!important;
  }

  .account-v45-card,
  .grid.two-cols.account-layout.account-v45-layout > .account-v45-card{
    padding:16px 14px!important;
  }

  .account-v45-info-list > div,
  .simple-list.account-v45-info-list > div,
  .info-list.account-v45-info-list > div{
    grid-template-columns:minmax(82px, 32%) minmax(0, 1fr)!important;
  }
}

/* v93: account page mobile x-scroll real fix */

/* 这次直接修真正会撑宽的 header-inner / brand-block / container */
@media (max-width:820px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
  }

  body{
    position:relative!important;
    left:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .app-header{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    left:0!important;
    right:0!important;
  }

  .app-header-inner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:12px 12px 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .brand-block{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .brand-mark{
    flex:0 0 48px!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
  }

  .brand-text{
    min-width:0!important;
    max-width:calc(100% - 60px)!important;
    overflow:hidden!important;
  }

  .brand-text span,
  .brand-text strong,
  .brand-text em{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .main-nav{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 4px!important;
    margin:0!important;
    box-sizing:border-box!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  .main-nav::-webkit-scrollbar{
    display:none!important;
  }

  .main-nav a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }

  main.container,
  .container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  /* 只有アカウント設定页：彻底禁止卡片撑宽 */
  .container:has(.account-v45-layout),
  main.container:has(.account-v45-layout){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .account-v45-head,
  .page-head.account-v45-head{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .account-v45-head h1,
  .page-head.account-v45-head h1{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:keep-all!important;
  }

  .account-v45-layout,
  .grid.two-cols.account-layout.account-v45-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:14px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .account-v45-card,
  .grid.two-cols.account-layout.account-v45-layout > .account-v45-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:18px 16px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    border-radius:18px!important;
  }

  .account-v45-card *,
  .account-v45-info-list,
  .account-v45-info-list *,
  .account-v45-id-box,
  .account-v45-id-box *,
  .account-v45-card form,
  .account-v45-card form *{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .account-v45-info-list > div,
  .simple-list.account-v45-info-list > div{
    display:grid!important;
    grid-template-columns:minmax(82px,32%) minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .account-v45-info-list b,
  .account-v45-info-list span{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    overflow-wrap:anywhere!important;
  }

  .account-v45-card input,
  .account-v45-card select,
  .account-v45-card textarea,
  .account-v45-card button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

@media (max-width:420px){
  main.container,
  .container{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .app-header-inner{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .account-v45-card,
  .grid.two-cols.account-layout.account-v45-layout > .account-v45-card{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}

/* v94: square, neat mobile photo strip + stable photo delete */

@media (max-width: 860px){
  .photo-section-v70{
    --photo-card-v94: 110px;
    --photo-thumb-v94: 94px;
    --photo-gap-v94: 10px;
  }

  .photo-section-v70 .photo-grid-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50],
  .photo-section-v70 [data-photo-preview-v50]{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:var(--photo-gap-v94) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 0 10px 0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x proximity !important;
    box-sizing:border-box !important;
    scrollbar-width:thin !important;
  }

  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75{
    flex:0 0 var(--photo-card-v94) !important;
    width:var(--photo-card-v94) !important;
    min-width:var(--photo-card-v94) !important;
    max-width:var(--photo-card-v94) !important;
    margin:0 !important;
    padding:8px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;
    position:relative !important;
    background:#fff !important;
    border:1px solid rgba(140,163,182,.32) !important;
    border-radius:16px !important;
    overflow:hidden !important;
    box-shadow:0 3px 10px rgba(15,35,56,.06) !important;
    box-sizing:border-box !important;
    scroll-snap-align:start !important;
  }

  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > a,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > a,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > a{
    display:block !important;
    width:var(--photo-thumb-v94) !important;
    min-width:var(--photo-thumb-v94) !important;
    max-width:var(--photo-thumb-v94) !important;
    height:var(--photo-thumb-v94) !important;
    min-height:var(--photo-thumb-v94) !important;
    max-height:var(--photo-thumb-v94) !important;
    border-radius:12px !important;
    overflow:hidden !important;
  }

  .photo-section-v70 .photo-grid-v50 img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] img,
  .photo-section-v70 [data-photo-preview-v50] img{
    display:block !important;
    width:var(--photo-thumb-v94) !important;
    min-width:var(--photo-thumb-v94) !important;
    max-width:var(--photo-thumb-v94) !important;
    height:var(--photo-thumb-v94) !important;
    min-height:var(--photo-thumb-v94) !important;
    max-height:var(--photo-thumb-v94) !important;
    object-fit:cover !important;
    border-radius:12px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    background:#edf3f6 !important;
  }

  .photo-section-v70 .photo-grid-v50 figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] figcaption,
  .photo-section-v70 [data-photo-preview-v50] figcaption,
  .photo-section-v70 .photo-new-name-v50{
    display:block !important;
    width:var(--photo-thumb-v94) !important;
    min-width:var(--photo-thumb-v94) !important;
    max-width:var(--photo-thumb-v94) !important;
    margin:0 !important;
    padding:0 !important;
    color:#556a80 !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    box-sizing:border-box !important;
  }

  .photo-section-v70 .photo-grid-v50 .photo-delete-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 [data-photo-preview-v50] .photo-preview-delete-v75{
    position:absolute !important;
    top:6px !important;
    right:6px !important;
    left:auto !important;
    bottom:auto !important;
    min-width:44px !important;
    height:30px !important;
    padding:0 9px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    z-index:5 !important;
  }

  .photo-section-v70 .photo-empty-v50,
  .photo-section-v70 .photo-preview-empty-v50{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    min-height:68px !important;
    display:grid !important;
    place-items:center !important;
  }
}

@media (max-width: 390px){
  .photo-section-v70{
    --photo-card-v94: 104px;
    --photo-thumb-v94: 88px;
    --photo-gap-v94: 8px;
  }
}



/* v95: AJAX photo delete small toast */
.photo-ajax-toast-v95{
  position:fixed;
  left:50%;
  bottom:22px;
  z-index:999999;
  transform:translate(-50%, 16px);
  opacity:0;
  max-width:calc(100vw - 32px);
  padding:12px 18px;
  border-radius:999px;
  background:#147a4f;
  color:#fff;
  font-weight:900;
  font-size:14px;
  box-shadow:0 14px 36px rgba(0,0,0,.22);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}
.photo-ajax-toast-v95.is-show{
  opacity:1;
  transform:translate(-50%, 0);
}
.photo-delete-v50[disabled]{
  opacity:.65!important;
  cursor:wait!important;
}


/* v96 logs search */
.logs-v96-head{
  margin-bottom:14px;
}
.logs-v96-search{
  margin:0 0 18px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f5fafc 100%);
}
.logs-v96-search-grid{
  display:grid;
  grid-template-columns:minmax(220px,1.35fr) 160px 160px 150px auto;
  gap:12px;
  align-items:end;
}
.logs-v96-search label{
  display:grid;
  gap:7px;
  min-width:0;
  margin:0;
}
.logs-v96-search label span{
  color:#0b2a45;
  font-size:13px;
  font-weight:900;
}
.logs-v96-search input,
.logs-v96-search select{
  width:100%;
  min-width:0;
  height:46px;
  border-radius:14px;
  border:1px solid #bfd0dc;
  background:#fff;
  padding:0 14px;
  color:#071d36;
  font-weight:800;
  box-sizing:border-box;
}
.logs-v96-search-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
.logs-v96-search-actions .btn{
  min-height:46px;
  padding:0 16px;
  border-radius:14px;
  white-space:nowrap;
}
.logs-v96-search-actions .btn.primary{
  background:var(--green,#147a4f);
  color:#fff;
  border-color:var(--green,#147a4f);
}
.logs-v96-card{
  margin-top:0;
}
.logs-v96-card .logs-v68-detail{
  min-width:220px;
  white-space:normal;
  line-height:1.55;
}
@media (max-width:1100px){
  .logs-v96-search-grid{
    grid-template-columns:1fr 1fr;
  }
  .logs-v96-search-actions{
    grid-column:1/-1;
  }
  .logs-v96-search-actions .btn{
    flex:1;
  }
}
@media (max-width:760px){
  .logs-v96-search{
    padding:14px;
    border-radius:18px;
  }
  .logs-v96-search-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .logs-v96-search input,
  .logs-v96-search select{
    height:44px;
    border-radius:13px;
  }
  .logs-v96-search-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .logs-v96-search-actions .btn{
    width:100%;
    min-height:44px;
    padding:0 10px;
  }
  .logs-v96-card .logs-v68-detail{
    min-width:0;
    font-weight:700;
  }
  .logs-v32-table tbody tr{
    display:grid;
    gap:8px;
    padding:14px;
    margin-bottom:10px;
    background:#fff;
    border:1px solid #d8e2ea;
    border-radius:18px;
  }
}

/* v97 logs period merged field */
.logs-v96-search-grid{
  grid-template-columns:minmax(260px,1.45fr) minmax(230px,.95fr) 150px auto;
}
.logs-v97-period input{
  letter-spacing:.01em;
}
@media (max-width:1100px){
  .logs-v96-search-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:760px){
  .logs-v96-search-grid{
    grid-template-columns:1fr;
  }
  .logs-v97-period input{
    font-size:15px;
  }
}

/* v98 logs period native picker */
.logs-v98-period .logs-v98-period-picker{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr);
  gap:8px;
  align-items:center;
  width:100%;
  min-width:0;
}
.logs-v98-period input[type="hidden"]{
  display:none!important;
}
.logs-v98-period-mode{
  display:flex;
  gap:4px;
  align-items:center;
  padding:4px;
  border:1px solid #bfd0dc;
  border-radius:14px;
  background:#eef5f8;
  min-height:46px;
  box-sizing:border-box;
}
.logs-v98-period-mode button{
  width:52px;
  min-width:52px;
  height:36px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#617486;
  font-weight:900;
  cursor:pointer;
}
.logs-v98-period-mode button.is-active{
  background:#fff;
  color:#0b2a45;
  box-shadow:0 2px 8px rgba(5,20,36,.10);
}
.logs-v98-period input[data-logs-period-date-v98],
.logs-v98-period input[data-logs-period-month-v98]{
  display:none;
  width:100%;
}
.logs-v98-period input[data-logs-period-date-v98].is-active,
.logs-v98-period input[data-logs-period-month-v98].is-active{
  display:block;
}
.logs-v97-period{
  display:none!important;
}

@media (max-width:1100px){
  .logs-v98-period .logs-v98-period-picker{
    grid-template-columns:auto minmax(0,1fr);
  }
}
@media (max-width:760px){
  .logs-v98-period .logs-v98-period-picker{
    grid-template-columns:1fr;
    gap:7px;
  }
  .logs-v98-period-mode{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .logs-v98-period-mode button{
    width:100%;
    min-width:0;
  }
}


/* v107: PDF/print table multiline fields use right side space */
.pdf-cols-v107{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  column-gap:18px!important;
  row-gap:2px!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
  line-height:1.28!important;
  white-space:normal!important;
}

.pdf-cols-v107.is-many-v107{
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  column-gap:14px!important;
}

.pdf-cols-v107 span{
  display:block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
  white-space:normal!important;
}

@media print{
  .daily-table td:has(.pdf-cols-v107),
  .print-table td:has(.pdf-cols-v107),
  table td:has(.pdf-cols-v107){
    vertical-align:top!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .pdf-cols-v107{
    font-size:9.2px!important;
    line-height:1.22!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    column-gap:14px!important;
    row-gap:1px!important;
  }

  .pdf-cols-v107.is-many-v107{
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
    column-gap:10px!important;
  }
}



/* v108: PDF multicol readability balance */
.pdf-cols-v107{
  font-size:11px!important;
  line-height:1.38!important;
  column-gap:16px!important;
  row-gap:3px!important;
}

.pdf-cols-v107.is-many-v107{
  font-size:10.5px!important;
  line-height:1.32!important;
  column-gap:13px!important;
}

@media print{
  table td,
  table th{
    font-size:10.5px!important;
  }

  table td:has(.pdf-cols-v107){
    padding-top:6px!important;
    padding-bottom:6px!important;
  }

  .pdf-cols-v107{
    font-size:10.8px!important;
    line-height:1.34!important;
    row-gap:2px!important;
    column-gap:13px!important;
  }

  .pdf-cols-v107.is-many-v107{
    font-size:10.2px!important;
    line-height:1.28!important;
    column-gap:10px!important;
  }

  .pdf-cols-v107 span{
    min-height:1.28em!important;
  }
}



/* v109: PDF text larger and table balance */
.pdf-cols-v107,
table .pdf-cols-v107,
.daily-table .pdf-cols-v107,
.print-table .pdf-cols-v107{
  font-size:13px!important;
  line-height:1.45!important;
  column-gap:18px!important;
  row-gap:3px!important;
}

.pdf-cols-v107.is-many-v107,
table .pdf-cols-v107.is-many-v107,
.daily-table .pdf-cols-v107.is-many-v107,
.print-table .pdf-cols-v107.is-many-v107{
  font-size:12.2px!important;
  line-height:1.36!important;
  column-gap:14px!important;
}

table td:has(.pdf-cols-v107),
.daily-table td:has(.pdf-cols-v107),
.print-table td:has(.pdf-cols-v107){
  padding-top:7px!important;
  padding-bottom:7px!important;
}

@media print{
  table td,
  table th,
  .daily-table td,
  .daily-table th,
  .print-table td,
  .print-table th{
    font-size:11.5px!important;
  }

  .pdf-cols-v107,
  table .pdf-cols-v107,
  .daily-table .pdf-cols-v107,
  .print-table .pdf-cols-v107{
    font-size:12.6px!important;
    line-height:1.42!important;
    column-gap:16px!important;
    row-gap:2px!important;
  }

  .pdf-cols-v107.is-many-v107,
  table .pdf-cols-v107.is-many-v107,
  .daily-table .pdf-cols-v107.is-many-v107,
  .print-table .pdf-cols-v107.is-many-v107{
    font-size:11.8px!important;
    line-height:1.34!important;
    column-gap:12px!important;
  }
}

/* v117: print alignment only, no normal screen influence */

/*
  v114/v115/v116 的问题是把 report_print 普通页面也当成 A4 打印页处理，
  导致手机/窄屏页面标题、按钮、表格全部变形。
  v117 只在真正打印/PDF 时生效；普通页面完全不碰。
*/

@page{
  size:A4 portrait;
  margin:0;
}

@media print{
  html.report-print-v117,
  html.report-print-v117 body{
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  html.report-print-v117 main,
  html.report-print-v117 .container{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:none!important;
  }

  html.report-print-v117 .print-sheet{
    width:172mm!important;
    max-width:172mm!important;
    min-width:0!important;
    margin:14mm auto 10mm auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    transform:none!important;
  }

  html.report-print-v117 .report-title{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    column-gap:12mm!important;
    margin:0 0 8mm 0!important;
    padding:0 0 4mm 0!important;
    border-bottom:3px solid #0b223d!important;
    box-sizing:border-box!important;
  }

  html.report-print-v117 .report-title h1{
    margin:0!important;
    padding:0!important;
    text-indent:0!important;
    transform:none!important;
    line-height:1.15!important;
    overflow:visible!important;
    font-size:28px!important;
    letter-spacing:.18em!important;
  }

  html.report-print-v117 .report-date{
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap!important;
    padding-top:1.5mm!important;
    margin:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  html.report-print-v117 .daily-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    box-sizing:border-box!important;
  }

  html.report-print-v117 .daily-table th,
  html.report-print-v117 .daily-table td{
    box-sizing:border-box!important;
    font-size:11.5px!important;
    line-height:1.42!important;
    padding:6px 8px!important;
  }

  html.report-print-v117 .daily-table th{
    width:24mm!important;
    font-weight:900!important;
  }

  html.report-print-v117 .pdf-cols-v107{
    font-size:11.8px!important;
    line-height:1.38!important;
    column-gap:16px!important;
    row-gap:2px!important;
  }

  html.report-print-v117 .pdf-cols-v107.is-many-v107{
    font-size:11.2px!important;
    line-height:1.32!important;
    column-gap:12px!important;
  }

  html.report-print-v117 .no-print,
  html.report-print-v117 .print-actions,
  html.report-print-v117 .action-row,
  html.report-print-v117 .btn-row,
  html.report-print-v117 .actions{
    display:none!important;
  }
}



/* v118: line item numbering for daily report form */
[data-line-editor-v70="workers"] [data-row-v70],
[data-line-editor-v70="vehicles"] [data-row-v70],
[data-line-editor-v70="tools"] [data-row-v70],
[data-line-editor-v70="wastes"] [data-row-v70]{
  position:relative!important;
  padding-left:46px!important;
  box-sizing:border-box!important;
}

[data-line-editor-v70="workers"] [data-row-v70]::before,
[data-line-editor-v70="vehicles"] [data-row-v70]::before,
[data-line-editor-v70="tools"] [data-row-v70]::before,
[data-line-editor-v70="wastes"] [data-row-v70]::before{
  content:attr(data-row-number-v118);
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:26px!important;
  height:26px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#14784f!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:13px!important;
  line-height:1!important;
  box-shadow:0 4px 10px rgba(7, 37, 26, .16)!important;
  z-index:2!important;
  pointer-events:none!important;
}

/* 追加入力エリアは淡く、登録済み行と見分けやすくする */
[data-line-editor-v70="workers"] [data-row-v70],
[data-line-editor-v70="vehicles"] [data-row-v70],
[data-line-editor-v70="tools"] [data-row-v70],
[data-line-editor-v70="wastes"] [data-row-v70]{
  background:rgba(255,255,255,.72)!important;
}

/* PCでは番号が中央、スマホではカード上部に固定 */
@media (max-width:760px){
  [data-line-editor-v70="workers"] [data-row-v70],
  [data-line-editor-v70="vehicles"] [data-row-v70],
  [data-line-editor-v70="tools"] [data-row-v70],
  [data-line-editor-v70="wastes"] [data-row-v70]{
    padding-left:44px!important;
  }

  [data-line-editor-v70="workers"] [data-row-v70]::before,
  [data-line-editor-v70="vehicles"] [data-row-v70]::before,
  [data-line-editor-v70="tools"] [data-row-v70]::before,
  [data-line-editor-v70="wastes"] [data-row-v70]::before{
    left:10px!important;
    top:18px!important;
    transform:none!important;
    width:25px!important;
    height:25px!important;
    font-size:12px!important;
  }
}

/* 1桁・2桁どちらでも崩れない */
[data-row-number-v118=""]::before{
  display:none!important;
}



/* v119: clean row number badge for daily report repeated rows */
/* targets: workers / vehicles / tools / waste */
[data-line-editor-v70="workers"] [data-row-v70],
[data-line-editor-v70="vehicles"] [data-row-v70],
[data-line-editor-v70="tools"] [data-row-v70],
[data-line-editor-v70="waste"] [data-row-v70],
[data-line-editor-v70="wastes"] [data-row-v70]{
  position:relative!important;
  box-sizing:border-box!important;
  padding-left:14px!important;
  padding-top:20px!important;
  overflow:visible!important;
}

/* overwrite old green circle from v118 */
[data-line-editor-v70="workers"] [data-row-v70]::before,
[data-line-editor-v70="vehicles"] [data-row-v70]::before,
[data-line-editor-v70="tools"] [data-row-v70]::before,
[data-line-editor-v70="waste"] [data-row-v70]::before,
[data-line-editor-v70="wastes"] [data-row-v70]::before{
  content:'No.' attr(data-row-number-v119)!important;
  position:absolute!important;
  left:14px!important;
  top:-10px!important;
  transform:none!important;
  width:auto!important;
  min-width:42px!important;
  height:24px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f6fbf8!important;
  border:1px solid #bdd8cc!important;
  color:#0c6f4d!important;
  font-weight:900!important;
  font-size:12px!important;
  letter-spacing:.02em!important;
  line-height:1!important;
  box-shadow:none!important;
  z-index:4!important;
  pointer-events:none!important;
}

[data-line-editor-v70="workers"] [data-row-v70][data-row-number-v119=""]::before,
[data-line-editor-v70="vehicles"] [data-row-v70][data-row-number-v119=""]::before,
[data-line-editor-v70="tools"] [data-row-v70][data-row-number-v119=""]::before,
[data-line-editor-v70="waste"] [data-row-v70][data-row-number-v119=""]::before,
[data-line-editor-v70="wastes"] [data-row-v70][data-row-number-v119=""]::before{
  display:none!important;
}

/* PC: keep rows compact, numbers sit like small labels */
@media (min-width:761px){
  [data-line-editor-v70="workers"] [data-row-v70],
  [data-line-editor-v70="vehicles"] [data-row-v70],
  [data-line-editor-v70="tools"] [data-row-v70],
  [data-line-editor-v70="waste"] [data-row-v70],
  [data-line-editor-v70="wastes"] [data-row-v70]{
    margin-top:12px!important;
  }
}

/* Mobile: badge is small and does not squeeze inputs */
@media (max-width:760px){
  [data-line-editor-v70="workers"] [data-row-v70],
  [data-line-editor-v70="vehicles"] [data-row-v70],
  [data-line-editor-v70="tools"] [data-row-v70],
  [data-line-editor-v70="waste"] [data-row-v70],
  [data-line-editor-v70="wastes"] [data-row-v70]{
    padding-left:12px!important;
    padding-right:12px!important;
    padding-top:22px!important;
    margin-top:14px!important;
  }

  [data-line-editor-v70="workers"] [data-row-v70]::before,
  [data-line-editor-v70="vehicles"] [data-row-v70]::before,
  [data-line-editor-v70="tools"] [data-row-v70]::before,
  [data-line-editor-v70="waste"] [data-row-v70]::before,
  [data-line-editor-v70="wastes"] [data-row-v70]::before{
    left:12px!important;
    top:-9px!important;
    min-width:40px!important;
    height:23px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }
}



/* v120: account display name edit */
.account-v120-name-box{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid #d5e1ea;
}
.account-v120-name-box h3{
  margin:0 0 12px;
  font-size:1.25rem;
  font-weight:900;
  color:#06213d;
}
.account-v120-name-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:12px;
  align-items:end;
}
.account-v120-name-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:900;
  color:#06213d;
}
.account-v120-name-form input{
  width:100%;
  box-sizing:border-box;
}
.account-v120-name-form .actions{
  margin:0!important;
}
.account-v120-name-form .btn{
  min-height:52px;
  white-space:nowrap;
}
.account-v120-note{
  margin:10px 0 0;
  color:#60748a;
  font-weight:700;
  line-height:1.55;
}
@media (max-width:760px){
  .account-v120-name-box{
    margin-top:18px;
    padding-top:18px;
  }
  .account-v120-name-form{
    grid-template-columns:1fr;
  }
  .account-v120-name-form .btn{
    width:100%;
  }
}



/* v124: PWA install button on account settings */
.pwa-v124-card{
  margin-top:24px;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbf8 100%);
  border:1px solid #cbded6;
  box-shadow:0 10px 28px rgba(12,50,35,.06);
}

.pwa-v124-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}

.pwa-v124-head h2{
  margin:0 0 6px;
}

.pwa-v124-head p{
  margin:0;
  color:#60758a;
  font-weight:800;
  line-height:1.6;
}

.pwa-v124-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:#e6f4eb;
  border:1px solid #c4dfcf;
  color:#0b7544;
  font-weight:900;
  white-space:nowrap;
}

.pwa-v124-actions{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:20px;
  background:#f3f8f6;
  border:1px solid #d1e2db;
}

.pwa-v124-main-btn{
  min-height:56px;
  border-radius:18px;
  border:0;
  background:#147947;
  color:#fff;
  font-size:18px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(20,121,71,.18);
}

.pwa-v124-help-btn{
  min-height:56px;
  border-radius:18px;
  border:1px solid #b9c9d7;
  background:#fff;
  color:#062243;
  font-size:16px;
  font-weight:1000;
  cursor:pointer;
  padding:0 18px;
}

.pwa-v124-status{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#eef7f2;
  color:#0b5e38;
  font-weight:900;
  display:none;
}

.pwa-v124-status.is-show{
  display:block;
}

.pwa-v124-guide{
  margin-top:14px;
  display:none;
  border-radius:20px;
  border:1px solid #d4e1ea;
  background:#fff;
  overflow:hidden;
}

.pwa-v124-guide.is-open{
  display:block;
}

.pwa-v124-guide-title{
  padding:14px 16px;
  font-weight:1000;
  color:#062243;
  background:#eef5f8;
  border-bottom:1px solid #d4e1ea;
}

.pwa-v124-guide-body{
  padding:16px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.pwa-v124-step{
  padding:14px;
  border-radius:16px;
  background:#f8fbfd;
  border:1px solid #d9e5ed;
}

.pwa-v124-step b{
  display:block;
  margin-bottom:8px;
  color:#062243;
}

.pwa-v124-step span{
  display:block;
  color:#5d7083;
  font-weight:800;
  line-height:1.55;
}

.pwa-v124-note{
  margin:12px 0 0;
  color:#6b7f92;
  font-size:13px;
  font-weight:800;
  line-height:1.6;
}

@media (max-width:820px){
  .pwa-v124-card{
    margin-top:18px;
    padding:20px !important;
    border-radius:22px;
  }

  .pwa-v124-head{
    display:block;
  }

  .pwa-v124-badge{
    margin-top:12px;
  }

  .pwa-v124-actions{
    grid-template-columns:1fr;
    padding:12px;
  }

  .pwa-v124-main-btn,
  .pwa-v124-help-btn{
    width:100%;
    min-height:58px;
    font-size:17px;
  }

  .pwa-v124-guide-body{
    grid-template-columns:1fr;
    padding:12px;
  }

  .pwa-v124-step{
    padding:13px;
  }
}



/* v125: one-click PWA install card */
.pwa-v125-card{
  margin-top:24px;
  border-radius:26px;
  border:1px solid #c7ded4;
  background:linear-gradient(180deg,#ffffff 0%,#f3faf6 100%);
  box-shadow:0 12px 30px rgba(12,50,35,.07);
  overflow:hidden;
}

.pwa-v125-inner{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  align-items:center;
}

.pwa-v125-icon{
  width:72px;
  height:72px;
  border-radius:22px;
  box-shadow:0 12px 22px rgba(12,80,52,.22);
}

.pwa-v125-title{
  margin:0 0 6px;
  font-size:25px;
  line-height:1.25;
}

.pwa-v125-text{
  margin:0;
  color:#60758a;
  font-weight:850;
  line-height:1.6;
}

.pwa-v125-actions{
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
}

.pwa-v125-install{
  min-height:60px;
  border:0;
  border-radius:20px;
  background:linear-gradient(180deg,#16834d 0%,#0d6e3d 100%);
  color:white;
  font-size:19px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 12px 22px rgba(18,119,68,.22);
}

.pwa-v125-help{
  min-height:60px;
  border:1px solid #bacbda;
  border-radius:20px;
  background:white;
  color:#062243;
  font-size:16px;
  font-weight:1000;
  cursor:pointer;
  padding:0 18px;
}

.pwa-v125-install:disabled{
  opacity:.75;
  cursor:default;
  box-shadow:none;
}

.pwa-v125-status{
  margin-top:12px;
  display:none;
  padding:13px 15px;
  border-radius:18px;
  background:#eef8f3;
  border:1px solid #cbe6d8;
  color:#0b653b;
  font-weight:900;
  line-height:1.55;
}

.pwa-v125-status.is-show{
  display:block;
}

.pwa-v125-guide{
  display:none;
  margin-top:14px;
  border-radius:20px;
  border:1px solid #d4e1ea;
  background:#fff;
  overflow:hidden;
}

.pwa-v125-guide.is-open{
  display:block;
}

.pwa-v125-guide-title{
  padding:14px 16px;
  font-weight:1000;
  color:#062243;
  background:#eef5f8;
  border-bottom:1px solid #d4e1ea;
}

.pwa-v125-guide-body{
  padding:16px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.pwa-v125-step{
  padding:14px;
  border-radius:16px;
  background:#f8fbfd;
  border:1px solid #d9e5ed;
}

.pwa-v125-step b{
  display:block;
  margin-bottom:8px;
  color:#062243;
}

.pwa-v125-step span{
  display:block;
  color:#5d7083;
  font-weight:800;
  line-height:1.55;
}

.pwa-v125-note{
  margin:12px 0 0;
  color:#6b7f92;
  font-size:13px;
  font-weight:800;
  line-height:1.6;
}

@media (max-width:820px){
  .pwa-v125-card{
    margin-top:18px;
    padding:20px !important;
    border-radius:24px;
  }

  .pwa-v125-inner{
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
  }

  .pwa-v125-icon{
    width:58px;
    height:58px;
    border-radius:18px;
  }

  .pwa-v125-title{
    font-size:21px;
  }

  .pwa-v125-text{
    font-size:14px;
  }

  .pwa-v125-actions{
    grid-template-columns:1fr;
    gap:10px;
  }

  .pwa-v125-install,
  .pwa-v125-help{
    width:100%;
    min-height:58px;
    font-size:17px;
  }

  .pwa-v125-guide-body{
    grid-template-columns:1fr;
    padding:12px;
  }
}



/* v127: one-click PWA install card restored */
.pwa-v127-card{
  margin-top:24px;
  border-radius:26px;
  border:1px solid #c7ded4;
  background:linear-gradient(180deg,#ffffff 0%,#f3faf6 100%);
  box-shadow:0 12px 30px rgba(12,50,35,.07);
  overflow:hidden;
}
.pwa-v127-inner{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:center}
.pwa-v127-icon{width:72px;height:72px;border-radius:20px;box-shadow:0 12px 22px rgba(12,80,52,.22)}
.pwa-v127-title{margin:0 0 6px;font-size:25px;line-height:1.25}
.pwa-v127-text{margin:0;color:#60758a;font-weight:850;line-height:1.6}
.pwa-v127-actions{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.pwa-v127-install{min-height:60px;border:0;border-radius:20px;background:linear-gradient(180deg,#16834d 0%,#0d6e3d 100%);color:white;font-size:19px;font-weight:1000;cursor:pointer;box-shadow:0 12px 22px rgba(18,119,68,.22)}
.pwa-v127-help{min-height:60px;border:1px solid #bacbda;border-radius:20px;background:white;color:#062243;font-size:16px;font-weight:1000;cursor:pointer;padding:0 18px}
.pwa-v127-install:disabled{opacity:.75;cursor:default;box-shadow:none}
.pwa-v127-status{margin-top:12px;display:none;padding:13px 15px;border-radius:18px;background:#eef8f3;border:1px solid #cbe6d8;color:#0b653b;font-weight:900;line-height:1.55}
.pwa-v127-status.is-show{display:block}
.pwa-v127-guide{display:none;margin-top:14px;border-radius:20px;border:1px solid #d4e1ea;background:#fff;overflow:hidden}
.pwa-v127-guide.is-open{display:block}
.pwa-v127-guide-title{padding:14px 16px;font-weight:1000;color:#062243;background:#eef5f8;border-bottom:1px solid #d4e1ea}
.pwa-v127-guide-body{padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pwa-v127-step{padding:14px;border-radius:16px;background:#f8fbfd;border:1px solid #d9e5ed}
.pwa-v127-step b{display:block;margin-bottom:8px;color:#062243}
.pwa-v127-step span{display:block;color:#5d7083;font-weight:800;line-height:1.55}
.pwa-v127-note{margin:12px 0 0;color:#6b7f92;font-size:13px;font-weight:800;line-height:1.6}
@media (max-width:820px){
  .pwa-v127-card{margin-top:18px;padding:20px!important;border-radius:24px}
  .pwa-v127-inner{grid-template-columns:58px minmax(0,1fr);gap:14px}
  .pwa-v127-icon{width:58px;height:58px;border-radius:16px}
  .pwa-v127-title{font-size:21px}
  .pwa-v127-text{font-size:14px}
  .pwa-v127-actions{grid-template-columns:1fr;gap:10px}
  .pwa-v127-install,.pwa-v127-help{width:100%;min-height:58px;font-size:17px}
  .pwa-v127-guide-body{grid-template-columns:1fr;padding:12px}
}



/* v128: PWA install card + icon alignment */
.pwa-v128-card{
  margin-top:24px;
  border-radius:26px;
  border:1px solid #c7ded4;
  background:linear-gradient(180deg,#ffffff 0%,#f3faf6 100%);
  box-shadow:0 10px 24px rgba(12,50,35,.06);
  overflow:hidden;
}
.pwa-v128-inner{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.pwa-v128-icon{
  width:72px!important;
  height:72px!important;
  border-radius:18px;
  object-fit:cover;
  display:block;
  align-self:center;
  justify-self:center;
  box-shadow:0 10px 20px rgba(12,80,52,.20);
}
.pwa-v128-title{margin:0 0 6px;font-size:25px;line-height:1.25}
.pwa-v128-text{margin:0;color:#60758a;font-weight:850;line-height:1.6}
.pwa-v128-actions{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.pwa-v128-install{min-height:60px;border:0;border-radius:20px;background:linear-gradient(180deg,#16834d 0%,#0d6e3d 100%);color:white;font-size:19px;font-weight:1000;cursor:pointer;box-shadow:0 12px 22px rgba(18,119,68,.20)}
.pwa-v128-help{min-height:60px;border:1px solid #bacbda;border-radius:20px;background:white;color:#062243;font-size:16px;font-weight:1000;cursor:pointer;padding:0 18px}
.pwa-v128-install:disabled{opacity:.75;cursor:default;box-shadow:none}
.pwa-v128-status{margin-top:12px;display:none;padding:13px 15px;border-radius:18px;background:#eef8f3;border:1px solid #cbe6d8;color:#0b653b;font-weight:900;line-height:1.55}
.pwa-v128-status.is-show{display:block}
.pwa-v128-guide{display:none;margin-top:14px;border-radius:20px;border:1px solid #d4e1ea;background:#fff;overflow:hidden}
.pwa-v128-guide.is-open{display:block}
.pwa-v128-guide-title{padding:14px 16px;font-weight:1000;color:#062243;background:#eef5f8;border-bottom:1px solid #d4e1ea}
.pwa-v128-guide-body{padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pwa-v128-step{padding:14px;border-radius:16px;background:#f8fbfd;border:1px solid #d9e5ed}
.pwa-v128-step b{display:block;margin-bottom:8px;color:#062243}
.pwa-v128-step span{display:block;color:#5d7083;font-weight:800;line-height:1.55}
.pwa-v128-note{margin:12px 0 0;color:#6b7f92;font-size:13px;font-weight:800;line-height:1.6}
@media (max-width:820px){
  .pwa-v128-card{margin-top:18px;padding:20px!important;border-radius:24px}
  .pwa-v128-inner{grid-template-columns:58px minmax(0,1fr);gap:14px}
  .pwa-v128-icon{width:58px!important;height:58px!important;border-radius:15px}
  .pwa-v128-title{font-size:21px}
  .pwa-v128-text{font-size:14px}
  .pwa-v128-actions{grid-template-columns:1fr;gap:10px}
  .pwa-v128-install,.pwa-v128-help{width:100%;min-height:58px;font-size:17px}
  .pwa-v128-guide-body{grid-template-columns:1fr;padding:12px}
}



/* v128: mobile photo alignment + smoothness */
.photo-v128-section{
  contain:layout paint;
}
.photo-v128-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  scroll-padding-left:0!important;
  scroll-padding-right:18px!important;
  padding:8px 18px 14px 0!important;
  margin-left:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.photo-v128-strip::after{
  content:"";
  flex:0 0 6px;
}
.photo-v128-card{
  position:relative!important;
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #d5e2ea!important;
  box-shadow:0 6px 16px rgba(11,34,61,.08)!important;
  scroll-snap-align:start!important;
  overflow:visible!important;
}
.photo-v128-card img{
  width:112px!important;
  height:112px!important;
  min-width:112px!important;
  min-height:112px!important;
  max-width:112px!important;
  max-height:112px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:13px!important;
  background:#eef4f7!important;
  transform:translateZ(0);
}
.photo-v128-card a,
.photo-v128-card button{
  touch-action:manipulation;
}
.photo-v128-name{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#5b6f82!important;
  font-weight:900!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.photo-v128-delete{
  position:absolute!important;
  right:4px!important;
  top:4px!important;
  z-index:3!important;
  min-width:52px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:1000!important;
  background:#fff1f1!important;
  border:1px solid #ffbcbc!important;
  color:#df2323!important;
  box-shadow:0 5px 14px rgba(90,20,20,.12)!important;
}
@media (max-width:820px){
  .photo-v128-section{
    overflow:hidden!important;
  }
  .photo-v128-strip{
    gap:12px!important;
    padding:8px 22px 14px 0!important;
    margin-right:0!important;
  }
  .photo-v128-card{
    flex-basis:126px!important;
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    padding:9px!important;
  }
  .photo-v128-card img{
    width:108px!important;
    height:108px!important;
    min-width:108px!important;
    min-height:108px!important;
    max-width:108px!important;
    max-height:108px!important;
  }
  .photo-v128-name{
    font-size:12px!important;
  }

  /* reduce heavy mobile painting */
  .card,
  section,
  .form-section,
  .panel{
    backface-visibility:hidden;
  }
  input, textarea, select, button{
    touch-action:manipulation;
  }
}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}
}



/* v130: photo card/image align only, no extra right-end padding */
.photo-v130-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;

  /* 不再为了“最后一张不被裁”额外加右侧空白 */
  padding:8px 0 16px 0!important;
  margin:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.photo-v130-strip::after{
  display:none!important;
  content:none!important;
}

.photo-v130-card{
  position:relative!important;
  flex:0 0 146px!important;
  width:146px!important;
  min-width:146px!important;
  max-width:146px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #d5e2ea!important;
  box-shadow:0 6px 15px rgba(11,34,61,.08)!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
}

.photo-v130-card img{
  display:block!important;
  width:146px!important;
  height:146px!important;
  min-width:146px!important;
  min-height:146px!important;
  max-width:146px!important;
  max-height:146px!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:18px 18px 0 0!important;
  background:#eef4f7!important;
  transform:none!important;
}

.photo-v130-name{
  display:block!important;
  width:100%!important;
  height:40px!important;
  margin:0!important;
  padding:9px 10px 8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#5b6f82!important;
  font-weight:900!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  background:#fff!important;
}

.photo-v130-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:4!important;
  min-width:52px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:1000!important;
  background:#fff1f1!important;
  border:1px solid #ffbcbc!important;
  color:#df2323!important;
  box-shadow:0 5px 14px rgba(90,20,20,.12)!important;
  touch-action:manipulation!important;
}

@media (max-width:430px){
  .photo-v130-card{
    flex-basis:142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }

  .photo-v130-card img{
    width:142px!important;
    height:142px!important;
    min-width:142px!important;
    min-height:142px!important;
    max-width:142px!important;
    max-height:142px!important;
  }
}



/* v131: photo thumbnails only; preview/lightbox is protected */
.photo-v131-section{
  overflow:hidden!important;
  max-width:100%!important;
  contain:layout paint;
}

.photo-v131-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  padding:8px 0 16px 0!important;
  margin:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.photo-v131-card{
  position:relative!important;
  flex:0 0 146px!important;
  width:146px!important;
  min-width:146px!important;
  max-width:146px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #d5e2ea!important;
  box-shadow:0 6px 15px rgba(11,34,61,.08)!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
}

.photo-v131-card img.photo-v131-img{
  display:block!important;
  width:146px!important;
  height:146px!important;
  min-width:146px!important;
  min-height:146px!important;
  max-width:146px!important;
  max-height:146px!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:18px 18px 0 0!important;
  background:#eef4f7!important;
  transform:none!important;
}

.photo-v131-name{
  display:block!important;
  width:100%!important;
  height:40px!important;
  margin:0!important;
  padding:9px 10px 8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#5b6f82!important;
  font-weight:900!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  background:#fff!important;
}

.photo-v131-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:4!important;
  min-width:52px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:1000!important;
  background:#fff1f1!important;
  border:1px solid #ffbcbc!important;
  color:#df2323!important;
  box-shadow:0 5px 14px rgba(90,20,20,.12)!important;
  touch-action:manipulation!important;
}

/* Preview/lightbox must never receive thumbnail sizing */
.photo-v131-preview,
.photo-v131-preview *{
  contain:none!important;
}

.photo-v131-preview .photo-v128-card,
.photo-v131-preview .photo-v129-card,
.photo-v131-preview .photo-v130-card,
.photo-v131-preview .photo-v131-card{
  flex:initial!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.photo-v131-preview img{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:92vw!important;
  max-height:76vh!important;
  object-fit:contain!important;
  border-radius:12px!important;
  background:transparent!important;
  display:block!important;
}

.photo-v131-preview .photo-v128-name,
.photo-v131-preview .photo-v129-name,
.photo-v131-preview .photo-v130-name,
.photo-v131-preview .photo-v131-name{
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}

.photo-v131-preview .photo-v128-delete,
.photo-v131-preview .photo-v129-delete,
.photo-v131-preview .photo-v130-delete,
.photo-v131-preview .photo-v131-delete{
  position:static!important;
  min-width:0!important;
  height:auto!important;
  box-shadow:none!important;
}

@media (max-width:430px){
  .photo-v131-card{
    flex-basis:142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }

  .photo-v131-card img.photo-v131-img{
    width:142px!important;
    height:142px!important;
    min-width:142px!important;
    min-height:142px!important;
    max-width:142px!important;
    max-height:142px!important;
  }

  .photo-v131-preview img{
    max-width:90vw!important;
    max-height:72vh!important;
  }
}



/* v132: exact thumbnail media fit + wider preview */
.photo-v132-section{
  overflow:hidden!important;
  max-width:100%!important;
  contain:layout paint;
}

.photo-v132-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  padding:8px 0 16px 0!important;
  margin:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.photo-v132-card{
  position:relative!important;
  flex:0 0 146px!important;
  width:146px!important;
  min-width:146px!important;
  max-width:146px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #d5e2ea!important;
  box-shadow:0 6px 15px rgba(11,34,61,.08)!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
}

.photo-v132-media{
  display:block!important;
  width:100%!important;
  height:146px!important;
  min-height:146px!important;
  max-height:146px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:18px 18px 0 0!important;
  background:#eef4f7!important;
}

.photo-v132-media > img.photo-v132-img,
.photo-v132-card > img.photo-v132-img{
  display:block!important;
  width:100%!important;
  height:146px!important;
  min-width:100%!important;
  min-height:146px!important;
  max-width:100%!important;
  max-height:146px!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:18px 18px 0 0!important;
  background:#eef4f7!important;
  transform:none!important;
}

.photo-v132-name{
  display:block!important;
  width:100%!important;
  height:40px!important;
  margin:0!important;
  padding:9px 10px 8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#5b6f82!important;
  font-weight:900!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  background:#fff!important;
}

.photo-v132-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:4!important;
  min-width:52px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:1000!important;
  background:#fff1f1!important;
  border:1px solid #ffbcbc!important;
  color:#df2323!important;
  box-shadow:0 5px 14px rgba(90,20,20,.12)!important;
  touch-action:manipulation!important;
}

/* wider preview. This is only applied to preview overlay, never to thumbnail list */
.photo-v132-preview{
  contain:none!important;
}

.photo-v132-preview *{
  box-sizing:border-box;
}

.photo-v132-preview img.photo-v132-preview-img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:96vw!important;
  max-height:84vh!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
  padding:0!important;
  border-radius:12px!important;
  background:transparent!important;
  transform:none!important;
}

.photo-v132-preview img.photo-v132-preview-img.photo-v132-portrait{
  height:84vh!important;
  width:auto!important;
  max-width:96vw!important;
}

.photo-v132-preview img.photo-v132-preview-img.photo-v132-landscape{
  width:96vw!important;
  height:auto!important;
  max-height:84vh!important;
}

/* prevent old thumbnail classes from breaking preview */
.photo-v132-preview .photo-v128-card,
.photo-v132-preview .photo-v129-card,
.photo-v132-preview .photo-v130-card,
.photo-v132-preview .photo-v131-card,
.photo-v132-preview .photo-v132-card{
  flex:initial!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.photo-v132-preview .photo-v128-name,
.photo-v132-preview .photo-v129-name,
.photo-v132-preview .photo-v130-name,
.photo-v132-preview .photo-v131-name,
.photo-v132-preview .photo-v132-name{
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}

@media (max-width:430px){
  .photo-v132-card{
    flex-basis:142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }

  .photo-v132-media{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
  }

  .photo-v132-media > img.photo-v132-img,
  .photo-v132-card > img.photo-v132-img{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
  }

  .photo-v132-preview img.photo-v132-preview-img{
    max-width:96vw!important;
    max-height:82vh!important;
  }

  .photo-v132-preview img.photo-v132-preview-img.photo-v132-portrait{
    height:82vh!important;
  }
}



/* v133: photo thumbnail fix only. Preview/zoom viewer is untouched. */
.photo-v133-section{
  overflow:hidden!important;
  max-width:100%!important;
}

.photo-v133-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  padding:8px 0 16px 0!important;
  margin:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.photo-v133-card{
  position:relative!important;
  flex:0 0 146px!important;
  width:146px!important;
  min-width:146px!important;
  max-width:146px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #d5e2ea!important;
  box-shadow:0 6px 15px rgba(11,34,61,.08)!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
}

/* remove padding/margin from original wrappers inside thumbnail card */
.photo-v133-card .photo-v133-inner,
.photo-v133-card a,
.photo-v133-card picture{
  box-sizing:border-box!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* exact image area */
.photo-v133-media{
  display:block!important;
  width:100%!important;
  height:146px!important;
  min-height:146px!important;
  max-height:146px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:18px 18px 0 0!important;
  background:#eef4f7!important;
}

.photo-v133-card img.photo-v133-img{
  display:block!important;
  width:100%!important;
  height:146px!important;
  min-width:100%!important;
  min-height:146px!important;
  max-width:100%!important;
  max-height:146px!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:18px 18px 0 0!important;
  background:#eef4f7!important;
  transform:none!important;
}

.photo-v133-name{
  display:block!important;
  width:100%!important;
  height:40px!important;
  margin:0!important;
  padding:9px 10px 8px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#5b6f82!important;
  font-weight:900!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  background:#fff!important;
}

.photo-v133-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:4!important;
  min-width:52px!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:1000!important;
  background:#fff1f1!important;
  border:1px solid #ffbcbc!important;
  color:#df2323!important;
  box-shadow:0 5px 14px rgba(90,20,20,.12)!important;
  touch-action:manipulation!important;
}

@media (max-width:430px){
  .photo-v133-card{
    flex-basis:142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }

  .photo-v133-media{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
  }

  .photo-v133-card img.photo-v133-img{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
  }
}



/* v134: real photo thumbnail card alignment. CSS only, no preview viewer touch. */
@media (max-width:980px){
  .photo-section-v70 .photo-grid-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50],
  .photo-section-v70 [data-photo-preview-v50]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 0 16px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    box-sizing:border-box!important;
  }

  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75{
    flex:0 0 148px!important;
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    position:relative!important;
    background:#fff!important;
    border:1px solid rgba(140,163,182,.32)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 6px 15px rgba(11,34,61,.08)!important;
    box-sizing:border-box!important;
    scroll-snap-align:start!important;
  }

  /* the image holder must be exactly the same width as the white card */
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > a,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > a,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 > a,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > a,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 > a,
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > picture,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > picture,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 > picture,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > picture,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 > picture{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
    margin:0!important;
    padding:0!important;
    border-radius:18px 18px 0 0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#edf3f6!important;
  }

  /* Chrome/PWA: if the image is wrapped by a div/span, make that wrapper flush too */
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > :is(div,span):has(img),
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > :is(div,span):has(img),
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 > :is(div,span):has(img),
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > :is(div,span):has(img),
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 > :is(div,span):has(img){
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
    margin:0!important;
    padding:0!important;
    border-radius:18px 18px 0 0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#edf3f6!important;
  }

  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 img,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 img,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 img{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:18px 18px 0 0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    background:#edf3f6!important;
  }

  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 figcaption,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 figcaption,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 figcaption,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 figcaption,
  .photo-section-v70 .photo-new-name-v50{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:40px!important;
    margin:0!important;
    padding:9px 10px 8px!important;
    color:#556a80!important;
    font-size:12.5px!important;
    line-height:1.35!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }

  .photo-section-v70 .photo-grid-v50 .photo-delete-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-delete-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] .photo-preview-delete-v75,
  .photo-section-v70 [data-photo-preview-v50] .photo-delete-v50,
  .photo-section-v70 [data-photo-preview-v50] .photo-preview-delete-v75{
    position:absolute!important;
    top:8px!important;
    right:8px!important;
    left:auto!important;
    bottom:auto!important;
    z-index:6!important;
    min-width:52px!important;
    width:auto!important;
    max-width:58px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 10px!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    font-size:14px!important;
    line-height:38px!important;
    font-weight:1000!important;
    background:rgba(255,243,243,.96)!important;
    color:#d71920!important;
    border:1px solid rgba(215,60,60,.26)!important;
    box-shadow:0 6px 16px rgba(120,20,20,.12)!important;
  }

  .photo-section-v70 .photo-empty-v50,
  .photo-section-v70 .photo-preview-empty-v50{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    min-height:68px!important;
    display:grid!important;
    place-items:center!important;
  }
}

@media (max-width:430px){
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75{
    flex-basis:142px!important;
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
  }

  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > a,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > a,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 > a,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > a,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 > a,
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > picture,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > picture,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 > picture,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > picture,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 > picture,
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 > :is(div,span):has(img),
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 > :is(div,span):has(img),
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 > :is(div,span):has(img),
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 > :is(div,span):has(img),
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 > :is(div,span):has(img),
  .photo-section-v70 .photo-grid-v50 > figure.photo-card-v50 img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-card-v50 img,
  .photo-section-v70 .photo-preview-grid-v50[data-photo-preview-v50] > figure.photo-new-card-v75 img,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-card-v50 img,
  .photo-section-v70 [data-photo-preview-v50] > figure.photo-new-card-v75 img{
    height:142px!important;
    min-height:142px!important;
    max-height:142px!important;
  }
}



/* v137: iPhone Safari/PWA mobile form/table layout fix */
@supports (-webkit-touch-callout: none) {
  input,
  textarea,
  select,
  button {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 16px;
    box-sizing: border-box;
    background-clip: padding-box;
  }

  input[type="date"],
  input[type="time"],
  input[type="month"],
  input[type="datetime-local"] {
    -webkit-appearance: none;
    appearance: none;
    min-height: 54px;
    height: 54px;
    line-height: normal;
    padding: 0 44px 0 16px;
    border: 1px solid #c6d5e1;
    border-radius: 16px;
    background-color: #fff;
    color: #082442;
    font-weight: 900;
    font-size: 16px;
    box-shadow: none;
  }

  input[type="date"]::-webkit-date-and-time-value,
  input[type="time"]::-webkit-date-and-time-value,
  input[type="month"]::-webkit-date-and-time-value,
  input[type="datetime-local"]::-webkit-date-and-time-value {
    text-align: center;
    min-height: 54px;
    line-height: 54px;
  }

  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="time"]::-webkit-calendar-picker-indicator,
  input[type="month"]::-webkit-calendar-picker-indicator,
  input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    opacity: .75;
  }
}

/* iPhone/small mobile: stop form controls looking like broken table cells */
@media (max-width: 820px) {
  body {
    -webkit-text-size-adjust: 100%;
  }

  main,
  .container,
  .page,
  .page-shell,
  .content,
  .content-shell,
  .app-main {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .card,
  .panel,
  section,
  form,
  fieldset {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  label {
    display: block;
    margin-bottom: 7px;
    font-weight: 900;
    color: #082442;
  }

  input,
  textarea,
  select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    background-color: #fff;
  }

  /* common grids on report list / report input: force clear vertical stacking on iPhone */
  .filter-grid,
  .search-grid,
  .form-grid,
  .form-row,
  .input-grid,
  .basic-grid,
  .report-form-grid,
  .compact-grid,
  .work-time-grid,
  .worker-time-grid,
  .employee-time-grid,
  .vehicle-grid,
  .tool-grid,
  .waste-grid,
  .photo-grid,
  [class*="filter"][class*="grid"],
  [class*="search"][class*="grid"],
  [class*="form"][class*="grid"],
  [class*="basic"][class*="grid"],
  [class*="work"][class*="grid"],
  [class*="worker"][class*="grid"],
  [class*="employee"][class*="grid"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
    min-width: 0 !important;
  }

  /* if a row was made by flex, make it wrap cleanly instead of squeezing into table-like cells */
  .form-row,
  .filter-row,
  .search-row,
  .input-row,
  .work-row,
  .worker-row,
  .employee-row,
  [class*="form"][class*="row"],
  [class*="filter"][class*="row"],
  [class*="search"][class*="row"],
  [class*="work"][class*="row"],
  [class*="worker"][class*="row"],
  [class*="employee"][class*="row"] {
    flex-wrap: wrap !important;
    gap: 12px !important;
    min-width: 0 !important;
  }

  .form-row > *,
  .filter-row > *,
  .search-row > *,
  .input-row > *,
  .work-row > *,
  .worker-row > *,
  .employee-row > *,
  [class*="form"][class*="row"] > *,
  [class*="filter"][class*="row"] > *,
  [class*="search"][class*="row"] > *,
  [class*="work"][class*="row"] > *,
  [class*="worker"][class*="row"] > *,
  [class*="employee"][class*="row"] > * {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Work-time block: iPhone had 開始/終了 showing like one broken table row. */
  .work-time-section input[type="time"],
  .worker-time-section input[type="time"],
  .employee-time-section input[type="time"],
  section:has(input[type="time"]) input[type="time"] {
    min-height: 56px !important;
    height: 56px !important;
    border: 1px solid #c6d5e1 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
    margin: 0 !important;
  }

  section:has(input[type="time"]) {
    overflow: hidden;
  }

  section:has(input[type="time"]) .form-grid,
  section:has(input[type="time"]) .form-row,
  section:has(input[type="time"]) [class*="grid"],
  section:has(input[type="time"]) [class*="row"] {
    min-width: 0 !important;
  }

  /* Keep only the intended two-column pair for start/end when there is enough width, but fix borders. */
  @media (min-width: 390px) {
    section:has(input[type="time"]) .time-pair,
    section:has(input[type="time"]) .start-end-row,
    section:has(input[type="time"]) .work-time-pair,
    section:has(input[type="time"]) [class*="time"][class*="pair"] {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 12px !important;
    }
  }

  /* iPhone date filter fields on list page */
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="datetime-local"] {
    display: block !important;
    width: 100% !important;
  }

  /* prevent inputs from merging with card borders */
  .card input,
  .card textarea,
  .card select,
  .panel input,
  .panel textarea,
  .panel select,
  section input,
  section textarea,
  section select {
    margin-top: 0;
  }

  /* report list top buttons */
  .page-actions,
  .header-actions,
  .title-actions,
  [class*="action"][class*="row"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .page-actions > *,
  .header-actions > *,
  .title-actions > *,
  [class*="action"][class*="row"] > * {
    flex: 0 1 auto !important;
  }
}

@media (max-width: 430px) {
  input,
  textarea,
  select {
    font-size: 16px !important; /* stop iOS zoom and weird reflow */
  }

  textarea {
    line-height: 1.6;
  }

  .card,
  .panel,
  section {
    border-radius: 22px;
  }

  .filter-card,
  .search-card,
  .report-filter,
  [class*="filter"],
  [class*="search"] {
    min-width: 0 !important;
  }
}



/* v138: iPhone date input vertical alignment fix */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 820px) {
    input[type="date"] {
      height: 56px !important;
      min-height: 56px !important;
      line-height: normal !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      display: block !important;
      text-align: center !important;
      box-sizing: border-box !important;
      vertical-align: middle !important;
    }

    input[type="date"]::-webkit-date-and-time-value {
      display: block !important;
      width: 100% !important;
      height: 56px !important;
      min-height: 56px !important;
      line-height: 56px !important;
      text-align: center !important;
      padding: 0 !important;
      margin: 0 !important;
      transform: translateY(-2px);
    }

    input[type="date"]::-webkit-calendar-picker-indicator {
      position: absolute;
      right: 14px;
      top: 50%;
      transform: translateY(-50%);
      margin: 0 !important;
    }

    /* 日報入力の基本情報カード内の日付だけ、さらに確実に中央へ */
    section:has(input[type="date"]) input[type="date"],
    .card:has(input[type="date"]) input[type="date"],
    .panel:has(input[type="date"]) input[type="date"] {
      display: block !important;
      align-items: center !important;
      justify-content: center !important;
    }
  }
}



/* v139: management/category/money/request module */
.v139-head .muted,.muted{color:#647789;font-weight:800}
.v139-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.v139-menu-card{display:block;padding:22px;border:1px solid #cbdbe6;border-radius:24px;background:#fff;text-decoration:none;color:#082442;box-shadow:0 10px 24px rgba(10,35,55,.06)}
.v139-menu-card strong{display:block;font-size:22px;margin-bottom:8px}
.v139-menu-card span{display:block;color:#60758a;font-weight:800;line-height:1.5}
.v139-card{margin-bottom:22px}
.v139-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.v139-card-head h2{margin:0}
.v139-total{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:#eef8f3;border:1px solid #cfe7da;color:#0e7044}
.v139-table-wrap{overflow-x:auto}
.v139-table{width:100%;border-collapse:separate;border-spacing:0}
.v139-table th{background:#eef3f6;color:#082442;text-align:left;font-weight:900;padding:14px;border-bottom:1px solid #ccd9e2}
.v139-table td{padding:14px;border-bottom:1px solid #d8e3ea;vertical-align:middle}
.v139-table .money,.money{font-weight:1000;color:#0e7044;white-space:nowrap}
.v139-inline-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.v139-rename-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,1fr) auto;gap:8px}
.v139-actions-cell{display:flex;gap:8px;align-items:center}
.v139-actions-cell form{margin:0}
.btn.small{min-height:38px;padding:0 12px;font-size:14px;border-radius:13px}
.v139-request-list{display:grid;gap:12px}
.v139-request-item,.v139-request-row,.v139-report-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid #d5e2ea;border-radius:18px;background:#fff;text-decoration:none;color:#082442}
.v139-request-item b,.v139-request-row b,.v139-report-card b{display:block;font-size:17px;margin-bottom:4px}
.v139-request-item span,.v139-request-row span,.v139-report-card span{display:block;color:#617589;font-weight:800;line-height:1.45}
.v139-request-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 120px 110px}
.v139-report-cards{display:grid;gap:12px}
.v139-card-actions{display:flex;gap:8px;align-items:center}
.v139-card-actions form{margin:0}
.v139-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v139-form-grid .span-2{grid-column:1/-1}
.v139-wide{display:block;margin-top:14px}
.v139-wide textarea{width:100%}
.v139-type-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.v139-type-tabs label{display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #cbdbe6;border-radius:999px;background:#f7fbfd;font-weight:900}
.v139-type-tabs input{width:auto}
.v139-detail-table{width:100%;border-collapse:collapse}
.v139-detail-table th{width:120px;background:#f0f3f6;text-align:left;font-weight:1000}
.v139-detail-table th,.v139-detail-table td{border:1px solid #1c2b38;padding:11px;vertical-align:top}
.v139-report-extra{background:#fbfefd!important}
.v139-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.v139-money-block{border:1px solid #d5e4dd;border-radius:18px;padding:14px;background:#fff;margin-top:14px}
.v139-money-block h4{margin:0 0 12px;color:#075d38}
.v139-cost-head,.v139-cost-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 130px 54px;gap:8px;align-items:center}
.v139-cost-head{font-size:13px;color:#60758a;font-weight:900;margin-bottom:8px}
.v139-cost-row{margin-bottom:8px}
.v139-cost-remove{height:44px;border-radius:13px;border:1px solid #ffc6c6;background:#fff1f1;color:#d71920;font-weight:900}
.v139-cost-add{margin-top:6px}
.v139-money-total{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding:13px 16px;border:1px solid #cde5d8;border-radius:18px;background:#f1faf5;font-weight:1000;color:#0e7044}
.v139-show-extra{margin-top:18px}
.v139-cost-table{width:100%;border-collapse:collapse;margin-top:8px}
.v139-cost-table th,.v139-cost-table td{border:1px solid #d3dfe8;padding:10px;text-align:left;vertical-align:top}
.v139-cost-table th{background:#f0f4f7;width:150px}
.v139-show-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.v139-show-actions form{margin:0}
@media(max-width:820px){
  .v139-grid,.v139-inline-form,.v139-form-grid,.v139-mini-grid{grid-template-columns:1fr}
  .v139-request-row{grid-template-columns:1fr}
  .v139-card-head{align-items:flex-start;flex-direction:column}
  .v139-rename-form{grid-template-columns:1fr}
  .v139-actions-cell{flex-wrap:wrap}
  .v139-cost-head{display:none}
  .v139-cost-row{grid-template-columns:1fr 1fr}
  .v139-cost-row input:nth-child(1){grid-column:1/-1}
  .v139-cost-row .v139-cost-remove{grid-column:2/3}
  .v139-money-total{justify-content:center}
  .v139-detail-table,.v139-detail-table tbody,.v139-detail-table tr,.v139-detail-table th,.v139-detail-table td{display:block;width:100%}
  .v139-detail-table th{border-bottom:0}
  .v139-detail-table td{border-top:0}
}



/* v140: make management/request features visible */
.v140-admin-panel{
  margin: 18px 0 22px;
  border: 1px solid #c8ded5;
  background: linear-gradient(180deg,#ffffff 0%,#f5fbf8 100%);
}
.v140-admin-panel .v140-actions{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-top:14px;
}
.v140-admin-panel .v140-action{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px;
  border:1px solid #cddce7;
  border-radius:20px;
  background:#fff;
  color:#082442;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 8px 18px rgba(12,45,68,.06);
}
.v140-admin-panel .v140-action b{font-size:18px;}
.v140-admin-panel .v140-action span{font-size:13px;color:#65788a;line-height:1.45;}
.v140-admin-panel .v140-action.primary{
  background:#0f7344;
  border-color:#0f7344;
  color:#fff;
}
.v140-admin-panel .v140-action.primary span{color:rgba(255,255,255,.82);}
.nav a[href="?page=manage"],
.nav a[href="?page=job_requests"]{
  white-space:nowrap;
}
@media (max-width:820px){
  .v140-admin-panel .v140-actions{grid-template-columns:1fr 1fr;gap:10px;}
  .v140-admin-panel .v140-action{padding:15px;border-radius:18px;}
  .v140-admin-panel .v140-action b{font-size:16px;}
}
@media (max-width:430px){
  .v140-admin-panel .v140-actions{grid-template-columns:1fr;}
}


/* v144: job request paper-style forms and print view */
.v144-request-form{padding:26px!important}
.v144-paper-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:end;margin-bottom:20px}
.v144-paper-top>div>span,.v144-section-title{display:block;font-weight:1000;color:#082442;margin:18px 0 10px}
.v144-type-tabs{margin:0!important}
.v144-form-grid,.v144-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v144-form-grid .span-2,.v144-check-grid .span-2{grid-column:1/-1}
.v144-request-form label{font-weight:1000;color:#082442}
.v144-request-form input,.v144-request-form select,.v144-request-form textarea{margin-top:8px}
.v144-cleanup-fields{margin-top:8px;padding:16px;border:1px solid #d8e5ed;border-radius:20px;background:#f8fbfd}
.v144-job-actions{flex-wrap:wrap}
.v144-request-list{gap:12px}
.v144-request-row{display:grid;grid-template-columns:minmax(0,1.35fr) 170px 120px 110px 80px;align-items:center}
.v144-request-main{display:block;text-decoration:none;color:#082442;min-width:0}
.v144-request-main b{display:block;font-size:17px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v144-request-main span{display:block;color:#617589;font-weight:800;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v144-paper-card{background:#fff!important;padding:24px!important}
.v144-paper-title{text-align:center;font-size:24px;font-weight:1000;margin:0 0 18px;letter-spacing:.08em;color:#263b4a}
.v144-paper-table{width:100%;border-collapse:collapse;background:#fff;border:2px solid #22313d}
.v144-paper-table th,.v144-paper-table td{border:1px solid #22313d;padding:12px 14px;vertical-align:top;color:#142838}
.v144-paper-table th{width:150px;background:#f4f6f8;text-align:left;font-weight:1000;white-space:nowrap}
.v144-paper-table .v144-tall-cell{min-height:170px;line-height:1.75}
.v144-paper-table .v144-large-cell{min-height:260px;line-height:1.75}
.v144-check-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;font-weight:900}
.v144-report-note{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #e0e8ee;min-height:42px}
.v144-report-note:last-child{border-bottom:0}
.v144-sub-report{margin-top:16px;border:1px solid #d7e2ea;border-radius:18px;background:#fbfdfe;padding:16px}
.v144-sub-report>b{display:block;margin-bottom:8px;color:#082442}
.v144-sub-report p{margin:6px 0;color:#243a4b;font-weight:800;line-height:1.6}
.v144-print-actions{display:flex;gap:10px;justify-content:flex-end;margin:18px auto;max-width:860px}
.v144-print-sheet{width:210mm;min-height:297mm;margin:0 auto 24px;background:#fff;color:#222;padding:18mm 16mm;box-shadow:0 12px 32px rgba(0,0,0,.12);font-family:"Yu Gothic","YuGothic","Noto Sans JP",sans-serif}
.v144-print-sheet h1{text-align:center;font-size:22px;font-weight:500;letter-spacing:.08em;margin:0 0 18px;color:#333}
.v144-print-date{text-align:right;margin:-6px 8mm 10px 0;font-size:18px;letter-spacing:.4em;color:#333}
.v144-print-table{width:100%;border-collapse:collapse;border:1.5px solid #333;font-size:16px;line-height:1.55}
.v144-print-table th,.v144-print-table td{border:1px solid #333;padding:7px 9px;vertical-align:top;font-weight:400}
.v144-print-table th{width:30mm;text-align:left;background:#f8f8f8;white-space:nowrap}
.v144-print-table .work-cell{height:68mm;line-height:1.75}
.v144-print-table .memo-cell{height:82mm;line-height:1.75}
.v144-print-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.v144-print-report-box{margin-top:16mm;border:1px solid #333;min-height:86mm;padding:10mm;position:relative;font-size:16px}
.v144-print-report-box .report-title{display:inline-block;border:1px solid #333;padding:4px 12px;margin-bottom:8mm;font-size:18px}
.v144-print-report-box .assignee{position:absolute;top:13mm;left:95mm}
.v144-print-report-box .report-line{display:grid;grid-template-columns:34mm minmax(0,1fr);min-height:20mm;margin-bottom:4mm}
.v144-print-footer{text-align:right;margin-top:8mm;color:#333;font-size:15px}
@media(max-width:820px){
  .v144-paper-top,.v144-form-grid,.v144-check-grid{grid-template-columns:1fr}
  .v144-form-grid .span-2,.v144-check-grid .span-2{grid-column:auto}
  .v144-request-row{grid-template-columns:1fr;gap:10px;align-items:start}
  .v144-request-main b,.v144-request-main span{white-space:normal}
  .v144-paper-card{padding:14px!important}
  .v144-paper-title{font-size:20px}
  .v144-paper-table,.v144-paper-table tbody,.v144-paper-table tr,.v144-paper-table th,.v144-paper-table td{display:block;width:100%}
  .v144-paper-table th{border-bottom:0;background:#eef3f6}
  .v144-paper-table td{border-top:0}
  .v144-check-lines{grid-template-columns:1fr}
  .v144-report-note{grid-template-columns:1fr}
  .v144-print-sheet{width:100%;min-height:auto;padding:16px;box-shadow:none}
}
@media print{
  .no-print,.app-header,.alert{display:none!important}
  body{background:#fff!important}
  .container.print-container{max-width:none!important;padding:0!important;margin:0!important}
  .v144-print-sheet{width:210mm;min-height:297mm;margin:0;box-shadow:none;padding:12mm 12mm;page-break-after:always}
  .v144-print-table{font-size:14px}
}

/* v145: job request list/filter/actions continuation */
.v145-job-panel{padding:18px!important}
.v145-job-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.v145-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;border:1px solid #d7e4ed;border-radius:16px;padding:12px 14px;background:#f8fbfd;color:#082442;font-weight:1000}
.v145-stat span{font-size:13px;color:#617589}.v145-stat b{font-size:20px}.v145-stat.is-active{border-color:#166534;background:#ecfdf3;box-shadow:0 10px 22px rgba(22,101,52,.10)}
.v145-job-filter{display:grid;grid-template-columns:minmax(0,1.5fr) 190px 150px auto auto;gap:12px;align-items:end}
.v145-job-filter label{font-weight:1000;color:#082442}.v145-job-filter input,.v145-job-filter select{margin-top:8px}
.v145-list-head{display:flex;align-items:center;justify-content:space-between;color:#617589;font-weight:1000;margin-bottom:12px}
.v145-request-row{grid-template-columns:minmax(0,1.4fr) 150px 105px 92px 105px 100px 116px!important;gap:10px;border:1px solid #dce8f0!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 20px rgba(8,36,66,.04)!important}
.v145-request-main em{display:block;margin-top:4px;color:#8a9baa;font-style:normal;font-weight:800;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v145-type-badge,.v145-status{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:1000;text-align:center;border:1px solid transparent}
.v145-type-badge.garden{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.v145-type-badge.cleanup{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.v145-status.open{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.v145-status.done{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.v145-status.hold{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.v145-date,.v145-linked,.v145-money{font-weight:1000;color:#23384b}.v145-linked{font-size:12px;line-height:1.35;color:#64748b}.v145-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.v145-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;font-weight:1000;color:#082442}
.v145-action-card{padding:14px!important}.v145-status-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.v145-status-actions form{display:flex;gap:8px;flex-wrap:wrap;margin:0}.v145-show-actions{flex-wrap:wrap}.v145-template-bar{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 10px}
@media(max-width:980px){.v145-job-filter{grid-template-columns:1fr 1fr}.v145-request-row{grid-template-columns:1fr!important}.v145-row-actions{justify-content:flex-start}.v145-request-main em{white-space:normal}.v145-job-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.v145-job-filter,.v145-job-stats{grid-template-columns:1fr}.v145-stat{padding:11px 12px}.v145-status-actions{display:block}.v145-status-actions form{margin-bottom:10px}.v145-template-bar .btn{flex:1 1 auto}}


/* v146: job request csv/deleted/restore small finishing */
.v145-stat.deleted{border-color:#fecaca;background:#fff7f7;color:#991b1b}
.v145-status.deleted{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.v145-request-row.is-deleted{opacity:.72;background:#fff7f7;border-color:#fecaca}
.v146-deleted-main{display:flex;flex-direction:column;gap:4px;color:#64748b;text-decoration:none;min-width:0}
.v146-csv-note{font-size:12px;color:#64748b;margin-left:6px}
.v145-row-actions form{display:inline-flex;margin:0}
.v145-row-actions .btn.restore{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
@media(max-width:720px){.v146-csv-note{display:block;margin:6px 0 0}.v145-row-actions form{width:100%}.v145-row-actions form .btn{width:100%}}


/* v147: job request photo upload */
.v147-photo-card{margin-top:18px}.v147-photo-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 16px}.v147-file-box{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px dashed #b8c8d8;border-radius:16px;background:#f8fbfd;font-weight:800;color:#102033;cursor:pointer}.v147-file-box input{max-width:280px}.v147-job-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.v147-job-photo-card{position:relative;margin:0;background:#fff;border:1px solid #dbe5ee;border-radius:18px;overflow:hidden;box-shadow:0 8px 20px rgba(15,35,55,.06)}.v147-job-photo-card a{display:block}.v147-job-photo-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#eef3f7}.v147-job-photo-card figcaption{font-size:12px;color:#536170;padding:9px 10px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v147-photo-delete{position:absolute;right:8px;top:8px;border:0;border-radius:999px;background:rgba(220,38,38,.92);color:#fff;font-size:12px;font-weight:800;padding:5px 9px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18)}
@media (max-width:640px){.v147-photo-upload{display:grid;grid-template-columns:1fr;gap:10px}.v147-photo-upload .btn{width:100%}.v147-file-box{align-items:flex-start;flex-direction:column}.v147-file-box input{max-width:100%;width:100%}.v147-job-photo-grid{display:flex;overflow-x:auto;gap:12px;padding-bottom:8px;scroll-snap-type:x mandatory}.v147-job-photo-card{flex:0 0 148px;scroll-snap-align:start}.v147-job-photo-card img{width:148px;height:148px;aspect-ratio:auto}.v147-photo-delete{right:7px;top:7px}}

/* v148: job request photo area copied to daily-report photo style */
.v148-job-photo-section{
  margin-top:18px!important;
  overflow:hidden!important;
}
.v148-job-photo-section .photo-manager-v50{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.v148-job-photo-section .photo-head-v50{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}
.v148-photo-upload-form{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:0!important;
  min-width:0!important;
}
.v148-photo-upload-form .photo-add-btn-v50{
  margin:0!important;
  max-width:360px!important;
  min-width:0!important;
  cursor:pointer!important;
}
.v148-photo-upload-form input[type="file"]{
  max-width:220px!important;
  min-width:0!important;
}
.v148-job-photo-section .photo-block-v50{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.v148-job-photo-section .photo-grid-v50.v148-job-photo-grid{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,180px))!important;
  justify-content:start!important;
  align-items:start!important;
  gap:14px!important;
  overflow:visible!important;
  padding:0!important;
  margin-top:14px!important;
}
.v148-job-photo-section .photo-card-v50.v148-job-photo-card{
  position:relative!important;
  width:100%!important;
  max-width:180px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(148,163,184,.35)!important;
  box-shadow:0 8px 20px rgba(15,35,55,.08)!important;
}
.v148-job-photo-section .photo-card-v50.v148-job-photo-card a{
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#eef3f7!important;
}
.v148-job-photo-section .photo-card-v50.v148-job-photo-card img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:160px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#eef3f7!important;
}
.v148-job-photo-section .photo-card-v50.v148-job-photo-card figcaption{
  display:block!important;
  min-height:34px!important;
  padding:8px 10px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.35!important;
  color:#475569!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  border-top:1px solid rgba(148,163,184,.22)!important;
  background:#fff!important;
}
.v148-job-photo-section .photo-delete-v50{
  position:absolute!important;
  top:7px!important;
  right:7px!important;
  z-index:3!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  border:0!important;
  background:rgba(220,38,38,.92)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
}
.v148-job-photo-section .photo-empty-v50{
  margin-top:12px!important;
}
@media (max-width:720px){
  .v148-job-photo-section .photo-head-v50{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .v148-photo-upload-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-content:stretch!important;
  }
  .v148-photo-upload-form .photo-add-btn-v50,
  .v148-photo-upload-form .btn{
    width:100%!important;
    max-width:100%!important;
  }
  .v148-photo-upload-form input[type="file"]{
    width:100%!important;
    max-width:100%!important;
  }
  .v148-job-photo-section .photo-grid-v50.v148-job-photo-grid{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:12px!important;
    padding:2px 2px 10px!important;
    margin-left:0!important;
    margin-right:0!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .v148-job-photo-section .photo-card-v50.v148-job-photo-card{
    flex:0 0 148px!important;
    width:148px!important;
    max-width:148px!important;
    scroll-snap-align:start!important;
  }
  .v148-job-photo-section .photo-card-v50.v148-job-photo-card img{
    width:148px!important;
    height:148px!important;
  }
}

/* v149: job request photo upload one-button style */
.v149-photo-one-button-form{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:0!important;
}
.v149-photo-add-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:150px!important;
  cursor:pointer!important;
  margin:0!important;
  user-select:none!important;
}
.v149-photo-add-button .v149-photo-input{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media (max-width:720px){
  .v149-photo-one-button-form{
    width:100%!important;
    justify-content:stretch!important;
  }
  .v149-photo-add-button{
    width:100%!important;
    min-width:0!important;
  }
}

/* v150: realtime update feedback for job request buttons */
.v150-ajax-loading{opacity:.72!important;pointer-events:none!important;filter:saturate(.85)}
.v150-realtime-toast{position:fixed;right:22px;bottom:22px;z-index:99999;background:#0f6f43;color:#fff;border-radius:16px;padding:13px 18px;font-weight:900;box-shadow:0 14px 34px rgba(15,111,67,.28);opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease;max-width:min(420px,calc(100vw - 32px))}
.v150-realtime-toast.show{opacity:1;transform:translateY(0)}
.v150-realtime-toast.danger{background:#b42318;box-shadow:0 14px 34px rgba(180,35,24,.26)}
@media (max-width:720px){.v150-realtime-toast{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));text-align:center}}

/* v151: job request mobile layout + A4 print tightening */
.v151-mobile-safe{display:block}
.v144-request-form input,.v144-request-form select,.v144-request-form textarea{font-size:16px}
.v144-request-form textarea{resize:vertical}
.v145-show-actions .btn,.v145-row-actions .btn,.v145-job-filter .btn{white-space:nowrap}
.v148-job-photo-section{overflow:hidden}
.v148-job-photo-section .photo-head-v50{gap:14px}
.v148-job-photo-section .photo-head-v50 form{margin:0}
.v149-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:760px){
  .v139-head{display:block!important;padding-left:18px!important;padding-right:18px!important}
  .v139-head .actions,.v145-show-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:14px!important;width:100%!important}
  .v139-head .actions .btn,.v145-show-actions .btn{width:100%!important;justify-content:center!important;min-height:46px!important}
  .v145-action-card{padding:12px!important}
  .v145-status-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .v145-status-actions form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:0!important;width:100%!important}
  .v145-status-actions .btn{width:100%!important;min-height:44px!important;justify-content:center!important}
  .v144-request-form{padding:16px!important;border-radius:22px!important}
  .v144-paper-top{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:14px!important}
  .v144-type-tabs{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .v144-type-tabs label{min-height:46px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:12px 14px!important}
  .v144-form-grid,.v144-check-grid{grid-template-columns:1fr!important;gap:12px!important}
  .v144-form-grid .span-2,.v144-check-grid .span-2{grid-column:auto!important}
  .v145-template-bar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .v145-template-bar .btn{width:100%!important;min-height:42px!important}
  .v144-cleanup-fields{padding:12px!important;border-radius:18px!important}
  .sticky-actions-split{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:12px 0 0!important}
  .sticky-actions-split .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .sticky-actions-split .btn{width:100%!important;min-height:48px!important}
  .v144-paper-card{padding:12px!important;border-radius:20px!important}
  .v144-paper-title{font-size:19px!important;margin-bottom:12px!important}
  .v144-paper-table{border-width:1px!important}
  .v144-paper-table th,.v144-paper-table td{padding:10px 11px!important;word-break:break-word!important}
  .v144-paper-table .v144-tall-cell,.v144-paper-table .v144-large-cell{min-height:0!important}
  .v144-sub-report{padding:12px!important;border-radius:16px!important}
  .v148-job-photo-section{padding:16px!important;border-radius:22px!important}
  .v148-job-photo-section .photo-manager-v50{min-width:0!important;width:100%!important}
  .v148-job-photo-section .photo-head-v50{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
  .v148-job-photo-section .photo-head-v50 h3{margin-bottom:6px!important}
  .v148-job-photo-section .photo-head-v50 p{font-size:13px!important;line-height:1.45!important}
  .v149-photo-add-button{width:100%!important;min-height:46px!important;justify-content:center!important}
  .v148-job-photo-grid{display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:4px 2px 12px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important}
  .v148-job-photo-card{flex:0 0 148px!important;width:148px!important;scroll-snap-align:start!important;margin:0!important;border-radius:16px!important;overflow:hidden!important}
  .v148-job-photo-card img{width:148px!important;height:148px!important;object-fit:cover!important;display:block!important}
  .v148-job-photo-card figcaption{font-size:12px!important;line-height:1.35!important;min-height:34px!important;padding:8px!important;white-space:normal!important;word-break:break-all!important}
  .v148-job-photo-card .photo-delete-v50{top:8px!important;right:8px!important;min-width:44px!important;height:44px!important;border-radius:999px!important;font-size:12px!important}
  .v139-report-cards{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .v139-report-card{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:start!important}
  .v139-report-card strong{text-align:left!important}
}

/* print view on screen */
.v151-print-actions{max-width:210mm!important;padding:0 8px!important}
.v151-print-sheet{box-shadow:0 14px 38px rgba(0,0,0,.14)!important}
.v151-print-table{table-layout:fixed!important}
.v151-print-table th.num{width:9mm!important;text-align:center!important;background:#fafafa!important}
.v151-print-sheet.garden .v151-print-table th{width:32mm!important}
.v151-print-sheet.garden .work-cell{height:74mm!important}
.v151-print-sheet.garden .memo-cell{height:86mm!important}
.v151-print-sheet.cleanup{padding:16mm 14mm!important}
.v151-print-sheet.cleanup h1{margin-bottom:12mm!important}
.v151-print-sheet.cleanup .v151-print-table{font-size:15.5px!important;line-height:1.45!important}
.v151-print-sheet.cleanup .v151-print-table th,.v151-print-sheet.cleanup .v151-print-table td{padding:5.5px 7px!important}
.v151-print-sheet.cleanup .memo-cell{height:34mm!important}
.v151-print-checks{grid-template-columns:1fr 1fr!important;gap:5px 14px!important}
.v151-print-report-box{margin-top:12mm!important;min-height:86mm!important;padding:8mm!important}
.v151-print-footer{margin-top:6mm!important}
@media(max-width:900px){
  .v151-print-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:12px!important}
  .v151-print-actions .btn{width:100%!important;justify-content:center!important}
  .v151-print-sheet{width:calc(100vw - 20px)!important;min-height:auto!important;padding:14px!important;box-shadow:none!important;overflow:auto!important}
  .v151-print-sheet h1{font-size:18px!important;margin-bottom:12px!important}
  .v151-print-date{font-size:14px!important;letter-spacing:.16em!important;margin-right:0!important}
}
@page{size:A4;margin:10mm}
@media print{
  .no-print,.app-header,.alert,.v151-print-actions{display:none!important}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  .container.print-container{max-width:none!important;padding:0!important;margin:0!important}
  .v151-print-sheet{width:190mm!important;min-height:277mm!important;margin:0!important;padding:0!important;box-shadow:none!important;page-break-after:always!important;color:#222!important}
  .v151-print-sheet h1{font-size:18px!important;margin:0 0 7mm!important;font-weight:500!important;color:#333!important}
  .v151-print-date{font-size:15px!important;margin:-3mm 8mm 5mm 0!important;color:#333!important;letter-spacing:.28em!important}
  .v151-print-table{font-size:13.2px!important;line-height:1.42!important;border:1.3px solid #333!important;width:100%!important}
  .v151-print-table th,.v151-print-table td{border:1px solid #333!important;padding:4.5px 6px!important;vertical-align:top!important;color:#222!important;background:#fff!important;font-weight:400!important}
  .v151-print-table th{background:#f7f7f7!important}
  .v151-print-sheet.garden .v151-print-table th{width:31mm!important}
  .v151-print-sheet.garden .work-cell{height:70mm!important;line-height:1.58!important}
  .v151-print-sheet.garden .memo-cell{height:82mm!important;line-height:1.58!important}
  .v151-print-sheet.cleanup{padding:0!important}
  .v151-print-sheet.cleanup h1{margin-bottom:8mm!important}
  .v151-print-sheet.cleanup .v151-print-table{font-size:12.7px!important;line-height:1.34!important}
  .v151-print-sheet.cleanup .v151-print-table th,.v151-print-sheet.cleanup .v151-print-table td{padding:3.8px 5px!important}
  .v151-print-sheet.cleanup .memo-cell{height:31mm!important;line-height:1.45!important}
  .v151-print-checks{gap:3px 10px!important}
  .v151-print-report-box{margin-top:10mm!important;min-height:83mm!important;padding:7mm!important;border:1px solid #333!important;font-size:13px!important}
  .v151-print-report-box .report-title{font-size:14px!important;padding:3px 10px!important;margin-bottom:7mm!important}
  .v151-print-report-box .assignee{top:9mm!important;left:88mm!important}
  .v151-print-report-box .report-line{grid-template-columns:30mm minmax(0,1fr)!important;min-height:18mm!important;margin-bottom:3mm!important}
  .v151-print-footer{font-size:12px!important;margin-top:5mm!important}
}

/* v152: job request linked daily reports */
.v152-linked-head{align-items:flex-start!important;gap:16px!important}
.v152-linked-head .muted{margin:.25rem 0 0!important;font-size:13px!important}
.v152-link-report-form{display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;gap:12px!important;align-items:end!important;margin:14px 0 18px!important;padding:14px!important;background:#f7fafc!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:18px!important}
.v152-link-report-form label{display:grid!important;gap:7px!important;font-weight:700!important;color:#0f172a!important}
.v152-link-report-form select{width:100%!important;min-height:44px!important;border-radius:12px!important;border:1px solid #cbd5e1!important;background:#fff!important;padding:0 12px!important;font-size:15px!important}
.v152-report-cards{gap:10px!important}
.v152-report-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;text-decoration:none!important}
.v152-report-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;text-decoration:none!important;color:inherit!important;min-width:0!important}
.v152-report-main div{min-width:0!important}
.v152-report-main b,.v152-report-main span{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v152-unlink-form{margin:0!important}.v152-unlink-form .btn{white-space:nowrap!important}.v152-busy{opacity:.65!important;pointer-events:none!important}
@media(max-width:760px){
  .v152-linked-head{display:grid!important;grid-template-columns:1fr!important}
  .v152-link-report-form{grid-template-columns:1fr!important;padding:12px!important}
  .v152-link-report-form .btn{width:100%!important;justify-content:center!important;min-height:46px!important}
  .v152-report-card{grid-template-columns:1fr!important;align-items:stretch!important}
  .v152-report-main{grid-template-columns:1fr!important;gap:6px!important}
  .v152-report-main b,.v152-report-main span{white-space:normal!important;word-break:break-word!important}
  .v152-unlink-form .btn{width:100%!important;justify-content:center!important;min-height:42px!important}
}

/* v155: job request form polish + employee picker */
.v155-job-head .muted{display:none!important}
.v155-request-form{padding:22px!important;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;border:1px solid #d8e3ea!important;box-shadow:0 16px 44px rgba(16,42,67,.08)!important}
.v155-paper-card{background:#fff;border:1px solid #d9e5ec;border-radius:22px;padding:20px;margin:0 0 18px;box-shadow:0 8px 26px rgba(15,45,71,.05)}
.v155-paper-card:last-of-type{margin-bottom:90px}
.v155-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e6eef3}
.v155-card-head>div:first-child{display:flex;align-items:center;gap:10px;color:#08233b;font-size:18px;letter-spacing:.03em}
.v155-section-no{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#0e6b3f;color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 18px rgba(14,107,63,.18)}
.v155-card-note{font-size:13px;color:#6b7f8e;font-weight:800}
.v155-top-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:end}
.v155-type-tabs{display:flex;gap:12px;flex-wrap:wrap}
.v155-type-tabs label{min-height:54px;padding:0 22px!important;border-radius:999px!important;background:#f7fafc!important;border:1px solid #d9e7ef!important;display:flex!important;align-items:center!important;font-weight:900!important;color:#09233b!important}
.v155-type-tabs label:has(input:checked){border-color:#0e6b3f!important;background:#ecf7f1!important;box-shadow:0 10px 22px rgba(14,107,63,.12)}
.v155-form-grid,.v155-check-grid{gap:15px!important;align-items:start}
.v155-form-grid label,.v155-check-grid label,.v155-assignee-row label{font-weight:900;color:#08233b;letter-spacing:.02em}
.v155-form-grid input,.v155-form-grid select,.v155-form-grid textarea,.v155-check-grid input,.v155-check-grid select,.v155-assignee-row select,.v155-wide-field textarea{margin-top:7px!important;border:1px solid #cfdce6!important;border-radius:14px!important;background:#fff!important;min-height:48px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;font-weight:800!important;color:#102a43!important}
.v155-form-grid textarea,.v155-wide-field textarea{line-height:1.7!important;padding:14px 16px!important;resize:vertical!important}
.v155-form-grid input:focus,.v155-form-grid select:focus,.v155-form-grid textarea:focus,.v155-check-grid input:focus,.v155-check-grid select:focus,.v155-assignee-row select:focus,.v155-wide-field textarea:focus{outline:none!important;border-color:#0e6b3f!important;box-shadow:0 0 0 4px rgba(14,107,63,.10)!important}
.v155-wide-field{display:block}
.v155-template-bar{margin:0!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}.v155-template-bar .btn{min-height:38px!important;padding:8px 14px!important;border-radius:12px!important}.v155-template-bar .ghost{background:#fff!important;color:#0e2942!important;border:1px solid #cfdce6!important}
.v155-report-card{background:linear-gradient(180deg,#ffffff,#f8fbf9)}
.v155-assignee-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:15px;align-items:end;margin-bottom:15px}.v155-assignee-box>span{display:block;font-weight:900;color:#08233b;margin-bottom:7px}.v155-picker-button{width:100%;border:1px solid #cfdce6;background:#fff;border-radius:16px;min-height:58px;padding:10px 14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.v155-picker-button strong{font-size:16px;color:#0d2a42}.v155-picker-button em{font-style:normal;color:#6f8494;font-size:12px;font-weight:800;white-space:nowrap}.v155-picker-button:hover{border-color:#0e6b3f;background:#f7fcf9}.v155-report-grid{margin-top:8px}.v155-sticky-actions{border-top:1px solid #dbe6ed!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(10px)}
.job-assignee-modal-v155{position:fixed;inset:0;background:rgba(7,21,34,.46);display:none;align-items:center;justify-content:center;z-index:9999;padding:18px}.job-assignee-modal-v155.is-open{display:flex}.job-assignee-dialog-v155{width:min(560px,100%);max-height:min(78vh,720px);overflow:auto;background:#fff;border-radius:22px;border:1px solid #d8e4ec;box-shadow:0 28px 90px rgba(0,0,0,.25);padding:18px}.job-assignee-head-v155{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.job-assignee-head-v155 strong{font-size:20px;color:#08233b}.job-assignee-close-v155{width:42px;height:42px;border-radius:50%;border:1px solid #d4e1e9;background:#fff;font-size:24px;font-weight:900;cursor:pointer}.job-assignee-search-v155,.job-assignee-manual-v155 input{width:100%;min-height:48px;border:1px solid #cfdce6;border-radius:14px;padding:0 14px;font-weight:800}.job-assignee-list-v155{display:grid;gap:8px;margin:12px 0}.job-assignee-option-v155{min-height:46px;border:1px solid #dce7ee;background:#f8fbfc;border-radius:14px;text-align:left;padding:0 14px;font-weight:900;color:#0d2a42;cursor:pointer}.job-assignee-option-v155:hover{border-color:#0e6b3f;background:#edf8f2}.job-assignee-empty-v155{padding:16px;border:1px dashed #cfdce6;border-radius:14px;color:#6b7f8e;font-weight:800}.job-assignee-manual-v155{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:12px;border-top:1px solid #e5eef3}.job-assignee-manual-v155 button{border:0;background:#0e6b3f;color:#fff;border-radius:14px;padding:0 16px;font-weight:900;cursor:pointer}.job-assignee-open-v155{overflow:hidden}
@media (max-width:760px){.v155-request-form{padding:14px!important}.v155-paper-card{border-radius:18px;padding:15px;margin-bottom:14px}.v155-card-head{align-items:flex-start;flex-direction:column;gap:8px}.v155-card-head>div:first-child{font-size:16px}.v155-top-grid,.v155-assignee-row{grid-template-columns:1fr}.v155-type-tabs{display:grid!important;grid-template-columns:1fr!important}.v155-type-tabs label{width:100%;justify-content:flex-start}.v155-picker-button{align-items:flex-start;flex-direction:column}.v155-picker-button em{white-space:normal}.job-assignee-manual-v155{grid-template-columns:1fr}.job-assignee-manual-v155 button{min-height:46px}.v155-template-bar{width:100%}.v155-template-bar .btn{flex:1 1 auto}}

/* v156: job request list polish + radio button fix */
.v155-type-tabs{gap:14px!important;align-items:center!important}
.v155-type-tabs label{position:relative!important;overflow:hidden!important;padding-left:58px!important;padding-right:26px!important;min-width:260px!important;justify-content:flex-start!important;isolation:isolate!important}
.v155-type-tabs label input[type="radio"]{position:absolute!important;opacity:0!important;appearance:none!important;-webkit-appearance:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;pointer-events:none!important;border:0!important}
.v155-type-tabs label::before{content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;border:2px solid #c7d7e2;background:#fff;box-sizing:border-box;z-index:1}
.v155-type-tabs label:has(input:checked)::before{border-color:#0e6b3f;background:#fff}
.v155-type-tabs label:has(input:checked)::after{content:"";position:absolute;left:30px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#0e6b3f;z-index:2}
.v155-type-tabs label:focus-within{box-shadow:0 0 0 4px rgba(14,107,63,.12),0 10px 22px rgba(14,107,63,.12)!important}
.v156-job-head{align-items:center!important}.v156-job-head .muted{display:none!important}.v156-head-actions{gap:10px!important;flex-wrap:wrap!important}.v156-head-actions .btn{min-height:42px!important;border-radius:13px!important}
.v156-job-panel{padding:20px!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;border:1px solid #d9e6ee!important;box-shadow:0 14px 38px rgba(15,45,71,.07)!important}.v156-job-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}.v156-job-stats .v145-stat{min-height:50px!important;border-radius:14px!important;padding:10px 14px!important}.v156-job-stats .v145-stat b{font-size:18px!important}.v156-job-filter{grid-template-columns:minmax(0,1.6fr) 190px 160px auto!important;gap:12px!important;padding-top:8px!important;border-top:1px solid #e6eef3!important}.v156-job-filter label{font-size:13px!important}.v156-job-filter input,.v156-job-filter select{min-height:44px!important;border-radius:12px!important}.v156-filter-actions{display:flex;gap:8px;align-items:end}.v156-filter-actions .btn{min-height:44px!important;border-radius:12px!important;padding:0 16px!important;white-space:nowrap!important}
.v156-list-card{border-radius:24px!important;background:#fff!important;border:1px solid #d9e6ee!important;box-shadow:0 14px 38px rgba(15,45,71,.07)!important;padding:18px!important}.v156-list-head{padding:0 2px 12px;margin-bottom:14px!important;border-bottom:1px solid #e7eef4!important}.v156-request-list{display:grid;gap:12px}.v156-request-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(440px,.95fr) auto;gap:16px;align-items:center;padding:15px 16px;border:1px solid #dce8f0;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(8,36,66,.035)}.v156-request-row:hover{border-color:#bcd0de;background:#fbfdff}.v156-request-row.is-deleted{background:#fff7f7;border-color:#fecaca;opacity:.78}.v156-row-main{min-width:0}.v156-title-line{display:flex;align-items:center;gap:10px;min-width:0}.v156-title-line b{font-size:15px;color:#082442;font-weight:1000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v156-row-meta{margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;color:#64748b;font-size:13px;font-weight:800;line-height:1.35}.v156-row-meta span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v156-row-info{display:grid;grid-template-columns:110px 92px 130px 110px;gap:8px;align-items:center}.v156-row-info>div{min-height:48px;border:1px solid #e4edf3;border-radius:14px;background:#f8fbfd;padding:7px 10px;display:flex;flex-direction:column;justify-content:center;gap:3px}.v156-row-info small{font-size:11px;color:#738697;font-weight:900;line-height:1}.v156-row-info strong{font-size:13px;color:#0f2a42;font-weight:1000;line-height:1.2;white-space:nowrap}.v156-row-info .v145-status{min-height:26px!important;padding:3px 9px!important;font-size:11px!important;width:max-content}.v156-row-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.v156-row-actions .btn{min-height:36px!important;border-radius:11px!important;padding:7px 12px!important;font-size:13px!important;white-space:nowrap!important}.v156-row-actions .btn.primary{background:#0e6b3f!important;border-color:#0e6b3f!important;color:#fff!important}.v156-row-actions form{display:inline-flex;margin:0}.v156-pager{margin-top:18px!important}
@media(max-width:1120px){.v156-job-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.v156-request-row{grid-template-columns:1fr;gap:12px}.v156-row-info{grid-template-columns:repeat(4,minmax(0,1fr))}.v156-row-actions{justify-content:flex-start;flex-wrap:wrap}.v156-row-actions .btn{min-width:88px}}
@media(max-width:760px){.v155-type-tabs label{min-width:0!important;width:100%!important;min-height:52px!important}.v156-head-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.v156-head-actions .btn{width:100%;text-align:center;justify-content:center}.v156-job-panel,.v156-list-card{border-radius:18px!important;padding:14px!important}.v156-job-stats{grid-template-columns:1fr 1fr!important}.v156-job-filter{grid-template-columns:1fr!important}.v156-filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.v156-row-info{grid-template-columns:1fr 1fr}.v156-title-line{flex-wrap:wrap}.v156-title-line b{white-space:normal}.v156-row-meta span{white-space:normal}.v156-row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.v156-row-actions .btn{width:100%;min-width:0;text-align:center;justify-content:center}.v156-row-actions form{width:100%}.v156-row-actions form .btn{width:100%}}
@media(max-width:480px){.v156-job-stats,.v156-row-info,.v156-head-actions,.v156-row-actions,.v156-filter-actions{grid-template-columns:1fr!important}.v156-list-head{display:block!important}.v156-list-head>div+div{margin-top:6px}.v156-request-row{padding:13px}.v155-type-tabs label{padding-left:52px!important}.v155-type-tabs label::before{left:20px}.v155-type-tabs label:has(input:checked)::after{left:26px}}

/* v157: job request cleanup/detail professional layout */
.v157-show-head,.v156-job-head{align-items:center!important}
.v157-show-actions,.v156-head-actions{gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.v157-show-actions .btn,.v156-head-actions .btn{min-height:42px!important;border-radius:13px!important;padding:9px 17px!important;font-weight:900!important}
.v157-csv-btn{background:#fff!important;color:#0f2a42!important;border-color:#cfdde7!important}
.v157-command-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:16px 18px!important;border-radius:22px!important;background:#fff!important;border:1px solid #dbe8f0!important;box-shadow:0 12px 34px rgba(15,45,71,.06)!important}
.v157-status-box{display:flex;align-items:center;gap:12px;min-width:0}.v157-status-box>span{font-weight:1000;color:#0f2a42;white-space:nowrap}.v157-status-form{display:flex;gap:8px;flex-wrap:wrap}.v157-status-form .btn,.v157-create-report-form .btn{min-height:40px!important;border-radius:12px!important;padding:8px 15px!important;font-weight:1000!important}
.v157-detail-card{padding:0!important;border-radius:26px!important;overflow:hidden!important;background:#fff!important;border:1px solid #d8e6ef!important;box-shadow:0 16px 44px rgba(15,45,71,.07)!important}.v157-detail-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;background:linear-gradient(180deg,#f9fcfd,#f0f6f9);border-bottom:1px solid #dbe8f0}.v157-detail-title>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v157-detail-title strong{font-size:18px;font-weight:1000;color:#0d3e2a;background:#ecf8f0;border:1px solid #cde8d7;border-radius:999px;padding:9px 16px;white-space:nowrap}.v157-type-pill,.v157-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:1000}.v157-type-pill.garden{background:#ecf8f0;color:#0b6b3d;border:1px solid #cde8d7}.v157-type-pill.cleanup{background:#eef5ff;color:#1d4f91;border:1px solid #cfe0f7}.v157-status-pill{background:#f4f8fb;color:#0f2a42;border:1px solid #d7e5ef}.v157-status-pill.open{background:#eaf8ef;color:#0d6b3c;border-color:#c7e8d4}.v157-status-pill.done{background:#eef2f6;color:#425466}.v157-status-pill.hold{background:#fff7df;color:#8a5a00;border-color:#f3dfad}.v157-section{padding:22px 24px;border-top:1px solid #eef4f7}.v157-section:first-of-type{border-top:0}.v157-section h2{margin:0 0 14px;font-size:17px;font-weight:1000;color:#0b243d;letter-spacing:.02em}.v157-info-grid,.v157-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v157-info-grid>div,.v157-check-grid>div{min-height:62px;border:1px solid #dce8f0;background:#f9fcfd;border-radius:16px;padding:11px 13px;display:flex;flex-direction:column;justify-content:center;gap:5px}.v157-info-grid span,.v157-check-grid span,.v157-report-grid span{font-size:12px;font-weight:1000;color:#65788a}.v157-info-grid b,.v157-check-grid b{font-size:15px;font-weight:1000;color:#0f2a42;line-height:1.45;word-break:break-word}.v157-large-text{border:1px solid #dce8f0;background:#fbfdff;border-radius:18px;min-height:126px;padding:16px 18px;font-size:16px;font-weight:850;color:#0f2a42;line-height:1.9;white-space:normal;word-break:break-word}.v157-large-text.compact{min-height:88px}.v157-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v157-report-grid>div{border:1px solid #dce8f0;background:#f9fcfd;border-radius:16px;padding:12px 14px;min-height:80px}.v157-report-grid>div:first-child{grid-column:1/-1;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}.v157-report-grid b{font-size:16px;font-weight:1000;color:#0f2a42}.v157-report-grid p{margin:6px 0 0;font-size:15px;font-weight:800;color:#0f2a42;line-height:1.75}.v157-card-title-row{align-items:center!important;border-bottom:1px solid #e7eef4!important;margin-bottom:16px!important;padding-bottom:12px!important}.v157-card-title-row h2,.v157-card-title-row h3{margin:0!important;font-size:19px!important;font-weight:1000!important;color:#0b243d!important}.v157-photo-section,.v157-linked-section{border-radius:24px!important;border:1px solid #dbe8f0!important;background:#fff!important;box-shadow:0 14px 38px rgba(15,45,71,.06)!important}.v157-link-report-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:end!important;border:1px solid #e4edf3!important;background:#f8fbfd!important;border-radius:18px!important;padding:14px!important;margin-bottom:14px!important}.v157-link-report-form label{font-weight:1000;color:#0f2a42}.v157-link-report-form select{min-height:46px!important;border-radius:13px!important}.v157-link-report-form .btn{min-height:46px!important;border-radius:13px!important;padding:8px 18px!important;font-weight:1000!important}.v157-report-card{border-radius:16px!important;border:1px solid #dce8f0!important;background:#fff!important}.v157-report-card .btn{border-radius:11px!important}.v156-head-actions .btn[href*="page=manage"]{display:none!important}.v146-csv-note{display:none!important}.v156-list-head{font-size:13px!important;color:#475569!important}.v156-request-row{border-radius:18px!important}.v156-row-actions .btn.primary{box-shadow:0 8px 18px rgba(14,107,63,.16)!important}
@media(max-width:860px){.v157-command-card{display:grid!important;grid-template-columns:1fr!important}.v157-status-box{display:block}.v157-status-box>span{display:block;margin-bottom:8px}.v157-status-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v157-status-form .btn,.v157-create-report-form .btn{width:100%;justify-content:center}.v157-detail-title{display:block}.v157-detail-title strong{display:inline-flex;margin-top:10px}.v157-info-grid,.v157-check-grid,.v157-report-grid{grid-template-columns:1fr}.v157-report-grid>div:first-child{display:block}.v157-link-report-form{grid-template-columns:1fr!important}.v157-link-report-form .btn{width:100%;justify-content:center}.v157-show-actions{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));}.v157-show-actions .btn{width:100%;justify-content:center}.v157-section{padding:18px 16px}.v157-detail-title{padding:18px 16px}.v157-large-text{font-size:15px;min-height:96px}.v157-card-title-row{display:flex!important;gap:10px!important}.v157-photo-section,.v157-linked-section{border-radius:18px!important}}
@media(max-width:560px){.v157-status-form,.v157-show-actions{grid-template-columns:1fr!important}.v157-type-pill,.v157-status-pill{width:100%}.v157-detail-title>div{display:grid;grid-template-columns:1fr;gap:8px}.v157-info-grid>div,.v157-check-grid>div{min-height:54px}.v157-section h2{font-size:16px}.v157-large-text{padding:14px}.v156-head-actions{grid-template-columns:1fr 1fr!important}.v156-head-actions .v157-csv-btn{grid-column:1/-1}}

/* v164: combine job request create buttons into one switch */
.v164-head-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
.v164-create-switch{display:inline-flex;align-items:stretch;gap:0;border:1px solid #b8cad7;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,45,71,.06);overflow:hidden}
.v164-create-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;font-size:15px;font-weight:1000;letter-spacing:.01em;color:#0f2a42;text-decoration:none;background:#fff;border-right:1px solid #d5e2ea;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.v164-create-btn:last-child{border-right:0}
.v164-create-btn.is-garden{background:#0e6b3f;color:#fff;border-right:1px solid rgba(255,255,255,.18)}
.v164-create-btn:hover{background:#f5f9fc}
.v164-create-btn.is-garden:hover{background:#0b5a36;color:#fff}
.v164-create-btn:focus-visible{outline:none;position:relative;z-index:1;box-shadow:inset 0 0 0 2px #0f2a42}
@media(max-width:760px){
  .v164-head-actions{display:grid!important;grid-template-columns:1fr!important}
  .v164-create-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .v164-create-btn{min-height:48px;padding:0 14px;font-size:14px}
  .v164-head-actions .btn{width:100%;justify-content:center;text-align:center}
}
@media(max-width:460px){
  .v164-create-switch{grid-template-columns:1fr}
  .v164-create-btn{border-right:0;border-bottom:1px solid #d5e2ea}
  .v164-create-btn:last-child{border-bottom:0}
}

/* v165: 日報の金額を原位置の右側へ移動 */
.v165-link-section{background:linear-gradient(180deg,#fff,#fbfdff)!important;border:1px solid #d9e6ee!important}
.v165-link-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.v165-link-grid label{display:grid!important;gap:7px!important;font-weight:900!important;color:#0f2a42!important}
.v165-link-grid select{height:46px!important;border-radius:13px!important;border:1px solid #cbd9e3!important;padding:0 12px!important;background:#fff!important}
.v165-inline-total{margin-top:12px;display:inline-flex;align-items:center;gap:8px;border:1px solid #cfe7d8;background:#f3fbf6;color:#0b5a36;border-radius:999px;padding:8px 14px;font-weight:1000}

.line-editor-head-v70.v165-inline-head{padding-right:0!important}
.worker-head-v70.v165-inline-head,
.line-row-workers-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) 110px 130px 60px!important}
.vehicle-head-v70.v165-inline-head,
.line-row-vehicles-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1.25fr) 140px 130px 60px!important}
.tool-head-v70.v165-inline-head,
.line-row-tools-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px 60px!important}
.v165-inline-amount{text-align:right!important;background:#fff!important;color:#071d36!important;font-weight:900!important}
.v165-inline-amount::placeholder{color:#8ba0ad!important;text-align:left!important}
.line-row-v70 .line-remove-v70{width:60px!important;min-width:60px!important;max-width:60px!important}

.purchase-section-v165{background:linear-gradient(180deg,#fff,#fbfdff)!important;border:1px solid #d9e6ee!important}
.v165-purchase-editor{display:grid;gap:8px}
.v165-purchase-head,.v165-purchase-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px 60px;gap:8px;align-items:center}
.v165-purchase-head{font-size:11px;font-weight:900;color:#607283;padding:0 0 5px}
.v165-purchase-row input{width:100%;min-width:0;height:40px;min-height:40px;border:1px solid #cfdde7;border-radius:12px;padding:0 12px;font-weight:800;color:#082442;background:#fff;box-sizing:border-box}
.v165-purchase-row input[name="purchase_amount[]"]{text-align:right;font-weight:900}
.v165-purchase-remove{width:60px;min-width:60px;max-width:60px;height:40px;border:1px solid #f5c2c2;border-radius:12px;background:#fff;color:#c11f1f;font-weight:1000;cursor:pointer}
.v165-purchase-remove:hover{background:#fff2f2}
.purchase-section-v165 .line-add-v70{margin-top:2px!important}

.v139-report-extra{display:none!important}
.v139-money-block{display:none!important}

@media(max-width:920px){
  .worker-head-v70.v165-inline-head,
  .line-row-workers-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) 92px 112px 56px!important}
  .vehicle-head-v70.v165-inline-head,
  .line-row-vehicles-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) 110px 112px 56px!important}
  .tool-head-v70.v165-inline-head,
  .line-row-tools-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 112px 56px!important}
  .v165-purchase-head,.v165-purchase-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 112px 56px}
}
@media(max-width:640px){
  .v165-link-grid{grid-template-columns:1fr!important}
  .worker-head-v70.v165-inline-head,.vehicle-head-v70.v165-inline-head,.tool-head-v70.v165-inline-head,.v165-purchase-head{display:none!important}
  .line-row-workers-v70.v165-inline-cost-row,
  .line-row-vehicles-v70.v165-inline-cost-row,
  .line-row-tools-v70.v165-inline-cost-row,
  .v165-purchase-row{grid-template-columns:1fr 54px!important;gap:8px!important;background:rgba(255,255,255,.62)!important;border:1px solid rgba(112,140,162,.22)!important;border-radius:16px!important;padding:10px!important}
  .line-row-workers-v70.v165-inline-cost-row input:nth-child(1),
  .line-row-workers-v70.v165-inline-cost-row input:nth-child(2),
  .line-row-workers-v70.v165-inline-cost-row .v165-inline-amount,
  .line-row-vehicles-v70.v165-inline-cost-row input:nth-child(1),
  .line-row-vehicles-v70.v165-inline-cost-row input:nth-child(2),
  .line-row-vehicles-v70.v165-inline-cost-row .v165-inline-amount,
  .line-row-tools-v70.v165-inline-cost-row input:nth-child(1),
  .line-row-tools-v70.v165-inline-cost-row input:nth-child(2),
  .line-row-tools-v70.v165-inline-cost-row .v165-inline-amount,
  .v165-purchase-row input{grid-column:1/2!important}
  .line-row-workers-v70.v165-inline-cost-row .line-remove-v70,
  .line-row-vehicles-v70.v165-inline-cost-row .line-remove-v70,
  .line-row-tools-v70.v165-inline-cost-row .line-remove-v70,
  .v165-purchase-remove{grid-column:2!important;grid-row:1 / span 3!important;width:54px!important;min-width:54px!important;max-width:54px!important;height:100%!important;min-height:40px!important}
  .v165-inline-amount,.v165-purchase-row input[name="purchase_amount[]"]{text-align:left!important}
}

/* v166: money input display unified */
.v166-money-input,
.v165-inline-amount,
.v165-purchase-row input[name="purchase_amount[]"]{
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid #cfdde7!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#082442!important;
  font-weight:1000!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.01em!important;
}
.v166-money-input::placeholder,
.v165-inline-amount::placeholder,
.v165-purchase-row input[name="purchase_amount[]"]::placeholder{
  color:#8799a8!important;
  opacity:1!important;
  text-align:center!important;
  font-weight:900!important;
}
.v166-money-input:focus,
.v165-inline-amount:focus,
.v165-purchase-row input[name="purchase_amount[]"]:focus{
  outline:none!important;
  border-color:#0e6b3f!important;
  box-shadow:0 0 0 4px rgba(14,107,63,.10)!important;
}
.worker-head-v70.v165-inline-head,
.line-row-workers-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) 170px 150px 64px!important}
.vehicle-head-v70.v165-inline-head,
.line-row-vehicles-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1.25fr) 150px 150px 64px!important}
.tool-head-v70.v165-inline-head,
.line-row-tools-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px 64px!important}
.v165-purchase-head,.v165-purchase-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px 64px!important}
.line-row-v70 .line-remove-v70,
.v165-purchase-remove{width:64px!important;min-width:64px!important;max-width:64px!important}
.v165-inline-total span,
[data-v165-total]{font-variant-numeric:tabular-nums!important;letter-spacing:.02em!important}
@media(max-width:920px){
  .worker-head-v70.v165-inline-head,
  .line-row-workers-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) 130px 132px 58px!important}
  .vehicle-head-v70.v165-inline-head,
  .line-row-vehicles-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) 120px 132px 58px!important}
  .tool-head-v70.v165-inline-head,
  .line-row-tools-v70.v165-inline-cost-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 132px 58px!important}
  .v165-purchase-head,.v165-purchase-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 132px 58px!important}
}
@media(max-width:640px){
  .v166-money-input,
  .v165-inline-amount,
  .v165-purchase-row input[name="purchase_amount[]"]{
    text-align:left!important;
  }
}

/* v167: live Japanese yen formatting */
.v167-money-live,
.v166-money-input,
.v165-inline-amount,
.v165-purchase-row input[name="purchase_amount[]"]{
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.01em!important;
}
.v167-money-live::placeholder,
.v166-money-input::placeholder,
.v165-inline-amount::placeholder,
.v165-purchase-row input[name="purchase_amount[]"]::placeholder{
  content:"金額（円）";
}

/* v168: report row amount layout fix */
.worker-head-v70.v168-inline-head,
.line-row-workers-v70.v168-cost-row{
  grid-template-columns:minmax(260px,1fr) 280px 110px 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.vehicle-head-v70.v168-inline-head,
.line-row-vehicles-v70.v168-cost-row{
  grid-template-columns:minmax(260px,1fr) 150px 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.tool-head-v70.v168-inline-head,
.line-row-tools-v70.v168-cost-row{
  grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.v165-purchase-head,
.v165-purchase-row.v168-cost-row{
  grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.v168-money-input,
.v165-inline-amount,
input[name="purchase_amount[]"]{
  width:100%!important;
  min-width:0!important;
  max-width:150px!important;
  height:42px!important;
  border-radius:13px!important;
  text-align:right!important;
  font-weight:1000!important;
  font-variant-numeric:tabular-nums!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
}
.v168-money-input::placeholder,
.v165-inline-amount::placeholder,
input[name="purchase_amount[]"]::placeholder{
  color:#8799a8!important;
  opacity:1!important;
  text-align:right!important;
}
.line-row-v70 .line-remove-v70,
.v165-purchase-remove{
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  justify-self:end!important;
}
.line-editor-head-v70.v168-inline-head span{
  white-space:nowrap!important;
}
@media(max-width:980px){
  .worker-head-v70.v168-inline-head,
  .line-row-workers-v70.v168-cost-row{
    grid-template-columns:minmax(220px,1fr) 220px 90px 132px 64px!important;
  }
}
@media(max-width:760px){
  .worker-head-v70.v168-inline-head,
  .vehicle-head-v70.v168-inline-head,
  .tool-head-v70.v168-inline-head,
  .v165-purchase-head{
    display:none!important;
  }
  .line-row-workers-v70.v168-cost-row,
  .line-row-vehicles-v70.v168-cost-row,
  .line-row-tools-v70.v168-cost-row,
  .v165-purchase-row.v168-cost-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .v168-money-input,
  .v165-inline-amount,
  input[name="purchase_amount[]"]{
    max-width:none!important;
    text-align:left!important;
  }
  .line-row-v70 .line-remove-v70,
  .v165-purchase-remove{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* v169: safe report money row layout */
.worker-head-v70.v169-inline-head,
.line-row-workers-v70.v169-cost-row{
  grid-template-columns:minmax(260px,1fr) 280px 110px 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.vehicle-head-v70.v169-inline-head,
.line-row-vehicles-v70.v169-cost-row{
  grid-template-columns:minmax(260px,1fr) 150px 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.tool-head-v70.v169-inline-head,
.line-row-tools-v70.v169-cost-row{
  grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.v165-purchase-head,
.v165-purchase-row.v169-cost-row{
  grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) 150px 72px!important;
  column-gap:12px!important;
  align-items:center!important;
}
.v169-money-input,
.v165-inline-amount,
input[name="purchase_amount[]"]{
  width:100%!important;
  min-width:0!important;
  max-width:150px!important;
  height:42px!important;
  border-radius:13px!important;
  text-align:right!important;
  font-weight:1000!important;
  font-variant-numeric:tabular-nums!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
}
.v169-money-input::placeholder,
.v165-inline-amount::placeholder,
input[name="purchase_amount[]"]::placeholder{
  color:#8799a8!important;
  opacity:1!important;
  text-align:right!important;
}
.line-row-v70 .line-remove-v70,
.v165-purchase-remove{
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  justify-self:end!important;
}
.line-editor-head-v70.v169-inline-head span{
  white-space:nowrap!important;
}
@media(max-width:980px){
  .worker-head-v70.v169-inline-head,
  .line-row-workers-v70.v169-cost-row{
    grid-template-columns:minmax(220px,1fr) 220px 90px 132px 64px!important;
  }
}
@media(max-width:760px){
  .worker-head-v70.v169-inline-head,
  .vehicle-head-v70.v169-inline-head,
  .tool-head-v70.v169-inline-head,
  .v165-purchase-head{
    display:none!important;
  }
  .line-row-workers-v70.v169-cost-row,
  .line-row-vehicles-v70.v169-cost-row,
  .line-row-tools-v70.v169-cost-row,
  .v165-purchase-row.v169-cost-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .v169-money-input,
  .v165-inline-amount,
  input[name="purchase_amount[]"]{
    max-width:none!important;
    text-align:left!important;
  }
  .line-row-v70 .line-remove-v70,
  .v165-purchase-remove{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* v170 uses runtime style to override old worker-row styles safely. */

/* v171 final report cost layout */
.v171-money-input,.v165-inline-amount,input[name="purchase_amount[]"]{font-variant-numeric:tabular-nums!important;}

/* v172: worker name column fixed by JS injected style. */

/* v173: rebuild worker section from scratch */
[data-line-editor-v70="workers"].v173-worker-editor{
  margin-top:14px!important;
}
[data-line-editor-v70="workers"] .line-editor-rows-v70{
  display:grid!important;
  gap:10px!important;
}
.v173-worker-head,
.v173-worker-row{
  display:grid!important;
  grid-template-columns:82px 220px 230px 90px 130px 72px!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:start!important;
}
.v173-worker-head{
  padding:0 10px 4px!important;
  color:#526879!important;
  font-size:12px!important;
  font-weight:900!important;
}
.v173-worker-row{
  padding:10px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.66)!important;
}
.v173-worker-no{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:28px!important;
  border-radius:999px!important;
  background:#eefbf4!important;
  border:1px solid #bce3cd!important;
  color:#0e6b3f!important;
  font-weight:1000!important;
  font-size:12px!important;
}
.v173-worker-row input{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  box-sizing:border-box!important;
  border:1px solid #cfdde7!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#082442!important;
  font-weight:900!important;
  padding:0 12px!important;
}
.v173-worker-range,
.v173-worker-hours,
.v173-worker-amount{
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
}
.v173-worker-amount{
  text-align:right!important;
  font-weight:1000!important;
}
.v173-worker-delete{
  height:44px!important;
  min-width:72px!important;
  border-radius:13px!important;
  border:1px solid #fecaca!important;
  background:#fff7f7!important;
  color:#dc2626!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.v173-worker-add{
  width:max-content!important;
  margin-top:12px!important;
}
.worker-time-add-v76{
  grid-template-columns:320px 130px 130px 220px 170px!important;
  justify-content:start!important;
  align-items:end!important;
}
@media(max-width:1100px){
  .v173-worker-head,
  .v173-worker-row{
    grid-template-columns:76px 180px 190px 78px 120px 66px!important;
  }
  .worker-time-add-v76{
    grid-template-columns:260px 120px 120px 190px 150px!important;
  }
}
@media(max-width:760px){
  .v173-worker-head{display:none!important}
  .v173-worker-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .v173-worker-no{
    width:max-content!important;
  }
  .v173-worker-amount,
  .v173-worker-range,
  .v173-worker-hours{
    text-align:left!important;
  }
  .v173-worker-delete{
    width:100%!important;
  }
  .worker-time-add-v76{
    grid-template-columns:1fr!important;
  }
  .v173-worker-add{
    width:100%!important;
  }
}

/* v174: clean rebuilt worker/cost rows */
[data-line-editor-v70="workers"].v174-worker-editor{margin-top:12px!important;}
[data-line-editor-v70="workers"] .line-editor-rows-v70{display:grid!important;gap:8px!important;}
.v174-worker-head,.v174-worker-row{display:grid!important;grid-template-columns:68px 210px 230px 88px 128px 72px!important;gap:10px!important;align-items:center!important;justify-content:start!important;}
.v174-worker-head{padding:0 10px 2px!important;color:#526879!important;font-size:12px!important;font-weight:900!important;}
.v174-worker-row{padding:8px 10px!important;border-radius:15px!important;background:rgba(255,255,255,.72)!important;}
.v174-worker-no{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:68px!important;height:28px!important;border-radius:999px!important;background:#eefbf4!important;border:1px solid #bce3cd!important;color:#0e6b3f!important;font-size:12px!important;font-weight:1000!important;}
.v174-worker-row input{width:100%!important;min-width:0!important;height:42px!important;box-sizing:border-box!important;border:1px solid #cfdde7!important;border-radius:13px!important;background:#fff!important;color:#082442!important;font-weight:900!important;padding:0 12px!important;}
.v174-worker-range,.v174-worker-hours,.v174-worker-amount{text-align:center!important;font-variant-numeric:tabular-nums!important;}
.v174-worker-amount{text-align:right!important;font-weight:1000!important;}
.v174-worker-delete{width:72px!important;height:42px!important;border-radius:13px!important;border:1px solid #fecaca!important;background:#fff7f7!important;color:#dc2626!important;font-weight:1000!important;cursor:pointer!important;}
.v174-worker-add{width:max-content!important;margin-top:10px!important;}
.worker-time-add-v76{grid-template-columns:320px 130px 130px 220px 170px!important;justify-content:start!important;align-items:end!important;}
.v174-cost-head,.v174-cost-row{display:grid!important;gap:10px!important;align-items:center!important;justify-content:start!important;}
[data-line-editor-v70="vehicles"] .v174-cost-head,[data-line-editor-v70="vehicles"] .v174-cost-row{grid-template-columns:280px 150px 128px 72px!important;}
[data-line-editor-v70="tools"] .v174-cost-head,[data-line-editor-v70="tools"] .v174-cost-row{grid-template-columns:280px 260px 128px 72px!important;}
.v165-purchase-head,.v165-purchase-row{grid-template-columns:280px 260px 128px 72px!important;gap:10px!important;align-items:center!important;justify-content:start!important;}
.v174-cost-amount,input[name="purchase_amount[]"]{width:128px!important;min-width:0!important;height:42px!important;border-radius:13px!important;text-align:right!important;font-weight:1000!important;font-variant-numeric:tabular-nums!important;box-sizing:border-box!important;}
.line-remove-v70,.v165-purchase-remove{width:72px!important;min-width:72px!important;max-width:72px!important;}
@media(max-width:980px){.v174-worker-head,.v174-worker-row{grid-template-columns:58px 170px 190px 76px 118px 66px!important;gap:8px!important}.worker-time-add-v76{grid-template-columns:260px 120px 120px 190px 150px!important}}
@media(max-width:760px){.v174-worker-head,.v174-cost-head,.v165-purchase-head{display:none!important}.v174-worker-row,.v174-cost-row,.v165-purchase-row{grid-template-columns:1fr!important;gap:8px!important}.v174-worker-no{width:max-content!important}.v174-worker-amount,.v174-worker-range,.v174-worker-hours,.v174-cost-amount,input[name="purchase_amount[]"]{width:100%!important;text-align:left!important}.v174-worker-delete,.line-remove-v70,.v165-purchase-remove{width:100%!important;max-width:none!important}.worker-time-add-v76{grid-template-columns:1fr!important}.v174-worker-add{width:100%!important}}

/* v175: clean report cost rows */
[data-line-editor-v70="workers"].v175-worker-editor{
  margin-top:12px!important;
}
[data-line-editor-v70="workers"] .line-editor-rows-v70{
  display:grid!important;
  gap:10px!important;
}
.v175-worker-head,
.v175-worker-row{
  display:grid!important;
  grid-template-columns:74px 190px 210px 86px 120px 72px!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:start!important;
}
.v175-worker-head{
  padding:0 10px 4px!important;
  color:#526879!important;
  font-size:12px!important;
  font-weight:900!important;
}
.v175-worker-row{
  padding:10px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
}
.v175-no{
  height:28px!important;
  border-radius:999px!important;
  background:#eefbf4!important;
  border:1px solid #bce3cd!important;
  color:#0e6b3f!important;
  font-weight:1000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
}
.v175-worker-row input,
.v175-cost-row input,
.v175-purchase-row input{
  min-width:0!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #cfdde7!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#082442!important;
  font-weight:900!important;
  padding:0 12px!important;
}
.v175-worker-range,
.v175-worker-hours,
.v175-worker-money,
.v175-cost-money,
input[name="purchase_amount[]"]{
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}
.v175-delete,
.v175-cost-row .line-remove-v70,
.v175-purchase-row .v165-purchase-remove{
  width:72px!important;
  min-width:72px!important;
  height:42px!important;
  border-radius:13px!important;
  border:1px solid #fecaca!important;
  background:#fff7f7!important;
  color:#dc2626!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.v175-add-worker{
  width:max-content!important;
  margin-top:12px!important;
}
.worker-time-add-v76{
  grid-template-columns:300px 120px 120px 210px 160px!important;
  justify-content:start!important;
  align-items:end!important;
}
[data-line-editor-v70="vehicles"] .line-editor-head-v70,
[data-line-editor-v70="vehicles"] [data-row-v70]{
  grid-template-columns:minmax(240px,1fr) 150px 130px 72px!important;
}
[data-line-editor-v70="tools"] .line-editor-head-v70,
[data-line-editor-v70="tools"] [data-row-v70],
.v165-purchase-head,
.v165-purchase-row{
  grid-template-columns:minmax(220px,1fr) minmax(200px,1fr) 130px 72px!important;
}
@media(max-width:900px){
  .v175-worker-head,
  .v175-worker-row{
    grid-template-columns:64px 160px 170px 76px 110px 64px!important;
    gap:8px!important;
  }
  .worker-time-add-v76{
    grid-template-columns:240px 110px 110px 180px 140px!important;
  }
}
@media(max-width:760px){
  .v175-worker-head,
  [data-line-editor-v70="vehicles"] .line-editor-head-v70,
  [data-line-editor-v70="tools"] .line-editor-head-v70,
  .v165-purchase-head{
    display:none!important;
  }
  .v175-worker-row,
  [data-line-editor-v70="vehicles"] [data-row-v70],
  [data-line-editor-v70="tools"] [data-row-v70],
  .v165-purchase-row,
  .worker-time-add-v76{
    grid-template-columns:1fr!important;
  }
  .v175-worker-money,
  .v175-cost-money,
  input[name="purchase_amount[]"]{
    text-align:left!important;
  }
  .v175-delete,
  .v175-cost-row .line-remove-v70,
  .v175-purchase-row .v165-purchase-remove,
  .v175-add-worker{
    width:100%!important;
  }
}

/* v176: final clean worker row layout */
[data-line-editor-v70="workers"].v176-worker-editor{margin-top:12px!important}
[data-line-editor-v70="workers"] .line-editor-rows-v70{display:grid!important;gap:8px!important}
.v176-worker-head,.v176-worker-row{display:grid!important;grid-template-columns:72px 180px 200px 78px 118px 70px!important;gap:8px!important;align-items:center!important;justify-content:start!important}
.v176-worker-head{padding:0 8px 3px!important;color:#526879!important;font-size:12px!important;font-weight:900!important}
.v176-worker-row{padding:8px!important;border-radius:14px!important;background:rgba(255,255,255,.74)!important}
.v176-no{height:28px!important;border-radius:999px!important;background:#eefbf4!important;border:1px solid #bce3cd!important;color:#0e6b3f!important;font-weight:1000!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important}
.v176-worker-row input,.v176-cost-row input,.v176-purchase-row input{min-width:0!important;width:100%!important;height:42px!important;min-height:42px!important;box-sizing:border-box!important;border:1px solid #cfdde7!important;border-radius:13px!important;background:#fff!important;color:#082442!important;font-weight:900!important;padding:0 12px!important}
.v176-worker-name{max-width:180px!important}
.v176-worker-range{max-width:200px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.v176-worker-hours{max-width:78px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.v176-worker-money{max-width:118px!important;text-align:right!important;font-variant-numeric:tabular-nums!important}
.v176-delete,.v176-cost-row .line-remove-v70,.v176-purchase-row .v165-purchase-remove{width:70px!important;min-width:70px!important;height:42px!important;border-radius:13px!important;border:1px solid #fecaca!important;background:#fff7f7!important;color:#dc2626!important;font-weight:1000!important;cursor:pointer!important}
.v176-add-worker{width:max-content!important;margin-top:10px!important}.worker-time-add-v76{grid-template-columns:280px 116px 116px 200px 150px!important;justify-content:start!important;align-items:end!important}
[data-line-editor-v70="vehicles"] .line-editor-head-v70,[data-line-editor-v70="vehicles"] [data-row-v70]{grid-template-columns:minmax(220px,1fr) 150px 126px 70px!important;gap:8px!important}
[data-line-editor-v70="tools"] .line-editor-head-v70,[data-line-editor-v70="tools"] [data-row-v70],.v165-purchase-head,.v165-purchase-row{grid-template-columns:minmax(210px,1fr) minmax(190px,1fr) 126px 70px!important;gap:8px!important}
.v176-cost-money,input[name="purchase_amount[]"]{text-align:right!important;font-variant-numeric:tabular-nums!important}
@media(max-width:900px){.v176-worker-head,.v176-worker-row{grid-template-columns:62px 150px 170px 70px 110px 64px!important}.worker-time-add-v76{grid-template-columns:220px 105px 105px 170px 130px!important}}
@media(max-width:760px){.v176-worker-head,[data-line-editor-v70="vehicles"] .line-editor-head-v70,[data-line-editor-v70="tools"] .line-editor-head-v70,.v165-purchase-head{display:none!important}.v176-worker-row,[data-line-editor-v70="vehicles"] [data-row-v70],[data-line-editor-v70="tools"] [data-row-v70],.v165-purchase-row,.worker-time-add-v76{grid-template-columns:1fr!important}.v176-worker-name,.v176-worker-range,.v176-worker-hours,.v176-worker-money{max-width:none!important;text-align:left!important}.v176-delete,.v176-cost-row .line-remove-v70,.v176-purchase-row .v165-purchase-remove,.v176-add-worker{width:100%!important}}

/* v177: clean visible worker panel, includes money input */
[data-line-editor-v70="workers"]{
  display:none!important;
}
.v177-worker-panel{
  margin-top:12px!important;
}
.v177-worker-rows{
  display:grid!important;
  gap:8px!important;
}
.v177-worker-head,
.v177-worker-row{
  display:grid!important;
  grid-template-columns:70px 190px 220px 86px 130px 72px!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:start!important;
}
.v177-worker-head{
  padding:0 8px 4px!important;
  color:#526879!important;
  font-size:12px!important;
  font-weight:900!important;
}
.v177-worker-row{
  padding:8px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.76)!important;
}
.v177-no{
  height:28px!important;
  border-radius:999px!important;
  background:#eefbf4!important;
  border:1px solid #bce3cd!important;
  color:#0e6b3f!important;
  font-weight:1000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
}
.v177-worker-row input{
  min-width:0!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #cfdde7!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#082442!important;
  font-weight:900!important;
  padding:0 12px!important;
}
.v177-worker-name{max-width:190px!important}
.v177-worker-range{max-width:220px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.v177-worker-hours{max-width:86px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.v177-worker-money{max-width:130px!important;text-align:right!important;font-variant-numeric:tabular-nums!important}
.v177-delete{
  width:72px!important;
  min-width:72px!important;
  height:42px!important;
  border-radius:13px!important;
  border:1px solid #fecaca!important;
  background:#fff7f7!important;
  color:#dc2626!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.v177-add-worker{
  width:max-content!important;
  margin-top:10px!important;
}
.worker-time-add-v76{
  grid-template-columns:280px 116px 116px 200px 150px!important;
  justify-content:start!important;
  align-items:end!important;
}
@media(max-width:900px){
  .v177-worker-head,.v177-worker-row{
    grid-template-columns:62px 150px 170px 72px 110px 64px!important;
  }
  .worker-time-add-v76{
    grid-template-columns:220px 105px 105px 170px 130px!important;
  }
}
@media(max-width:760px){
  .v177-worker-head{display:none!important}
  .v177-worker-row,.worker-time-add-v76{
    grid-template-columns:1fr!important;
  }
  .v177-worker-name,.v177-worker-range,.v177-worker-hours,.v177-worker-money{
    max-width:none!important;
    text-align:left!important;
  }
  .v177-delete,.v177-add-worker{
    width:100%!important;
  }
}

/* v178: clean worker section, fixed money input */
.v178-worker-list{
  margin-top:14px!important;
}
.v178-worker-head,
.v178-worker-row{
  display:grid!important;
  grid-template-columns:70px 190px 220px 86px 130px 72px!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:start!important;
}
.v178-worker-head{
  padding:0 8px 4px!important;
  color:#526879!important;
  font-size:12px!important;
  font-weight:900!important;
}
.v178-worker-rows{
  display:grid!important;
  gap:8px!important;
}
.v178-worker-row{
  padding:8px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.76)!important;
}
.v178-no{
  height:28px!important;
  border-radius:999px!important;
  background:#eefbf4!important;
  border:1px solid #bce3cd!important;
  color:#0e6b3f!important;
  font-weight:1000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
}
.v178-worker-row input,
.v178-cost-row input,
.v178-purchase-row input{
  min-width:0!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #cfdde7!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#082442!important;
  font-weight:900!important;
  padding:0 12px!important;
}
.v178-worker-name{max-width:190px!important}
.v178-worker-range{max-width:220px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.v178-worker-hours{max-width:86px!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.v178-worker-money{max-width:130px!important;text-align:right!important;font-variant-numeric:tabular-nums!important}
.v178-delete,
.v178-cost-row .line-remove-v70,
.v178-purchase-row .v165-purchase-remove{
  width:72px!important;
  min-width:72px!important;
  height:42px!important;
  border-radius:13px!important;
  border:1px solid #fecaca!important;
  background:#fff7f7!important;
  color:#dc2626!important;
  font-weight:1000!important;
  cursor:pointer!important;
}
.v178-worker-add{
  width:max-content!important;
  margin-top:10px!important;
}
.worker-time-add-v76{
  grid-template-columns:280px 116px 116px 200px 150px!important;
  justify-content:start!important;
  align-items:end!important;
}
[data-line-editor-v70="vehicles"] .line-editor-head-v70,
[data-line-editor-v70="vehicles"] [data-row-v70]{
  grid-template-columns:minmax(220px,1fr) 150px 126px 70px!important;
  gap:8px!important;
}
[data-line-editor-v70="tools"] .line-editor-head-v70,
[data-line-editor-v70="tools"] [data-row-v70],
.v165-purchase-head,
.v165-purchase-row{
  grid-template-columns:minmax(210px,1fr) minmax(190px,1fr) 126px 70px!important;
  gap:8px!important;
}
.v178-cost-money,
input[name="purchase_amount[]"]{
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}
@media(max-width:900px){
  .v178-worker-head,.v178-worker-row{
    grid-template-columns:62px 150px 170px 72px 110px 64px!important;
  }
  .worker-time-add-v76{
    grid-template-columns:220px 105px 105px 170px 130px!important;
  }
}
@media(max-width:760px){
  .v178-worker-head,
  [data-line-editor-v70="vehicles"] .line-editor-head-v70,
  [data-line-editor-v70="tools"] .line-editor-head-v70,
  .v165-purchase-head{display:none!important}
  .v178-worker-row,
  [data-line-editor-v70="vehicles"] [data-row-v70],
  [data-line-editor-v70="tools"] [data-row-v70],
  .v165-purchase-row,
  .worker-time-add-v76{grid-template-columns:1fr!important}
  .v178-worker-name,.v178-worker-range,.v178-worker-hours,.v178-worker-money{
    max-width:none!important;
    text-align:left!important;
  }
  .v178-delete,
  .v178-cost-row .line-remove-v70,
  .v178-purchase-row .v165-purchase-remove,
  .v178-worker-add{width:100%!important}
}

/* v179: worker section full-width aligned layout */
.worker-time-add-v76{
  display:grid!important;
  width:100%!important;
  grid-template-columns:minmax(220px,1.25fr) 116px 116px minmax(170px,.9fr) 150px!important;
  gap:10px!important;
  align-items:end!important;
  justify-content:stretch!important;
}
.worker-time-add-v76 > *{min-width:0!important;width:100%!important}
.worker-time-add-v76 .master-add-v72,
.worker-time-add-v76 [data-picker-add-v72="workers"]{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
}
.v178-worker-list{
  width:100%!important;
  margin-top:12px!important;
  overflow:hidden!important;
}
.v178-worker-head,
.v178-worker-row{
  display:grid!important;
  width:100%!important;
  grid-template-columns:68px minmax(160px,.9fr) minmax(170px,1fr) 86px 130px 72px!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:stretch!important;
  box-sizing:border-box!important;
}
.v178-worker-head{
  padding:0 8px 4px!important;
}
.v178-worker-row{
  padding:8px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.78)!important;
}
.v178-worker-row input{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.v178-worker-name{max-width:none!important}
.v178-worker-range{max-width:none!important;text-align:center!important}
.v178-worker-hours{max-width:none!important;text-align:center!important}
.v178-worker-money{max-width:none!important;text-align:right!important}
.v178-delete{
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  justify-self:end!important;
}
.v178-worker-add{
  width:max-content!important;
  margin-top:10px!important;
}
@media(max-width:980px){
  .worker-time-add-v76{
    grid-template-columns:minmax(180px,1.1fr) 104px 104px minmax(140px,.8fr) 132px!important;
  }
  .v178-worker-head,
  .v178-worker-row{
    grid-template-columns:60px minmax(135px,.9fr) minmax(145px,1fr) 76px 112px 64px!important;
    gap:8px!important;
  }
  .v178-delete{width:64px!important;min-width:64px!important;max-width:64px!important}
}
@media(max-width:760px){
  .worker-time-add-v76,
  .v178-worker-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .v178-worker-head{display:none!important}
  .v178-worker-name,.v178-worker-range,.v178-worker-hours,.v178-worker-money{
    max-width:none!important;
    text-align:left!important;
  }
  .v178-delete,.v178-worker-add{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* v180: job request photo delete realtime fallback */
.v180-job-photo-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99999;
  max-width:360px;
  padding:14px 18px;
  border-radius:16px;
  background:#0f6b3f;
  color:#fff;
  font-weight:900;
  box-shadow:0 16px 40px rgba(15,45,71,.22);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .2s ease,transform .2s ease;
}
.v180-job-photo-toast.is-show{opacity:1;transform:translateY(0)}
.v180-job-photo-toast.danger{background:#b91c1c}
.v150-job-photo-delete button[disabled],
.photo-delete-v50[disabled]{opacity:.55;cursor:wait!important}
@media(max-width:760px){.v180-job-photo-toast{left:16px;right:16px;bottom:16px;max-width:none;text-align:center}}

/* v181: job request new form photo upload */
.v181-job-new-photo-card{
  margin-top:18px!important;
}
.v181-job-new-photo-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-bottom:1px solid #e1eaf0!important;
  padding-bottom:14px!important;
  margin-bottom:14px!important;
}
.v181-job-new-photo-head h3{
  margin:0!important;
  font-size:18px!important;
  font-weight:1000!important;
  color:#082442!important;
}
.v181-job-new-photo-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:150px!important;
  min-height:48px!important;
  border-radius:14px!important;
  background:#0e6b3f!important;
  color:#fff!important;
  font-weight:1000!important;
  cursor:pointer!important;
  box-shadow:0 12px 24px rgba(14,107,63,.16)!important;
}
.v181-job-new-photo-btn input{
  display:none!important;
}
.v181-new-photo-empty{
  border:1px dashed #d7e3ea!important;
  border-radius:16px!important;
  padding:22px!important;
  text-align:center!important;
  color:#718497!important;
  font-weight:900!important;
  background:#fbfdfe!important;
}
.v181-new-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:12px!important;
}
.v181-new-photo-item{
  border:1px solid #dbe7ee!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.v181-new-photo-item img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  background:#eef4f8!important;
}
.v181-new-photo-name{
  padding:8px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#405468!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .v181-job-new-photo-head{align-items:stretch!important;flex-direction:column!important}
  .v181-job-new-photo-btn{width:100%!important}
  .v181-new-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v182: new job request local photo preview delete + zoom */
.v182-new-photo-item,
.v181-new-photo-item{
  position:relative!important;
}
.v182-new-photo-item img,
.v181-new-photo-item img{
  cursor:zoom-in!important;
}
.v182-new-photo-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  width:52px!important;
  height:34px!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-weight:1000!important;
  font-size:13px!important;
  cursor:pointer!important;
  box-shadow:0 10px 20px rgba(220,38,38,.22)!important;
  z-index:3!important;
}
.v182-new-photo-delete:hover{
  filter:brightness(.95)!important;
}
.v182-photo-viewer{
  position:fixed!important;
  inset:0!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(8,18,32,.88)!important;
  z-index:99999!important;
  padding:48px 72px!important;
  box-sizing:border-box!important;
}
.v182-photo-viewer.is-open{
  display:flex!important;
}
.v182-viewer-img{
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  border-radius:16px!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
  background:#111!important;
}
.v182-viewer-close,
.v182-viewer-prev,
.v182-viewer-next{
  position:absolute!important;
  border:0!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  backdrop-filter:blur(8px)!important;
}
.v182-viewer-close{
  top:20px!important;
  right:24px!important;
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  font-size:32px!important;
  font-weight:500!important;
}
.v182-viewer-prev,
.v182-viewer-next{
  top:50%!important;
  width:58px!important;
  height:84px!important;
  border-radius:999px!important;
  transform:translateY(-50%)!important;
  font-size:56px!important;
  line-height:1!important;
}
.v182-viewer-prev{left:18px!important}
.v182-viewer-next{right:18px!important}
.v182-viewer-count{
  position:absolute!important;
  left:50%!important;
  bottom:22px!important;
  transform:translateX(-50%)!important;
  padding:8px 18px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-weight:1000!important;
}
.v182-viewer-open{
  overflow:hidden!important;
}
@media(max-width:760px){
  .v182-photo-viewer{
    padding:56px 12px!important;
  }
  .v182-viewer-prev,
  .v182-viewer-next{
    width:44px!important;
    height:68px!important;
    font-size:44px!important;
  }
  .v182-viewer-close{
    top:12px!important;
    right:12px!important;
  }
}

/* v183: job request new photos use the same viewer as daily report */
.v183-new-photo-grid,
.v181-new-photo-grid.photo-preview-grid-v50{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:12px!important;
}
.v183-new-photo-item,
.v181-new-photo-item.v183-new-photo-item{
  position:relative!important;
  border:1px solid #dbe7ee!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  margin:0!important;
}
.v183-new-photo-item img,
.v181-new-photo-item.v183-new-photo-item img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  cursor:zoom-in!important;
  background:#eef4f8!important;
}
.v183-new-photo-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  width:52px!important;
  height:34px!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-weight:1000!important;
  font-size:13px!important;
  cursor:pointer!important;
  box-shadow:0 10px 20px rgba(220,38,38,.22)!important;
  z-index:4!important;
}
.v183-new-photo-name{
  padding:8px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#405468!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .v183-new-photo-grid,
  .v181-new-photo-grid.photo-preview-grid-v50{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* v66: darker photo matte, no white flash, safer zoom-pan behavior */
.kt-photo-viewer-v66,
.kt-photo-viewer-v66 *{box-sizing:border-box;}
.kt-photo-viewer-v66{
  position:fixed; inset:0; z-index:999999; display:none;
  background:rgba(5,11,20,.94); color:#fff;
  -webkit-tap-highlight-color:transparent; touch-action:none;
}
.kt-photo-viewer-v66.is-open{display:block;}
.kt-photo-viewer-v66__shell{
  position:absolute; inset:58px 10px 92px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.kt-photo-viewer-v66__frame{
  position:relative;
  width:var(--kt-v66-frame-w, min(96vw,900px));
  height:var(--kt-v66-frame-h, min(78vh,720px));
  overflow:hidden; border-radius:14px;
  background:#0b1220;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 70px rgba(0,0,0,.55), inset 0 0 0 1px rgba(0,0,0,.35);
  transform:translate3d(0,0,0);
  transition:transform .16s cubic-bezier(.2,.8,.2,1), opacity .14s ease;
}
.kt-photo-viewer-v66__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block;
  border-radius:13px; background:#0b1220;
  transform:translate3d(0,0,0) scale(1); transform-origin:center center;
  transition:transform .18s cubic-bezier(.2,.8,.2,1);
  user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; cursor:zoom-in;
}
.kt-photo-viewer-v66__frame.no-animate .kt-photo-viewer-v66__img,
.kt-photo-viewer-v66__frame.is-dragging .kt-photo-viewer-v66__img{transition:none!important;}
.kt-photo-viewer-v66__frame.is-zoomed .kt-photo-viewer-v66__img{cursor:grab;}
.kt-photo-viewer-v66__frame.is-dragging .kt-photo-viewer-v66__img{cursor:grabbing;}
.kt-photo-viewer-v66__frame.slide-next{opacity:.70; transform:translateX(18px) scale(.996);}
.kt-photo-viewer-v66__frame.slide-prev{opacity:.70; transform:translateX(-18px) scale(.996);}
.kt-photo-viewer-v66__frame.slide-in-next{animation:ktv66InNext .16s cubic-bezier(.2,.8,.2,1);}
.kt-photo-viewer-v66__frame.slide-in-prev{animation:ktv66InPrev .16s cubic-bezier(.2,.8,.2,1);}
@keyframes ktv66InNext{from{opacity:.70; transform:translateX(18px) scale(.996)}to{opacity:1; transform:none}}
@keyframes ktv66InPrev{from{opacity:.70; transform:translateX(-18px) scale(.996)}to{opacity:1; transform:none}}
.kt-photo-viewer-v66__count{
  position:absolute; left:calc(var(--kt-v66-frame-left,16px) + (var(--kt-v66-frame-w,320px) / 2));
  top:max(10px, calc(var(--kt-v66-frame-top,56px) + 10px)); transform:translateX(-50%);
  height:34px; min-height:34px; padding:0 15px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(12,18,28,.70); border:1px solid rgba(255,255,255,.22);
  color:#fff; font-size:14px; font-weight:900; letter-spacing:.05em; backdrop-filter:blur(12px); z-index:20;
}
.kt-photo-viewer-v66__close{
  position:absolute; left:calc(var(--kt-v66-frame-left,16px) + var(--kt-v66-frame-w,320px) - 46px);
  top:max(10px, calc(var(--kt-v66-frame-top,56px) + 10px));
  width:36px; height:36px; border-radius:999px; border:1px solid rgba(255,255,255,.22);
  background:rgba(12,18,28,.70); padding:0; z-index:21; backdrop-filter:blur(12px); cursor:pointer;
}
.kt-photo-viewer-v66__close span::before,
.kt-photo-viewer-v66__close span::after{
  content:""; position:absolute; left:50%; top:50%; width:16px; height:2.5px; border-radius:999px; background:#fff; transform-origin:center;
}
.kt-photo-viewer-v66__close span::before{transform:translate(-50%,-50%) rotate(45deg);}
.kt-photo-viewer-v66__close span::after{transform:translate(-50%,-50%) rotate(-45deg);}
.kt-photo-viewer-v66__nav{
  position:absolute; top:calc(var(--kt-v66-frame-top,56px) + (var(--kt-v66-frame-h,360px) / 2)); transform:translateY(-50%);
  width:30px; height:72px; border-radius:999px; border:1px solid rgba(255,255,255,.13);
  background:rgba(12,18,28,.58); padding:0; z-index:20; backdrop-filter:blur(10px); cursor:pointer;
}
.kt-photo-viewer-v66__prev{left:max(8px, calc(var(--kt-v66-frame-left,16px) + 8px));}
.kt-photo-viewer-v66__next{left:calc(var(--kt-v66-frame-left,16px) + var(--kt-v66-frame-w,320px) - 38px);}
.kt-photo-viewer-v66__nav span::before,
.kt-photo-viewer-v66__nav span::after{
  content:""; position:absolute; left:50%; top:50%; width:12px; height:2.4px; border-radius:999px; background:rgba(255,255,255,.94); transform-origin:center;
}
.kt-photo-viewer-v66__prev span::before{transform:translate(-58%,-4px) rotate(-45deg);}
.kt-photo-viewer-v66__prev span::after{transform:translate(-58%,4px) rotate(45deg);}
.kt-photo-viewer-v66__next span::before{transform:translate(-42%,-4px) rotate(45deg);}
.kt-photo-viewer-v66__next span::after{transform:translate(-42%,4px) rotate(-45deg);}
.kt-photo-viewer-v66__nav:disabled{opacity:.22; cursor:default;}
.kt-photo-viewer-v66.is-zoomed .kt-photo-viewer-v66__nav,
.kt-photo-viewer-v66.is-zoomed .kt-photo-viewer-v66__count,
.kt-photo-viewer-v66.is-zoomed .kt-photo-viewer-v66__close{opacity:.28;}
.kt-photo-viewer-v66__footer{
  position:absolute; left:50%; bottom:12px; transform:translateX(-50%);
  width:min(360px, calc(100vw - 54px)); display:grid; gap:8px; justify-items:center; z-index:20;
}
.kt-photo-viewer-v66__range{width:100%; appearance:none; -webkit-appearance:none; height:4px; border-radius:999px; background:rgba(255,255,255,.22); outline:none;}
.kt-photo-viewer-v66__range::-webkit-slider-thumb{-webkit-appearance:none; width:22px; height:22px; border-radius:999px; background:#fff; border:3px solid #16325c; box-shadow:0 4px 14px rgba(0,0,0,.30);}
.kt-photo-viewer-v66__range::-moz-range-thumb{width:22px; height:22px; border-radius:999px; background:#fff; border:3px solid #16325c; box-shadow:0 4px 14px rgba(0,0,0,.30);}
.kt-photo-viewer-v66__toolbar{display:flex; align-items:center; justify-content:center; gap:5px; padding:4px; border-radius:999px; background:rgba(10,16,25,.48); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(12px);}
.kt-photo-viewer-v66__tool{min-width:34px; height:30px; border:0; border-radius:999px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.94); color:#10223c; font-size:17px; font-weight:900; padding:0 10px; cursor:pointer;}
.kt-photo-viewer-v66__tool[data-action="reset"]{min-width:64px; font-size:13px;}
.kt-photo-viewer-v66__tool:disabled{opacity:.40;}
@media(max-width:760px){
  .kt-photo-viewer-v66__shell{inset:56px 8px 88px;}
  .kt-photo-viewer-v66__frame,.kt-photo-viewer-v66__img{border-radius:12px;}
  .kt-photo-viewer-v66__count{height:32px; min-height:32px; padding:0 13px; font-size:13px;}
  .kt-photo-viewer-v66__close{width:34px; height:34px; left:calc(var(--kt-v66-frame-left,8px) + var(--kt-v66-frame-w,280px) - 42px);}
  .kt-photo-viewer-v66__nav{width:30px; height:70px;}
  .kt-photo-viewer-v66__prev{left:max(7px, calc(var(--kt-v66-frame-left,8px) + 7px));}
  .kt-photo-viewer-v66__next{left:calc(var(--kt-v66-frame-left,8px) + var(--kt-v66-frame-w,280px) - 37px);}
  .kt-photo-viewer-v66__footer{width:min(320px, calc(100vw - 52px)); bottom:10px;}
}

/* v184: make new job request preview use daily report photo grid/viewer exactly */
.v181-new-photo-grid,
.v182-new-photo-grid,
.v183-new-photo-grid,
.v184-new-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:12px!important;
}
.v184-new-photo-item,
.v181-new-photo-item,
.v182-new-photo-item,
.v183-new-photo-item{
  position:relative!important;
  border:1px solid #dbe7ee!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.v184-new-photo-link{
  display:block!important;
  color:inherit!important;
  text-decoration:none!important;
}
.v184-new-photo-link img{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  background:#eef4f8!important;
  cursor:zoom-in!important;
}
.v184-new-photo-delete{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  width:52px!important;
  height:34px!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-weight:1000!important;
  font-size:13px!important;
  cursor:pointer!important;
  box-shadow:0 10px 20px rgba(220,38,38,.22)!important;
  z-index:5!important;
}
.v184-new-photo-name{
  padding:8px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#405468!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  .v181-new-photo-grid,
  .v182-new-photo-grid,
  .v183-new-photo-grid,
  .v184-new-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v186: clearer existing daily report link area */
.v186-report-link-box{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);
  gap:16px;
  align-items:end;
  padding:18px;
  margin:12px 0 18px;
  border:1px solid #d7e4ec;
  border-radius:18px;
  background:#f7fbfa;
}
.v186-report-link-box h3{
  margin:0 0 6px;
  font-size:16px;
  font-weight:1000;
  color:#082442;
}
.v186-report-link-box p{
  margin:0;
  color:#607184;
  font-weight:800;
  line-height:1.6;
}
.v186-report-link-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.v186-report-link-form select{
  width:100%;
  min-height:46px;
  border:1px solid #cfdde7;
  border-radius:13px;
  background:#fff;
  padding:0 14px;
  font-weight:900;
  color:#082442;
}
.v186-report-link-form button:disabled,
.v186-report-link-form select:disabled{
  opacity:.58;
  cursor:not-allowed;
}
.v186-linked-report-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.v186-linked-report-row .v139-report-card{
  min-width:0;
}
.v186-unlink-form{
  display:flex;
  align-items:center;
}
.v186-unlink-form .btn{
  height:100%;
  min-height:44px;
}
@media(max-width:760px){
  .v186-report-link-box,
  .v186-report-link-form,
  .v186-linked-report-row{
    grid-template-columns:1fr;
  }
  .v186-unlink-form .btn{
    width:100%;
  }
}

/* v187: only request-date reports in link dropdown, one clean section */
.v187-report-link-box{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(420px,1.18fr);
  gap:16px;
  align-items:end;
  padding:18px;
  margin:12px 0 18px;
  border:1px solid #d7e4ec;
  border-radius:18px;
  background:#f7fbfa;
}
.v187-report-link-note h3{
  margin:0 0 6px;
  font-size:16px;
  font-weight:1000;
  color:#082442;
}
.v187-report-link-note p{
  margin:0;
  color:#607184;
  font-weight:800;
  line-height:1.6;
}
.v187-report-link-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.v187-report-link-form select{
  width:100%;
  min-height:48px;
  border:1px solid #cfdde7;
  border-radius:13px;
  background:#fff;
  padding:0 14px;
  font-weight:900;
  color:#082442;
}
.v187-report-link-form button:disabled,
.v187-report-link-form select:disabled{
  opacity:.58;
  cursor:not-allowed;
}
.v187-linked-report-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.v187-linked-report-row .v139-report-card{min-width:0;}
.v187-unlink-form{display:flex;align-items:center;}
.v187-unlink-form .btn{height:100%;min-height:44px;}
@media(max-width:760px){
  .v187-report-link-box,.v187-report-link-form,.v187-linked-report-row{grid-template-columns:1fr;}
  .v187-unlink-form .btn{width:100%;}
}

/* v188: professional UI for linked reports area */
.v188-linked-reports-card{margin-top:20px}
.v188-linked-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.v188-linked-head h2{
  margin:0 0 6px;
  font-size:32px;
  line-height:1.15;
  color:#082442;
}
.v188-linked-head p{
  margin:0;
  color:#66798b;
  font-weight:800;
  line-height:1.6;
}
.v188-link-box{
  display:grid;
  grid-template-columns:minmax(260px,0.9fr) minmax(460px,1.1fr);
  gap:18px;
  padding:20px 22px;
  border:1px solid #d8e5ec;
  border-radius:22px;
  background:linear-gradient(180deg,#fbfefe 0%,#f5faf8 100%);
  margin-bottom:20px;
}
.v188-link-meta{display:flex;flex-direction:column;justify-content:center;gap:10px}
.v188-link-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#eaf6ef;
  border:1px solid #cde5d6;
  color:#0e7044;
  font-weight:1000;
}
.v188-link-text{
  color:#5e7387;
  font-weight:800;
  line-height:1.65;
}
.v188-link-text strong{color:#082442}
.v188-link-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
}
.v188-link-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.v188-link-field label{
  color:#60758a;
  font-size:13px;
  font-weight:1000;
}
.v188-link-form select{
  width:100%;
  min-height:52px;
  border:1px solid #cfdde7;
  border-radius:15px;
  background:#fff;
  padding:0 16px;
  font-weight:900;
  color:#082442;
}
.v188-link-form button{
  min-width:132px;
  min-height:52px;
  white-space:nowrap;
}
.v188-link-form button:disabled,
.v188-link-form select:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.v188-empty{
  padding:22px;
  border:1px dashed #d2dee7;
  border-radius:18px;
  background:#fbfcfd;
  color:#66798b;
  font-weight:900;
}
.v188-report-board{
  border:1px solid #d8e4ec;
  border-radius:22px;
  background:#fbfdfd;
  overflow:hidden;
}
.v188-report-board-head{
  display:grid;
  grid-template-columns:minmax(220px,1.15fr) minmax(220px,1.2fr) 140px 156px;
  gap:16px;
  padding:14px 18px;
  border-bottom:1px solid #e2ebf1;
  background:#f4f8fa;
  color:#60758a;
  font-size:13px;
  font-weight:1000;
}
.v188-report-list{display:grid;gap:0}
.v188-report-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 156px;
  gap:14px;
  align-items:stretch;
  padding:16px 18px;
  border-top:1px solid #edf2f5;
}
.v188-report-row:first-child{border-top:0}
.v188-report-main{
  display:grid;
  grid-template-columns:minmax(220px,1.15fr) minmax(220px,1.2fr) 140px;
  gap:16px;
  align-items:center;
  min-width:0;
  text-decoration:none;
  color:#082442;
}
.v188-report-col{min-width:0}
.v188-report-col strong{
  display:block;
  margin:0 0 4px;
  font-size:18px;
  line-height:1.35;
  color:#082442;
}
.v188-report-col span{
  display:block;
  color:#60758a;
  font-weight:800;
  line-height:1.55;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v188-report-site strong,.v188-report-person strong{font-size:17px}
.v188-report-money{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.v188-report-money strong{
  margin:0;
  color:#0e7044;
  font-size:18px;
}
.v188-report-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-content:center;
}
.v188-report-actions .btn,
.v188-report-actions form .btn{
  width:100%;
  min-height:44px;
}
.v188-report-actions form{margin:0}
@media (max-width: 980px){
  .v188-link-box,
  .v188-link-form,
  .v188-report-row,
  .v188-report-main,
  .v188-report-board-head{
    grid-template-columns:1fr;
  }
  .v188-report-board-head{display:none}
  .v188-report-row{gap:12px}
  .v188-report-actions{grid-template-columns:1fr 1fr}
  .v188-report-money{justify-content:flex-start}
}
@media (max-width: 760px){
  .v188-linked-head{flex-direction:column;align-items:flex-start}
  .v188-linked-head h2{font-size:26px}
  .v188-link-box{padding:16px}
  .v188-report-row{padding:14px}
  .v188-report-actions{grid-template-columns:1fr}
}

/* v189: compact linked reports UI */
.v189-linked-reports-card{margin-top:18px}
.v189-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.v189-head h2{margin:0;font-size:28px;line-height:1.2;color:#082442}
.v189-addbar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #d8e5ec;
  border-radius:18px;
  background:#f8fbfc;
  margin-bottom:14px;
}
.v189-addlabel{
  white-space:nowrap;
  min-height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eaf6ef;
  border:1px solid #cde5d6;
  color:#0e7044;
  font-weight:1000;
}
.v189-addbar select{
  width:100%;
  min-height:48px;
  border:1px solid #cfdde7;
  border-radius:14px;
  background:#fff;
  padding:0 14px;
  color:#082442;
  font-weight:900;
}
.v189-addbar .btn{min-height:48px;min-width:110px}
.v189-empty{
  padding:18px;
  border:1px dashed #d2dee7;
  border-radius:16px;
  background:#fbfcfd;
  color:#66798b;
  font-weight:900;
}
.v189-list{display:grid;gap:10px}
.v189-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 136px;
  gap:12px;
  padding:14px 16px;
  border:1px solid #dbe6ed;
  border-radius:18px;
  background:#fbfdfd;
}
.v189-main{
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(170px,1.2fr) 110px;
  gap:16px;
  align-items:center;
  min-width:0;
  color:#082442;
  text-decoration:none;
}
.v189-primary,.v189-secondary,.v189-money{min-width:0}
.v189-primary strong,.v189-secondary strong,.v189-money strong{display:block;margin:0 0 3px;color:#082442}
.v189-primary strong,.v189-secondary strong{font-size:16px;line-height:1.35}
.v189-primary span,.v189-secondary span{
  display:block;
  color:#60758a;
  font-weight:800;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v189-money{display:flex;align-items:center;justify-content:flex-end}
.v189-money strong{margin:0;font-size:18px;color:#0e7044}
.v189-actions{display:grid;grid-template-columns:1fr;gap:8px;align-content:center}
.v189-actions .btn,.v189-actions form .btn{width:100%;min-height:40px}
.v189-actions form{margin:0}
@media (max-width:980px){
  .v189-addbar,.v189-row,.v189-main{grid-template-columns:1fr}
  .v189-addlabel{width:max-content}
  .v189-money{justify-content:flex-start}
  .v189-actions{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .v189-head{flex-direction:column;align-items:flex-start}
  .v189-head h2{font-size:24px}
  .v189-actions{grid-template-columns:1fr}
}

/* v190: balanced compact linked reports UI */
.v190-linked-reports-card{margin-top:18px}
.v190-linked-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.v190-linked-head h2{
  margin:0 0 4px;
  color:#082442;
  font-size:28px;
  line-height:1.2;
}
.v190-linked-head p{
  margin:0;
  color:#647789;
  font-weight:800;
  line-height:1.55;
}
.v190-linkbar{
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 130px;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  margin:0 0 12px;
  border:1px solid #d8e5ec;
  border-radius:16px;
  background:#f8fbfc;
}
.v190-linkbar-label{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.v190-linkbar-label strong{
  color:#0e7044;
  font-weight:1000;
  font-size:15px;
}
.v190-linkbar-label span{
  color:#66798b;
  font-weight:800;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v190-linkbar select{
  width:100%;
  min-height:44px;
  border:1px solid #cfdde7;
  border-radius:13px;
  background:#fff;
  padding:0 14px;
  color:#082442;
  font-weight:900;
}
.v190-linkbar .btn{
  min-height:44px;
  white-space:nowrap;
}
.v190-report-table{
  border:1px solid #dbe6ed;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.v190-report-table-head{
  display:grid;
  grid-template-columns:130px minmax(140px,1fr) 140px minmax(160px,1.2fr) 100px 150px;
  gap:0;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  background:#f4f8fa;
  border-bottom:1px solid #e1ebf1;
  color:#60758a;
  font-size:13px;
  font-weight:1000;
}
.v190-report-row{
  display:grid;
  grid-template-columns:130px minmax(140px,1fr) 140px minmax(160px,1.2fr) 100px 150px;
  gap:0;
  align-items:center;
  min-height:64px;
  padding:10px 14px;
  border-top:1px solid #edf2f5;
}
.v190-report-row:first-of-type{border-top:0}
.v190-cell{
  min-width:0;
  padding-right:12px;
  color:#082442;
  text-decoration:none;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v190-date strong{
  display:block;
  font-size:15px;
}
.v190-date small{
  display:block;
  margin-top:2px;
  color:#60758a;
  font-weight:900;
}
.v190-content{color:#60758a}
.v190-money{
  color:#0e7044;
  font-weight:1000;
  text-align:right;
}
.v190-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
}
.v190-actions form{margin:0}
.v190-actions .btn{
  min-height:38px;
  padding:0 12px;
}
.v190-empty{
  padding:18px;
  color:#66798b;
  font-weight:900;
  background:#fbfcfd;
}
@media(max-width:980px){
  .v190-linkbar{grid-template-columns:1fr}
  .v190-report-table-head{display:none}
  .v190-report-row{
    grid-template-columns:1fr;
    gap:6px;
    align-items:start;
  }
  .v190-cell{white-space:normal;padding-right:0}
  .v190-money{text-align:left}
  .v190-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .v190-linked-head{flex-direction:column}
  .v190-linked-head h2{font-size:24px}
  .v190-actions{flex-direction:column;align-items:stretch}
  .v190-actions .btn{width:100%}
}

/* v191: restore details + compact linked report module */
.v191-linked-reports-card{margin-top:18px}
.v191-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.v191-head h2{margin:0 0 3px;color:#082442;font-size:28px;line-height:1.2}
.v191-head p{margin:0;color:#66798b;font-weight:800;line-height:1.45;font-size:14px}
.v191-linkbar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 104px;
  gap:10px;
  align-items:center;
  padding:12px;
  margin:0 0 12px;
  border:1px solid #d8e5ec;
  border-radius:16px;
  background:#f8fbfc;
}
.v191-link-label{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  background:#eaf6ef;
  border:1px solid #cde5d6;
  color:#0e7044;
  font-weight:1000;
  white-space:nowrap;
}
.v191-linkbar select{
  width:100%;
  min-height:44px;
  border:1px solid #cfdde7;
  border-radius:13px;
  background:#fff;
  color:#082442;
  font-weight:900;
  padding:0 14px;
}
.v191-linkbar .btn{min-height:44px}
.v191-empty{
  padding:16px;
  border:1px dashed #d2dee7;
  border-radius:15px;
  background:#fbfcfd;
  color:#66798b;
  font-weight:900;
}
.v191-table{border:1px solid #dbe6ed;border-radius:18px;overflow:hidden;background:#fff}
.v191-table-head,.v191-row{
  display:grid;
  grid-template-columns:126px minmax(130px,1fr) 132px minmax(150px,1.1fr) 92px 138px;
  gap:0;
  align-items:center;
}
.v191-table-head{
  min-height:38px;
  padding:0 12px;
  background:#f4f8fa;
  border-bottom:1px solid #e1ebf1;
  color:#60758a;
  font-size:13px;
  font-weight:1000;
}
.v191-row{
  min-height:56px;
  padding:9px 12px;
  border-top:1px solid #edf2f5;
}
.v191-row:first-of-type{border-top:0}
.v191-cell{
  min-width:0;
  padding-right:10px;
  color:#082442;
  text-decoration:none;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v191-date strong{display:block;font-size:15px}
.v191-date small{display:block;color:#60758a;font-weight:900;margin-top:1px}
.v191-content{color:#60758a}
.v191-money{color:#0e7044;font-weight:1000;text-align:right}
.v191-actions{display:flex;gap:7px;justify-content:flex-end;align-items:center}
.v191-actions form{margin:0}
.v191-actions .btn{min-height:36px;padding:0 11px}
@media(max-width:980px){
  .v191-linkbar{grid-template-columns:1fr}
  .v191-table-head{display:none}
  .v191-row{grid-template-columns:1fr;gap:5px;align-items:start}
  .v191-cell{white-space:normal;padding-right:0}
  .v191-money{text-align:left}
  .v191-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .v191-head{flex-direction:column}
  .v191-head h2{font-size:24px}
  .v191-actions{flex-direction:column;align-items:stretch}
  .v191-actions .btn{width:100%}
}

/* v192 report show redesign */
.v192-report-show{padding:28px}
.v192-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px;padding:22px;border:1px solid #dbe6ed;border-radius:24px;background:linear-gradient(135deg,#ffffff 0%,#f4faf6 100%)}
.v192-eyebrow{font-size:12px;letter-spacing:.08em;color:#6d8294;font-weight:1000;margin-bottom:6px}
.v192-hero h1{margin:0;color:#082442;font-size:48px;line-height:1.05;letter-spacing:.08em}
.v192-company{margin:10px 0 0;color:#082442;font-size:30px;font-weight:900}
.v192-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.v192-meta-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#eef5f8;color:#5f7387;font-size:13px;font-weight:1000;border:1px solid #dbe7ee}
.v192-hero-side{display:grid;gap:12px;min-width:260px}
.v192-date-card,.v192-total-card{padding:18px 20px;border-radius:20px;border:1px solid #d6e5dc;background:#fff;text-align:right}
.v192-date-card span,.v192-total-card span{display:block;color:#678092;font-size:12px;font-weight:1000;letter-spacing:.06em;margin-bottom:6px}
.v192-date-card strong{font-size:28px;color:#082442;letter-spacing:.02em}
.v192-total-card strong{font-size:32px;color:#0f7b49}
.v192-toolbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:16px 18px;border:1px solid #dbe6ed;border-radius:20px;background:#fff}
.v192-toolbar-group{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.v192-toolbar-group form{margin:0;display:inline-flex}
.v192-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.v192-info-card{padding:18px;border:1px solid #dbe6ed;border-radius:20px;background:#fff;min-height:98px}
.v192-label{display:block;color:#6a8194;font-size:13px;font-weight:1000;margin-bottom:10px}
.v192-info-card strong{display:block;color:#082442;font-size:24px;line-height:1.35;word-break:break-word}
.v192-section{margin-bottom:18px;padding:18px;border:1px solid #dbe6ed;border-radius:22px;background:#fff}
.v192-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.v192-section-head h2{margin:0;color:#082442;font-size:24px}
.v192-section-side{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#f1f8f4;border:1px solid #d5e8dc;color:#0f7b49;font-weight:1000}
.v192-money-box{display:grid;gap:10px}
.v192-money-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;padding:14px 16px;border:1px solid #e5edf2;border-radius:16px;background:#fbfcfd}
.v192-money-label{color:#5e7588;font-weight:1000}
.v192-money-text{color:#082442;font-weight:900;white-space:pre-wrap;word-break:break-word}
.v192-empty-inline{padding:18px;border:1px dashed #d8e4ec;border-radius:16px;color:#6d8294;font-weight:900;background:#fbfcfd}
.v192-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v192-rich-text{min-height:86px;padding:18px;border:1px solid #e4ecf1;border-radius:18px;background:#fbfcfd;color:#082442;font-size:16px;line-height:1.8;white-space:pre-wrap;word-break:break-word}
.v192-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v192-photo-grid figure{margin:0;padding:10px;border:1px solid #e4ecf1;border-radius:18px;background:#fbfcfd}
.v192-photo-grid img{height:210px;border-radius:14px}
.v192-photo-grid figcaption{margin-top:8px;color:#60758a;font-size:13px;font-weight:900}
@media (max-width:1200px){
  .v192-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .v192-report-show{padding:20px}
  .v192-hero{grid-template-columns:1fr;display:grid}
  .v192-hero-side{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .v192-content-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .v192-hero h1{font-size:34px;letter-spacing:.02em}
  .v192-company{font-size:22px}
  .v192-date-card strong,.v192-total-card strong{font-size:24px}
  .v192-toolbar{padding:14px}
  .v192-toolbar-group,.v192-toolbar-group form{width:100%}
  .v192-toolbar-group .btn{width:100%;justify-content:center}
  .v192-summary-grid{grid-template-columns:1fr}
  .v192-info-card strong{font-size:20px}
  .v192-section-head{align-items:flex-start;flex-direction:column}
  .v192-money-row{grid-template-columns:1fr}
  .v192-photo-grid{grid-template-columns:1fr}
  .v192-photo-grid img{height:220px}
}
@media print{
  .v192-report-show{padding:0;border:0;box-shadow:none;background:#fff}
  .v192-hero,.v192-toolbar,.v192-summary-grid,.v192-section{display:none !important}
}

/* v193 report show table redesign */
.v193-report-show{padding:28px}
.v193-header-block{display:flex;justify-content:space-between;gap:24px;align-items:stretch;padding:24px 26px;margin-bottom:18px;border:1px solid #dbe6ed;border-radius:24px;background:linear-gradient(135deg,#ffffff 0%,#f4faf6 100%)}
.v193-eyebrow{font-size:12px;font-weight:1000;color:#6c8295;letter-spacing:.08em;margin-bottom:8px}
.v193-page-title{font-size:58px;line-height:1.05;font-weight:1000;color:#082442;letter-spacing:.06em}
.v193-company-name{margin-top:12px;font-size:30px;font-weight:1000;color:#082442}
.v193-header-side{display:grid;grid-template-columns:1fr;gap:14px;min-width:290px}
.v193-date-box,.v193-total-box{padding:18px 20px;border:1px solid #dbe6ed;border-radius:20px;background:#fff;text-align:right}
.v193-date-box span,.v193-total-box span{display:block;color:#688195;font-size:12px;font-weight:1000;letter-spacing:.06em;margin-bottom:8px}
.v193-date-box strong{font-size:28px;color:#082442}
.v193-total-box strong{font-size:32px;color:#0f7b49}
.v193-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;margin-bottom:18px;border:1px solid #dbe6ed;border-radius:20px;background:#fff}
.v193-toolbar-group{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.v193-toolbar-group form{display:inline-flex;margin:0}
.v193-table-card{margin-bottom:18px;padding:18px;border:1px solid #dbe6ed;border-radius:22px;background:#fff}
.v193-section-title{font-size:26px;font-weight:1000;color:#082442}
.v193-section-headline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.v193-section-headline .v193-section-title{font-size:24px}
.v193-total-inline{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#eef8f2;border:1px solid #d5e8dc;color:#0f7b49;font-weight:1000}
.v193-detail-table{width:100%;border-collapse:collapse;border:1px solid #d9e4eb;border-radius:18px;overflow:hidden}
.v193-detail-table th,.v193-detail-table td{padding:16px 18px;border:1px solid #d9e4eb;vertical-align:top;font-size:16px;line-height:1.7}
.v193-detail-table th{width:160px;background:#f6fafc;color:#5d7588;font-weight:1000;text-align:left}
.v193-detail-table td{background:#fff;color:#082442;font-weight:900;white-space:pre-wrap;word-break:break-word}
.v193-detail-table .money{color:#0f7b49;font-size:24px;font-weight:1000}
.v193-money-table th.w160{width:160px}
.v193-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v193-photo-grid figure{margin:0;padding:10px;border:1px solid #e4ecf1;border-radius:18px;background:#fbfcfd}.v193-photo-grid img{height:210px;border-radius:14px}.v193-photo-grid figcaption{margin-top:8px;color:#60758a;font-size:13px;font-weight:900}
@media (max-width:980px){.v193-header-block{display:grid}.v193-header-side{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.v193-report-show{padding:18px}.v193-page-title{font-size:38px}.v193-company-name{font-size:22px}.v193-header-side{grid-template-columns:1fr}.v193-toolbar-group,.v193-toolbar-group form{width:100%}.v193-toolbar-group .btn{width:100%;justify-content:center}.v193-section-headline{flex-direction:column;align-items:flex-start}.v193-detail-table,.v193-detail-table tbody,.v193-detail-table tr,.v193-detail-table th,.v193-detail-table td{display:block;width:100%}.v193-detail-table tr{margin-bottom:10px}.v193-detail-table th{border-bottom:0;border-radius:12px 12px 0 0}.v193-detail-table td{border-top:0;border-radius:0 0 12px 12px}.v193-photo-grid{grid-template-columns:1fr}.v193-photo-grid img{height:220px}}
@media print{.v193-report-show{padding:0}.v193-toolbar,.no-print{display:none !important}.v193-header-block,.v193-table-card{border-color:#999;box-shadow:none}.v193-page-title{font-size:38px}.v193-company-name{font-size:22px}.v193-detail-table th,.v193-detail-table td{padding:10px 12px;font-size:13px}.v193-total-box strong,.v193-date-box strong{font-size:20px}}

/* v195: unified compact professional table for report show/print */
.v195-report-show{padding:18px 22px!important;background:#fff!important}
.v195-title-row{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:18px!important;align-items:stretch!important;margin-bottom:12px!important;padding:14px 16px!important;border:1px solid #d8e4ec!important;border-radius:18px!important;background:#fff!important}
.v195-kicker{font-size:12px!important;font-weight:1000!important;color:#6b8092!important;letter-spacing:.08em!important;margin-bottom:3px!important}.v195-title-row h1{margin:0!important;color:#082442!important;font-size:34px!important;line-height:1.15!important}.v195-title-row p{margin:4px 0 0!important;color:#60758a!important;font-weight:900!important}.v195-mini-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.v195-mini-table th,.v195-mini-table td{border:1px solid #d5e1ea!important;padding:8px 10px!important;font-size:14px!important;line-height:1.4!important}.v195-mini-table th{width:105px!important;background:#f3f7fa!important;color:#50677a!important;text-align:left!important;font-weight:1000!important}.v195-mini-table td{background:#fff!important;color:#082442!important;text-align:right!important;font-weight:1000!important}.v195-mini-table .money{color:#0f7b49!important;font-size:18px!important}.v195-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:12px!important;padding:10px 12px!important;border:1px solid #d8e4ec!important;border-radius:16px!important;background:#fff!important}.v195-actions form{margin:0!important;display:inline-flex!important}.v195-main-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;border:1px solid #cfdde7!important;background:#fff!important}.v195-main-table th,.v195-main-table td{border:1px solid #cfdde7!important;padding:10px 12px!important;vertical-align:top!important;font-size:15px!important;line-height:1.55!important}.v195-main-table th{width:145px!important;background:#f4f8fa!important;color:#41586c!important;text-align:left!important;font-weight:1000!important}.v195-main-table td{background:#fff!important;color:#082442!important;font-weight:900!important;white-space:pre-wrap!important;word-break:break-word!important}.v195-main-table tr.section th{padding:9px 12px!important;background:#eaf3ef!important;color:#0e7044!important;font-size:16px!important;letter-spacing:.03em!important}.v195-main-table .money{color:#0f7b49!important;font-size:20px!important;font-weight:1000!important}.v195-photo-area{margin-top:12px!important;padding:12px!important;border:1px solid #d8e4ec!important;border-radius:16px!important;background:#fff!important}.v195-photo-head{display:flex!important;justify-content:space-between!important;margin-bottom:10px!important;color:#082442!important;font-size:20px!important;font-weight:1000!important}.v195-photo-head span{color:#0f7b49!important;font-size:15px!important}.v195-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v195-photo-grid figure{margin:0!important;padding:8px!important;border:1px solid #e1ebf1!important;border-radius:13px!important;background:#fbfcfd!important}.v195-photo-grid img{height:145px!important;border-radius:9px!important}.v195-photo-grid figcaption{margin-top:6px!important;color:#60758a!important;font-size:12px!important;font-weight:900!important}
.v195-print-only{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:#fff!important}.v195-print-title-table,.v195-print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.v195-print-title-table{margin-bottom:8px!important}.v195-print-title-table td,.v195-print-table th,.v195-print-table td{border:1px solid #222!important;padding:6px 8px!important;color:#000!important;background:#fff!important}.v195-print-title-table td{font-size:12px!important;font-weight:700!important}.v195-print-title-table .title{font-size:20px!important;font-weight:900!important;letter-spacing:.08em!important}.v195-print-title-table .date{text-align:right!important;font-size:14px!important}.v195-print-table th{width:95px!important;background:#f2f2f2!important;text-align:left!important;font-weight:900!important;font-size:12px!important}.v195-print-table td{font-size:12px!important;line-height:1.42!important;vertical-align:top!important;word-break:break-word!important}.v195-print-table .money{font-weight:900!important}
@media(max-width:800px){.v195-report-show{padding:14px!important}.v195-title-row{grid-template-columns:1fr!important}.v195-actions .btn,.v195-actions form{width:100%!important}.v195-main-table,.v195-main-table tbody,.v195-main-table tr,.v195-main-table th,.v195-main-table td{display:block!important;width:100%!important}.v195-main-table th{border-bottom:0!important}.v195-main-table td{border-top:0!important}.v195-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media print{body{background:#fff!important}.site-header,.app-header,.no-print,.v195-report-show{display:none!important}.v195-print-only{display:block!important}@page{margin:10mm}}

/* v196: unified compact table page + print table only */
.v196-report-show{padding:16px 20px!important;background:#fff!important}
.v196-titlebar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-bottom:12px!important;padding:13px 16px!important;border:1px solid #d8e4ec!important;border-radius:16px!important;background:#fff!important}
.v196-kicker{font-size:12px!important;font-weight:1000!important;color:#6b8092!important;letter-spacing:.08em!important;margin-bottom:3px!important}.v196-titlebar h1{margin:0!important;color:#082442!important;font-size:30px!important;line-height:1.15!important}.v196-titlebar p{margin:4px 0 0!important;color:#60758a!important;font-weight:900!important}.v196-total-pill{min-width:160px!important;padding:10px 14px!important;border:1px solid #d5e8dc!important;border-radius:14px!important;background:#f3faf6!important;text-align:right!important}.v196-total-pill span{display:block!important;color:#60758a!important;font-size:12px!important;font-weight:1000!important;margin-bottom:3px!important}.v196-total-pill strong{color:#0f7b49!important;font-size:24px!important}.v196-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:12px!important;padding:10px 12px!important;border:1px solid #d8e4ec!important;border-radius:14px!important;background:#fff!important}.v196-actions form{display:inline-flex!important;margin:0!important}.v196-table-wrap{margin-bottom:12px!important;padding:12px!important;border:1px solid #d8e4ec!important;border-radius:16px!important;background:#fff!important}.v196-section-title{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important;color:#082442!important;font-size:22px!important;font-weight:1000!important}.v196-section-title strong{color:#0f7b49!important;font-size:18px!important}.v196-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;border:1px solid #cfdde7!important}.v196-table th,.v196-table td{border:1px solid #cfdde7!important;padding:10px 12px!important;vertical-align:top!important;font-size:15px!important;line-height:1.55!important}.v196-table th{width:145px!important;background:#f4f8fa!important;color:#41586c!important;text-align:left!important;font-weight:1000!important}.v196-table td{background:#fff!important;color:#082442!important;font-weight:900!important;white-space:pre-wrap!important;word-break:break-word!important}.v196-table .money{color:#0f7b49!important;font-size:20px!important;font-weight:1000!important}.v196-money-table th:first-child,.v196-money-table td:first-child{width:180px!important}.v196-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v196-photo-grid figure{margin:0!important;padding:8px!important;border:1px solid #e1ebf1!important;border-radius:13px!important;background:#fbfcfd!important}.v196-photo-grid img{height:145px!important;border-radius:9px!important}.v196-photo-grid figcaption{margin-top:6px!important;color:#60758a!important;font-size:12px!important;font-weight:900!important}

.v196-print-only{display:block!important;background:#fff!important;color:#000!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;width:100%!important}.v196-print-title,.v196-print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.v196-print-title{margin-bottom:5mm!important}.v196-print-title td,.v196-print-table th,.v196-print-table td{border:1px solid #222!important;padding:2.6mm 3mm!important;color:#000!important;background:#fff!important}.v196-print-title td{font-size:10.5pt!important;font-weight:700!important}.v196-print-title .title{font-size:17pt!important;font-weight:900!important;letter-spacing:.08em!important}.v196-print-table th{width:26mm!important;background:#f2f2f2!important;text-align:left!important;font-weight:900!important;font-size:10pt!important}.v196-print-table td{font-size:10pt!important;line-height:1.34!important;vertical-align:top!important;word-break:break-word!important}.v196-print-table .money{font-weight:900!important}
@media(max-width:800px){.v196-report-show{padding:14px!important}.v196-titlebar{display:grid!important}.v196-total-pill{text-align:left!important;min-width:0!important}.v196-actions .btn,.v196-actions form{width:100%!important}.v196-table,.v196-table tbody,.v196-table tr,.v196-table th,.v196-table td{display:block!important;width:100%!important}.v196-table th{border-bottom:0!important}.v196-table td{border-top:0!important}.v196-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media print{html,body{background:#fff!important;margin:0!important;padding:0!important;width:210mm!important;min-height:297mm!important;overflow:visible!important}.site-header,.app-header,.no-print,.v196-report-show{display:none!important}.v196-print-only{display:block!important;box-sizing:border-box!important;padding:7mm 9mm!important}.v196-print-title td,.v196-print-table th,.v196-print-table td{font-size:9.2pt!important;padding:2.1mm 2.5mm!important}.v196-print-title .title{font-size:15pt!important}.v196-print-table th{width:25mm!important}@page{size:A4 portrait;margin:0}}

/* v197: print preview stable, print page table only */
.v197-report-show{padding:16px 20px!important;background:#fff!important}
.v197-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:12px 14px!important;margin-bottom:12px!important;border:1px solid #d8e4ec!important;border-radius:14px!important;background:#fff!important}
.v197-kicker{font-size:12px!important;font-weight:1000!important;color:#6b8092!important;letter-spacing:.08em!important;margin-bottom:3px!important}
.v197-top h1{margin:0!important;color:#082442!important;font-size:28px!important;line-height:1.15!important}.v197-top p{margin:4px 0 0!important;color:#60758a!important;font-weight:900!important}.v197-total{min-width:150px!important;padding:9px 12px!important;border:1px solid #d5e8dc!important;border-radius:13px!important;background:#f3faf6!important;text-align:right!important}.v197-total span{display:block!important;color:#60758a!important;font-size:12px!important;font-weight:1000!important;margin-bottom:2px!important}.v197-total strong{color:#0f7b49!important;font-size:23px!important}.v197-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:12px!important;padding:10px 12px!important;border:1px solid #d8e4ec!important;border-radius:14px!important;background:#fff!important}.v197-actions form{display:inline-flex!important;margin:0!important}.v197-table-card{margin-bottom:12px!important;padding:12px!important;border:1px solid #d8e4ec!important;border-radius:16px!important;background:#fff!important}.v197-card-title{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important;color:#082442!important;font-size:21px!important;font-weight:1000!important}.v197-card-title strong{color:#0f7b49!important;font-size:18px!important}.v197-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;border:1px solid #cfdde7!important}.v197-table th,.v197-table td{border:1px solid #cfdde7!important;padding:10px 12px!important;vertical-align:top!important;font-size:15px!important;line-height:1.55!important}.v197-table th{width:145px!important;background:#f4f8fa!important;color:#41586c!important;text-align:left!important;font-weight:1000!important}.v197-table td{background:#fff!important;color:#082442!important;font-weight:900!important;white-space:pre-wrap!important;word-break:break-word!important}.v197-table .money{color:#0f7b49!important;font-size:20px!important;font-weight:1000!important}.v197-money-table th:first-child,.v197-money-table td:first-child{width:180px!important}.v197-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v197-photo-grid figure{margin:0!important;padding:8px!important;border:1px solid #e1ebf1!important;border-radius:13px!important;background:#fbfcfd!important}.v197-photo-grid img{height:145px!important;border-radius:9px!important}.v197-photo-grid figcaption{margin-top:6px!important;color:#60758a!important;font-size:12px!important;font-weight:900!important}
.v197-print-only{display:block!important;background:#fff!important;color:#000!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;width:auto!important;max-width:none!important}.v197-print-title,.v197-print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.v197-print-title{margin-bottom:4mm!important}.v197-print-title td,.v197-print-table th,.v197-print-table td{border:1px solid #222!important;padding:2.2mm 2.7mm!important;color:#000!important;background:#fff!important}.v197-print-title td{font-size:10.5pt!important;font-weight:700!important}.v197-print-title .title{font-size:16pt!important;font-weight:900!important;letter-spacing:.08em!important}.v197-print-table th{width:25mm!important;background:#f2f2f2!important;text-align:left!important;font-weight:900!important;font-size:10pt!important}.v197-print-table td{font-size:10pt!important;line-height:1.34!important;vertical-align:top!important;word-break:break-word!important}.v197-print-table .money{font-weight:900!important}
@media(max-width:800px){.v197-report-show{padding:14px!important}.v197-top{display:grid!important}.v197-total{text-align:left!important;min-width:0!important}.v197-actions .btn,.v197-actions form{width:100%!important}.v197-table,.v197-table tbody,.v197-table tr,.v197-table th,.v197-table td{display:block!important;width:100%!important}.v197-table th{border-bottom:0!important}.v197-table td{border-top:0!important}.v197-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media print{html,body{background:#fff!important;margin:0!important;padding:0!important;overflow:visible!important}.site-header,.app-header,.no-print,.v197-report-show{display:none!important}.v197-print-only{display:block!important;box-sizing:border-box!important;padding:0!important;margin:0!important}.v197-print-title td,.v197-print-table th,.v197-print-table td{font-size:9.2pt!important;padding:1.9mm 2.3mm!important}.v197-print-title .title{font-size:15pt!important}.v197-print-table th{width:24mm!important}@page{size:A4 portrait;margin:8mm}}

/* v198: print page manual print button, no auto print */
.v198-report-show{padding:16px 20px!important;background:#fff!important}
.v198-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:12px 14px!important;margin-bottom:12px!important;border:1px solid #d8e4ec!important;border-radius:14px!important;background:#fff!important}
.v198-kicker{font-size:12px!important;font-weight:1000!important;color:#6b8092!important;letter-spacing:.08em!important;margin-bottom:3px!important}
.v198-top h1{margin:0!important;color:#082442!important;font-size:28px!important;line-height:1.15!important}.v198-top p{margin:4px 0 0!important;color:#60758a!important;font-weight:900!important}.v198-total{min-width:150px!important;padding:9px 12px!important;border:1px solid #d5e8dc!important;border-radius:13px!important;background:#f3faf6!important;text-align:right!important}.v198-total span{display:block!important;color:#60758a!important;font-size:12px!important;font-weight:1000!important;margin-bottom:2px!important}.v198-total strong{color:#0f7b49!important;font-size:23px!important}.v198-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:12px!important;padding:10px 12px!important;border:1px solid #d8e4ec!important;border-radius:14px!important;background:#fff!important}.v198-actions form{display:inline-flex!important;margin:0!important}.v198-table-card{margin-bottom:12px!important;padding:12px!important;border:1px solid #d8e4ec!important;border-radius:16px!important;background:#fff!important}.v198-card-title{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important;color:#082442!important;font-size:21px!important;font-weight:1000!important}.v198-card-title strong{color:#0f7b49!important;font-size:18px!important}.v198-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;border:1px solid #cfdde7!important}.v198-table th,.v198-table td{border:1px solid #cfdde7!important;padding:10px 12px!important;vertical-align:top!important;font-size:15px!important;line-height:1.55!important}.v198-table th{width:145px!important;background:#f4f8fa!important;color:#41586c!important;text-align:left!important;font-weight:1000!important}.v198-table td{background:#fff!important;color:#082442!important;font-weight:900!important;white-space:pre-wrap!important;word-break:break-word!important}.v198-table .money{color:#0f7b49!important;font-size:20px!important;font-weight:1000!important}.v198-money-table th:first-child,.v198-money-table td:first-child{width:180px!important}.v198-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v198-photo-grid figure{margin:0!important;padding:8px!important;border:1px solid #e1ebf1!important;border-radius:13px!important;background:#fbfcfd!important}.v198-photo-grid img{height:145px!important;border-radius:9px!important}.v198-photo-grid figcaption{margin-top:6px!important;color:#60758a!important;font-size:12px!important;font-weight:900!important}
.v198-print-only{display:block!important;background:#fff!important;color:#000!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;width:auto!important;max-width:none!important}.v198-print-title,.v198-print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.v198-print-title{margin-bottom:4mm!important}.v198-print-title td,.v198-print-table th,.v198-print-table td{border:1px solid #222!important;padding:2.2mm 2.7mm!important;color:#000!important;background:#fff!important}.v198-print-title td{font-size:10.5pt!important;font-weight:700!important}.v198-print-title .title{font-size:16pt!important;font-weight:900!important;letter-spacing:.08em!important}.v198-print-table th{width:25mm!important;background:#f2f2f2!important;text-align:left!important;font-weight:900!important;font-size:10pt!important}.v198-print-table td{font-size:10pt!important;line-height:1.34!important;vertical-align:top!important;word-break:break-word!important}.v198-print-table .money{font-weight:900!important}
@media(max-width:800px){.v198-report-show{padding:14px!important}.v198-top{display:grid!important}.v198-total{text-align:left!important;min-width:0!important}.v198-actions .btn,.v198-actions form{width:100%!important}.v198-table,.v198-table tbody,.v198-table tr,.v198-table th,.v198-table td{display:block!important;width:100%!important}.v198-table th{border-bottom:0!important}.v198-table td{border-top:0!important}.v198-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media print{html,body{background:#fff!important;margin:0!important;padding:0!important;overflow:visible!important}.site-header,.app-header,.no-print,.v198-report-show{display:none!important}.v198-print-only{display:block!important;box-sizing:border-box!important;padding:0!important;margin:0!important}.v198-print-title td,.v198-print-table th,.v198-print-table td{font-size:9.2pt!important;padding:1.9mm 2.3mm!important}.v198-print-title .title{font-size:15pt!important}.v198-print-table th{width:24mm!important}@page{size:A4 portrait;margin:8mm}}

.v198-print-actions{position:fixed;right:24px;bottom:24px;display:flex;gap:10px;z-index:9999}
@media print{.v198-print-actions{display:none!important}}

/* v202 hide print detail back button */
.v198-print-actions a[href*="report_show"],
.v197-print-actions a[href*="report_show"],
.v196-print-actions a[href*="report_show"],
.print-actions a[href*="report_show"]{
  display:none !important;
}

/* v207: folder-style management and clean report print actions */
.v207-report-print-actions{position:static!important;right:auto!important;bottom:auto!important;display:flex!important;justify-content:flex-end!important;gap:10px!important;margin:0 0 14px!important;padding:10px 12px!important;border:1px solid #d8e4ec!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 24px rgba(14,39,62,.08)!important;z-index:auto!important}
.v207-report-print-actions a[href*="report_show"]{display:inline-flex!important}
.v207-folder-toolbar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr);gap:16px;margin:0 0 18px}
.v207-folder-create,.v207-folder-summary{background:#fff;border:1px solid #d8e4ec;border-radius:18px;box-shadow:0 10px 28px rgba(14,39,62,.06)}
.v207-folder-create{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:16px}
.v207-folder-create label,.v207-folder-edit-form label{display:grid;gap:7px;color:#536b7f;font-size:13px;font-weight:900}
.v207-folder-create input,.v207-folder-edit-form input,.v207-add-row select{width:100%;min-height:44px;border:1px solid #cfdce6;border-radius:12px;padding:0 12px;background:#fff;color:#082442;font-weight:800}
.v207-folder-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.v207-folder-summary div{padding:15px 14px;border-left:1px solid #e4edf3}.v207-folder-summary div:first-child{border-left:0}.v207-folder-summary span,.v207-folder-metrics span,.v207-folder-total-strip span,.v207-request-money span{display:block;color:#60758a;font-size:12px;font-weight:900}.v207-folder-summary strong{display:block;margin-top:4px;color:#082442;font-size:22px;font-weight:1000;white-space:nowrap}
.v207-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.v207-folder{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;min-height:128px;padding:16px;border:1px solid #d8e4ec;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%);text-decoration:none;color:#082442;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.v207-folder:hover{transform:translateY(-1px);border-color:#82b89b;box-shadow:0 14px 34px rgba(14,39,62,.1)}
.v207-folder-icon{grid-row:1/3;width:54px;height:42px;margin-top:3px;border-radius:8px 8px 6px 6px;background:#e0ae39;position:relative;box-shadow:inset 0 -9px 0 rgba(0,0,0,.08)}
.v207-folder-icon:before{content:"";position:absolute;left:4px;top:-7px;width:28px;height:12px;border-radius:7px 7px 0 0;background:#efc35a}
.v207-folder-main strong{display:block;font-size:20px;line-height:1.25;color:#082442}.v207-folder-main span{display:block;margin-top:5px;color:#60758a;font-size:13px;font-weight:800;line-height:1.35}
.v207-folder-metrics{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;align-self:end;margin-top:12px}.v207-folder-metrics b{grid-column:1/-1;color:#0f7b49;font-size:22px;font-weight:1000}
.v207-unfiled-grid,.v207-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v207-mini-list{display:grid;gap:9px}.v207-mini-list a{display:block;padding:12px 14px;border:1px solid #dce7ee;border-radius:12px;background:#fbfcfd;text-decoration:none;color:#082442}.v207-mini-list strong{display:block;font-size:15px}.v207-mini-list span{display:block;margin-top:4px;color:#60758a;font-size:13px;font-weight:800}
.v207-folder-edit-list{display:grid;gap:10px}.v207-folder-edit-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce7ee;border-radius:14px;background:#fff}.v207-folder-edit-row .v139-rename-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto;gap:8px;margin:0}.v207-folder-edit-stats{display:flex;gap:10px;flex-wrap:wrap;color:#60758a;font-weight:900}.v207-folder-edit-stats strong{color:#0f7b49}
.v207-folder-total-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}.v207-folder-total-strip div{padding:14px 16px;border:1px solid #d8e4ec;border-radius:15px;background:#fff}.v207-folder-total-strip strong{display:block;margin-top:4px;color:#082442;font-size:21px;font-weight:1000}.v207-folder-total-strip .is-total{background:#f1faf5;border-color:#cfe8d9}.v207-folder-total-strip .is-total strong{color:#0f7b49}
.v207-add-card h2{margin:0 0 10px}.v207-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.v207-request-stack{display:grid;gap:10px}.v207-request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #dce7ee;border-radius:14px;background:#fbfcfd}.v207-request-main a{text-decoration:none;color:#082442}.v207-request-main strong{display:block;font-size:18px}.v207-request-main a span{display:block;margin-top:4px;color:#60758a;font-size:13px;font-weight:900}.v207-request-money{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.v207-request-money span{padding:6px 9px;border-radius:999px;background:#eef6f1;color:#0d6840}.v207-request-actions,.v207-report-card .v139-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v207-request-actions form,.v207-report-card form{margin:0}
.v207-linked-report-list .v207-linked-report-row{background:#fbfcfd}.v139-detail-table a{color:#0f6f43;font-weight:1000;text-decoration:none}
@media(max-width:980px){.v207-folder-toolbar,.v207-unfiled-grid,.v207-add-grid{grid-template-columns:1fr}.v207-folder-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v207-folder-edit-row{grid-template-columns:1fr}.v207-folder-total-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.v207-folder-total-strip .is-total{grid-column:1/-1}.v207-request-card{grid-template-columns:1fr}.v207-folder-create{grid-template-columns:1fr}}
@media(max-width:640px){.v207-folder-grid{grid-template-columns:1fr}.v207-folder-summary{grid-template-columns:1fr}.v207-folder-summary div{border-left:0;border-top:1px solid #e4edf3}.v207-folder-summary div:first-child{border-top:0}.v207-add-row{grid-template-columns:1fr}.v207-report-print-actions{justify-content:stretch!important}.v207-report-print-actions .btn{flex:1;justify-content:center}}
@media print{.v207-report-print-actions{display:none!important}}

/* v218: instruction print uses the same print surface as daily reports */
body.print-mode .v218-instruction-print-only{max-width:210mm;margin:0 auto 24px;padding:8mm 9mm;background:#fff;box-shadow:0 12px 32px rgba(8,36,66,.12)}
.v218-instruction-print-only .v198-print-title{margin-bottom:4mm!important}
.v218-instruction-print-only .v198-print-title td{padding:2mm 2.4mm!important}
.v218-instruction-print-only .v198-print-table th,.v218-instruction-print-only .v198-print-table td{padding:1.8mm 2.3mm!important;line-height:1.32!important}
.v218-instruction-print-only .v218-work-cell{min-height:38mm}
.v218-instruction-print-only .v218-memo-cell{min-height:24mm}
.v218-instruction-print-only .money{font-weight:900!important}
@media(max-width:800px){body.print-mode .v218-instruction-print-only{width:100%;margin:0;padding:0;box-shadow:none}.v218-instruction-print-only .v198-print-title td,.v218-instruction-print-only .v198-print-table th,.v218-instruction-print-only .v198-print-table td{font-size:12px!important;padding:7px 8px!important}}
@media print{body.print-mode .container.print-container{max-width:none!important;margin:0!important;padding:0!important}.v218-instruction-print-only{max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important}.v218-instruction-print-only .v198-print-title td,.v218-instruction-print-only .v198-print-table th,.v218-instruction-print-only .v198-print-table td{font-size:8.8pt!important;padding:1.45mm 1.9mm!important;line-height:1.24!important}.v218-instruction-print-only .v198-print-title .title{font-size:14.5pt!important}.v218-instruction-print-only .v198-print-table th{width:22mm!important}.v218-instruction-print-only .v198-print-table tr{break-inside:avoid;page-break-inside:avoid}.v218-instruction-print-only .v218-work-cell{height:38mm!important}.v218-instruction-print-only .v218-memo-cell{height:24mm!important}}

/* v209: keep management summary totals inside the card */
.v207-folder-toolbar{grid-template-columns:minmax(0,1.45fr) minmax(420px,1fr)}
.v207-folder-summary{grid-template-columns:minmax(76px,.75fr) minmax(76px,.75fr) minmax(110px,1fr) minmax(150px,1.25fr);min-width:0}
.v207-folder-summary div{min-width:0}
.v207-folder-summary strong{font-size:21px;line-height:1.12;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.v207-folder-summary div:last-child strong{font-size:20px}
.v207-folder-create input::placeholder{font-size:18px}
@media(max-width:980px){.v207-folder-toolbar{grid-template-columns:1fr}.v207-folder-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v207-folder-create input::placeholder{font-size:16px}}
@media(max-width:640px){.v207-folder-summary{grid-template-columns:1fr}.v207-folder-summary div:last-child strong{font-size:21px}}

/* v210: instruction-centered workflow */
.v210-type-tabs{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.v210-type-tabs label{min-height:56px!important;padding:0 14px!important;border-radius:14px!important;justify-content:center!important;text-align:center!important}
.v210-instruction-head .actions .btn.primary{min-height:48px}
.v210-instruction-filter{grid-template-columns:minmax(260px,1.5fr) minmax(170px,.8fr) minmax(150px,.7fr) auto!important}
.v210-instruction-timeline{display:grid;gap:12px}
.v210-instruction-row{position:relative;display:grid!important;grid-template-columns:100px minmax(0,1.25fr) minmax(360px,1fr) auto!important;align-items:center!important;gap:14px!important;padding:16px!important;border:1px solid #d9e5ed!important;border-radius:16px!important;background:#fff!important}
.v210-time-rail{align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:2px solid #dce8ef;color:#0d6840;font-weight:1000;font-size:13px}
.v210-money-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.v210-money-grid div{min-width:0;padding:8px 10px;border-radius:12px;background:#f6faf8;border:1px solid #d8e8de}
.v210-money-grid small{display:block;color:#60758a;font-size:11px;font-weight:1000}
.v210-money-grid strong,.v210-money-strip strong{overflow-wrap:anywhere}
.is-profit{color:#0f7b49!important}.is-loss{color:#ba2d2d!important}
.v210-money-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.v210-money-strip div{padding:14px 16px;border:1px solid #d8e4ec;border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(14,39,62,.05)}
.v210-money-strip span{display:block;color:#60758a;font-size:12px;font-weight:1000}.v210-money-strip strong{display:block;margin-top:4px;color:#082442;font-size:24px;font-weight:1000}
.v210-report-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin:0 0 14px}.v210-report-actions form{margin:0}
.v210-report-list .v191-table-head,.v210-report-list .v191-row{grid-template-columns:120px minmax(130px,1fr) minmax(90px,.7fr) minmax(160px,1.2fr) minmax(90px,.7fr) minmax(120px,.8fr)!important}
@media(max-width:1100px){.v210-instruction-row{grid-template-columns:86px minmax(0,1fr)!important}.v210-money-grid,.v210-instruction-row .v156-row-actions{grid-column:2}.v210-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v210-instruction-filter{grid-template-columns:1fr 1fr!important}.v210-instruction-filter .v156-filter-actions{grid-column:1/-1}}
@media(max-width:720px){.v210-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v210-instruction-row{grid-template-columns:1fr!important;padding:14px!important}.v210-time-rail{justify-content:flex-start;border-right:0;border-bottom:1px solid #dce8ef;padding-bottom:8px}.v210-money-grid,.v210-instruction-row .v156-row-actions{grid-column:auto}.v210-money-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.v210-report-actions{grid-template-columns:1fr}.v210-report-actions .btn,.v210-report-actions select{width:100%}.v210-instruction-filter{grid-template-columns:1fr!important}}
@media(max-width:520px){.v210-type-tabs{grid-template-columns:1fr!important}.v210-money-grid,.v210-money-strip{grid-template-columns:1fr}.v210-money-strip strong{font-size:22px}.v210-report-list .v191-table-head{display:none!important}.v210-report-list .v191-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.v210-report-list .v191-cell,.v210-report-list .v191-actions{width:100%!important}}

/* v212: professional compact operations UI */
:root{--radius:8px;--shadow:0 8px 20px rgba(15,35,55,.055)}
body{background:#eef4f7!important}
.container{max-width:1220px!important}
.page-head{align-items:center!important;margin-bottom:14px!important}.page-head h1{font-size:26px!important;letter-spacing:0!important}.page-head .muted{font-size:14px!important;font-weight:800!important}
.card,.v139-card,.v155-paper-card,.v207-folder-create,.v207-folder-summary,.v210-money-strip div{border-radius:8px!important;box-shadow:none!important;border:1px solid #d5e1ea!important;background:#fff!important}
.v155-paper-card{padding:18px 20px!important;margin-bottom:12px!important}.v155-card-head{padding-bottom:10px!important;margin-bottom:14px!important;border-bottom:1px solid #e0e8ef!important}
.v155-card-head strong{font-size:18px!important}.v155-card-note{font-size:12px!important;color:#65798a!important}
.v155-section-no{width:32px!important;height:28px!important;border-radius:6px!important;background:#0f6f43!important;font-size:13px!important;box-shadow:none!important}
.v144-form-grid,.v155-form-grid{gap:12px 16px!important}.v144-form-grid label,.v155-form-grid label,.v155-top-grid label{gap:7px!important;color:#17314d!important;font-size:13px!important;font-weight:900!important}
input,select,textarea{border-radius:7px!important;border-color:#c8d7e3!important;background:#fff!important;box-shadow:none!important;font-weight:750!important}
input,select{min-height:42px!important}textarea{min-height:112px!important}
input:focus,select:focus,textarea:focus{border-color:#0f7b49!important;box-shadow:0 0 0 3px rgba(15,123,73,.12)!important;outline:0!important}
.btn,.v164-create-btn,.v149-photo-add-button{border-radius:7px!important;min-height:40px!important;padding:0 14px!important;box-shadow:none!important;font-size:14px!important;font-weight:900!important}
.btn.primary,.v164-create-btn,.v149-photo-add-button{background:#126f43!important;border-color:#126f43!important;color:#fff!important}.btn:not(.primary){background:#fff!important;color:#082442!important;border-color:#b9ccd9!important}
.btn.danger,.btn.danger:hover{background:#fff5f5!important;color:#b42323!important;border-color:#f0b8b8!important}
.actions,.row-actions,.v156-row-actions,.v191-actions{gap:8px!important}
.v210-type-tabs{gap:8px!important}.v210-type-tabs label{min-height:44px!important;border-radius:7px!important;background:#f7fafb!important;border-color:#c8d7e3!important;font-size:14px!important}.v210-type-tabs label:has(input:checked){background:#eaf6ef!important;border-color:#126f43!important;color:#0b5936!important}
.v155-assignee-box,.v155-picker-button{border-radius:8px!important;box-shadow:none!important}.v155-picker-button{min-height:54px!important;text-align:left!important}
.sticky-actions{position:sticky!important;bottom:0!important;margin:10px -20px -18px!important;padding:12px 20px!important;border-top:1px solid #dbe6ee!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(10px)!important}
.photo-section-v70{padding:18px 20px!important}.photo-grid-v50{gap:12px!important}.photo-card-v50{border-radius:8px!important;box-shadow:none!important;border:1px solid #d5e1ea!important}
.v210-instruction-row,.v207-folder,.v207-request-card,.v139-report-card{border-radius:8px!important;box-shadow:none!important}.v210-money-grid div{border-radius:7px!important}
@media(max-width:760px){.container{padding-left:10px!important;padding-right:10px!important}.page-head{align-items:flex-start!important}.page-head h1{font-size:23px!important}.v155-paper-card{padding:14px!important}.sticky-actions{margin:8px -14px -14px!important;padding:10px 14px!important}.actions .btn,.sticky-actions .btn{width:100%!important}.v144-form-grid,.v155-form-grid,.v155-top-grid{grid-template-columns:1fr!important}.v210-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v213: system-wide professional operations UI, login excluded */
body.login-body-v26{
  overflow:hidden!important;
  background:
    radial-gradient(circle at 22% 18%, rgba(23,108,66,.10) 0%, rgba(23,108,66,0) 34%),
    radial-gradient(circle at 82% 86%, rgba(16,35,61,.08) 0%, rgba(16,35,61,0) 34%),
    linear-gradient(135deg,#eef4f7 0%,#e8f0f4 48%,#dfe9ee 100%)!important;
}
body.login-body-v26 .login-main-v26{max-width:none!important;width:100vw!important;height:100vh!important;min-height:100vh!important;padding:0!important;margin:0!important}
body.login-body-v26 .login-card-v26{border-radius:26px!important;box-shadow:0 28px 80px rgba(16,35,61,.18)!important;padding:30px!important}
body.login-body-v26 .login-form-v26 input{min-height:56px!important;border-radius:16px!important;background:#fbfdfe!important;font-size:16px!important}
body.login-body-v26 .login-form-v26 .btn{min-height:56px!important;border-radius:16px!important;font-size:17px!important;box-shadow:0 10px 20px rgba(23,108,66,.16)!important}

body.app-body:not(.login-body-v26):not(.print-mode){
  --ops-bg:#edf3f6;
  --ops-surface:#ffffff;
  --ops-surface-2:#f7fafc;
  --ops-line:#d7e2ea;
  --ops-line-2:#c5d4df;
  --ops-text:#0d253f;
  --ops-muted:#62778a;
  --ops-green:#126f43;
  --ops-green-dark:#0d5c36;
  background:var(--ops-bg)!important;
  color:var(--ops-text)!important;
  font-size:15px!important;
  letter-spacing:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .app-header{background:#fff!important;border-bottom:1px solid var(--ops-line)!important;box-shadow:0 1px 0 rgba(10,31,51,.04)!important;backdrop-filter:none!important}
body.app-body:not(.login-body-v26):not(.print-mode) .app-header-inner{max-width:1280px!important;min-height:68px!important;padding:10px 18px!important;gap:18px!important}
body.app-body:not(.login-body-v26):not(.print-mode) .brand-block{gap:12px!important;min-width:260px!important}
body.app-body:not(.login-body-v26):not(.print-mode) .brand-mark{width:48px!important;height:48px!important;border-radius:8px!important;background:#126f43!important;box-shadow:none!important;font-size:15px!important}
body.app-body:not(.login-body-v26):not(.print-mode) .brand-text span{font-size:11px!important;letter-spacing:.18em!important;color:#126f43!important;line-height:1.1!important}
body.app-body:not(.login-body-v26):not(.print-mode) .brand-text strong{font-size:16px!important;line-height:1.25!important;color:#102943!important}
body.app-body:not(.login-body-v26):not(.print-mode) .brand-text em{font-size:12px!important;line-height:1.2!important;color:var(--ops-muted)!important}
body.app-body:not(.login-body-v26):not(.print-mode) .main-nav{gap:5px!important;align-items:center!important;flex-wrap:wrap!important}
body.app-body:not(.login-body-v26):not(.print-mode) .main-nav a{min-height:36px!important;padding:0 11px!important;border-radius:6px!important;border:1px solid transparent!important;background:transparent!important;color:#17314d!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important}
body.app-body:not(.login-body-v26):not(.print-mode) .main-nav a:hover{background:#f2f6f8!important;border-color:#cfdde6!important}
body.app-body:not(.login-body-v26):not(.print-mode) .main-nav a.is-active{background:var(--ops-green)!important;border-color:var(--ops-green)!important;color:#fff!important}
body.app-body:not(.login-body-v26):not(.print-mode) .main-nav a.nav-logout{color:#516678!important}
body.app-body:not(.login-body-v26):not(.print-mode) .container:not(.login-main-v26){max-width:1240px!important;padding:22px 18px 44px!important}

body.app-body:not(.login-body-v26):not(.print-mode) :where(.page-head,.reports-v35-page-head,.report-form-title-v70,.v139-head){display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin:0 0 14px!important;padding:0 0 12px!important;border-bottom:1px solid var(--ops-line)!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.page-head,.reports-v35-page-head,.report-form-title-v70,.v139-head) h1{margin:0!important;font-size:25px!important;line-height:1.2!important;font-weight:1000!important;letter-spacing:0!important;color:var(--ops-text)!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.page-head,.reports-v35-page-head,.report-form-title-v70,.v139-head) p:not(.eyebrow),body.app-body:not(.login-body-v26):not(.print-mode) .muted{font-size:13px!important;font-weight:800!important;line-height:1.5!important;color:var(--ops-muted)!important}
body.app-body:not(.login-body-v26):not(.print-mode) .eyebrow{margin:0 0 5px!important;font-size:11px!important;letter-spacing:.08em!important;color:#406178!important;font-weight:1000!important}

body.app-body:not(.login-body-v26):not(.print-mode) :where(.card,.hero-card,.list-card,.report-row,.stat-card,.v140-admin-panel,.dash-hero-v25,.dash-recent-v25,.reports-v35-search-card,.reports-v35-list-card,.report-form-card,.section-block,.paper-section-v70,.photo-section-v70,.v198-table-card,.v155-paper-card,.v156-job-panel,.v156-list-card,.v157-detail-card,.v191-linked-reports-card,.v210-photo-section,.v207-folder-card,.v207-unfiled-card,.v207-add-card,.master-add-card,.master-table-card,.employees-v39-add-card,.employees-v39-list-card,.employees-v39-card,.logs-v32-card,.account-v45-card,.account-v120-card,.v207-folder-create,.v207-folder-summary){
  background:var(--ops-surface)!important;
  border:1px solid var(--ops-line)!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.card,.hero-card,.list-card,.report-row,.stat-card,.reports-v35-search-card,.reports-v35-list-card,.report-form-card,.section-block,.paper-section-v70,.photo-section-v70,.v198-table-card,.v155-paper-card,.v156-job-panel,.v156-list-card,.v207-folder-card,.v207-unfiled-card,.v207-add-card,.master-add-card,.master-table-card,.employees-v39-add-card,.employees-v39-list-card,.logs-v32-card,.account-v45-card,.account-v120-card){padding:16px!important;margin-bottom:14px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.v139-card-head,.section-head,.reports-v35-list-head,.dash-section-head-v25,.master-card-head,.master-table-head,.v155-card-head,.v198-card-title){border-bottom:1px solid var(--ops-line)!important;padding-bottom:10px!important;margin-bottom:12px!important;background:transparent!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.v139-card-head h2,.section-head h2,.reports-v35-list-head h2,.dash-section-head-v25 h2,.master-card-head h2,.master-table-head h2,.v198-card-title,.card h2){font-size:18px!important;line-height:1.25!important;margin:0!important;font-weight:1000!important;color:var(--ops-text)!important}

body.app-body:not(.login-body-v26):not(.print-mode) .dashboard-v25{display:grid!important;gap:14px!important}
body.app-body:not(.login-body-v26):not(.print-mode) .dash-hero-v25{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:18px!important;background:#fff!important}
body.app-body:not(.login-body-v26):not(.print-mode) .dash-hero-v25 h1{font-size:26px!important;letter-spacing:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) .dash-stat-strip-v25{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) .dash-stat-v25,body.app-body:not(.login-body-v26):not(.print-mode) .v145-stat,body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-summary div,body.app-body:not(.login-body-v26):not(.print-mode) .v210-money-strip div{background:#fff!important;border:1px solid var(--ops-line)!important;border-radius:7px!important;box-shadow:none!important;padding:12px 14px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.dash-stat-v25,.v145-stat,.v207-folder-summary div,.v210-money-strip div) span{font-size:11px!important;color:var(--ops-muted)!important;font-weight:1000!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.dash-stat-v25,.v145-stat,.v207-folder-summary div,.v210-money-strip div) strong,body.app-body:not(.login-body-v26):not(.print-mode) .dash-stat-v25 strong{font-size:22px!important;color:var(--ops-text)!important;font-weight:1000!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v140-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v140-action{border:1px solid var(--ops-line)!important;background:#fff!important;border-radius:7px!important;box-shadow:none!important;padding:13px!important;color:var(--ops-text)!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v140-action.primary{background:#eef8f2!important;border-color:#bcdcc8!important}

body.app-body:not(.login-body-v26):not(.print-mode) :where(.btn,button.btn,a.btn,.v164-create-btn,.v149-photo-add-button,.photo-add-btn-v50,.v181-job-new-photo-btn,.master-add-v72,.line-add-v70){
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:6px!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:1000!important;
  line-height:1!important;
  border:1px solid var(--ops-line-2)!important;
  background:#fff!important;
  color:var(--ops-text)!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.btn.primary,button.btn.primary,a.btn.primary,.v164-create-btn,.v149-photo-add-button){background:var(--ops-green)!important;border-color:var(--ops-green)!important;color:#fff!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.btn.primary,button.btn.primary,a.btn.primary):hover{background:var(--ops-green-dark)!important;border-color:var(--ops-green-dark)!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.btn.danger,button.btn.danger,a.btn.danger){background:#fff6f6!important;border-color:#efb9b9!important;color:#b42323!important}
body.app-body:not(.login-body-v26):not(.print-mode) .btn.small{min-height:32px!important;padding:0 10px!important;font-size:12px!important;border-radius:5px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.actions,.row-actions,.reports-v35-actions,.reports-v35-row-actions,.dash-actions-v25,.v156-row-actions,.v191-actions,.v198-actions,.v157-show-actions){gap:7px!important}

body.app-body:not(.login-body-v26):not(.print-mode) :where(label,.reports-v35-search label,.v207-folder-create label,.v145-job-filter label,.v156-job-filter label){font-size:12px!important;font-weight:1000!important;color:#17314d!important;gap:6px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="file"]),select,textarea){
  min-height:40px!important;
  border:1px solid var(--ops-line-2)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:var(--ops-text)!important;
  font-size:14px!important;
  font-weight:800!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) textarea{min-height:104px!important;line-height:1.55!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(input,select,textarea):focus{border-color:var(--ops-green)!important;box-shadow:0 0 0 3px rgba(18,111,67,.12)!important;outline:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.filter-grid,.reports-v35-search,.v207-folder-create,.v145-job-filter,.v156-job-filter,.employees-v39-add-grid,.employees-v39-filter,.logs-v96-search-grid,.v155-form-grid,.v144-form-grid,.top-info-grid,.report-pair-grid){gap:10px 12px!important}

body.app-body:not(.login-body-v26):not(.print-mode) :where(table,.daily-table,.v198-table,.v193-detail-table,.v196-table,.v197-table,.reports-v28-table,.employees-v39-table,.logs-v32-table){border-collapse:separate!important;border-spacing:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(th,td,.reports-v35-table-head>div,.dash-report-head-v25>div,.v191-table-head>div,.master-table-header>div){padding:10px 12px!important;border-bottom:1px solid var(--ops-line)!important;background:#fff!important;color:var(--ops-text)!important;font-size:13px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(th,.reports-v35-table-head>div,.dash-report-head-v25>div,.v191-table-head>div,.master-table-header>div,.employees-v39-table thead th){background:#eef4f7!important;color:#36536a!important;font-size:12px!important;font-weight:1000!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.reports-v35-row,.dash-report-row-v25,.v156-request-row,.v191-row,.v207-folder,.v207-request-card,.v207-report-card,.v139-report-card,.master-row,.employees-v39-mobile-card,.logs-v32-table tbody tr){border:1px solid var(--ops-line)!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.reports-v35-row,.dash-report-row-v25,.v156-request-row,.v191-row,.v207-folder,.v207-request-card,.v207-report-card,.v139-report-card){padding:12px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.reports-v35-row:hover,.dash-report-row-v25:hover,.v156-request-row:hover,.v207-folder:hover,.v207-request-card:hover,.v207-report-card:hover){background:#f9fcfd!important;border-color:#b9cbd8!important}

body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:10px!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-icon{width:34px!important;height:28px!important;border-radius:5px!important;background:#d9e9f2!important;border:1px solid #bfd2dd!important;box-shadow:none!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-main strong,body.app-body:not(.login-body-v26):not(.print-mode) .reports-v35-row strong,body.app-body:not(.login-body-v26):not(.print-mode) .v156-title-line b{font-size:15px!important;color:var(--ops-text)!important;line-height:1.35!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-metrics{gap:6px!important;font-size:12px!important;color:var(--ops-muted)!important}
body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-metrics b{color:var(--ops-green)!important;font-size:14px!important}

body.app-body:not(.login-body-v26):not(.print-mode) :where(.photo-card-v50,.v148-job-photo-card){border-radius:7px!important;box-shadow:none!important;border:1px solid var(--ops-line)!important;background:#fff!important;overflow:hidden!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.photo-card-v50 img,.v148-job-photo-card img){border-radius:0!important;border:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) .sticky-actions{background:rgba(255,255,255,.96)!important;border-top:1px solid var(--ops-line)!important;box-shadow:0 -8px 24px rgba(17,42,64,.06)!important}
body.app-body:not(.login-body-v26):not(.print-mode) .alert{border-radius:7px!important;box-shadow:none!important;border:1px solid var(--ops-line)!important;font-weight:900!important}

@media(max-width:980px){
  body.app-body:not(.login-body-v26):not(.print-mode) .app-header-inner{padding:10px 12px!important;align-items:stretch!important;flex-direction:column!important;gap:10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .brand-block{min-width:0!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .main-nav{width:100%!important;flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;padding-bottom:3px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .container:not(.login-main-v26){padding:16px 10px 34px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.page-head,.reports-v35-page-head,.report-form-title-v70,.v139-head){align-items:flex-start!important;flex-direction:column!important;gap:10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.page-head,.reports-v35-page-head,.report-form-title-v70,.v139-head) h1{font-size:22px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.actions,.reports-v35-actions,.dash-actions-v25,.v157-show-actions){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.actions .btn,.reports-v35-actions .btn,.dash-actions-v25 .btn,.v157-show-actions .btn){width:100%!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .dash-stat-strip-v25,body.app-body:not(.login-body-v26):not(.print-mode) .v140-actions{grid-template-columns:1fr 1fr!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder{grid-template-columns:30px minmax(0,1fr)!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-metrics{grid-column:2!important;align-items:flex-start!important}
}
@media(max-width:560px){
  body.app-body:not(.login-body-v26):not(.print-mode) .brand-mark{width:42px!important;height:42px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .brand-text strong{font-size:14px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.card,.hero-card,.list-card,.report-row,.reports-v35-search-card,.reports-v35-list-card,.report-form-card,.section-block,.paper-section-v70,.photo-section-v70,.v198-table-card,.v155-paper-card,.v156-job-panel,.v156-list-card,.v207-folder-card,.v207-unfiled-card,.master-add-card,.master-table-card,.employees-v39-add-card,.employees-v39-list-card,.logs-v32-card,.account-v45-card){padding:12px!important;margin-bottom:12px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.actions,.reports-v35-actions,.dash-actions-v25,.v157-show-actions){grid-template-columns:1fr!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .dash-stat-strip-v25,body.app-body:not(.login-body-v26):not(.print-mode) .v140-actions{grid-template-columns:1fr!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.btn,button.btn,a.btn){min-height:40px!important}
}

/* v214: redesigned home dashboard */
.home-v214{display:grid;gap:14px}
.home-hero-v214{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;background:#fff;border:1px solid #d7e2ea;border-radius:8px;padding:20px;box-shadow:none}
.home-hero-main-v214 h1{margin:0;font-size:30px;line-height:1.12;font-weight:1000;color:#0d253f;letter-spacing:0}
.home-meta-v214{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;color:#62778a;font-size:13px;font-weight:900}
.home-meta-v214 span{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #d7e2ea;border-radius:999px;background:#f7fafc}
.home-hero-actions-v214{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px;min-width:420px}
.home-hero-actions-v214 .btn{width:100%;min-height:44px!important}
.home-secondary-primary-v214{background:#0f5f8f!important;border-color:#0f5f8f!important}

.home-kpi-grid-v214{display:grid;grid-template-columns:1.15fr 1.15fr 1fr 1fr;gap:10px}
.home-kpi-v214{background:#fff;border:1px solid #d7e2ea;border-radius:8px;padding:15px 16px;min-height:98px;display:grid;align-content:center;gap:5px}
.home-kpi-v214.is-main{border-left:4px solid #126f43}
.home-kpi-v214 span{color:#62778a;font-size:12px;font-weight:1000}
.home-kpi-v214 strong{color:#0d253f;font-size:28px;line-height:1.05;font-weight:1000;letter-spacing:0}
.home-kpi-v214 em{color:#6c8193;font-size:12px;font-style:normal;font-weight:850}

.home-layout-v214{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.home-panel-v214{background:#fff;border:1px solid #d7e2ea;border-radius:8px;padding:16px;box-shadow:none}
.home-panel-head-v214{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dfe8ef;padding-bottom:10px;margin-bottom:12px}
.home-panel-head-v214 h2{margin:0;color:#0d253f;font-size:18px;line-height:1.25;font-weight:1000}
.home-panel-head-v214 p{margin:3px 0 0;color:#62778a;font-size:12px;font-weight:900}
.home-report-list-v214{display:grid;gap:8px}
.home-report-head-v214,.home-report-row-v214{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(130px,.9fr) minmax(200px,1.3fr) 110px 70px;gap:12px;align-items:center}
.home-report-head-v214{padding:9px 12px;border-radius:7px;background:#eef4f7;color:#36536a;font-size:12px;font-weight:1000}
.home-report-row-v214{min-height:62px;padding:11px 12px;border:1px solid #d7e2ea;border-radius:7px;background:#fff;color:#0d253f;text-decoration:none}
.home-report-row-v214:hover{background:#f9fcfd;border-color:#b9cbd8}
.home-report-row-v214 strong{display:block;color:#0d253f;font-size:14px;line-height:1.35;font-weight:1000}
.home-report-row-v214 span,.home-report-row-v214 div{font-size:13px;font-weight:850;color:#62778a;min-width:0}
.home-report-site-v214 strong{font-size:15px}
.home-report-money-v214{color:#126f43!important;font-weight:1000!important;white-space:nowrap}
.home-report-open-v214{text-align:right}
.home-report-open-v214 span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid #c5d4df;border-radius:5px;color:#0d253f;font-size:12px;font-weight:1000;background:#fff}
.home-empty-v214{min-height:180px;display:grid;place-items:center;gap:12px;align-content:center;border:1px dashed #c5d4df;border-radius:8px;background:#f8fbfd;color:#62778a;font-weight:900}
.home-empty-v214 strong{color:#0d253f}

.home-side-v214{display:grid;gap:14px}
.home-command-grid-v214{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.home-command-grid-v214 a,.home-admin-links-v214 a{display:grid;gap:3px;padding:12px;border:1px solid #d7e2ea;border-radius:7px;background:#fff;color:#0d253f;text-decoration:none}
.home-command-grid-v214 a:first-child{background:#eef8f2;border-color:#bcdcc8}
.home-command-grid-v214 a:hover,.home-admin-links-v214 a:hover{background:#f9fcfd;border-color:#b9cbd8}
.home-command-grid-v214 strong,.home-admin-links-v214 strong{font-size:14px;line-height:1.35;font-weight:1000;color:#0d253f}
.home-command-grid-v214 span,.home-admin-links-v214 span{font-size:12px;line-height:1.4;font-weight:850;color:#62778a}
.home-admin-links-v214{display:grid;gap:8px}

@media(max-width:1100px){
  .home-hero-v214{grid-template-columns:1fr}
  .home-hero-actions-v214{min-width:0;width:100%}
  .home-kpi-grid-v214{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-layout-v214{grid-template-columns:1fr}
  .home-side-v214{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .home-hero-v214{padding:16px}
  .home-hero-main-v214 h1{font-size:25px}
  .home-hero-actions-v214{grid-template-columns:1fr}
  .home-kpi-grid-v214{grid-template-columns:1fr 1fr}
  .home-layout-v214,.home-side-v214{grid-template-columns:1fr}
  .home-report-head-v214{display:none}
  .home-report-row-v214{grid-template-columns:1fr;gap:7px;min-height:0}
  .home-report-row-v214>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;align-items:start}
  .home-report-row-v214>div::before{content:attr(data-label);color:#6b7f90;font-size:11px;font-weight:1000}
  .home-report-site-v214 strong,.home-report-row-v214 strong{font-size:14px}
  .home-report-open-v214{display:block!important;text-align:left}
  .home-report-open-v214::before{display:none}
  .home-report-open-v214 span{width:100%}
}
@media(max-width:520px){
  .home-kpi-grid-v214,.home-command-grid-v214{grid-template-columns:1fr}
  .home-kpi-v214{min-height:84px}
}

/* v215: focused instruction management and compact mobile report input */
.v215-manage-page{display:grid;gap:14px}
.v215-manage-toolbar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(420px,.95fr);gap:14px;align-items:stretch}
.v215-folder-create,.v215-manage-summary,.v215-folder-board{background:#fff;border:1px solid #d7e2ea;border-radius:8px;box-shadow:none}
.v215-folder-create{display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) 110px;gap:10px;align-items:end;padding:14px}
.v215-folder-create label{display:grid;gap:6px;color:#17314d;font-size:12px;font-weight:1000}
.v215-folder-create input{width:100%;min-height:40px;border:1px solid #c5d4df;border-radius:6px;padding:0 11px;background:#fff;color:#0d253f;font-size:14px;font-weight:850}
.v215-manage-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.v215-manage-summary div{display:grid;align-content:center;gap:4px;min-height:76px;padding:12px 14px;border-left:1px solid #dfe8ef}
.v215-manage-summary div:first-child{border-left:0}
.v215-manage-summary span{color:#62778a;font-size:11px;font-weight:1000}
.v215-manage-summary strong{color:#0d253f;font-size:20px;line-height:1.12;font-weight:1000;overflow-wrap:anywhere}
.v215-manage-summary .is-profit strong,.v215-folder-row .is-profit strong{color:#126f43}
.v215-manage-summary .is-loss strong,.v215-folder-row .is-loss strong{color:#b42323}
.v215-folder-board{padding:16px}
.v215-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #dfe8ef}
.v215-board-head h2{margin:0;color:#0d253f;font-size:19px;font-weight:1000}
.v215-board-head p{margin:3px 0 0;color:#62778a;font-size:12px;font-weight:900}
.v215-folder-table{display:grid;gap:8px}
.v215-folder-table-head,.v215-folder-row{display:grid;grid-template-columns:minmax(240px,1.5fr) 76px 76px 120px 120px 120px 62px;gap:10px;align-items:center}
.v215-folder-table-head{padding:9px 12px;border-radius:7px;background:#eef4f7;color:#36536a;font-size:12px;font-weight:1000}
.v215-folder-rows{display:grid;gap:8px}
.v215-folder-row{min-height:66px;padding:11px 12px;border:1px solid #d7e2ea;border-radius:7px;background:#fff;color:#0d253f;text-decoration:none}
.v215-folder-row:hover{background:#f9fcfd;border-color:#b9cbd8}
.v215-folder-row>div{min-width:0}
.v215-folder-row strong{display:inline-block;color:#0d253f;font-size:14px;line-height:1.35;font-weight:1000}
.v215-folder-row span{color:#62778a;font-size:12px;font-weight:900}
.v215-folder-name{display:grid!important;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}
.v215-folder-name strong{display:block;font-size:15px}
.v215-folder-name small{display:block;margin-top:2px;color:#62778a;font-size:12px;font-weight:850;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v215-folder-icon{width:32px;height:26px;border:1px solid #bfd2dd;border-radius:5px;background:linear-gradient(180deg,#f2c45d 0 32%,#dcecf4 32% 100%)}
.v215-folder-open{text-align:right}
.v215-folder-open span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 9px;border:1px solid #c5d4df;border-radius:5px;background:#fff;color:#0d253f;font-size:12px;font-weight:1000}
.v215-empty{min-height:150px;display:grid;place-items:center;background:#f8fbfd;border:1px dashed #c5d4df;border-radius:8px}

@media(max-width:1100px){
  .v215-manage-toolbar{grid-template-columns:1fr}
  .v215-folder-table-head,.v215-folder-row{grid-template-columns:minmax(220px,1.4fr) 68px 68px 110px 110px 110px 56px}
}
@media(max-width:760px){
  .v215-folder-create{grid-template-columns:1fr}
  .v215-manage-summary{grid-template-columns:1fr 1fr}
  .v215-manage-summary div:nth-child(odd){border-left:0}
  .v215-manage-summary div:nth-child(n+3){border-top:1px solid #dfe8ef}
  .v215-folder-board{padding:12px}
  .v215-board-head{align-items:flex-start;flex-direction:column}
  .v215-folder-table-head{display:none}
  .v215-folder-row{grid-template-columns:1fr;gap:8px;padding:12px}
  .v215-folder-row>div:not(.v215-folder-name):not(.v215-folder-open){display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px}
  .v215-folder-row>div:not(.v215-folder-name):not(.v215-folder-open)::before{content:attr(data-label);color:#62778a;font-size:11px;font-weight:1000}
  .v215-folder-open{text-align:left}
  .v215-folder-open span{width:100%}
}

@media(max-width:760px){
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-title-v70{padding:0 0 10px!important;margin-bottom:10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-title-v70 h1{font-size:21px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-card.report-form-v70{padding:10px!important;margin:0!important;border-radius:8px!important;background:#fff!important;border:1px solid #d7e2ea!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-form-v70{display:grid!important;gap:10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-section-v70{padding:12px!important;border-radius:8px!important;background:#fff!important;border:1px solid #d7e2ea!important;box-shadow:none!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-section-title-v70{margin:0 0 10px!important;color:#126f43!important;font-size:17px!important;line-height:1.25!important;font-weight:1000!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-section-head-v70{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-bottom:10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .work-total-v70{min-height:30px!important;padding:0 10px!important;border-radius:999px!important;font-size:13px!important;white-space:nowrap!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-grid-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .basic-grid-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .memo-grid-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v139-mini-grid{grid-template-columns:1fr!important;gap:10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 label{font-size:13px!important;line-height:1.35!important;color:#17314d!important;font-weight:1000!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 input:not([type="hidden"]):not([type="file"]),
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 select,
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 textarea,
  body.app-body:not(.login-body-v26):not(.print-mode) .picker-open-v78{min-height:42px!important;border-radius:6px!important;font-size:16px!important;padding:0 10px!important;line-height:1.35!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 textarea{padding:10px!important;min-height:108px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .worker-time-add-v76,
  body.app-body:not(.login-body-v26):not(.print-mode) .master-addbar-v72,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-editor{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px!important;border:1px solid #d7e2ea!important;border-radius:8px!important;background:#f7faf9!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-list,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-editor-v70{display:grid!important;gap:8px!important;margin-top:10px!important;overflow:visible!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-head,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-editor-head-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-head{display:none!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row,
  body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70] [data-row-v70],
  body.app-body:not(.login-body-v26):not(.print-mode) .line-row-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;padding:10px!important;border:1px solid #d7e2ea!important;border-radius:8px!important;background:#fff!important;box-sizing:border-box!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row input,
  body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70] [data-row-v70] input,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-row-v70 input,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-row input{width:100%!important;max-width:none!important;min-width:0!important;text-align:left!important;box-sizing:border-box!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-no{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:30px!important;border-radius:999px!important;background:#eef8f2!important;color:#126f43!important;font-size:13px!important;font-weight:1000!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-delete,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-remove-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-remove,
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-add,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-add-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .master-add-v72{width:100%!important;min-width:0!important;max-width:none!important;min-height:40px!important;border-radius:6px!important;font-size:14px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .photo-manager-v50{padding:10px!important;border-radius:8px!important;background:#fff!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .photo-head-v50{display:grid!important;gap:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .photo-add-btn-v50{width:100%!important;min-height:40px!important;border-radius:6px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .sticky-actions-v70{margin:10px -10px -10px!important;padding:10px!important}
}

/* v216: Android wide-viewport report form repair */
@media(max-width:980px){
  body.app-body:not(.login-body-v26):not(.print-mode) .container:not(.login-main-v26){padding-left:8px!important;padding-right:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-title-v70{padding:0 0 8px!important;margin-bottom:8px!important;border-bottom:1px solid #d7e2ea!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-title-v70 h1{font-size:20px!important;line-height:1.2!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-card.report-form-v70{padding:8px!important;margin:0!important;border-radius:7px!important;background:#fff!important;border:1px solid #d7e2ea!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-form-v70{display:grid!important;gap:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-section-v70{padding:10px!important;margin:0!important;border-radius:7px!important;background:#fff!important;border:1px solid #d9e3ea!important;box-shadow:none!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-section-title-v70{margin:0 0 8px!important;color:#126f43!important;font-size:16px!important;line-height:1.25!important;font-weight:1000!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-section-head-v70{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 8px!important;padding:0!important;border:0!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .work-total-v70{min-height:28px!important;padding:0 9px!important;border-radius:999px!important;font-size:12px!important;white-space:nowrap!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .paper-grid-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .basic-grid-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .memo-grid-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v139-mini-grid{grid-template-columns:1fr!important;gap:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 label{font-size:12px!important;line-height:1.3!important;color:#17314d!important;font-weight:1000!important;gap:5px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 input:not([type="hidden"]):not([type="file"]),
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 select,
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 textarea,
  body.app-body:not(.login-body-v26):not(.print-mode) .picker-open-v78{min-height:38px!important;border-radius:6px!important;font-size:14px!important;padding:0 9px!important;line-height:1.3!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .report-form-v70 textarea{padding:9px!important;min-height:96px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .worker-time-add-v76,
  body.app-body:not(.login-body-v26):not(.print-mode) .master-addbar-v72,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-editor{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:8px!important;margin:0!important;border:1px solid #d9e3ea!important;border-radius:7px!important;background:#f7faf9!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-list,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-editor-v70{display:grid!important;gap:7px!important;margin-top:8px!important;overflow:visible!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-head,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-editor-head-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-head{display:none!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-rows:empty,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-editor-rows-v70:empty,
  body.app-body:not(.login-body-v26):not(.print-mode) [data-v165-purchase-rows]:empty{display:none!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row,
  body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70] [data-row-v70],
  body.app-body:not(.login-body-v26):not(.print-mode) .line-row-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;width:100%!important;min-height:0!important;padding:8px!important;border:1px solid #d9e3ea!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important;box-sizing:border-box!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row input,
  body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70] [data-row-v70] input,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-row-v70 input,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-row input{width:100%!important;max-width:none!important;min-width:0!important;text-align:left!important;box-sizing:border-box!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-no{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:26px!important;border-radius:999px!important;background:#eef8f2!important;color:#126f43!important;font-size:12px!important;font-weight:1000!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-delete,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-remove-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .v165-purchase-remove{width:100%!important;min-width:0!important;max-width:none!important;min-height:36px!important;border-radius:6px!important;font-size:13px!important;background:#fff6f6!important;border-color:#efb9b9!important;color:#b42323!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-add,
  body.app-body:not(.login-body-v26):not(.print-mode) .line-add-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) .master-add-v72{width:100%!important;min-width:0!important;max-width:none!important;min-height:38px!important;border-radius:6px!important;font-size:13px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .photo-manager-v50{padding:8px!important;border-radius:7px!important;background:#fff!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .photo-head-v50{display:grid!important;gap:7px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .photo-add-btn-v50{width:100%!important;min-height:38px!important;border-radius:6px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .sticky-actions-v70{margin:8px -8px -8px!important;padding:8px!important}
}

/* v217: force report dynamic rows to full-width mobile fields */
@media(max-width:1100px){
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .worker-time-add-v76,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .master-addbar-v72,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v165-purchase-editor{display:flex!important;flex-direction:column!important;gap:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .worker-time-add-v76>*,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .master-addbar-v72>*,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form [data-row-v70],
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .line-row-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v165-purchase-row{width:100%!important;max-width:none!important;min-width:0!important}
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form [data-row-v70],
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .line-row-v70,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v165-purchase-row{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important;grid-template-columns:none!important;grid-auto-flow:row!important}
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form [data-row-v70]>*,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .line-row-v70>*,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row>*,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v165-purchase-row>*{width:100%!important;max-width:none!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;justify-self:stretch!important}
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form [data-row-v70] input,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .line-row-v70 input,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row input,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v165-purchase-row input{height:auto!important;min-height:42px!important;writing-mode:horizontal-tb!important;text-align:left!important}
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-no{min-height:28px!important}
}

/* v221: form, table, print and action stability pass */
body.app-body:not(.login-body-v26):not(.print-mode) :where(.v139-detail-table,.v198-table,.employees-v39-table){table-layout:fixed!important;width:100%!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(th,td,.v191-cell,.v156-row-info strong,.v156-row-meta span,.v207-request-main strong,.v207-request-main span,.v215-folder-row strong,.v215-folder-row span){overflow-wrap:anywhere!important;word-break:break-word!important;min-width:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.actions,.v139-actions-cell,.v207-request-actions,.v207-report-card .v139-card-actions,.v156-row-actions,.v191-actions,.employee-v40-mobile-actions){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.actions form,.v139-actions-cell form,.v207-request-actions form,.v207-report-card .v139-card-actions form,.v156-row-actions form,.v191-actions form){margin:0!important;display:inline-flex!important;min-width:0!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(.btn,.btn.small){white-space:nowrap!important;flex:0 0 auto!important}
body.app-body:not(.login-body-v26):not(.print-mode) :where(input,select,textarea,button){max-width:100%!important;box-sizing:border-box!important}
@media(max-width:980px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-request-form{padding:8px!important;margin:0!important;border-radius:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-paper-card{padding:10px!important;margin-bottom:10px!important;border-radius:8px!important;box-shadow:none!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-top-grid,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-assignee-row,
  body.app-body:not(.login-body-v26):not(.print-mode) .v144-form-grid,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-form-grid,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-report-grid{grid-template-columns:1fr!important;gap:9px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-type-tabs{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-type-tabs label{width:100%!important;min-width:0!important;min-height:44px!important;padding:0 12px 0 44px!important;border-radius:7px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-type-tabs label::before{left:16px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-type-tabs label:has(input:checked)::after{left:22px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-form-grid input,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-form-grid select,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-form-grid textarea,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-assignee-row select,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-wide-field textarea{min-height:40px!important;border-radius:6px!important;font-size:14px!important;padding:8px 10px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-picker-button{min-height:44px!important;border-radius:7px!important;display:grid!important;gap:3px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-picker-button em{white-space:normal!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-sticky-actions{position:sticky!important;bottom:0!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:8px -8px -8px!important;padding:8px!important}
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-sticky-actions .actions,
  body.app-body:not(.login-body-v26):not(.print-mode) .v155-sticky-actions .btn{width:100%!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.v139-actions-cell,.v207-request-actions,.v207-report-card .v139-card-actions,.v156-row-actions,.v191-actions,.employee-v40-mobile-actions){display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  body.app-body:not(.login-body-v26):not(.print-mode) :where(.v139-actions-cell .btn,.v207-request-actions .btn,.v207-report-card .v139-card-actions .btn,.v156-row-actions .btn,.v191-actions .btn,.employee-v40-mobile-actions .btn){width:100%!important;justify-content:center!important}
}
@media print{
  .v198-print-table td,.v198-print-table th{height:auto!important;min-height:0!important;overflow:visible!important;white-space:normal!important}
  .v218-instruction-print-only .v218-work-cell{height:auto!important;min-height:18mm!important}
  .v218-instruction-print-only .v218-memo-cell{height:auto!important;min-height:12mm!important}
  .v218-instruction-print-only .v198-print-title td,.v218-instruction-print-only .v198-print-table th,.v218-instruction-print-only .v198-print-table td{font-size:8.4pt!important;padding:1.25mm 1.65mm!important;line-height:1.18!important}
  .v218-instruction-print-only .v198-print-table th{width:20mm!important}
}

/* v222: stable instruction photo upload and mobile folder edit actions */
body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form .v149-photo-add-button,
body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form .v222-photo-upload-submit{
  min-width:140px!important;
  justify-content:center!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form .v149-photo-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form .v149-photo-add-button,
  body.app-body:not(.login-body-v26):not(.print-mode) .v148-photo-upload-form .v222-photo-upload-submit{
    width:100%!important;
    min-width:0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row{
    gap:10px!important;
    padding:10px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row .v139-rename-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row .v139-rename-form input,
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row .v139-rename-form .btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-stats{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    width:100%!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-stats strong{
    grid-column:1/-1!important;
    padding-top:2px!important;
    font-size:16px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row .v139-actions-cell{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:100%!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row .v139-actions-cell form,
  body.app-body:not(.login-body-v26):not(.print-mode) .v207-folder-edit-row .v139-actions-cell .btn{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
}

/* v228: independent instruction revenue input */
body.app-body:not(.login-body-v26):not(.print-mode) .v228-money-label{
  display:grid!important;
  gap:7px!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v228-money-field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  min-height:42px!important;
  border:1px solid var(--ops-line-2,#c5d4df)!important;
  border-radius:6px!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v228-money-field:focus-within{
  border-color:var(--ops-green,#126f43)!important;
  box-shadow:0 0 0 3px rgba(18,111,67,.12)!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v228-money-field input[data-v228-order-display]{
  min-height:40px!important;
  width:100%!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0 12px!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v228-money-unit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 12px 0 4px!important;
  color:#0d253f!important;
  font-weight:1000!important;
}

/* v237: size print pages from content; legacy 297mm containers created a blank page. */
@media print{
  html,
  body.print-mode{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
  }
  body.print-mode .container.print-container{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }
  body.print-mode .v198-print-only,
body.print-mode .v218-instruction-print-only{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    break-after:auto!important;
    page-break-after:auto!important;
  }
}

/* v238 final cascade: keep the unit outside every editable amount. */
body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  border:1px solid #cfdde7!important;
  border-radius:6px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-field input{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:40px!important;
  min-height:40px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0 6px 0 12px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
  background:transparent!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) .v238-money-field:focus-within{
  border-color:var(--ops-green,#126f43)!important;
  box-shadow:0 0 0 3px rgba(18,111,67,.12)!important;
}
body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70="waste"] .line-editor-head-v70,
body.app-body:not(.login-body-v26):not(.print-mode) [data-line-editor-v70="waste"] [data-row-v70]{
  grid-template-columns:minmax(170px,1fr) 120px minmax(210px,1.2fr) 126px 70px!important;
  gap:8px!important;
}
@media(max-width:1100px){
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v238-money-field,
  body.app-body:not(.login-body-v26):not(.print-mode) .v178-worker-row .v238-money-field{
    width:100%!important;
    max-width:none!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v238-money-field input{
    text-align:right!important;
  }
}

/* v238c final mobile worker-row override. */
@media(max-width:1100px){
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row{
    flex-wrap:nowrap!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row>*{
    flex:0 0 auto!important;
    height:auto!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row .v178-no{
    height:28px!important;
    min-height:28px!important;
  }
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row input,
  body.app-body:not(.login-body-v26):not(.print-mode) #report-form .v178-worker-row .v178-delete{
    height:42px!important;
    min-height:42px!important;
  }
}
