/* ============================================================
   DVTV-111 業務日報 v1.0.0 — パインズグラス / モバイルファースト
   全セレクタ .dvn-app を起点に !important で完全遮断
   ============================================================ */
.dvn-app,.dvn-app *,.dvn-app *::before,.dvn-app *::after{box-sizing:border-box!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;font-family:'Segoe UI','Meiryo','Hiragino Sans',sans-serif!important;line-height:1.5!important;-webkit-font-smoothing:antialiased!important}
.dvn-app{max-width:980px!important;margin:0 auto!important;padding:10px!important;
  --fs:14px;--c-bg:#f4f4fb;--c-card:#fff;--c-border:#e2e2f0;--c-text:#16162a;--c-text2:#5a5a7a;
  --c-accent:#6c63ff;--c-accent2:#a259ff;--c-danger:#ef4444;--c-ok:#10b981;--c-warn:#f59e0b;
  --c-head-bg:linear-gradient(135deg,#0f0c29,#302b63,#24243e);--c-head-text:#eee;
  --c-input-bg:#fff;--c-input-border:#ccc;--c-hover:#ededff;--radius:12px;--shadow:0 2px 10px rgba(0,0,0,.07);
  color:var(--c-text)!important;background:var(--c-bg)!important;font-size:var(--fs)!important;border-radius:12px!important}
.dvn-app[data-fs="xs"]{--fs:11px}.dvn-app[data-fs="sm"]{--fs:12px}.dvn-app[data-fs="md"]{--fs:14px}.dvn-app[data-fs="lg"]{--fs:16px}.dvn-app[data-fs="xl"]{--fs:18px}
.dvn-app[data-bold="1"]{font-weight:600!important}

/* ---- ダーク ---- */
.dvn-app[data-theme="dark"]{--c-bg:#0d0d1a;--c-card:#1a1a2e;--c-border:#2a2a44;--c-text:#e0e0f0;--c-text2:#9090b5;
  --c-input-bg:#22223a;--c-input-border:#3a3a55;--c-hover:#25254a;--shadow:0 2px 12px rgba(0,0,0,.35)}

/* ---- テーマCSS干渉対策：グラデ見出し等による「白抜け（透明文字）」を全面的に無効化 ---- */
.dvn-app, .dvn-app *{-webkit-text-fill-color:currentColor!important;text-shadow:none!important}
.dvn-app h1,.dvn-app h2,.dvn-app h3,.dvn-app h4,
.dvn-app .dvn-h2,.dvn-app .dvn-h3{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:var(--c-text)!important;color:var(--c-text)!important}

/* ---- ツールバー ---- */
.dvn-app .dvn-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;
  background:var(--c-head-bg)!important;color:var(--c-head-text)!important;padding:8px 12px!important;border-radius:10px!important;margin-bottom:10px!important}
.dvn-app .dvn-tb-title{font-weight:700!important;font-size:calc(var(--fs) + 1px)!important;letter-spacing:.5px!important}
.dvn-app .dvn-tb-right{display:flex!important;gap:6px!important}
/* v1.79.0 白ボタン: 文字単位の折り返し（スマホで日本語が縦一列になる不具合）を防止。
   inline-flex＋nowrap＋タップ領域36px確保。リンク(a)の下線も除去。 */
.dvn-app .dvn-tb-btn{background:rgba(255,255,255,.15)!important;color:#fff!important;border-radius:7px!important;
  padding:5px 10px!important;cursor:pointer!important;font-size:var(--fs)!important;
  white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto!important;text-decoration:none!important;border:none!important;line-height:1.2!important}
.dvn-app .dvn-tb-btn:hover{background:rgba(255,255,255,.28)!important}
.dvn-app a.dvn-tb-btn,.dvn-app a.dvn-tb-btn:hover,.dvn-app a.dvn-tb-btn:visited{text-decoration:none!important;color:#fff!important}
.dvn-app .dvn-tb-title{white-space:nowrap!important}

/* ---- 見出し / 行 ---- */
.dvn-app .dvn-head-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:6px!important}
.dvn-app .dvn-h2{font-size:calc(var(--fs) + 5px)!important;font-weight:800!important;color:var(--c-text)!important}
.dvn-app .dvn-h3{font-size:calc(var(--fs) + 2px)!important;font-weight:700!important;margin-bottom:8px!important;color:var(--c-text)!important}
.dvn-app .dvn-meta{display:flex!important;gap:12px!important;flex-wrap:wrap!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important;margin-bottom:10px!important}
.dvn-app .dvn-empty{color:var(--c-text2)!important;padding:16px!important;text-align:center!important}
.dvn-app .dvn-hint{color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;margin:2px 0 6px!important}
.dvn-app .dvn-req{background:var(--c-danger)!important;color:#fff!important;border-radius:5px!important;padding:1px 6px!important;font-size:calc(var(--fs) - 3px)!important;margin-left:6px!important}

/* ---- ボタン ---- */
.dvn-app .dvn-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;border:1px solid transparent!important;border-radius:9px!important;
  padding:9px 14px!important;cursor:pointer!important;font-size:var(--fs)!important;font-weight:700!important;transition:.15s!important;text-decoration:none!important}
.dvn-app .dvn-btn:hover{filter:brightness(1.06)!important}
.dvn-app .dvn-btn:disabled{opacity:.5!important;cursor:not-allowed!important}
.dvn-app .dvn-btn-sm{padding:6px 10px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-btn-lg{padding:13px 18px!important;font-size:calc(var(--fs) + 1px)!important;width:100%!important;margin-top:8px!important}
.dvn-app .dvn-btn-primary{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-zumen{margin-left:auto!important;background:linear-gradient(135deg,#6c63ff,#0ea5e9)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:none!important;border-radius:10px!important;padding:11px 18px!important;font-size:calc(var(--fs) + 1px)!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 3px 10px rgba(108,99,255,.45)!important;white-space:nowrap!important}
.dvn-app .dvn-btn-zumen:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
.dvn-app .dvn-btn-next{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-back{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-skip{background:linear-gradient(135deg,#f59e0b,#b45309)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-confirm{background:linear-gradient(135deg,#0ea5e9,#0369a1)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-invite{background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important;border-color:transparent!important}
/* 外部招待モーダル */
.dvn-app .dvn-invite-box{max-width:460px!important}
.dvn-app .dvn-invite-desc{margin:0 0 12px!important;font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important;line-height:1.7!important}
.dvn-app .dvn-invite-qr{display:flex!important;align-items:center!important;justify-content:center!important;min-height:180px!important;background:#fff!important;border:1px solid var(--bd,#e2e8f0)!important;border-radius:12px!important;padding:12px!important;margin-bottom:12px!important}
.dvn-app .dvn-invite-qr img{width:200px!important;height:200px!important;image-rendering:pixelated!important}
.dvn-app .dvn-invite-loading{color:var(--c-text2)!important;font-size:13px!important}
.dvn-app .dvn-invite-lb{display:block!important;font-weight:700!important;font-size:calc(var(--fs) - 1px)!important;margin:6px 0 4px!important}
.dvn-app .dvn-invite-urlrow{display:flex!important;gap:8px!important;align-items:center!important}
.dvn-app .dvn-invite-urlrow input{flex:1 1 auto!important;min-width:0!important;font-size:12px!important}
.dvn-app .dvn-invite-row{display:flex!important;gap:8px!important;align-items:center!important;margin-top:10px!important}
.dvn-app .dvn-invite-row .dvn-invite-lb{margin:0!important;flex:0 0 auto!important}
.dvn-app .dvn-invite-row input{flex:1 1 auto!important;min-width:0!important}
.dvn-app .dvn-invite-note{margin:8px 0 0!important;font-size:11px!important;color:var(--c-text2)!important;line-height:1.6!important}
.dvn-app .dvn-invite-ft{display:flex!important;align-items:center!important;gap:8px!important;margin-top:14px!important;flex-wrap:wrap!important}
.dvn-app .dvn-invite-status{font-weight:700!important;font-size:12px!important}
/* ゲスト（外部）明細 */
.dvn-app .dvn-di-guest{display:inline-block!important;background:#f97316!important;color:#fff!important;font-size:10px!important;font-weight:800!important;padding:1px 7px!important;border-radius:999px!important;margin-left:2px!important}
.dvn-app .dvn-di-guest-item{background:linear-gradient(0deg,rgba(249,115,22,.04),rgba(249,115,22,.04))!important}
.dvn-app .dvn-btn-mitu{background:linear-gradient(135deg,#0ea5e9,#6366f1)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-voice{background:linear-gradient(135deg,#14b8a6,#0d9488)!important;color:#fff!important;border-color:transparent!important;font-weight:700!important}
.dvn-app .dvn-btn-voice.dvn-voice-on{background:linear-gradient(135deg,#ef4444,#b91c1c)!important}
.dvn-app .dvn-mini{display:inline-flex!important;align-items:center!important;gap:4px!important;background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important;border:1px solid transparent!important;border-radius:8px!important;cursor:pointer!important;font-size:calc(var(--fs) - 1px)!important;font-weight:700!important;padding:6px 12px!important;margin-top:6px!important;text-decoration:none!important}

/* ---- フィルタ（横並び・1行） ---- */
.dvn-app .dvn-filter{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important;margin:8px 0 14px!important}
.dvn-app .dvn-filter input,.dvn-app .dvn-filter select,.dvn-app .dvn-filter .dvn-btn{background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px 10px!important;font-size:var(--fs)!important;height:40px!important}
.dvn-app .dvn-filter input[type="text"]{flex:1 1 220px!important;min-width:140px!important;width:auto!important}
.dvn-app .dvn-filter input[type="date"]{flex:0 0 auto!important;width:auto!important;min-width:150px!important}
.dvn-app .dvn-filter select{flex:0 0 auto!important;width:auto!important;min-width:120px!important}
.dvn-app .dvn-filter .dvn-btn{flex:0 0 auto!important;width:auto!important;border-color:var(--c-border)!important}

/* ---- 一覧カード ---- */
.dvn-app .dvn-cards{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:12px!important}
.dvn-app .dvn-card{display:block!important;background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;
  padding:14px!important;box-shadow:var(--shadow)!important;text-decoration:none!important;color:var(--c-text)!important;transition:.15s!important}
.dvn-app .dvn-card:hover{transform:translateY(-2px)!important;box-shadow:0 6px 18px rgba(108,99,255,.18)!important}
.dvn-app .dvn-card-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.dvn-app .dvn-genba{font-weight:800!important;font-size:calc(var(--fs) + 2px)!important}
.dvn-app .dvn-koji{color:var(--c-text2)!important;margin:2px 0 6px!important}
/* v1.63.0 見積連携バッジ: 濃いオレンジ塗り＋白文字。dvn-mitu-linkはクリックで見積を新規タブ表示 */
.dvn-app .dvn-mitu-tag{margin-top:8px!important;display:inline-flex!important;align-items:center!important;gap:4px!important;background:#f97316!important;color:#fff!important;border-radius:999px!important;padding:4px 12px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;box-shadow:0 1px 3px rgba(249,115,22,.35)!important;text-decoration:none!important;line-height:1.3!important}
.dvn-app .dvn-mitu-link,.dvn-app a.dvn-mitu-cell{cursor:pointer!important}
.dvn-app .dvn-mitu-link:hover,.dvn-app a.dvn-mitu-cell:hover{background:#ea580c!important;box-shadow:0 2px 6px rgba(234,88,12,.45)!important;transform:translateY(-1px)!important;transition:all .12s ease!important}
.dvn-app .dvn-mitu-go{font-weight:900!important;font-size:calc(var(--fs) - 1px)!important;opacity:.9!important}
.dvn-app .dvn-td-mitu .dvn-mitu-tag{margin-top:0!important;padding:3px 10px!important;white-space:nowrap!important}
.dvn-app[data-theme="dark"] .dvn-mitu-tag{background:#c2410c!important;color:#ffedd5!important;box-shadow:0 1px 3px rgba(0,0,0,.4)!important}
.dvn-app[data-theme="dark"] .dvn-mitu-link:hover,.dvn-app[data-theme="dark"] a.dvn-mitu-cell:hover{background:#ea580c!important;color:#fff!important}

/* ---- バッジ ---- */
.dvn-app .dvn-badge{border-radius:20px!important;padding:3px 12px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;white-space:nowrap!important}
.dvn-app .dvn-bg-open{background:#fef3c7!important;color:#92400e!important}
/* v1.63.0 完了: 濃い青塗り＋白文字（パステル同系色で見にくい問題の解消） */
.dvn-app .dvn-bg-ok{background:#2563eb!important;color:#fff!important;box-shadow:0 1px 3px rgba(37,99,235,.35)!important}
.dvn-app[data-theme="dark"] .dvn-bg-open{background:#78350f!important;color:#fde68a!important}
.dvn-app[data-theme="dark"] .dvn-bg-ok{background:#1d4ed8!important;color:#fff!important}

/* ---- 進捗バー ---- */
.dvn-app .dvn-prog{display:flex!important;align-items:center!important;gap:8px!important;margin-top:8px!important}
.dvn-app .dvn-prog-bar{flex:1!important;height:8px!important;background:var(--c-border)!important;border-radius:6px!important;overflow:hidden!important}
.dvn-app .dvn-prog-bar span{display:block!important;height:100%!important;background:linear-gradient(90deg,var(--c-accent),var(--c-accent2))!important;border-radius:6px!important;transition:width .4s!important}
.dvn-app .dvn-prog-txt{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;white-space:nowrap!important}

/* ---- 回覧タイムライン ---- */
.dvn-app .dvn-route-track{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:12px!important;margin-bottom:12px!important;box-shadow:var(--shadow)!important}

/* ---- 追記アイテム ---- */
.dvn-app .dvn-details{display:flex!important;flex-direction:column!important;gap:10px!important;margin-bottom:14px!important}
.dvn-app .dvn-detail-item{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:12px!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-di-head{display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;margin-bottom:6px!important}
.dvn-app .dvn-di-user{font-weight:800!important}
.dvn-app .dvn-di-time,.dvn-app .dvn-di-koushu,.dvn-app .dvn-di-ninku,.dvn-app .dvn-di-prog{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;background:var(--c-bg)!important;border-radius:6px!important;padding:2px 8px!important}
.dvn-app .dvn-di-body{white-space:pre-wrap!important;margin:4px 0!important}
.dvn-app .dvn-di-ky{background:#fff7ed!important;color:#9a3412!important;border-left:3px solid var(--c-warn)!important;border-radius:4px!important;padding:6px 10px!important;font-size:calc(var(--fs) - 1px)!important;margin-top:6px!important}
.dvn-app[data-theme="dark"] .dvn-di-ky{background:#3a2410!important;color:#fdba74!important}
.dvn-app .dvn-di-mats{margin-top:8px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-mat-chip{display:inline-block!important;background:#eef2ff!important;color:#4338ca!important;border-radius:6px!important;padding:2px 8px!important;margin:2px 4px 2px 0!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app[data-theme="dark"] .dvn-mat-chip{background:#312e81!important;color:#c7d2fe!important}
.dvn-app .dvn-di-photos{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:8px!important}
.dvn-app .dvn-thumb{width:84px!important;height:84px!important;object-fit:cover!important;border-radius:8px!important;cursor:pointer!important;border:1px solid var(--c-border)!important}
.dvn-app .dvn-ph-wrap{position:relative!important;display:inline-block!important;line-height:0!important}
.dvn-app .dvn-ph-pin{position:absolute!important;left:3px!important;bottom:3px!important;background:linear-gradient(135deg,#6c63ff,#a259ff)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:10px!important;font-weight:700!important;line-height:1.4!important;border-radius:6px!important;padding:2px 6px!important;text-decoration:none!important;opacity:.92!important}
.dvn-app .dvn-ph-pin:hover{opacity:1!important;filter:brightness(1.08)!important}

/* ---- フォーム ---- */
.dvn-app .dvn-card-form{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:14px!important;box-shadow:var(--shadow)!important;margin-bottom:12px!important}
.dvn-app .dvn-fg{margin-bottom:12px!important}
.dvn-app .dvn-fg label{display:block!important;font-weight:700!important;font-size:calc(var(--fs) - 1px)!important;margin-bottom:4px!important;color:var(--c-text)!important}
.dvn-app .dvn-fg input,.dvn-app .dvn-fg select,.dvn-app .dvn-fg textarea{width:100%!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:10px!important;font-size:var(--fs)!important}
.dvn-app .dvn-row2{display:flex!important;gap:10px!important}
.dvn-app .dvn-row2 .dvn-fg{flex:1!important}
.dvn-app .dvn-site-link{margin-top:6px!important;display:inline-block!important;background:#ecfeff!important;color:#0e7490!important;border:1px solid #a5f3fc!important;border-radius:6px!important;padding:3px 10px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important}
.dvn-app[data-theme="dark"] .dvn-site-link{background:#083344!important;color:#67e8f9!important;border-color:#155e75!important}

/* ---- 回覧担当ビルダー ---- */
.dvn-app .dvn-route-add{display:flex!important;gap:8px!important}
.dvn-app .dvn-route-add select{flex:1!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px!important}
.dvn-app .dvn-route-list{list-style:none!important;margin-top:8px!important;display:flex!important;flex-direction:column!important;gap:6px!important}
.dvn-app .dvn-route-list li{display:flex!important;align-items:center!important;gap:8px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:8px!important;padding:6px 10px!important}
.dvn-app .dvn-rl-seq{width:22px!important;height:22px!important;border-radius:50%!important;background:var(--c-accent)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-rl-name{flex:1!important;font-weight:600!important}
.dvn-app .dvn-rl-ops button{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:3px 7px!important;cursor:pointer!important;margin-left:3px!important;color:var(--c-text)!important}

/* ---- 材料エディタ ---- */
.dvn-app .dvn-mat-actions{display:flex!important;gap:8px!important;margin-bottom:6px!important;flex-wrap:wrap!important}
.dvn-app .dvn-mat-list{display:flex!important;flex-direction:column!important;gap:6px!important}
.dvn-app .dvn-mat-row{display:flex!important;align-items:center!important;gap:8px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:8px!important;padding:6px 8px!important}
.dvn-app .dvn-mat-nm{flex:1!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-mat-nm small{color:var(--c-text2)!important}
.dvn-app .dvn-mat-src{font-size:calc(var(--fs) - 3px)!important;background:#dbeafe!important;color:#1e40af!important;border-radius:4px!important;padding:1px 5px!important}
.dvn-app .dvn-src-d{background:#fef9c3!important;color:#854d0e!important}
.dvn-app .dvn-mat-qty{width:80px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:6px!important;padding:6px!important}
.dvn-app .dvn-mat-unit{width:42px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-mat-del{background:transparent!important;color:var(--c-danger)!important;cursor:pointer!important;font-weight:800!important}

/* ---- 写真エリア ---- */
.dvn-app .dvn-photo-list{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:8px!important}
.dvn-app .dvn-ph-up{width:84px!important;height:84px!important;border-radius:8px!important;background:var(--c-bg)!important;border:1px dashed var(--c-border)!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-ph-up img{width:84px!important;height:84px!important;object-fit:cover!important;border-radius:8px!important;cursor:pointer!important}
.dvn-app .dvn-ph-t{position:absolute!important;bottom:2px!important;left:2px!important;background:rgba(0,0,0,.6)!important;color:#fff!important;border-radius:4px!important;padding:0 4px!important;font-size:9px!important}
.dvn-app .dvn-ph-del{position:absolute!important;top:2px!important;right:2px!important;background:rgba(0,0,0,.6)!important;color:#fff!important;border-radius:50%!important;width:18px!important;height:18px!important;cursor:pointer!important;font-size:11px!important}

/* ---- アクション群 ---- */
.dvn-app .dvn-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:6px!important}
.dvn-app .dvn-actions .dvn-btn{flex:1 1 auto!important;min-width:120px!important}
.dvn-app .dvn-wait-note{background:#eff6ff!important;color:#1e3a8a!important;border:1px solid #bfdbfe!important;border-radius:10px!important;padding:12px!important;text-align:center!important;margin-bottom:10px!important}
.dvn-app[data-theme="dark"] .dvn-wait-note{background:#172554!important;color:#bfdbfe!important;border-color:#1e3a8a!important}

/* ---- メッセージ ---- */
.dvn-app .dvn-msg{margin-top:8px!important;font-weight:700!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-msg-err{color:var(--c-danger)!important}
.dvn-app .dvn-msg-ok{color:var(--c-ok)!important}

/* ---- モーダル ---- */
.dvn-app .dvn-modal{display:none!important;position:fixed!important;inset:0!important;background:rgba(0,0,0,.5)!important;z-index:99998!important;align-items:flex-start!important;justify-content:center!important;padding:40px 12px!important}
.dvn-app .dvn-modal.show{display:flex!important}
.dvn-app .dvn-modal-box{background:var(--c-card)!important;border-radius:14px!important;width:100%!important;max-width:480px!important;max-height:80vh!important;overflow:auto!important;padding:14px!important;box-shadow:0 10px 40px rgba(0,0,0,.3)!important}
.dvn-app .dvn-modal-head{display:flex!important;justify-content:space-between!important;align-items:center!important;font-weight:800!important;margin-bottom:8px!important}
.dvn-app .dvn-modal-x{background:transparent!important;cursor:pointer!important;font-size:18px!important;color:var(--c-text2)!important}
.dvn-app .dvn-set-box{max-width:620px!important}
.dvn-app .dvn-set-h{margin:4px 0 2px!important;font-size:calc(var(--fs) + 1px)!important;font-weight:800!important}
.dvn-app .dvn-set-desc{margin:0 0 12px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-set-controls{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 10px!important;flex-wrap:wrap!important}
.dvn-app .dvn-set-count{font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important;font-weight:700!important}
.dvn-app .dvn-set-row{display:flex!important;align-items:center!important;gap:8px!important;margin-bottom:10px!important;flex-wrap:nowrap!important}
.dvn-app .dvn-set-lb{flex:0 0 auto!important;font-weight:700!important;min-width:58px!important}
.dvn-app .dvn-set-user{flex:1 1 auto!important;min-width:0!important}
.dvn-app .dvn-set-role{flex:0 0 34%!important;min-width:0!important}
.dvn-app .dvn-set-remove{flex:0 0 auto!important;background:var(--c-bg)!important;color:var(--c-danger)!important;border:1px solid var(--c-border)!important;border-radius:8px!important;padding:7px 9px!important;cursor:pointer!important;font-size:calc(var(--fs) - 1px)!important;font-weight:700!important}
.dvn-app .dvn-set-remove:hover{background:#fef2f2!important;border-color:#fecaca!important}
.dvn-app .dvn-set-empty{margin:4px 0 10px!important;padding:10px!important;border:1px dashed var(--c-border)!important;border-radius:8px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-set-invalid{border-color:var(--c-danger)!important;box-shadow:0 0 0 2px rgba(239,68,68,.14)!important}
.dvn-app .dvn-set-ft{display:flex!important;align-items:center!important;gap:12px!important;margin-top:14px!important}
.dvn-app .dvn-set-msg{font-weight:700!important}
@media(max-width:560px){
  .dvn-app .dvn-set-row{flex-wrap:wrap!important}
  .dvn-app .dvn-set-lb{flex:0 0 100%!important}
  .dvn-app .dvn-set-user{flex:1 1 145px!important}
  .dvn-app .dvn-set-role{flex:1 1 145px!important}
}
.dvn-app .dvn-radios{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important;align-items:center!important;padding:4px 0!important}
.dvn-app .dvn-radios label{display:inline-flex!important;align-items:center!important;gap:5px!important;font-weight:600!important;cursor:pointer!important;margin:0!important}
.dvn-app .dvn-radios input[type="radio"]{width:16px!important;height:16px!important;accent-color:#4f46e5!important;margin:0!important}
.dvn-app .dvn-di-extra{display:flex!important;flex-wrap:wrap!important;gap:4px 12px!important;margin-top:6px!important;font-size:12px!important;color:var(--c-text2,#475569)!important;background:rgba(79,70,229,.05)!important;border-radius:8px!important;padding:6px 9px!important}
.dvn-app .dvn-di-extra span{white-space:nowrap!important}
.dvn-app .dvn-di-extra b{color:var(--c-text,#0f172a)!important;font-weight:700!important}
.dvn-app #dvn-mat-q{width:100%!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:10px!important;margin-bottom:8px!important}
.dvn-app .dvn-mat-hit{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:9px!important;border-bottom:1px solid var(--c-border)!important;cursor:pointer!important}
.dvn-app .dvn-mat-hit:hover{background:var(--c-hover)!important}
.dvn-app .dvn-mh-nm small{color:var(--c-text2)!important}
.dvn-app .dvn-mh-pr{color:var(--c-accent)!important;font-weight:700!important}

/* ---- ライトボックス ---- */
.dvn-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:99999;align-items:center;justify-content:center;user-select:none}
.dvn-lb.show{display:flex}
.dvn-lb img{max-width:92vw;max-height:88vh;cursor:grab}
.dvn-lb-x{position:fixed;top:16px;right:20px;color:#fff;font-size:30px;cursor:pointer;z-index:100000}
.dvn-lb-tools{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:100000}
.dvn-lb-tools button{background:rgba(255,255,255,.15);color:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:16px}
.dvn-lb-tools button:hover{background:rgba(255,255,255,.3)}

/* ============================================================
   順番お知らせ トップバー（全ページ・固定）
   ============================================================ */
#dvtv-nippo-topbar-root{position:relative;z-index:99990}
#dvtv-nippo-topbar-root .dvn-tbar{position:relative;width:100%;
  background:linear-gradient(135deg,#6c63ff,#a259ff);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.18);
  font-family:'Segoe UI','Meiryo','Hiragino Sans',sans-serif;font-size:14px}
#dvtv-nippo-topbar-root .dvn-tbar-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.2)}
#dvtv-nippo-topbar-root .dvn-tbar-prog{background:rgba(255,255,255,.22);border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700}
#dvtv-nippo-topbar-root .dvn-tbar-btn{margin-left:auto;background:#fff;color:#6c63ff;border-radius:8px;padding:5px 14px;font-weight:800;text-decoration:none}
#dvtv-nippo-topbar-root .dvn-tbar-btn:hover{background:#f0f0ff}

/* ============================================================
   v1.1.0 追加UI（役割・現場情報・打刻・コメント・PDF）
   ============================================================ */
.dvn-app .dvn-sub{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;font-weight:600!important}
.dvn-app .dvn-route-add input[type="text"]{flex:1 1 120px!important;min-width:90px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px!important}
.dvn-app .dvn-rl-role{width:110px!important;background:var(--c-card)!important;color:var(--c-text)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:4px 6px!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-tl-role{display:block!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-accent)!important;font-weight:700!important}

.dvn-app .dvn-info-card{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:12px!important;margin-bottom:12px!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-info-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-info-grid b{color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-info-wide{grid-column:span 1!important}
.dvn-app .dvn-info-hiyari{margin-top:8px!important;background:#fff7ed!important;color:#9a3412!important;border-left:3px solid var(--c-warn)!important;border-radius:4px!important;padding:6px 10px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app[data-theme="dark"] .dvn-info-hiyari{background:#3a2410!important;color:#fdba74!important}
.dvn-app .dvn-info-form{margin-top:10px!important;border-top:1px dashed var(--c-border)!important;padding-top:10px!important}

.dvn-app .dvn-punch{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;margin-bottom:10px!important}
.dvn-app .dvn-punch-start{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-punch-end{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-punch-disp{font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important;font-weight:700!important}

.dvn-app .dvn-btn-pdf{background:linear-gradient(135deg,#475569,#1e293b)!important;color:#fff!important;border-color:transparent!important}

.dvn-app .dvn-comments{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:14px!important;margin-top:12px!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-cmt-list{display:flex!important;flex-direction:column!important;gap:8px!important;margin-bottom:10px!important}
.dvn-app .dvn-cmt{background:var(--c-bg)!important;border-radius:8px!important;padding:8px 10px!important}
.dvn-app .dvn-cmt-user{font-weight:800!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-cmt-time{margin-left:8px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-cmt-body{white-space:pre-wrap!important;margin-top:3px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-cmt-add{display:flex!important;gap:8px!important;align-items:flex-end!important}
.dvn-app .dvn-cmt-add textarea{flex:1!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px!important;font-size:var(--fs)!important}

/* ============================================================
   v1.2.0 追加UI（フローチャート・録音・手書き・編集削除）
   ============================================================ */
/* 一覧カードの回覧フローチャート */
.dvn-app .dvn-flow{display:flex!important;align-items:flex-start!important;flex-wrap:wrap!important;gap:2px!important;margin:10px 0 8px!important}
.dvn-app .dvn-flow-node{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:46px!important;text-align:center!important}
.dvn-app .dvn-fn-dot{width:26px!important;height:26px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important;font-size:calc(var(--fs) - 3px)!important;background:var(--c-border)!important;color:var(--c-text2)!important;border:2px solid transparent!important}
.dvn-app .dvn-fn-name{font-size:calc(var(--fs) - 4px)!important;color:var(--c-text2)!important;margin-top:2px!important;line-height:1.2!important}
.dvn-app .dvn-fn-role{font-size:calc(var(--fs) - 5px)!important;color:var(--c-accent)!important;font-weight:700!important;line-height:1.1!important}
.dvn-app .dvn-fn-done .dvn-fn-dot{background:#10b981!important;color:#fff!important}
.dvn-app .dvn-fn-active .dvn-fn-dot{background:var(--c-accent)!important;color:#fff!important;border-color:var(--c-accent2)!important;box-shadow:0 0 0 3px rgba(108,99,255,.25)!important}
.dvn-app .dvn-fn-skip .dvn-fn-dot{background:transparent!important;border:2px dashed var(--c-border)!important}
.dvn-app .dvn-fn-skip .dvn-fn-name{text-decoration:line-through!important}
.dvn-app .dvn-flow-arrow{align-self:center!important;color:var(--c-border)!important;font-size:calc(var(--fs) + 4px)!important;font-weight:800!important;margin-top:-12px!important}
.dvn-app .dvn-fa-done{color:#10b981!important}.dvn-app .dvn-fa-active{color:var(--c-accent)!important}

/* クイックメモバー */
.dvn-app .dvn-quickbar{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important;background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:10px!important;margin-bottom:12px!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-btn-rec{background:linear-gradient(135deg,#f43f5e,#e11d48)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-draw{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-quick-hint{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}

/* 明細の種別・操作・音声 */
.dvn-app .dvn-di-memo{border-left:4px solid #0ea5e9!important}
.dvn-app .dvn-di-kind{background:#e0f2fe!important;color:#0369a1!important;border-radius:6px!important;padding:2px 8px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important}
.dvn-app[data-theme="dark"] .dvn-di-kind{background:#0c4a6e!important;color:#bae6fd!important}
.dvn-app .dvn-di-ops{margin-left:auto!important;display:flex!important;gap:6px!important}
.dvn-app .dvn-di-edit,.dvn-app .dvn-di-del{background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:3px 9px!important;cursor:pointer!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text)!important}
.dvn-app .dvn-di-del{color:var(--c-danger)!important}
.dvn-app .dvn-di-audio{width:100%!important;margin-top:6px!important;height:36px!important}

/* 録音モーダル */
.dvn-app .dvn-rec-status{font-weight:700!important;margin-bottom:8px!important}
.dvn-app .dvn-rec-controls{display:flex!important;gap:8px!important;align-items:center!important;margin-bottom:8px!important}
.dvn-app .dvn-rec-timer{font-weight:800!important;font-variant-numeric:tabular-nums!important;font-size:calc(var(--fs) + 2px)!important}
.dvn-app #dvn-rec-text,.dvn-app #dvn-draw-note{width:100%!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:10px!important;font-size:var(--fs)!important;margin-top:4px!important}
.dvn-app .dvn-rec-actions{margin-top:10px!important}

/* 手書きキャンバス */
.dvn-app .dvn-draw-tools{display:flex!important;gap:6px!important;margin-bottom:8px!important}
.dvn-app .dvn-canvas{width:100%!important;height:auto!important;aspect-ratio:640/420!important;background:#fff!important;border:1px solid var(--c-border)!important;border-radius:8px!important;touch-action:none!important;cursor:crosshair!important}

/* v1.3.0 サンプル・削除 */
.dvn-app .dvn-head-btns{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.dvn-app .dvn-btn-del-nippo{background:#fef2f2!important;color:#b91c1c!important;border-color:#fca5a5!important}

/* v1.4.0 電子黒板入力 */
.dvn-app .dvn-bb-fields{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:6px!important}
.dvn-app .dvn-bb-fields input{flex:1 1 130px!important;min-width:110px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:7px 9px!important;font-size:calc(var(--fs) - 1px)!important}

/* v1.4.1 最終更新表示・アンカー着地 */
.dvn-app .dvn-last{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-top:8px!important;padding-top:8px!important;border-top:1px dashed var(--c-border)!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-last-time{color:var(--c-text2)!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-last-user{font-weight:800!important;color:var(--c-text)!important}
.dvn-app .dvn-last-label{background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:1px 8px!important;color:var(--c-text)!important}
.dvn-app .dvn-last-go{margin-left:auto!important;color:var(--c-accent)!important;font-weight:800!important}
.dvn-app .dvn-detail-item,.dvn-app .dvn-cmt{scroll-margin-top:84px!important}
.dvn-app .dvn-detail-item:target,.dvn-app .dvn-cmt:target{animation:dvnHi 2.2s ease!important;outline:2px solid var(--c-accent)!important;outline-offset:2px!important;border-radius:10px!important}
@keyframes dvnHi{0%{background:rgba(108,99,255,.22)}100%{background:transparent}}

/* v1.5.0 マスタ分類ブラウズ */
.dvn-app .dvn-mat-box{max-width:560px!important}
.dvn-app .dvn-mat-bc{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:4px!important;margin:8px 0!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-bc-item{cursor:pointer!important;color:var(--c-accent)!important;font-weight:700!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:2px 8px!important}
.dvn-app .dvn-bc-sep{color:var(--c-text2)!important}
.dvn-app .dvn-mat-cards{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:8px!important;margin:8px 0!important;max-height:46vh!important;overflow:auto!important}
.dvn-app .dvn-mat-card{cursor:pointer!important;background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:10px!important;padding:12px 10px!important;font-weight:700!important;display:flex!important;justify-content:space-between!important;align-items:center!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-mat-card:active{transform:scale(.98)!important}
.dvn-app .dvn-mc-go{color:var(--c-accent)!important;font-weight:800!important}
.dvn-app .dvn-mat-results{max-height:46vh!important;overflow:auto!important}

/* v1.5.0 黒板オプション */
.dvn-app .dvn-bb-opts{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;margin:6px 0!important}
.dvn-app .dvn-bb-opts select{background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:5px 8px!important;margin-left:4px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-bb-exif{display:flex!important;align-items:center!important;gap:4px!important}

/* v1.6.0 現場の関連書類 */
.dvn-app .dvn-docs{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:var(--radius)!important;padding:14px!important;margin-top:12px!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-docs-genba{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;margin-bottom:8px!important}
.dvn-app .dvn-docs-sec{margin-bottom:12px!important}
.dvn-app .dvn-docs-cap{font-weight:800!important;margin-bottom:6px!important;display:flex!important;align-items:center!important;gap:8px!important}
.dvn-app .dvn-rcpt-total{margin-left:auto!important;background:#ecfdf5!important;color:#047857!important;border:1px solid #6ee7b7!important;border-radius:8px!important;padding:2px 10px!important;font-variant-numeric:tabular-nums!important}
.dvn-app[data-theme="dark"] .dvn-rcpt-total{background:#064e3b!important;color:#6ee7b7!important}
.dvn-app .dvn-doc-row{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;text-decoration:none!important;color:var(--c-text)!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:8px!important;padding:8px 10px!important;margin-bottom:6px!important}
.dvn-app .dvn-doc-row:active{transform:scale(.995)!important}
.dvn-app .dvn-doc-type{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:1px 8px!important;font-size:calc(var(--fs) - 3px)!important;font-weight:800!important;color:var(--c-accent)!important}
.dvn-app .dvn-doc-title{font-weight:700!important;flex:1 1 120px!important}
.dvn-app .dvn-doc-meta{font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-doc-go{color:var(--c-accent)!important;font-weight:800!important}
.dvn-app .dvn-rcpt-amt{font-weight:800!important;font-variant-numeric:tabular-nums!important;color:#047857!important;margin-left:auto!important}
.dvn-app[data-theme="dark"] .dvn-rcpt-amt{color:#6ee7b7!important}
.dvn-app .dvn-rcpt-row .dvn-doc-type{color:#047857!important}

/* v1.7.0 全ボタン配色（白ボタン廃止・リンク→ボタン） */
.dvn-app .dvn-filter .dvn-btn{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-btn-del-nippo{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-di-edit{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-di-del{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-rl-ops button{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important;border-color:transparent!important;font-weight:700!important}
.dvn-app .dvn-mat-card{background:linear-gradient(135deg,#eef2ff,#e0e7ff)!important;color:#3730a3!important;border-color:#c7d2fe!important}
.dvn-app[data-theme="dark"] .dvn-mat-card{background:linear-gradient(135deg,#312e81,#3730a3)!important;color:#e0e7ff!important;border-color:#4f46e5!important}
.dvn-app .dvn-bc-item{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-mat-hit{cursor:pointer!important}
.dvn-app .dvn-mat-direct{background:linear-gradient(135deg,#64748b,#475569)!important;color:#fff!important;border-color:transparent!important}
/* 関連書類リンクをボタン表示に */
.dvn-app .dvn-doc-row{background:linear-gradient(135deg,#f8fafc,#eef2f7)!important;border-color:#cbd5e1!important}
.dvn-app[data-theme="dark"] .dvn-doc-row{background:var(--c-bg)!important;border-color:var(--c-border)!important}
.dvn-app .dvn-doc-go{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important;border-radius:6px!important;padding:3px 12px!important;font-weight:800!important;margin-left:auto!important;font-size:calc(var(--fs) - 3px)!important;white-space:nowrap!important}

/* v1.8.0 材料行の幅修正（.dvn-fg input の100%上書きを打ち消す）＋黒板メモ表記 */
.dvn-app .dvn-mat-row .dvn-mat-qty{flex:0 0 96px!important;width:96px!important;text-align:right!important}
.dvn-app .dvn-mat-row .dvn-mat-nm{flex:1 1 auto!important;min-width:0!important;word-break:break-word!important}
.dvn-app .dvn-mat-row .dvn-mat-unit{flex:0 0 auto!important;width:auto!important;min-width:28px!important}
.dvn-app .dvn-mat-row .dvn-mat-del{flex:0 0 auto!important}
.dvn-app .dvn-mat-src{display:inline-block!important;white-space:nowrap!important;background:#eef2ff!important;color:#4338ca!important;border-radius:5px!important;padding:0 6px!important;font-size:calc(var(--fs) - 3px)!important;font-weight:700!important;margin-left:4px!important}
.dvn-app[data-theme="dark"] .dvn-mat-src{background:#312e81!important;color:#c7d2fe!important}
.dvn-app .dvn-src-d{background:#f1f5f9!important;color:#475569!important}
.dvn-app[data-theme="dark"] .dvn-src-d{background:#334155!important;color:#cbd5e1!important}
.dvn-app .dvn-bb-note{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}

/* v1.9.0 お知らせ回覧板（トップページ用ショートコード） */
.dvn-app.dvn-oshirase{margin:0 0 14px!important}
.dvn-app .dvn-osh-head{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important}
.dvn-app .dvn-osh-title{font-weight:800!important;font-size:calc(var(--fs) + 1px)!important}
.dvn-app .dvn-osh-badge{background:linear-gradient(135deg,#f43f5e,#e11d48)!important;color:#fff!important;border-radius:999px!important;padding:1px 10px!important;font-weight:800!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-osh-list{display:flex!important;flex-direction:column!important;gap:8px!important}
.dvn-app .dvn-osh-card{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;color:var(--c-text)!important;
  background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;border:1px solid #fdba74!important;border-left:5px solid #f59e0b!important;border-radius:12px!important;padding:10px 12px!important;box-shadow:var(--shadow)!important}
.dvn-app[data-theme="dark"] .dvn-osh-card{background:linear-gradient(135deg,#3a2410,#4a2f12)!important;border-color:#b45309!important}
.dvn-app .dvn-osh-card:active{transform:scale(.995)!important}
.dvn-app .dvn-osh-bell{font-size:calc(var(--fs) + 6px)!important}
.dvn-app .dvn-osh-body{display:flex!important;flex-direction:column!important;gap:2px!important;flex:1 1 auto!important;min-width:0!important}
.dvn-app .dvn-osh-genba{font-weight:800!important;font-size:calc(var(--fs) + 1px)!important}
.dvn-app .dvn-osh-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-osh-role{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:6px!important;padding:0 8px!important;color:var(--c-accent)!important;font-weight:700!important}
.dvn-app .dvn-osh-from{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-osh-go{flex:0 0 auto!important;background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;border-radius:9px!important;padding:8px 14px!important;font-weight:800!important;white-space:nowrap!important}
.dvn-app .dvn-osh-none{display:block!important;color:var(--c-text2)!important;background:var(--c-card)!important;border:1px dashed var(--c-border)!important;border-radius:10px!important;padding:10px 12px!important;font-size:calc(var(--fs) - 1px)!important}

/* v1.10.0 状態タブ・ページネーション */
.dvn-app .dvn-tabs{display:flex!important;gap:8px!important;margin:6px 0 12px!important;flex-wrap:wrap!important}
.dvn-app .dvn-tab{display:inline-flex!important;align-items:center!important;gap:6px!important;text-decoration:none!important;
  background:var(--c-card)!important;color:var(--c-text)!important;border:1px solid var(--c-border)!important;border-radius:999px!important;padding:7px 14px!important;font-weight:700!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-tab b{background:var(--c-bg)!important;border-radius:999px!important;padding:0 8px!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-tab-on{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-tab-on b{background:rgba(255,255,255,.25)!important;color:#fff!important}
.dvn-app .dvn-pager{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin-top:14px!important;flex-wrap:wrap!important}
.dvn-app .dvn-pager-info{font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important;font-variant-numeric:tabular-nums!important}

/* v1.12.0 ダーク時はページ全体（外側余白）も暗く */
html.dvn-nippo-dark, body.dvn-nippo-dark{background:#0d0d1a!important}
body.dvn-nippo-dark, body.dvn-nippo-dark #page, body.dvn-nippo-dark .site,
body.dvn-nippo-dark .site-content, body.dvn-nippo-dark #content,
body.dvn-nippo-dark .content-area, body.dvn-nippo-dark main,
body.dvn-nippo-dark .entry-content, body.dvn-nippo-dark .wp-block-post-content{background-color:#0d0d1a!important}

/* v1.14.0 追記：打刻バー（常時表示）＋色付きアコーディオン */
.dvn-app .dvn-punch-bar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;
  background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:10px!important;padding:10px!important;margin-bottom:12px!important}
.dvn-app .dvn-punch-time{flex:1 1 180px!important;min-width:140px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:9px 10px!important;font-size:var(--fs)!important}
.dvn-app .dvn-punch-disp{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;width:100%!important}

/* セクション本体（枠で囲う） */
.dvn-app .dvn-sec{margin-bottom:10px!important;background:transparent!important;border:none!important;padding:0!important}
.dvn-app .dvn-sec-body{background:var(--c-card)!important;border:2px solid var(--c-border)!important;border-top:none!important;border-radius:0 0 12px 12px!important;padding:12px!important}
.dvn-app .dvn-sec-body .dvn-fg:last-child{margin-bottom:0!important}

/* 見出し：色付きバー（白文字）。開＝上だけ角丸＋本体に接続／閉＝全角丸 */
.dvn-app .dvn-sec-h{display:flex!important;align-items:center!important;gap:8px!important;cursor:pointer!important;user-select:none!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;font-size:calc(var(--fs) + 1px)!important;
  padding:12px 14px!important;border:none!important;border-radius:12px 12px 0 0!important;margin:0!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-sec-collapsible.dvn-collapsed > .dvn-sec-h{border-radius:12px!important}
.dvn-app .dvn-sec-tg{margin-left:auto!important;font-size:calc(var(--fs) + 3px)!important;transition:transform .2s!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.dvn-app .dvn-sec-collapsible.dvn-collapsed > .dvn-sec-h .dvn-sec-tg{transform:rotate(-90deg)!important}
.dvn-app .dvn-sec-collapsible.dvn-collapsed > .dvn-sec-body{display:none!important}

/* セクション別カラー（見出しバー＋本体枠） */
.dvn-app .dvn-sec-work  > .dvn-sec-h{background:linear-gradient(135deg,#6366f1,#4f46e5)!important}
.dvn-app .dvn-sec-work  .dvn-sec-body{border-color:#6366f1!important}
.dvn-app .dvn-sec-warn  > .dvn-sec-h{background:linear-gradient(135deg,#f59e0b,#d97706)!important}
.dvn-app .dvn-sec-warn  .dvn-sec-body{border-color:#f59e0b!important}
.dvn-app .dvn-sec-mat   > .dvn-sec-h{background:linear-gradient(135deg,#14b8a6,#0d9488)!important}
.dvn-app .dvn-sec-mat   .dvn-sec-body{border-color:#14b8a6!important}
.dvn-app .dvn-sec-photo > .dvn-sec-h{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important}
.dvn-app .dvn-sec-photo .dvn-sec-body{border-color:#0ea5e9!important}
.dvn-app .dvn-sec-koji  > .dvn-sec-h{background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important}
.dvn-app .dvn-sec-koji  .dvn-sec-body{border-color:#8b5cf6!important}
.dvn-app .dvn-sec-cost  > .dvn-sec-h{background:linear-gradient(135deg,#10b981,#059669)!important}
.dvn-app .dvn-sec-cost  .dvn-sec-body{border-color:#10b981!important}
.dvn-app .dvn-sec-trans > .dvn-sec-h{background:linear-gradient(135deg,#f43f5e,#e11d48)!important}
.dvn-app .dvn-sec-trans .dvn-sec-body{border-color:#f43f5e!important}
/* 種別クラス未指定セクションの保険（白地に白で番号が消えないように） */
.dvn-app .dvn-sec-collapsible:not(.dvn-sec-work):not(.dvn-sec-warn):not(.dvn-sec-mat):not(.dvn-sec-photo):not(.dvn-sec-koji):not(.dvn-sec-cost):not(.dvn-sec-trans) > .dvn-sec-h{background:linear-gradient(135deg,#64748b,#475569)!important}


/* ---- モバイル最適化 ---- */
@media(max-width:560px){
  .dvn-app .dvn-info-grid{grid-template-columns:repeat(2,1fr)!important}
  .dvn-app .dvn-route-add{flex-wrap:wrap!important}
  .dvn-app .dvn-rl-role{width:90px!important}
  .dvn-app{padding:8px!important;border-radius:0!important}
  .dvn-app .dvn-cards{grid-template-columns:1fr!important}
  .dvn-app .dvn-row2{flex-direction:column!important;gap:0!important}
  .dvn-app .dvn-actions .dvn-btn{flex:1 1 100%!important}
  .dvn-app .dvn-thumb,.dvn-app .dvn-ph-up,.dvn-app .dvn-ph-up img{width:72px!important;height:72px!important}

  /* v1.79.0 ツールバー: タイトルを1行目・ボタン群を2行目に回す。
     従来は1行に詰め込まれ、日本語ラベルが1文字ずつ縦に折り返していた。 */
  .dvn-app .dvn-toolbar{flex-wrap:wrap!important;gap:8px!important;padding:10px!important;
    justify-content:flex-start!important}
  .dvn-app .dvn-tb-title{flex:1 1 100%!important;font-size:calc(var(--fs) + 2px)!important;
    text-align:left!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .dvn-app .dvn-tb-right{width:100%!important;flex-wrap:wrap!important;gap:6px!important;
    justify-content:flex-start!important;align-items:center!important}
  .dvn-app .dvn-tb-btn{min-height:36px!important;padding:7px 12px!important}
  /* A− / A＋ / 🌙 は正方形にして右端へ寄せる */
  .dvn-app .dvn-tb-btn[data-fs]{min-width:42px!important;padding:7px 8px!important}
  .dvn-app .dvn-tb-btn[data-fs="-"]{margin-left:auto!important}
  .dvn-app #dvn-dark-toggle{min-width:42px!important;padding:7px 8px!important}

  /* v1.79.0 見積連携まわりを全幅に（v1.78系で追加したブロック） */
  .dvn-app .dvn-mitu-stack{width:100%!important;display:flex!important}
  .dvn-app .dvn-mitu-stack .dvn-btn{width:100%!important}
  .dvn-app .dvn-manual-mitu{width:100%!important;align-self:stretch!important}
  .dvn-app .dvn-slink-open{width:100%!important;text-align:center!important;min-height:36px!important}
}

/* 回覧担当エディタ */
.dvn-app .dvn-route-edit-wrap{margin:0 0 10px!important}
.dvn-app .dvn-btn-route{background:linear-gradient(135deg,#0ea5e9,#6366f1)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:none!important}
.dvn-app .dvn-route-editor{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:10px!important;padding:12px!important;margin-top:8px!important}
.dvn-app .dvn-rt-row{display:flex!important;align-items:center!important;gap:6px!important;margin-bottom:6px!important;flex-wrap:wrap!important}
.dvn-app .dvn-rt-handle{color:var(--c-text2)!important;cursor:default!important}
.dvn-app .dvn-rt-row .dvn-rt-user{flex:1 1 160px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:7px!important;padding:7px 8px!important}
.dvn-app .dvn-rt-row .dvn-rt-role{flex:0 0 120px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:7px!important;padding:7px 8px!important}
.dvn-app .dvn-rt-state{flex:0 0 auto!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important;border-radius:6px!important;padding:2px 8px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:#94a3b8!important}
.dvn-app .dvn-rt-st-done{background:#10b981!important}.dvn-app .dvn-rt-st-active{background:#6366f1!important}.dvn-app .dvn-rt-st-wait{background:#94a3b8!important}
.dvn-app .dvn-rt-up,.dvn-app .dvn-rt-down,.dvn-app .dvn-rt-del{flex:0 0 auto!important;width:30px!important;height:30px!important;border:1px solid var(--c-border)!important;background:var(--c-bg)!important;color:var(--c-text)!important;border-radius:7px!important;cursor:pointer!important}
.dvn-app .dvn-rt-del{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:none!important}
.dvn-app .dvn-route-editor-acts{display:flex!important;gap:8px!important;margin-top:8px!important;flex-wrap:wrap!important}

/* ============================================================
   v1.22.0 — カラー回覧UI（現担当バナー／ステッパー／本文タイムライン／モーダル入力／差し戻し先／必須赤点滅）
   ============================================================ */

/* ---- 現担当スティッキーバナー ---- */
.dvn-app .dvn-now-banner{position:sticky!important;top:0!important;z-index:60!important;display:flex!important;align-items:center!important;gap:10px!important;
  background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-left:5px solid var(--mc,var(--c-accent))!important;
  border-radius:12px!important;padding:9px 12px!important;margin-bottom:10px!important;box-shadow:0 4px 14px rgba(0,0,0,.10)!important;backdrop-filter:saturate(1.2)!important}
.dvn-app .dvn-now-ava{flex:0 0 auto!important;width:30px!important;height:30px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;font-size:calc(var(--fs))!important}
.dvn-app .dvn-now-txt{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;font-size:calc(var(--fs))!important;color:var(--c-text)!important}
.dvn-app .dvn-now-txt strong{color:var(--c-text)!important;font-weight:800!important}
.dvn-app .dvn-now-pos{background:var(--c-bg)!important;color:var(--c-text2)!important;border-radius:20px!important;padding:2px 10px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important}
.dvn-app .dvn-now-role{color:var(--mc,var(--c-accent))!important;-webkit-text-fill-color:var(--mc,var(--c-accent))!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important}
.dvn-app .dvn-now-mine{border-left-color:var(--mc,var(--c-accent))!important;animation:dvnNowGlow 1.8s ease-in-out infinite!important}
.dvn-app .dvn-now-mine .dvn-now-txt strong{color:var(--mc,var(--c-accent))!important;-webkit-text-fill-color:var(--mc,var(--c-accent))!important}
@keyframes dvnNowGlow{0%,100%{box-shadow:0 0 0 0 rgba(108,99,255,.0),0 4px 14px rgba(0,0,0,.10)}50%{box-shadow:0 0 0 4px rgba(108,99,255,.22),0 4px 16px rgba(0,0,0,.14)}}
.dvn-app .dvn-now-done{border-left-color:var(--c-ok)!important;background:#ecfdf5!important}
.dvn-app[data-theme="dark"] .dvn-now-done{background:#062e22!important}

/* ---- 回覧ステッパー（モバイル＝縦の連結ライン／640px〜＝横並び矢印） ---- */
.dvn-app .dvn-stepper{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:10px!important;list-style:none!important}
.dvn-app .dvn-step{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;padding:7px 4px!important;cursor:pointer!important;border-radius:8px!important;transition:background .15s!important}
.dvn-app .dvn-step:hover{background:var(--c-hover)!important}
.dvn-app .dvn-step::before{content:''!important;position:absolute!important;left:18px!important;top:0!important;bottom:0!important;width:2px!important;background:var(--c-border)!important;z-index:0!important}
.dvn-app .dvn-step:first-child::before{top:50%!important}
.dvn-app .dvn-step:last-child::before{bottom:50%!important}
.dvn-app .dvn-step-ava{position:relative!important;z-index:1!important;flex:0 0 auto!important;width:32px!important;height:32px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;font-size:calc(var(--fs) - 1px)!important;box-shadow:0 0 0 3px var(--c-card)!important}
.dvn-app .dvn-step-ck{position:absolute!important;right:-3px!important;bottom:-3px!important;width:15px!important;height:15px!important;border-radius:50%!important;background:var(--c-ok)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:9px!important;font-style:normal!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 0 0 2px var(--c-card)!important}
.dvn-app .dvn-step-meta{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important}
.dvn-app .dvn-step-name{font-weight:800!important;font-size:calc(var(--fs))!important;color:var(--c-text)!important}
.dvn-app .dvn-step-role{font-weight:600!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-step-sub{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-step-state{font-weight:700!important}
.dvn-app .dvn-step-time,.dvn-app .dvn-step-cnt{background:var(--c-bg)!important;border-radius:5px!important;padding:1px 6px!important}
.dvn-app .dvn-step-cnt{color:var(--mc,var(--c-accent))!important;-webkit-text-fill-color:var(--mc,var(--c-accent))!important;font-weight:700!important}
.dvn-app .dvn-step-back{background:#fee2e2!important;color:#b91c1c!important;-webkit-text-fill-color:#b91c1c!important;border-radius:5px!important;padding:1px 6px!important;font-weight:700!important}
.dvn-app[data-theme="dark"] .dvn-step-back{background:#3a1414!important;color:#fca5a5!important;-webkit-text-fill-color:#fca5a5!important}
.dvn-app .dvn-step-done .dvn-step-name{color:var(--c-text)!important}
.dvn-app .dvn-step-wait{opacity:.72!important}
.dvn-app .dvn-step-skip{opacity:.5!important}.dvn-app .dvn-step-skip .dvn-step-name{text-decoration:line-through!important}
.dvn-app .dvn-step-active{background:color-mix(in srgb,var(--mc,var(--c-accent)) 12%,transparent)!important}
.dvn-app .dvn-step-active .dvn-step-ava{animation:dvnStepPulse 1.6s ease-in-out infinite!important}
@keyframes dvnStepPulse{0%,100%{box-shadow:0 0 0 3px var(--c-card),0 0 0 4px color-mix(in srgb,var(--mc,var(--c-accent)) 0%,transparent)}50%{box-shadow:0 0 0 3px var(--c-card),0 0 0 8px color-mix(in srgb,var(--mc,var(--c-accent)) 35%,transparent)}}

@media (min-width:640px){
  .dvn-app .dvn-stepper{flex-direction:row!important;flex-wrap:wrap!important;gap:6px!important;align-items:stretch!important}
  .dvn-app .dvn-step{padding:6px 10px!important;border:1px solid var(--c-border)!important;border-radius:10px!important;border-left:4px solid var(--mc,var(--c-accent))!important;background:var(--c-card)!important}
  .dvn-app .dvn-step::before{display:none!important}
  .dvn-app .dvn-step:not(:last-child)::after{content:'›'!important;position:absolute!important;right:-7px!important;top:50%!important;transform:translateY(-50%)!important;color:var(--c-text2)!important;font-weight:800!important;z-index:2!important}
  .dvn-app .dvn-step-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--mc,var(--c-accent)) 35%,transparent)!important}
}

/* ---- 本文：日付区切り ---- */
.dvn-app .dvn-day-div{display:flex!important;align-items:center!important;text-align:center!important;gap:10px!important;margin:8px 2px 4px!important}
.dvn-app .dvn-day-div::before,.dvn-app .dvn-day-div::after{content:''!important;flex:1!important;height:1px!important;background:var(--c-border)!important}
.dvn-app .dvn-day-div span{font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-text2)!important;background:var(--c-bg)!important;border-radius:20px!important;padding:2px 12px!important}

/* ---- 本文：送り／差し戻し区切りバー ---- */
.dvn-app .dvn-handoff{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  background:var(--c-bg)!important;border:1px dashed var(--c-border)!important;border-radius:10px!important;padding:6px 12px!important;margin:2px 0!important;font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-handoff b{font-weight:800!important}
.dvn-app .dvn-ho-ico{font-size:calc(var(--fs) + 1px)!important}
.dvn-app .dvn-ho-txt{display:inline-flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important}
.dvn-app .dvn-ho-time{margin-left:auto!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important;background:var(--c-card)!important;border-radius:5px!important;padding:1px 7px!important}
.dvn-app .dvn-ho-reason{display:block!important;flex-basis:100%!important;color:#b91c1c!important;-webkit-text-fill-color:#b91c1c!important;font-weight:700!important;margin-top:2px!important}
.dvn-app[data-theme="dark"] .dvn-ho-reason{color:#fca5a5!important;-webkit-text-fill-color:#fca5a5!important}
.dvn-app .dvn-ho-back{border-color:#fca5a5!important;background:#fef2f2!important}
.dvn-app[data-theme="dark"] .dvn-ho-back{background:#2a1414!important;border-color:#7f1d1d!important}
.dvn-app .dvn-ho-create{border-style:solid!important;border-color:#6ee7b7!important;background:#ecfdf5!important}
.dvn-app[data-theme="dark"] .dvn-ho-create{background:#062e22!important;border-color:#065f46!important}
.dvn-app .dvn-ho-skip{border-color:#fcd34d!important;background:#fffbeb!important}
.dvn-app[data-theme="dark"] .dvn-ho-skip{background:#2a2410!important;border-color:#92400e!important}

/* ---- 本文：追記アイテムのアバター・日付 ---- */
.dvn-app .dvn-di-ava{flex:0 0 auto!important;width:26px!important;height:26px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-di-date{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;background:var(--c-bg)!important;border-radius:6px!important;padding:2px 8px!important;font-weight:700!important}
.dvn-app .dvn-hl{animation:dvnHi 1.4s ease-out!important}

/* ---- 追記オープンボタン＋入力モーダル ---- */
.dvn-app .dvn-entry-open-wrap{margin:6px 0 12px!important}
.dvn-app .dvn-entry-hint{display:block!important;margin-top:6px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;line-height:1.4!important}
.dvn-app .dvn-btn-entry{background:linear-gradient(135deg,var(--mc,var(--c-accent)),color-mix(in srgb,var(--mc,var(--c-accent)) 70%,#000))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 4px 14px color-mix(in srgb,var(--mc,var(--c-accent)) 40%,transparent)!important}
.dvn-app .dvn-entry-box{max-width:580px!important;border-top:5px solid var(--mc,var(--c-accent))!important}
.dvn-app .dvn-entry-box .dvn-card-form{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;background:transparent!important}

/* ---- 差し戻し先ピッカー ---- */
.dvn-app .dvn-back-list{display:flex!important;flex-direction:column!important;gap:8px!important;margin:6px 0!important}
.dvn-app .dvn-back-opt{display:flex!important;align-items:center!important;gap:10px!important;border:2px solid var(--c-border)!important;border-radius:10px!important;padding:8px 10px!important;cursor:pointer!important;transition:.12s!important}
.dvn-app .dvn-back-opt:hover{background:var(--c-hover)!important}
.dvn-app .dvn-back-opt:has(input:checked){border-color:var(--mc,var(--c-accent))!important;background:color-mix(in srgb,var(--mc,var(--c-accent)) 10%,transparent)!important}
.dvn-app .dvn-back-opt input{flex:0 0 auto!important;width:18px!important;height:18px!important;accent-color:var(--mc,var(--c-accent))!important}
.dvn-app .dvn-back-ava{flex:0 0 auto!important;width:28px!important;height:28px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-back-nm{font-weight:700!important;color:var(--c-text)!important}
.dvn-app .dvn-back-nm small{color:var(--c-text2)!important;font-weight:600!important}
.dvn-app .dvn-back-seq{margin-left:auto!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;background:var(--c-bg)!important;border-radius:6px!important;padding:2px 8px!important;font-weight:700!important}
.dvn-app .dvn-back-rlabel{display:block!important;margin-top:8px!important}
.dvn-app #dvn-back-reason{width:100%!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:9px!important;font-size:var(--fs)!important;margin-top:4px!important}

/* ---- 必須未入力：赤点滅 ---- */
@keyframes dvnFlash{0%,100%{box-shadow:0 0 0 1px rgba(239,68,68,.25);background-color:rgba(239,68,68,.05)}50%{box-shadow:0 0 0 5px rgba(239,68,68,.5);background-color:rgba(239,68,68,.18)}}
.dvn-app input.dvn-invalid,.dvn-app textarea.dvn-invalid,.dvn-app select.dvn-invalid,.dvn-app .dvn-invalid{border:2px solid #ef4444!important;border-radius:8px!important;animation:dvnFlash .9s ease-in-out infinite!important}

/* ============================================================
   v1.22.4 視認性改善：担当者別・入力導線・現場向けコントラスト
   ============================================================ */
.dvn-app{
  max-width:1120px!important;
  padding:14px!important;
  --c-bg:#f5f7fa;
  --c-card:#ffffff;
  --c-border:#d8dee8;
  --c-text:#172033;
  --c-text2:#667085;
  --c-accent:#0f766e;
  --c-accent2:#2563eb;
  --c-head-bg:linear-gradient(135deg,#123c35,#1f4f46);
  --radius:10px;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.08);
}
.dvn-app[data-theme="dark"]{
  --c-bg:#111827;
  --c-card:#18212f;
  --c-border:#2c3748;
  --c-text:#edf2f7;
  --c-text2:#a7b1c2;
  --c-input-bg:#101826;
  --c-input-border:#3b4658;
}
.dvn-app a:focus-visible,
.dvn-app button:focus-visible,
.dvn-app input:focus-visible,
.dvn-app select:focus-visible,
.dvn-app textarea:focus-visible{
  outline:3px solid rgba(15,118,110,.35)!important;
  outline-offset:2px!important;
}
.dvn-app .dvn-toolbar{
  border-radius:8px!important;
  box-shadow:var(--shadow)!important;
}
.dvn-app .dvn-h2{
  font-size:calc(var(--fs) + 8px)!important;
  line-height:1.25!important;
}
.dvn-app .dvn-btn{
  border-radius:8px!important;
  min-height:40px!important;
}
.dvn-app .dvn-btn-primary,
.dvn-app .dvn-filter .dvn-btn{
  background:linear-gradient(135deg,#0f766e,#2563eb)!important;
}
.dvn-app .dvn-card,
.dvn-app .dvn-card-form,
.dvn-app .dvn-route-track,
.dvn-app .dvn-detail-item,
.dvn-app .dvn-info-card,
.dvn-app .dvn-comments,
.dvn-app .dvn-docs{
  border-radius:10px!important;
  border-color:#d8dee8!important;
}
.dvn-app[data-theme="dark"] .dvn-card,
.dvn-app[data-theme="dark"] .dvn-card-form,
.dvn-app[data-theme="dark"] .dvn-route-track,
.dvn-app[data-theme="dark"] .dvn-detail-item,
.dvn-app[data-theme="dark"] .dvn-info-card,
.dvn-app[data-theme="dark"] .dvn-comments,
.dvn-app[data-theme="dark"] .dvn-docs{
  border-color:var(--c-border)!important;
}

/* 一覧：現在担当と回覧の見やすさ */
.dvn-app .dvn-cards{
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;
}
.dvn-app .dvn-card{
  padding:16px!important;
}
.dvn-app .dvn-genba{
  font-size:calc(var(--fs) + 4px)!important;
  line-height:1.25!important;
}
.dvn-app .dvn-list-current{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  background:#ecfdf5!important;
  border:1px solid #a7f3d0!important;
  border-left:5px solid #0f766e!important;
  border-radius:8px!important;
  padding:8px 10px!important;
  margin:8px 0!important;
  color:#064e3b!important;
}
.dvn-app[data-theme="dark"] .dvn-list-current{
  background:#052e2b!important;
  border-color:#115e59!important;
  color:#99f6e4!important;
}
.dvn-app .dvn-list-current-label{
  background:#0f766e!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-radius:999px!important;
  padding:1px 8px!important;
  font-size:calc(var(--fs) - 3px)!important;
  font-weight:800!important;
}
.dvn-app .dvn-list-current-name{
  font-weight:900!important;
}
.dvn-app .dvn-list-current-role{
  color:#0f766e!important;
  -webkit-text-fill-color:#0f766e!important;
  font-size:calc(var(--fs) - 2px)!important;
  font-weight:800!important;
}
.dvn-app[data-theme="dark"] .dvn-list-current-role{
  color:#99f6e4!important;
  -webkit-text-fill-color:#99f6e4!important;
}
.dvn-app .dvn-flow{
  gap:6px!important;
  margin:12px 0 10px!important;
}
.dvn-app .dvn-flow-node{
  min-width:58px!important;
  background:var(--c-bg)!important;
  border:1px solid var(--c-border)!important;
  border-radius:9px!important;
  padding:6px 6px!important;
}
.dvn-app .dvn-flow-node.dvn-fn-active{
  background:#ecfdf5!important;
  border-color:#0f766e!important;
  box-shadow:0 0 0 2px rgba(15,118,110,.14)!important;
}
.dvn-app[data-theme="dark"] .dvn-flow-node.dvn-fn-active{
  background:#052e2b!important;
}
.dvn-app .dvn-fn-dot{
  width:28px!important;
  height:28px!important;
  font-size:calc(var(--fs) - 1px)!important;
}
.dvn-app .dvn-fn-name{
  margin-top:4px!important;
  font-weight:900!important;
}
.dvn-app .dvn-fn-role{
  max-width:78px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* 詳細：担当者別サマリー */
.dvn-app .dvn-person-summary{
  background:var(--c-card)!important;
  border:1px solid var(--c-border)!important;
  border-radius:10px!important;
  padding:12px!important;
  margin:0 0 12px!important;
  box-shadow:var(--shadow)!important;
}
.dvn-app .dvn-person-summary-head{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.dvn-app .dvn-person-summary-head span{
  font-weight:900!important;
  font-size:calc(var(--fs) + 2px)!important;
  color:var(--c-text)!important;
}
.dvn-app .dvn-person-summary-head small{
  color:var(--c-text2)!important;
  font-size:calc(var(--fs) - 2px)!important;
}
.dvn-app .dvn-person-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:8px!important;
}
.dvn-app .dvn-person-card{
  display:grid!important;
  grid-template-columns:34px 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:68px!important;
  text-align:left!important;
  background:var(--c-bg)!important;
  border:1px solid var(--c-border)!important;
  border-left:5px solid var(--mc,var(--c-accent))!important;
  border-radius:9px!important;
  padding:8px 10px!important;
  color:var(--c-text)!important;
  cursor:pointer!important;
}
.dvn-app .dvn-person-card:hover{
  background:var(--c-hover)!important;
  transform:translateY(-1px)!important;
}
.dvn-app .dvn-person-ava{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
}
.dvn-app .dvn-person-main{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.dvn-app .dvn-person-name{
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.dvn-app .dvn-person-role{
  color:var(--c-text2)!important;
  font-size:calc(var(--fs) - 2px)!important;
}
.dvn-app .dvn-person-st{
  border-radius:999px!important;
  padding:2px 8px!important;
  font-size:calc(var(--fs) - 3px)!important;
  font-weight:900!important;
  background:#eef2ff!important;
  color:#3730a3!important;
  -webkit-text-fill-color:#3730a3!important;
}
.dvn-app .dvn-person-active .dvn-person-st{
  background:#dcfce7!important;
  color:#166534!important;
  -webkit-text-fill-color:#166534!important;
}
.dvn-app .dvn-person-done .dvn-person-st{
  background:#d1fae5!important;
  color:#065f46!important;
  -webkit-text-fill-color:#065f46!important;
}
.dvn-app .dvn-person-wait .dvn-person-st{
  background:#f1f5f9!important;
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
}
.dvn-app .dvn-person-skip{
  opacity:.64!important;
}
.dvn-app .dvn-person-count,
.dvn-app .dvn-person-back{
  grid-column:2 / 4!important;
  display:inline-flex!important;
  width:max-content!important;
  border-radius:6px!important;
  padding:1px 7px!important;
  font-size:calc(var(--fs) - 3px)!important;
  font-weight:800!important;
}
.dvn-app .dvn-person-count{
  background:#fff!important;
  border:1px solid var(--c-border)!important;
  color:var(--c-text2)!important;
}
.dvn-app .dvn-person-back{
  background:#fee2e2!important;
  color:#b91c1c!important;
  -webkit-text-fill-color:#b91c1c!important;
}
.dvn-app .dvn-step{
  min-height:56px!important;
}
.dvn-app .dvn-step-active{
  border-color:var(--mc,var(--c-accent))!important;
  background:color-mix(in srgb,var(--mc,var(--c-accent)) 16%,#fff)!important;
}
.dvn-app[data-theme="dark"] .dvn-step-active{
  background:color-mix(in srgb,var(--mc,var(--c-accent)) 24%,#18212f)!important;
}
.dvn-app .dvn-detail-item{
  padding:14px!important;
  border-left-width:7px!important;
}
.dvn-app .dvn-di-head{
  gap:8px!important;
  padding-bottom:8px!important;
  border-bottom:1px solid var(--c-border)!important;
}
.dvn-app .dvn-di-ava{
  width:34px!important;
  height:34px!important;
  font-size:calc(var(--fs) - 1px)!important;
}
.dvn-app .dvn-di-user{
  font-size:calc(var(--fs) + 1px)!important;
}
.dvn-app .dvn-di-body{
  margin-top:10px!important;
  font-size:calc(var(--fs) + 1px)!important;
  line-height:1.65!important;
}

/* 入力：必須/任意と順番を見える化 */
.dvn-app .dvn-entry-box{
  max-width:680px!important;
}
.dvn-app .dvn-entry-guide{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-bottom:10px!important;
}
.dvn-app .dvn-guide-chip{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  border:1px solid #d8dee8!important;
  color:#475569!important;
  padding:4px 9px!important;
  font-size:calc(var(--fs) - 2px)!important;
  font-weight:800!important;
}
.dvn-app .dvn-guide-required{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
  color:#9a3412!important;
  -webkit-text-fill-color:#9a3412!important;
}
.dvn-app[data-theme="dark"] .dvn-guide-chip{
  background:#111827!important;
  border-color:#2c3748!important;
  color:#a7b1c2!important;
}
.dvn-app[data-theme="dark"] .dvn-guide-required{
  background:#3a2410!important;
  border-color:#92400e!important;
  color:#fdba74!important;
  -webkit-text-fill-color:#fdba74!important;
}
.dvn-app .dvn-sec{
  margin-bottom:12px!important;
}
.dvn-app .dvn-sec-h{
  min-height:46px!important;
  border-radius:10px 10px 0 0!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.dvn-app .dvn-sec-no{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.22)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
}
.dvn-app .dvn-sec-pill{
  margin-left:auto!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.20)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  padding:2px 8px!important;
  font-size:calc(var(--fs) - 3px)!important;
  font-weight:900!important;
}
.dvn-app .dvn-sec-pill-opt{
  background:rgba(255,255,255,.14)!important;
}
.dvn-app .dvn-sec-tg{
  margin-left:2px!important;
}
.dvn-app .dvn-sec-body{
  border-radius:0 0 10px 10px!important;
  padding:14px!important;
}
.dvn-app .dvn-fg label{
  font-size:calc(var(--fs))!important;
  margin-bottom:6px!important;
}
.dvn-app .dvn-fg input,
.dvn-app .dvn-fg select,
.dvn-app .dvn-fg textarea,
.dvn-app #dvn-back-reason{
  border-radius:8px!important;
  min-height:42px!important;
  border-width:1px!important;
}
.dvn-app .dvn-fg textarea{
  min-height:96px!important;
}
.dvn-app #dvn-d-content{
  min-height:126px!important;
}
.dvn-app #dvn-d-ky{
  min-height:104px!important;
}
.dvn-app .dvn-req{
  border-radius:999px!important;
  padding:2px 8px!important;
}

@media(max-width:560px){
  .dvn-app{
    padding:10px!important;
  }
  .dvn-app .dvn-cards,
  .dvn-app .dvn-person-grid{
    grid-template-columns:1fr!important;
  }
  .dvn-app .dvn-person-card{
    grid-template-columns:34px 1fr!important;
  }
  .dvn-app .dvn-person-st{
    grid-column:2!important;
    width:max-content!important;
  }
  .dvn-app .dvn-person-count,
  .dvn-app .dvn-person-back{
    grid-column:2!important;
  }
  .dvn-app .dvn-flow-node{
    min-width:66px!important;
  }
  .dvn-app .dvn-modal{
    padding:12px 8px!important;
  }
  .dvn-app .dvn-modal-box{
    max-height:92vh!important;
  }
}

/* ── 見積連携: 既存追記/工種別モーダル編集（v1.25.0） ── */
.dvn-app .dvn-btn-mitu2{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:#fff!important;border-color:transparent!important}
.dvn-app .dvn-mpick-body{display:flex!important;flex-direction:column!important;gap:10px!important}
.dvn-app .dvn-mpick-q{width:100%!important;padding:10px 12px!important;border:1.5px solid var(--c-border,#e2e8f0)!important;border-radius:10px!important;font-size:14px!important;background:var(--c-input-bg,#fff)!important;color:var(--c-text,#0f172a)!important;outline:none!important}
.dvn-app .dvn-mpick-q:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px rgba(99,102,241,.15)!important}
.dvn-app .dvn-mpick-list{display:flex!important;flex-direction:column!important;gap:6px!important;max-height:56vh!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}
.dvn-app .dvn-mpick-empty{padding:24px 8px!important;text-align:center!important;color:var(--c-text2,#94a3b8)!important;font-size:13px!important}
.dvn-app .dvn-mpick-item{display:flex!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;border:1px solid var(--c-border,#e2e8f0)!important;border-radius:12px!important;background:var(--c-card,#fff)!important;cursor:pointer!important;transition:border-color .15s,transform .05s,box-shadow .15s!important}
.dvn-app .dvn-mpick-item:hover{border-color:#6366f1!important;box-shadow:0 4px 14px rgba(99,102,241,.18)!important}
.dvn-app .dvn-mpick-item:active{transform:scale(.985)!important}
.dvn-app .dvn-mpick-no{flex-shrink:0!important;font-weight:800!important;font-size:13px!important;color:#fff!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;padding:4px 10px!important;border-radius:999px!important;letter-spacing:.02em!important}
.dvn-app .dvn-mpick-nm{flex:1 1 auto!important;min-width:0!important;font-size:14px!important;font-weight:600!important;color:var(--c-text,#0f172a)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.dvn-app .dvn-mpick-dt{flex-shrink:0!important;font-size:11px!important;color:var(--c-text2,#94a3b8)!important;font-variant-numeric:tabular-nums!important}

/* ── 使用材料: ケーブル敷設方法ダイアログ（v1.25.1） ── */
.dvn-app .dvn-matcable-modal, .dvn-matcable-modal{ z-index:100001!important; }
.dvn-matcable-modal .dvn-matcable-body{ display:flex!important; flex-direction:column!important; gap:10px!important; }
.dvn-matcable-modal .dvn-matcable-name{ font-size:14px!important; font-weight:700!important; color:var(--c-text,#0f172a)!important; }
.dvn-matcable-modal .dvn-matcable-warn{ font-size:12px!important; font-weight:600!important; color:#dc2626!important; }
.dvn-matcable-modal .dvn-matcable-list{ display:flex!important; flex-direction:column!important; gap:8px!important; }
.dvn-matcable-modal .dvn-matcable-opt{
  display:flex!important; align-items:center!important; gap:10px!important; padding:11px 13px!important;
  border:2px solid var(--c-border,#e2e8f0)!important; border-radius:11px!important; cursor:pointer!important; transition:border-color .12s,background .12s!important;
}
.dvn-matcable-modal .dvn-matcable-opt:hover{ border-color:#93c5fd!important; }
.dvn-matcable-modal .dvn-matcable-opt.sel{ border-color:#4f46e5!important; background:rgba(79,70,229,.07)!important; }
.dvn-matcable-modal .dvn-matcable-opt input{ accent-color:#4f46e5!important; width:16px!important; height:16px!important; }
.dvn-matcable-modal .dvn-matcable-nm{ flex:1!important; font-size:13px!important; font-weight:600!important; color:var(--c-text,#0f172a)!important; }
.dvn-matcable-modal .dvn-matcable-bg{ font-family:ui-monospace,monospace!important; font-weight:800!important; color:#4f46e5!important; font-size:13px!important; }
.dvn-matcable-modal .dvn-matcable-append{ display:flex!important; align-items:center!important; gap:6px!important; font-size:12px!important; color:var(--c-text,#334155)!important; background:rgba(16,185,129,.10)!important; border:1px solid #a7f3d0!important; border-radius:9px!important; padding:8px 10px!important; }
.dvn-matcable-modal .dvn-matcable-append input{ accent-color:#059669!important; }
.dvn-matcable-modal .dvn-matcable-ft{ display:flex!important; gap:8px!important; justify-content:flex-end!important; margin-top:2px!important; }

/* ── 使用材料：在庫・返納を含む明細入力（v1.40.0） ── */
.dvn-app .dvn-mat-help{margin:0 0 8px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;line-height:1.55!important}
.dvn-app .dvn-mat-table-wrap{overflow-x:auto!important;border:1px solid var(--c-border)!important;border-radius:10px!important;background:var(--c-bg)!important}
.dvn-app .dvn-mat-head,
.dvn-app .dvn-mat-row{min-width:1010px!important;display:grid!important;grid-template-columns:minmax(185px,1.9fr) minmax(112px,1.15fr) 84px 110px 84px 108px minmax(130px,1.3fr) minmax(110px,1fr) 34px!important;align-items:center!important;column-gap:7px!important}
.dvn-app .dvn-mat-head{padding:8px!important;background:rgba(79,70,229,.10)!important;border-bottom:1px solid var(--c-border)!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important;font-weight:800!important;text-align:center!important;letter-spacing:.02em!important}
.dvn-app .dvn-mat-head span:first-child,.dvn-app .dvn-mat-head span:nth-child(2){text-align:left!important}
.dvn-app .dvn-mat-list{gap:0!important;min-width:1010px!important}
.dvn-app .dvn-mat-row{padding:8px!important;border:0!important;border-radius:0!important;border-bottom:1px solid var(--c-border)!important;background:transparent!important}
.dvn-app .dvn-mat-row:last-child{border-bottom:0!important}
.dvn-app .dvn-mat-cell{min-width:0!important}
.dvn-app .dvn-mat-cell-name{overflow:hidden!important}
.dvn-app .dvn-mat-nm{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dvn-app .dvn-mat-row .dvn-mat-field{width:100%!important;min-width:0!important;box-sizing:border-box!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:7px!important;padding:7px 8px!important;font-size:calc(var(--fs) - 2px)!important;line-height:1.2!important}
.dvn-app .dvn-mat-use{display:flex!important;align-items:center!important;gap:4px!important}
.dvn-app .dvn-mat-use .dvn-mat-field{flex:1 1 auto!important}
.dvn-app .dvn-mat-unit{width:auto!important;min-width:20px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-mat-del{width:30px!important;height:30px!important;padding:0!important;border-radius:7px!important;border:1px solid transparent!important;display:flex!important;align-items:center!important;justify-content:center!important}
.dvn-app .dvn-mat-del:hover{background:#fef2f2!important;border-color:#fecaca!important}
.dvn-app .dvn-mat-chip{vertical-align:top!important;max-width:100%!important;white-space:normal!important}
.dvn-app .dvn-mat-chip small{display:block!important;margin-top:2px!important;color:inherit!important;opacity:.78!important;font-size:10px!important;line-height:1.45!important}
@media(max-width:560px){
  .dvn-app .dvn-mat-table-wrap{margin-left:-2px!important;margin-right:-2px!important;border-radius:8px!important}
  .dvn-app .dvn-mat-help{font-size:11px!important}
}


/* ── 仕入単価 非表示時の8列グリッド（dvtv_nippo_mat_price=1で9列に戻る） ── */
.dvn-app .dvn-mat-nop .dvn-mat-head,
.dvn-app .dvn-mat-nop .dvn-mat-row{min-width:900px!important;grid-template-columns:minmax(185px,1.9fr) minmax(112px,1.15fr) 84px 110px 84px minmax(130px,1.3fr) minmax(110px,1fr) 34px!important}
.dvn-app .dvn-mat-nop .dvn-mat-list{min-width:900px!important}

/* ── v1.41.0: 請求書（受領）選択 ── */
.dvn-app .dvn-seikyu-inline{display:flex!important;gap:6px!important;align-items:center!important}
.dvn-app .dvn-seikyu-inline input{flex:1 1 auto!important;min-width:0!important}
.dvn-app .dvn-seikyu-inline .dvn-btn{flex:0 0 auto!important;white-space:nowrap!important}
.dvn-app .dvn-seikyu-linked{margin-top:4px!important;font-size:calc(var(--fs) - 3px)!important;color:#059669!important;font-weight:700!important}
.dvn-app .dvn-seikyu-list{display:flex!important;flex-direction:column!important;gap:6px!important;max-height:52vh!important;overflow:auto!important;margin-top:8px!important}
.dvn-app .dvn-seikyu-row{display:grid!important;grid-template-columns:auto 1fr auto!important;grid-template-areas:"no vendor amt" "meta meta amt"!important;gap:2px 10px!important;align-items:center!important;text-align:left!important;width:100%!important;padding:9px 12px!important;border:1px solid var(--c-border)!important;border-radius:10px!important;background:var(--c-bg)!important;color:var(--c-text)!important;cursor:pointer!important;transition:border-color .15s,background .15s!important}
.dvn-app .dvn-seikyu-row:hover{border-color:#6366f1!important;background:rgba(99,102,241,.06)!important}
.dvn-app .dvn-seikyu-row .dvn-sk-no{grid-area:no!important;font-weight:800!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-seikyu-row .dvn-sk-vendor{grid-area:vendor!important;font-weight:700!important;font-size:calc(var(--fs) - 2px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dvn-app .dvn-seikyu-row .dvn-sk-meta{grid-area:meta!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 4px)!important}
.dvn-app .dvn-seikyu-row .dvn-sk-amt{grid-area:amt!important;font-weight:800!important;color:#0369a1!important;font-size:calc(var(--fs) - 2px)!important;white-space:nowrap!important}
.dvn-app .dvn-seikyu-empty{padding:18px 10px!important;text-align:center!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important}
/* 関連書類パネル：一致区分バッジ */
.dvn-app .dvn-doc-type.dvn-sk-no{background:#ecfdf5!important;color:#047857!important}
.dvn-app .dvn-doc-type.dvn-sk-pick{background:#eff6ff!important;color:#1d4ed8!important}
.dvn-app .dvn-doc-type.dvn-sk-genba{background:#fdf4ff!important;color:#a21caf!important}

/* ── v1.41.0: 作業内容・KY 例文セレクト＋⚙編集 ── */
.dvn-app .dvn-ex-row{display:flex!important;gap:6px!important;align-items:center!important;margin:0 0 6px!important}
.dvn-app .dvn-ex-row .dvn-ex-sel{flex:1 1 auto!important;min-width:0!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px 10px!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-ex-row .dvn-ex-edit{flex:0 0 auto!important;width:36px!important;height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--c-border)!important;border-radius:8px!important;background:var(--c-bg)!important;cursor:pointer!important;font-size:15px!important;transition:border-color .15s,background .15s!important}
.dvn-app .dvn-ex-row .dvn-ex-edit:hover{border-color:#6366f1!important;background:rgba(99,102,241,.08)!important}
.dvn-app #dvn-ex-ta{width:100%!important;box-sizing:border-box!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:10px!important;padding:10px!important;font-size:calc(var(--fs) - 2px)!important;line-height:1.7!important;resize:vertical!important}
.dvn-app .dvn-ex-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:10px!important;gap:10px!important}
.dvn-app .dvn-ex-count{color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}
/* ── v1.41.0: 請求書 発行/受領バッジ ── */
.dvn-app .dvn-doc-type.dvn-sk-dir-i{background:#fff7ed!important;color:#c2410c!important}
.dvn-app .dvn-doc-type.dvn-sk-dir-r{background:#f0f9ff!important;color:#0369a1!important}

/* ── v1.42.0: 日報を削除ボタンをコンパクト化（全幅化を解除し右寄せの小型ボタンに） ── */
.dvn-app .dvn-actions .dvn-btn-del-nippo{flex:0 0 auto!important;width:auto!important;min-width:0!important;margin-left:auto!important;padding:7px 12px!important;font-size:calc(var(--fs) - 3px)!important;background:#fff!important;color:#b91c1c!important;border:1px solid #fca5a5!important;box-shadow:none!important;font-weight:700!important}
.dvn-app .dvn-actions .dvn-btn-del-nippo:hover{background:#fef2f2!important;border-color:#ef4444!important}
.dvn-wrap.dvn-dark .dvn-app .dvn-actions .dvn-btn-del-nippo{background:transparent!important;color:#fca5a5!important;border-color:#7f1d1d!important}

/* ── v1.42.0: 追記を入力ボタンの点滅（パルス発光で分かりやすく） ── */
@keyframes dvnEntryBlink{
  0%,100%{box-shadow:0 4px 14px color-mix(in srgb,var(--mc,var(--c-accent)) 40%,transparent)!important;filter:brightness(1)}
  50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--mc,var(--c-accent)) 30%,transparent),0 6px 24px color-mix(in srgb,var(--mc,var(--c-accent)) 60%,transparent)!important;filter:brightness(1.15)}
}
.dvn-app .dvn-btn-entry{animation:dvnEntryBlink 1.5s ease-in-out infinite!important}
.dvn-app .dvn-btn-entry:hover{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.dvn-app .dvn-btn-entry{animation:none!important}}

/* ── v1.42.0: 請求書登録リンクボタン ── */
.dvn-app a.dvn-btn-seikyu-form{background:linear-gradient(135deg,#0ea5e9,#0369a1)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}
.dvn-app a.dvn-btn-seikyu-form:hover{filter:brightness(1.08)!important}
.dvn-app .dvn-seikyu-form-link{display:inline-block!important;margin-left:8px!important;color:#0369a1!important;font-weight:800!important;text-decoration:none!important}
.dvn-app .dvn-seikyu-form-link:hover{text-decoration:underline!important}

/* ── v1.42.0: 連絡事項の宛先表示 ── */
.dvn-app .dvn-cmt-dest{display:inline-block!important;margin-left:8px!important;padding:2px 10px!important;border-radius:999px!important;background:rgba(79,70,229,.10)!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 4px)!important;font-weight:700!important;vertical-align:middle!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* ── v1.43.0: ⑤⑥⑦前回コピーボタン ── */
.dvn-app .dvn-copy-prev{width:100%!important;margin:4px 0 8px!important;background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important;font-weight:800!important;text-align:center!important}
.dvn-app .dvn-copy-prev:hover{filter:brightness(1.08)!important}
.dvn-app .dvn-copy-prev:disabled{opacity:.6!important}

/* ── v1.43.0: 最近使った品チップ ── */
.dvn-app .dvn-mat-recent{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0 0 8px!important;padding:8px!important;border:1px dashed var(--c-border)!important;border-radius:10px!important;background:rgba(79,70,229,.04)!important}
.dvn-app .dvn-mat-recent-chip{padding:6px 12px!important;border:1px solid var(--c-border)!important;border-radius:999px!important;background:var(--c-bg)!important;color:var(--c-text)!important;font-size:calc(var(--fs) - 3px)!important;font-weight:700!important;cursor:pointer!important;transition:border-color .15s,background .15s!important}
.dvn-app .dvn-mat-recent-chip:hover{border-color:#6366f1!important;background:rgba(99,102,241,.08)!important}
.dvn-app .dvn-mat-recent-empty{color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important;padding:2px 4px!important}

/* ============================================================
   v1.44.0 追加スタイル
   ・役割（ロール）表示の非表示化（役割は不要）
   ・設定モーダル：非表示担当者グリッド／出来高単価
   ・回覧担当セクションの⚙設定ボタン
   ============================================================ */
/* 役割チップ・入力を全画面で非表示（既存データも表示しない） */
.dvn-app .dvn-person-role,
.dvn-app .dvn-fn-role,
.dvn-app .dvn-list-current-role,
.dvn-app .dvn-now-role,
.dvn-app .dvn-rl-role,
.dvn-app .dvn-rt-role,
.dvn-app .dvn-set-role{display:none!important}

/* 回覧担当ラベル内の⚙設定ボタン */
.dvn-app .dvn-route-set{display:inline-block!important;margin-left:8px!important}
.dvn-app .dvn-route-set .dvn-btn{padding:3px 9px!important;font-size:calc(var(--fs) - 3px)!important}

/* 設定モーダル：2つ目以降の見出し */
.dvn-app .dvn-set-h2{margin-top:20px!important;padding-top:14px!important;border-top:1px dashed var(--c-border)!important}

/* 設定モーダル：非表示担当者チェックグリッド */
.dvn-app .dvn-set-hidden-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:6px!important;margin:6px 0 4px!important;max-height:38vh!important;overflow:auto!important}
.dvn-app .dvn-set-hidden-item{display:flex!important;align-items:center!important;gap:7px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:8px!important;padding:7px 9px!important;cursor:pointer!important;font-size:calc(var(--fs) - 2px)!important;transition:border-color .15s,background .15s!important}
.dvn-app .dvn-set-hidden-item:hover{border-color:#c7d2fe!important}
.dvn-app .dvn-set-hidden-item span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dvn-app .dvn-set-hidden-item.dvn-set-hidden-on{background:#fef2f2!important;border-color:#fecaca!important;color:#b91c1c!important}
.dvn-app .dvn-set-hidden-cb{flex:0 0 auto!important;width:16px!important;height:16px!important}

/* 設定モーダル：出来高単価 */
.dvn-app .dvn-set-tanka-row{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:6px 0 4px!important}
.dvn-app .dvn-set-tanka{flex:1 1 180px!important;display:flex!important;flex-direction:column!important;gap:4px!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-set-tanka input{background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:9px 10px!important;font-size:var(--fs)!important;text-align:right!important}

/* ダークモード対応（非表示チェックのON色） */
.dvn-app[data-theme="dark"] .dvn-set-hidden-item.dvn-set-hidden-on{background:rgba(239,68,68,.14)!important;border-color:rgba(239,68,68,.5)!important;color:#fca5a5!important}

/* ── v1.48.0: 追記モーダルの上下ナビ（モーダル内右下にsticky）＋詳細ページ用の固定ナビ ── */
.dvn-app .dvn-scrolltop-wrap{
  position:sticky!important; bottom:12px!important; z-index:70!important;
  display:flex!important; justify-content:flex-end!important; gap:8px!important;
  padding:0 4px!important; margin-top:8px!important; pointer-events:none!important;
}
.dvn-app .dvn-scrolltop{
  pointer-events:auto!important;
  display:inline-flex!important; align-items:center!important; gap:6px!important;
  background:linear-gradient(135deg,#4f46e5,#4338ca)!important; color:#fff!important;
  border:2px solid rgba(255,255,255,.4)!important; border-radius:999px!important;
  padding:12px 20px!important; font-size:15px!important; font-weight:800!important; line-height:1!important;
  letter-spacing:.02em!important; cursor:pointer!important;
  box-shadow:0 8px 24px rgba(67,56,202,.55)!important;
}
.dvn-app .dvn-scroll-down{background:linear-gradient(135deg,#0ea5a4,#0f766e)!important; box-shadow:0 8px 24px rgba(15,118,110,.5)!important}
.dvn-app .dvn-scrolltop:hover{filter:brightness(1.08)!important; transform:translateY(-1px)!important}
.dvn-app .dvn-scrolltop:active{transform:translateY(0)!important}

/* 詳細ページ全体を上下移動する固定ナビ */
.dvn-app .dvn-pagenav{
  position:fixed!important; right:16px!important; bottom:18px!important; z-index:9000!important;
  display:flex!important; flex-direction:column!important; gap:8px!important;
}
.dvn-app .dvn-pagenav-btn{
  display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:5px!important;
  min-width:78px!important;
  background:linear-gradient(135deg,#4f46e5,#4338ca)!important; color:#fff!important;
  border:2px solid rgba(255,255,255,.4)!important; border-radius:999px!important;
  padding:11px 16px!important; font-size:14px!important; font-weight:800!important; line-height:1!important;
  letter-spacing:.02em!important; cursor:pointer!important;
  box-shadow:0 6px 20px rgba(67,56,202,.45)!important;
}
.dvn-app #dvn-page-bottom{background:linear-gradient(135deg,#0ea5a4,#0f766e)!important; box-shadow:0 6px 20px rgba(15,118,110,.45)!important}
.dvn-app .dvn-pagenav-btn:hover{filter:brightness(1.08)!important; transform:translateY(-1px)!important}
.dvn-app .dvn-pagenav-btn:active{transform:translateY(0)!important}
.dvn-app .dvn-pagenav.dvn-pagenav-hide{display:none!important}
@media(max-width:560px){
  .dvn-app .dvn-pagenav{right:12px!important; bottom:14px!important}
  .dvn-app .dvn-pagenav-btn{min-width:68px!important; padding:12px 15px!important; font-size:14px!important}
  .dvn-app .dvn-scrolltop{padding:13px 18px!important; font-size:15px!important}
}

/* ===== v1.52.0 品名入力モーダル（保存済み候補チップ） ===== */
#dvn-matname-modal .dvn-matname-saved { margin-top: 10px; }
#dvn-matname-modal .dvn-matname-saved-h { font-size: 12px; color: #64748b !important; margin-bottom: 6px; font-weight: 600; }
#dvn-matname-modal .dvn-matname-list { display: flex !important; flex-wrap: wrap; gap: 6px; max-height: 180px; overflow-y: auto; }
#dvn-matname-modal .dvn-matname-chip { display: inline-flex !important; align-items: center; gap: 4px;
  background: #f1f5f9 !important; border: 1px solid #e2e8f0 !important; border-radius: 999px !important;
  padding: 4px 6px 4px 12px !important; font-size: 13px; cursor: pointer; }
#dvn-matname-modal .dvn-matname-chip:hover { background: #e0f2fe !important; }
#dvn-matname-modal .dvn-matname-chip-nm { cursor: pointer; }
#dvn-matname-modal .dvn-matname-chip-x { border: none !important; background: transparent !important;
  color: #94a3b8 !important; cursor: pointer; font-size: 12px; padding: 2px 5px !important; border-radius: 999px !important; }
#dvn-matname-modal .dvn-matname-chip-x:hover { color: #fff !important; background: #ef4444 !important; }
#dvn-matname-modal .dvn-matname-ft { display: flex; gap: 8px; margin-top: 12px; justify-content: flex-end; }
#dvn-matname-modal input#dvn-matname-input { width: 100%; }

/* ===== v1.53.0 工事メニューへ戻る（ツールバー） ===== */
.dvn-app .dvn-toolbar a.dvn-tb-menu { text-decoration: none !important; display: inline-flex !important;
  align-items: center; white-space: nowrap; font-weight: 700; }
.dvn-app .dvn-toolbar a.dvn-tb-menu:hover { background: #e0f2fe !important; color: #0369a1 !important; }

/* ============================================================
   v1.54.0 ⑥支払方法・⑦車種：セレクト＋自由入力（横並び）
   datalistは一度値が入ると候補が絞られて選び直せないため置き換え
   ============================================================ */
.dvn-app .dvn-hyb{display:flex!important;align-items:center!important;gap:6px!important;width:100%!important}
.dvn-app .dvn-hyb .dvn-hyb-sel{flex:1 1 0!important;min-width:0!important}
.dvn-app .dvn-hyb .dvn-hyb-free{flex:1 1 0!important;min-width:0!important}

/* ============================================================
   v1.54.0 設定：出来高見積の計上設定
   ============================================================ */
.dvn-app .dvn-set-desc2{margin-top:14px!important}
.dvn-app .dvn-set-mode-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;margin:8px 0 12px!important}
.dvn-app .dvn-set-mode-lb{font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-text)!important}
.dvn-app .dvn-set-mode-note{font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-set-seg{display:inline-flex!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:999px!important;padding:3px!important;gap:3px!important}
.dvn-app .dvn-set-seg-b{border:0!important;background:transparent!important;color:var(--c-text2)!important;border-radius:999px!important;padding:7px 20px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;cursor:pointer!important;transition:background .15s,color .15s,box-shadow .15s!important}
.dvn-app .dvn-set-seg-b:hover{color:var(--c-text)!important}
.dvn-app .dvn-set-seg-b.on{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;box-shadow:0 2px 8px rgba(108,99,255,.35)!important}

.dvn-app .dvn-set-litems{display:flex!important;flex-direction:column!important;gap:6px!important;margin:6px 0 4px!important}
.dvn-app .dvn-set-litem{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:10px!important;padding:7px 10px!important}
.dvn-app .dvn-set-lchk{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 128px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important;color:var(--c-text2)!important;cursor:pointer!important}
.dvn-app .dvn-set-lchk.on{color:var(--c-text)!important}
.dvn-app .dvn-set-lchk-fix{cursor:default!important}
.dvn-app .dvn-set-lon{flex:0 0 auto!important;width:16px!important;height:16px!important;accent-color:var(--c-accent)!important}
.dvn-app .dvn-set-litem input[type="text"]{flex:1 1 180px!important;min-width:0!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px 10px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-set-lnote{flex:1 1 200px!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-set-litem-sum{border-style:dashed!important}

/* ============================================================
   v1.54.0 出来高の計上方法モーダル（個別／合算）
   ============================================================ */
.dvn-app .dvn-lmode-lead{margin:0 0 12px!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}
/* 現在の計上状態 → 変更後 */
.dvn-app .dvn-lmode-cur{margin-bottom:12px!important}
.dvn-app .dvn-lmode-cur-box{background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-left:4px solid var(--c-accent)!important;border-radius:10px!important;padding:10px 12px!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text)!important;line-height:1.7!important}
.dvn-app .dvn-lmode-cur-new{border-left-color:var(--c-ok)!important}
.dvn-app .dvn-lmode-cur-chg{border-left-color:var(--c-warn)!important}
.dvn-app .dvn-lmode-arw{margin:0 8px!important;color:var(--c-text2)!important;font-weight:800!important}
.dvn-app .dvn-lmode-cur-note{display:block!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-lmode-sec-t{font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-text)!important;margin:0 0 8px!important}
.dvn-app .dvn-lmode-sec{margin-top:14px!important}
.dvn-app .dvn-lmode-tg{background:transparent!important;border:1px dashed var(--c-border)!important;border-radius:8px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important;font-weight:700!important;padding:7px 12px!important;cursor:pointer!important;width:100%!important;text-align:left!important}
.dvn-app .dvn-lmode-tg:hover{border-color:var(--c-accent)!important;color:var(--c-text)!important}
/* 集計元の追記内訳 */
.dvn-app .dvn-lmode-src{margin-top:8px!important;max-height:34vh!important;overflow:auto!important;border:1px solid var(--c-border)!important;border-radius:10px!important}
.dvn-app .dvn-lsrc-h,.dvn-app .dvn-lsrc-r{display:grid!important;grid-template-columns:48px 1.2fr 50px 52px 66px 66px 66px!important;gap:6px!important;align-items:center!important;padding:7px 10px!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-lsrc-h{position:sticky!important;top:0!important;background:var(--c-bg)!important;color:var(--c-text2)!important;font-weight:800!important;border-bottom:1px solid var(--c-border)!important;z-index:1!important}
.dvn-app .dvn-lsrc-r{border-bottom:1px dashed var(--c-border)!important;color:var(--c-text)!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-lsrc-r:last-child{border-bottom:0!important}
.dvn-app .dvn-lsrc-who{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-weight:700!important}
.dvn-app .dvn-lmode-rt{flex:0 0 auto!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 4px)!important;font-variant-numeric:tabular-nums!important}
/* ============================================================
   v1.56.0 追加先の工種 / 手動項目
   ============================================================ */
.dvn-app .dvn-lmode-dest{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-left:4px solid var(--c-accent)!important;border-radius:10px!important;padding:10px 12px!important;margin-bottom:12px!important}
.dvn-app .dvn-lmode-dest-lb{font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-text)!important;flex:0 0 auto!important}
.dvn-app .dvn-lmode-dest-sel{flex:1 1 220px!important;min-width:0!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px 10px!important;font-size:calc(var(--fs) - 1px)!important;font-weight:700!important}
.dvn-app .dvn-lmode-dest-note{font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important;flex:1 1 100%!important}
.dvn-app .dvn-lmode-sec-sub{display:block!important;font-size:calc(var(--fs) - 3px)!important;font-weight:600!important;color:var(--c-text2)!important;margin-top:2px!important}
.dvn-app .dvn-lman-head,.dvn-app .dvn-lman-row{display:grid!important;grid-template-columns:1.1fr 1.6fr 120px 34px!important;gap:6px!important;align-items:center!important}
.dvn-app .dvn-lman-head{font-size:calc(var(--fs) - 3px)!important;font-weight:800!important;color:var(--c-text2)!important;padding:0 2px 4px!important}
.dvn-app .dvn-lman-row{margin-bottom:6px!important}
.dvn-app .dvn-lman-row input{background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px 10px!important;font-size:calc(var(--fs) - 1px)!important;min-width:0!important}
.dvn-app .dvn-lman-amt{text-align:right!important;font-variant-numeric:tabular-nums!important;font-weight:700!important}
.dvn-app .dvn-lman-x{border:1px solid var(--c-border)!important;background:var(--c-card)!important;color:var(--c-text2)!important;border-radius:8px!important;height:36px!important;cursor:pointer!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-lman-x:hover{border-color:#ef4444!important;color:#ef4444!important}
.dvn-app .dvn-lman-add{width:100%!important;border:1px dashed var(--c-border)!important;background:transparent!important;color:var(--c-text2)!important;border-radius:8px!important;padding:8px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important;cursor:pointer!important;margin-top:2px!important}
.dvn-app .dvn-lman-add:hover{border-color:var(--c-accent)!important;color:var(--c-text)!important}
.dvn-app .dvn-lmode-rnote{display:block!important;font-size:calc(var(--fs) - 4px)!important;color:var(--c-text2)!important;font-weight:600!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
@media(max-width:640px){
  .dvn-app .dvn-lman-head{display:none!important}
  .dvn-app .dvn-lman-row{grid-template-columns:1fr 1fr 34px!important}
  .dvn-app .dvn-lman-note{grid-column:1/3!important}
}

/* v1.55.0 調整金額＋調整内容（内容欄を広めに） */
.dvn-app .dvn-row-adj .dvn-fg-wide{flex:2 1 260px!important}
/* 出来高集計ボタン */
.dvn-app .dvn-btn-labor{background:linear-gradient(135deg,#0891b2,#0e7490)!important;color:#fff!important;border:0!important}
.dvn-app .dvn-btn-labor:hover{background:linear-gradient(135deg,#0e7490,#155e75)!important}
.dvn-app .dvn-lmode-cards{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
.dvn-app .dvn-lmode-card{flex:1 1 240px!important;min-width:0!important;background:var(--c-bg)!important;border:2px solid var(--c-border)!important;border-radius:14px!important;padding:12px!important;cursor:pointer!important;transition:border-color .15s,box-shadow .15s,transform .12s!important}
.dvn-app .dvn-lmode-card:hover{border-color:#c7d2fe!important;transform:translateY(-1px)!important}
.dvn-app .dvn-lmode-card.on{border-color:var(--c-accent)!important;box-shadow:0 4px 16px rgba(108,99,255,.28)!important;background:var(--c-card)!important}
.dvn-app .dvn-lmode-card-h{display:flex!important;align-items:center!important;gap:8px!important;font-size:calc(var(--fs) - 1px)!important;font-weight:800!important;color:var(--c-text)!important;margin-bottom:10px!important}
.dvn-app .dvn-lmode-badge{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;border-radius:999px!important;padding:3px 12px!important;font-size:calc(var(--fs) - 3px)!important;font-weight:800!important;letter-spacing:.05em!important}
.dvn-app .dvn-lmode-prev{display:flex!important;flex-direction:column!important;gap:4px!important}
.dvn-app .dvn-lmode-r{display:flex!important;align-items:center!important;gap:8px!important;background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:8px!important;padding:6px 9px!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-lmode-rn{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--c-text)!important;font-weight:700!important}
.dvn-app .dvn-lmode-rq{flex:0 0 auto!important;color:var(--c-text2)!important}
.dvn-app .dvn-lmode-ra{flex:0 0 auto!important;color:var(--c-text)!important;font-weight:800!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-lmode-t{text-align:right!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-accent)!important;padding-top:4px!important;border-top:1px dashed var(--c-border)!important;margin-top:2px!important}
.dvn-app .dvn-lmode-none{font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important;padding:10px 4px!important}
.dvn-app .dvn-lmode-ft{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;margin-top:14px!important}
.dvn-app .dvn-lmode-note{font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}

/* ============================================================
   v1.58.0 一覧: カード/一覧表 切替 + 一覧表 + リッチページャ
   ============================================================ */
.dvn-app .dvn-hidden{display:none!important}

/* ---- タブ行（タブ + 表示切替を横並び） ---- */
.dvn-app .dvn-tabs-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:6px 0 12px!important}
.dvn-app .dvn-tabs-row .dvn-tabs{margin:0!important}
.dvn-app .dvn-vseg{display:inline-flex!important;margin-left:auto!important;border:1px solid var(--c-border)!important;border-radius:10px!important;overflow:hidden!important;background:var(--c-card)!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-vseg-btn{padding:6px 14px!important;font-size:calc(var(--fs) - 1px)!important;font-weight:600!important;color:var(--c-text2)!important;background:transparent!important;cursor:pointer!important;white-space:nowrap!important;transition:background .15s,color .15s!important}
.dvn-app .dvn-vseg-btn + .dvn-vseg-btn{border-left:1px solid var(--c-border)!important}
.dvn-app .dvn-vseg-btn:hover{background:var(--c-hover)!important;color:var(--c-text)!important}
.dvn-app .dvn-vseg-btn.dvn-vseg-on{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important}

/* ---- 一覧表 ---- */
.dvn-app .dvn-tblwrap{overflow-x:auto!important;border:1px solid var(--c-border)!important;border-radius:12px!important;background:var(--c-card)!important;box-shadow:var(--shadow)!important;-webkit-overflow-scrolling:touch!important}
.dvn-app .dvn-tbl{width:100%!important;border-collapse:separate!important;border-spacing:0!important;font-size:calc(var(--fs) - 1px)!important;min-width:860px!important}
.dvn-app .dvn-tbl thead th{position:sticky!important;top:0!important;z-index:2!important;background:var(--c-head-bg)!important;color:var(--c-head-text)!important;text-align:left!important;padding:9px 10px!important;font-weight:700!important;white-space:nowrap!important;border-bottom:2px solid var(--c-border)!important}
.dvn-app .dvn-tbl thead th:first-child{border-top-left-radius:11px!important}
.dvn-app .dvn-tbl thead th:last-child{border-top-right-radius:11px!important}
.dvn-app .dvn-th-link{color:var(--c-head-text)!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;gap:4px!important;cursor:pointer!important}
.dvn-app .dvn-th-link:hover{opacity:.8!important}
.dvn-app .dvn-th-sort{font-size:calc(var(--fs) - 4px)!important;opacity:.45!important}
.dvn-app .dvn-th-sort-on{opacity:1!important;color:#a5b4fc!important}
.dvn-app .dvn-tbl tbody td{padding:8px 10px!important;border-bottom:1px solid var(--c-border)!important;vertical-align:middle!important;white-space:nowrap!important;color:var(--c-text)!important}
.dvn-app .dvn-tbl tbody tr:last-child td{border-bottom:0!important}
.dvn-app .dvn-tbl tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--c-hover) 35%,transparent)!important}
.dvn-app .dvn-tr{cursor:pointer!important;transition:background .12s!important}
.dvn-app .dvn-tbl tbody tr.dvn-tr:hover td{background:var(--c-hover)!important}
.dvn-app .dvn-td-date{font-variant-numeric:tabular-nums!important;color:var(--c-text2)!important}
.dvn-app .dvn-td-genba a{color:var(--c-accent)!important;font-weight:700!important;text-decoration:none!important}
.dvn-app .dvn-td-genba a:hover{text-decoration:underline!important}
.dvn-app .dvn-td-koji{max-width:220px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.dvn-app .dvn-td-prog{white-space:nowrap!important}
.dvn-app .dvn-tprog{display:inline-block!important;vertical-align:middle!important;width:64px!important;height:7px!important;border-radius:5px!important;background:var(--c-border)!important;overflow:hidden!important;margin-right:6px!important}
.dvn-app .dvn-tprog span{display:block!important;height:100%!important;border-radius:5px!important;background:linear-gradient(90deg,var(--c-accent),var(--c-accent2))!important;transition:width .3s!important}
.dvn-app .dvn-tprog-txt{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-td-upd{color:var(--c-text2)!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-td-upd small{display:block!important;font-size:calc(var(--fs) - 3px)!important;opacity:.8!important}
.dvn-app .dvn-td-mitu{font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-td-go{color:var(--c-accent)!important;font-weight:800!important;font-size:calc(var(--fs) + 2px)!important;text-align:center!important}

/* ---- リッチページャ ---- */
.dvn-app .dvn-pager2{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:14px!important}
.dvn-app .dvn-pg-info{font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-pg-nav{display:inline-flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;justify-content:center!important}
.dvn-app .dvn-pg-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;height:34px!important;padding:0 8px!important;border:1px solid var(--c-border)!important;border-radius:9px!important;background:var(--c-card)!important;color:var(--c-text)!important;font-size:calc(var(--fs) - 1px)!important;font-weight:600!important;text-decoration:none!important;font-variant-numeric:tabular-nums!important;transition:background .12s,color .12s,box-shadow .12s!important;cursor:pointer!important}
.dvn-app a.dvn-pg-btn:hover{background:var(--c-hover)!important;color:var(--c-accent)!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-pg-on{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 2px 8px rgba(108,99,255,.45)!important;cursor:default!important}
.dvn-app .dvn-pg-dis{opacity:.35!important;cursor:default!important}
.dvn-app .dvn-pg-gap{color:var(--c-text2)!important;padding:0 2px!important;letter-spacing:2px!important}
.dvn-app .dvn-pg-per{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:calc(var(--fs) - 1px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-per-sel{padding:6px 8px!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;font-size:calc(var(--fs) - 1px)!important;cursor:pointer!important}

/* ---- ダークモード微調整 ---- */
.dvn-app[data-theme="dark"] .dvn-tbl tbody tr:nth-child(even) td{background:rgba(255,255,255,.025)!important}
.dvn-app[data-theme="dark"] .dvn-pg-on{box-shadow:0 2px 10px rgba(108,99,255,.6)!important}

/* ---- モバイル ---- */
@media (max-width:640px){
  .dvn-app .dvn-vseg{margin-left:0!important;width:100%!important}
  .dvn-app .dvn-vseg-btn{flex:1!important;text-align:center!important;justify-content:center!important;display:inline-flex!important}
  .dvn-app .dvn-pg-btn{min-width:30px!important;height:30px!important}
}

/* ============================================================
   v1.59.0 削除・完了取消（権限レベル設定／確認モーダル／完了取消）
   ============================================================ */
/* 設定モーダル：許可レベルの入力行（横並び） */
.dvn-app .dvn-set-lv-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;margin:8px 0 4px!important}
.dvn-app .dvn-set-lv{display:flex!important;align-items:center!important;gap:10px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:10px!important;padding:8px 12px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-text)!important}
.dvn-app .dvn-set-lv-in{display:inline-flex!important;align-items:center!important;gap:6px!important;color:var(--c-text2)!important;font-weight:700!important}
.dvn-app .dvn-set-lv-in input{width:84px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:8px 10px!important;font-size:var(--fs)!important;font-weight:800!important;text-align:center!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-set-lv-note{flex:1 1 240px!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important;line-height:1.5!important}

/* 完了取消ボタン */
.dvn-app .dvn-btn-reopen{background:linear-gradient(135deg,#f59e0b,#b45309)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important;font-weight:800!important;box-shadow:0 4px 14px rgba(180,83,9,.35)!important}
.dvn-app .dvn-btn-reopen:hover{filter:brightness(1.06)!important}

/* 本文タイムライン：完了取消の区切りバー */
.dvn-app .dvn-ho-reopen{border-color:#fcd34d!important;background:#fffbeb!important;border-style:solid!important}
.dvn-app[data-theme="dark"] .dvn-ho-reopen{background:#2a2410!important;border-color:#b45309!important}

/* 削除確認モーダル */
.dvn-app .dvn-del-box{max-width:520px!important;border-top:5px solid #ef4444!important}
.dvn-app .dvn-del-warn{margin:4px 0 10px!important;background:#fef2f2!important;border:1px solid #fca5a5!important;border-radius:10px!important;padding:9px 12px!important;color:#b91c1c!important;font-size:calc(var(--fs) - 1px)!important;line-height:1.6!important}
.dvn-app[data-theme="dark"] .dvn-del-warn{background:#2a1414!important;border-color:#7f1d1d!important;color:#fca5a5!important}
.dvn-app .dvn-del-info{display:flex!important;flex-direction:column!important;gap:1px!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:10px!important;overflow:hidden!important;margin:0 0 10px!important}
.dvn-app .dvn-del-line{display:flex!important;align-items:baseline!important;gap:10px!important;padding:7px 12px!important;font-size:calc(var(--fs) - 2px)!important;border-bottom:1px solid var(--c-border)!important}
.dvn-app .dvn-del-line:last-child{border-bottom:0!important}
.dvn-app .dvn-del-line span{flex:0 0 88px!important;color:var(--c-text2)!important;font-weight:700!important}
.dvn-app .dvn-del-line b{min-width:0!important;color:var(--c-text)!important;font-weight:800!important;word-break:break-all!important}
.dvn-app .dvn-del-note{margin:0 0 10px!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important;line-height:1.5!important}
.dvn-app .dvn-del-acts{display:flex!important;align-items:center!important;gap:10px!important;justify-content:flex-end!important}

/* モバイル */
@media (max-width:640px){
  .dvn-app .dvn-set-lv{width:100%!important;justify-content:space-between!important}
  .dvn-app .dvn-del-line span{flex:0 0 76px!important}
  .dvn-app .dvn-del-acts .dvn-btn{flex:1 1 auto!important;justify-content:center!important}
}

/* ============================================================
   v1.60.0 電子黒板：後付け・再編集
   ============================================================ */
.dvn-app .dvn-ph-wrap{position:relative!important;display:inline-flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important}
.dvn-app .dvn-bb-editable{outline:2px solid transparent!important;transition:outline-color .15s ease,transform .15s ease!important}
.dvn-app .dvn-bb-editable:hover{outline-color:#10b981!important;transform:translateY(-1px)!important}
.dvn-app .dvn-bb-edit-mark{font-size:11px!important;line-height:1!important;padding:3px 6px!important;border-radius:999px!important;background:#ecfdf5!important;color:#047857!important;border:1px solid #a7f3d0!important;white-space:nowrap!important}
.dvn-app .dvn-bb-editor-box{width:min(1180px,96vw)!important;max-width:1180px!important}
.dvn-app .dvn-bb-editor-grid{display:grid!important;grid-template-columns:minmax(320px,1.25fr) minmax(320px,1fr)!important;gap:18px!important;align-items:start!important}
.dvn-app .dvn-bb-preview-frame{background:#0f172a!important;border-radius:14px!important;min-height:320px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border:1px solid var(--c-border)!important}
.dvn-app .dvn-bb-preview-frame img{display:block!important;max-width:100%!important;max-height:68vh!important;object-fit:contain!important}
.dvn-app .dvn-bb-editor-status{margin-top:8px!important;font-size:12px!important;color:var(--c-sub,#64748b)!important}
.dvn-app .dvn-bb-legacy-warn{margin-top:8px!important;padding:10px 12px!important;border-radius:10px!important;background:#fff7ed!important;color:#9a3412!important;border:1px solid #fed7aa!important;font-size:12px!important;line-height:1.55!important}
.dvn-app .dvn-bb-auto-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-bottom:10px!important}
.dvn-app .dvn-bb-auto-grid label{font-size:12px!important;color:var(--c-sub,#64748b)!important;font-weight:700!important}
.dvn-app .dvn-bb-auto-grid input{width:100%!important;margin-top:4px!important;background:rgba(148,163,184,.12)!important}
.dvn-app .dvn-bbe-inputs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.dvn-app .dvn-bbe-inputs input{min-width:0!important;width:100%!important}
.dvn-app .dvn-bb-editor-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:14px!important}
.dvn-app .dvn-bb-editor-actions .dvn-btn{flex:1 1 180px!important}
.dvn-app .dvn-bbe-opts{margin-top:10px!important}
@media(max-width:820px){
  .dvn-app .dvn-bb-editor-grid{grid-template-columns:1fr!important}
  .dvn-app .dvn-bb-preview-frame{min-height:220px!important}
  .dvn-app .dvn-bb-preview-frame img{max-height:48vh!important}
}
@media(max-width:560px){
  .dvn-app .dvn-bbe-inputs{grid-template-columns:1fr!important}
  .dvn-app .dvn-bb-editor-actions{flex-direction:column!important}
  .dvn-app .dvn-bb-editor-actions .dvn-btn{width:100%!important;flex:0 0 auto!important}
}


/* ===== v1.61.0 一般工事／公共工事 ===== */
.dvn-app .dvn-work-type-box{background:var(--c-card)!important;border:2px solid var(--c-border)!important;border-radius:14px!important;padding:14px!important;margin:10px 0 14px!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-work-type-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:10px!important}
.dvn-app .dvn-work-type-head strong{font-size:calc(var(--fs) + 2px)!important}.dvn-app .dvn-work-type-head>span{color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-work-type-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.dvn-app .dvn-work-type-card{display:grid!important;grid-template-columns:auto 1fr!important;gap:2px 10px!important;text-align:left!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:2px solid var(--c-border)!important;border-radius:12px!important;padding:12px!important;cursor:pointer!important;min-height:105px!important;transition:.15s ease!important}
.dvn-app .dvn-work-type-card:hover{transform:translateY(-1px)!important;border-color:#60a5fa!important}.dvn-app .dvn-work-type-card.is-selected{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.14)!important;background:linear-gradient(135deg,rgba(37,99,235,.08),var(--c-card))!important}
.dvn-app .dvn-work-type-public.is-selected{border-color:#b45309!important;box-shadow:0 0 0 3px rgba(180,83,9,.14)!important;background:linear-gradient(135deg,rgba(245,158,11,.12),var(--c-card))!important}
.dvn-app .dvn-wt-icon{grid-row:1/3!important;font-size:30px!important;line-height:1!important}.dvn-app .dvn-wt-main{display:flex!important;flex-direction:column!important}.dvn-app .dvn-wt-main b{font-size:calc(var(--fs) + 3px)!important}.dvn-app .dvn-wt-main small{color:var(--c-text2)!important}.dvn-app .dvn-wt-desc{grid-column:1/3!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important;margin-top:6px!important}
.dvn-app .dvn-invalid-box{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14)!important;animation:dvnTypePulse .7s ease-in-out 2!important}@keyframes dvnTypePulse{50%{transform:scale(1.01)}}
.dvn-app .dvn-public-mode-notice,.dvn-app .dvn-public-photo-banner{margin-top:10px!important;padding:10px 12px!important;border-radius:10px!important;background:#fff7ed!important;color:#7c2d12!important;border:1px solid #fdba74!important}.dvn-app[data-theme="dark"] .dvn-public-mode-notice,.dvn-app[data-theme="dark"] .dvn-public-photo-banner{background:#2b1b0e!important;color:#fed7aa!important;border-color:#9a5b22!important}
.dvn-app .dvn-public-mode-notice small{display:block!important;margin-top:4px!important;color:inherit!important;opacity:.82!important}.dvn-app .dvn-public-photo-banner{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0 0 10px!important}
.dvn-app .dvn-work-badge{display:inline-flex!important;align-items:center!important;border-radius:999px!important;padding:3px 8px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;white-space:nowrap!important}/* v1.63.0 一般: 青アウトライン（「完了」の塗り青とは枠線で判別） */.dvn-app .dvn-work-general{background:#fff!important;border:1.5px solid #2563eb!important;color:#1d4ed8!important}.dvn-app[data-theme="dark"] .dvn-work-general{background:transparent!important;border-color:#60a5fa!important;color:#93c5fd!important}.dvn-app .dvn-work-public{background:#ffedd5!important;color:#9a3412!important}
.dvn-app .dvn-bb-lock-mark{position:absolute!important;left:5px!important;bottom:5px!important;background:#9a3412!important;color:#fff!important;border-radius:999px!important;padding:2px 7px!important;font-size:10px!important;font-weight:800!important;z-index:2!important}.dvn-app .dvn-public-camera-btn{background:#b45309!important;color:#fff!important;border-color:#92400e!important}
@media(max-width:640px){.dvn-app .dvn-work-type-grid{grid-template-columns:1fr!important}.dvn-app .dvn-work-type-card{min-height:92px!important}}

/* ===== v1.62.0 国交省 写真管理基準 ===== */
.dvn-app .dvn-mlit-photo-meta{margin:10px 0 12px!important;padding:12px!important;border:1px solid #93c5fd!important;border-radius:12px!important;background:linear-gradient(135deg,rgba(219,234,254,.72),rgba(239,246,255,.92))!important;color:#0f172a!important}
.dvn-app[data-theme="dark"] .dvn-mlit-photo-meta{background:rgba(30,58,138,.2)!important;color:var(--c-text)!important;border-color:#1d4ed8!important}
.dvn-app .dvn-mlit-meta-head,.dvn-app .dvn-mlit-board-head{display:flex!important;gap:10px!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;margin-bottom:9px!important}
.dvn-app .dvn-mlit-meta-head span,.dvn-app .dvn-mlit-board-head span{font-size:12px!important;color:var(--c-text2,#64748b)!important}
.dvn-app .dvn-mlit-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.dvn-app .dvn-mlit-grid label{display:flex!important;flex-direction:column!important;gap:4px!important;font-size:12px!important;font-weight:800!important}
.dvn-app .dvn-mlit-grid label b{color:#dc2626!important;font-size:10px!important}
.dvn-app .dvn-mlit-grid input,.dvn-app .dvn-mlit-grid select{width:100%!important;min-width:0!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;padding:8px 9px!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-mlit-wide{grid-column:1/-1!important}
.dvn-app .dvn-mlit-flags{display:flex!important;gap:16px!important;flex-wrap:wrap!important;margin-top:10px!important;padding-top:8px!important;border-top:1px dashed rgba(59,130,246,.35)!important}
.dvn-app .dvn-mlit-flags label{font-weight:800!important;font-size:13px!important;display:flex!important;align-items:center!important;gap:5px!important}
.dvn-app .dvn-mlit-board-head{margin:10px 0 7px!important;padding:7px 9px!important;background:rgba(16,185,129,.10)!important;border-left:4px solid #059669!important;border-radius:7px!important}
@media(max-width:700px){.dvn-app .dvn-mlit-grid{grid-template-columns:1fr!important}.dvn-app .dvn-mlit-wide{grid-column:auto!important}}

/* ============================================================
   v1.65.0 仕入先コンボボックス（手入力＋候補ドロップダウン）
   材料表は overflow-x:auto のため、候補パネルは .dvn-app 直下へ
   position:fixed で配置する（セル内だと横スクロールで切れる）。
   ============================================================ */
.dvn-app .dvn-mat-sup{position:relative!important;display:flex!important;align-items:center!important;min-width:0!important}
.dvn-app .dvn-mat-sup .dvn-mat-field{padding-right:24px!important}
.dvn-app .dvn-sup-btn{position:absolute!important;right:3px!important;top:50%!important;transform:translateY(-50%)!important;
  width:20px!important;height:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  background:transparent!important;color:var(--c-text2)!important;cursor:pointer!important;border-radius:5px!important;
  font-size:calc(var(--fs) - 3px)!important;line-height:1!important;transition:background .12s ease,color .12s ease!important}
.dvn-app .dvn-sup-btn:hover{background:var(--c-hover)!important;color:var(--c-accent)!important}
.dvn-app .dvn-sup-pop{position:fixed!important;z-index:100001!important;display:none;flex-direction:column!important;
  background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:11px!important;
  box-shadow:0 14px 38px rgba(15,12,41,.24)!important;overflow:hidden!important;min-width:230px!important;max-width:min(94vw,360px)!important}
.dvn-app .dvn-sup-pop.show{display:flex!important}
.dvn-app .dvn-sup-list{max-height:244px!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.dvn-app .dvn-sup-item{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  padding:8px 10px!important;cursor:pointer!important;border-bottom:1px solid var(--c-border)!important;
  font-size:calc(var(--fs) - 1px)!important;color:var(--c-text)!important;transition:background .1s ease!important}
.dvn-app .dvn-sup-item:last-child{border-bottom:0!important}
.dvn-app .dvn-sup-item:hover,.dvn-app .dvn-sup-item.sel{background:var(--c-hover)!important}
.dvn-app .dvn-sup-item.sel{box-shadow:inset 3px 0 0 var(--c-accent)!important}
.dvn-app .dvn-sup-nm{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dvn-app .dvn-sup-badge{flex:0 0 auto!important;padding:2px 6px!important;border-radius:999px!important;
  font-size:calc(var(--fs) - 4px)!important;font-weight:800!important;letter-spacing:.02em!important}
.dvn-app .dvn-sup-hist{background:rgba(16,185,129,.14)!important;color:#047857!important}
.dvn-app .dvn-sup-mst{background:rgba(108,99,255,.14)!important;color:#4f46e5!important}
.dvn-app[data-theme="dark"] .dvn-sup-hist{background:rgba(16,185,129,.20)!important;color:#6ee7b7!important}
.dvn-app[data-theme="dark"] .dvn-sup-mst{background:rgba(139,132,255,.22)!important;color:#c7c3ff!important}
.dvn-app .dvn-sup-empty{padding:12px 10px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;text-align:center!important}
.dvn-app .dvn-sup-foot{border-top:1px solid var(--c-border)!important;background:var(--c-bg)!important;padding:6px!important}
.dvn-app .dvn-sup-all{width:100%!important;padding:7px 8px!important;border-radius:8px!important;cursor:pointer!important;
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;
  font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;transition:filter .12s ease,transform .12s ease!important}
.dvn-app .dvn-sup-all:hover{filter:brightness(1.07)!important;transform:translateY(-1px)!important}

/* ============================================================
   v1.66.0 請求・原価／写真一覧／月間カレンダー
   状態色： 未作成=白 / 作成=薄緑 / 提出=黄 / 入金=ブルー
   ============================================================ */
.dvn-app .dvn-bill{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  margin-top:8px!important;padding:7px 8px!important;border:1px solid var(--c-border)!important;border-radius:10px!important;
  background:var(--c-card)!important;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important}
.dvn-app .dvn-bill-none{background:#fff!important;border-color:#94a3b8!important;border-width:2px!important;box-shadow:inset 4px 0 0 #64748b!important}
.dvn-app .dvn-bill-created{background:#a7f3d0!important;border-color:#059669!important;border-width:2px!important;box-shadow:inset 4px 0 0 #059669!important}
.dvn-app .dvn-bill-submitted{background:#fcd34d!important;border-color:#d97706!important;border-width:2px!important;box-shadow:inset 4px 0 0 #d97706!important}
.dvn-app .dvn-bill-paid{background:#bfdbfe!important;border-color:#1d4ed8!important;border-width:2px!important;box-shadow:inset 4px 0 0 #1d4ed8!important}
.dvn-app .dvn-bill-none .dvn-bill-sum,.dvn-app .dvn-bill-created .dvn-bill-sum,
.dvn-app .dvn-bill-submitted .dvn-bill-sum,.dvn-app .dvn-bill-paid .dvn-bill-sum{color:#1f2937!important}
.dvn-app .dvn-bill-created .dvn-bill-amt,.dvn-app .dvn-bill-submitted .dvn-bill-amt,
.dvn-app .dvn-bill-paid .dvn-bill-amt,.dvn-app .dvn-bill-none .dvn-bill-amt{color:#111827!important}
.dvn-app .dvn-bill-wrap{margin:10px 0!important;padding:10px!important;border:1px solid var(--c-border)!important;
  border-radius:12px!important;background:var(--c-card)!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-bill-cap{font-weight:800!important;margin-bottom:6px!important;color:var(--c-text2)!important;
  font-size:calc(var(--fs) - 1px)!important}

/* 状態スイッチ（4段セグメント） */
.dvn-app .dvn-bill-sw{display:inline-flex!important;align-items:stretch!important;border:1px solid var(--c-border)!important;
  border-radius:9px!important;overflow:hidden!important;background:var(--c-input-bg)!important}
.dvn-app .dvn-bill-seg{padding:5px 9px!important;cursor:pointer!important;background:transparent!important;
  color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important;font-weight:800!important;white-space:nowrap!important;
  border-right:1px solid var(--c-border)!important;transition:background .12s ease,color .12s ease!important}
.dvn-app .dvn-bill-seg:last-child{border-right:0!important}
.dvn-app .dvn-bill-seg:hover{background:var(--c-hover)!important}
.dvn-app .dvn-bill-seg.on{font-size:calc(var(--fs) - 2px)!important;letter-spacing:.04em!important;
  box-shadow:0 2px 6px rgba(0,0,0,.28)!important;transform:scale(1.04)!important}
.dvn-app .dvn-bill-seg.dvn-bs-none.on{background:#fff!important;color:#0f172a!important;box-shadow:inset 0 0 0 3px #475569!important}
.dvn-app .dvn-bill-seg.dvn-bs-created.on{background:#059669!important;color:#fff!important}
.dvn-app .dvn-bill-seg.dvn-bs-submitted.on{background:#f59e0b!important;color:#1c1917!important}
.dvn-app .dvn-bill-seg.dvn-bs-paid.on{background:#1d4ed8!important;color:#fff!important}
.dvn-app .dvn-bill-sw-lg .dvn-bill-seg{padding:8px 14px!important;font-size:calc(var(--fs) - 1px)!important}

.dvn-app .dvn-bill-edit{padding:5px 10px!important;border-radius:8px!important;cursor:pointer!important;
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;
  font-size:calc(var(--fs) - 3px)!important;font-weight:800!important;white-space:nowrap!important;
  transition:filter .12s ease,transform .12s ease!important}
.dvn-app .dvn-bill-edit:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}
.dvn-app .dvn-bill-sum{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-left:auto!important;
  font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-bill-amt{font-weight:800!important;color:var(--c-text)!important}
.dvn-app .dvn-bill-rate{padding:1px 6px!important;border-radius:999px!important;background:rgba(108,99,255,.14)!important;
  color:#4f46e5!important;font-weight:800!important}
.dvn-app .dvn-hidden{display:none!important}

/* 入力モーダル */
.dvn-app .dvn-bill-box{max-width:640px!important;border-top:6px solid #94a3b8!important}
.dvn-app .dvn-billbox-none{border-top-color:#64748b!important}
.dvn-app .dvn-billbox-created{border-top-color:#059669!important}
.dvn-app .dvn-billbox-submitted{border-top-color:#f59e0b!important}
.dvn-app .dvn-billbox-paid{border-top-color:#1d4ed8!important}
.dvn-app .dvn-bill-genba{margin-bottom:8px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important}
.dvn-app .dvn-bill-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.dvn-app .dvn-bill-grid .dvn-fg-wide{grid-column:1 / -1!important}
.dvn-app .dvn-bill-sec{margin-top:10px!important;padding:9px!important;border:1px solid var(--c-border)!important;border-radius:10px!important;background:var(--c-bg)!important}
.dvn-app .dvn-bill-sec-h{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;
  margin-bottom:7px!important;font-weight:800!important;font-size:calc(var(--fs) - 1px)!important}
.dvn-app .dvn-bill-auto{display:inline-flex!important;align-items:center!important;gap:5px!important;
  font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;font-weight:600!important;cursor:pointer!important}
.dvn-app .dvn-bill-auto-note{margin-top:6px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important;line-height:1.5!important}
.dvn-app .dvn-bill-result{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:10px 0!important}
.dvn-app .dvn-bill-rcell{display:flex!important;align-items:center!important;justify-content:space-between!important;
  padding:9px 11px!important;border-radius:10px!important;background:linear-gradient(135deg,rgba(108,99,255,.10),rgba(162,89,255,.08))!important;
  border:1px solid var(--c-border)!important}
.dvn-app .dvn-bill-rlb{color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important}
.dvn-app .dvn-bill-rv{font-size:calc(var(--fs) + 3px)!important;font-weight:800!important;color:var(--c-text)!important}
.dvn-app .dvn-bill-minus{color:#dc2626!important}
.dvn-app .dvn-modal-foot{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:10px!important}
@media (max-width:560px){
  .dvn-app .dvn-bill-grid,.dvn-app .dvn-bill-result{grid-template-columns:1fr!important}
  .dvn-app .dvn-bill-sum{margin-left:0!important;width:100%!important}
}

/* 写真一覧 */
.dvn-app .dvn-ph-count{font-weight:800!important;color:var(--c-text2)!important}
.dvn-app .dvn-ph-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(158px,1fr))!important;gap:10px!important;margin-top:10px!important}
.dvn-app .dvn-ph-item{background:var(--c-card)!important;border:1px solid var(--c-border)!important;border-radius:11px!important;
  overflow:hidden!important;box-shadow:var(--shadow)!important;transition:transform .12s ease,box-shadow .12s ease!important}
.dvn-app .dvn-ph-item:hover{transform:translateY(-2px)!important;box-shadow:0 8px 22px rgba(108,99,255,.20)!important}
.dvn-app .dvn-ph-item img{width:100%!important;height:132px!important;object-fit:cover!important;display:block!important;cursor:zoom-in!important}
.dvn-app .dvn-ph-cap{display:flex!important;flex-direction:column!important;gap:2px!important;padding:7px 8px!important;
  font-size:calc(var(--fs) - 4px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-ph-genba{font-weight:800!important;color:var(--c-accent)!important;text-decoration:none!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dvn-app .dvn-ph-kind{align-self:flex-start!important;padding:1px 6px!important;border-radius:999px!important;
  background:rgba(108,99,255,.14)!important;color:#4f46e5!important;font-weight:800!important}
.dvn-app .dvn-ph-txt{color:var(--c-text)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dvn-app .dvn-ph-filter select,.dvn-app .dvn-cal-filter input{min-width:0!important}

/* カレンダー */
.dvn-app .dvn-cal-ym{font-weight:800!important;font-size:calc(var(--fs) + 2px)!important;padding:0 6px!important}
.dvn-app .dvn-cal-sum{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:8px 0!important}
.dvn-app .dvn-cal-sc{padding:5px 10px!important;border-radius:999px!important;background:var(--c-card)!important;
  border:1px solid var(--c-border)!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-cal-sc b{color:var(--c-text)!important;font-weight:800!important}
.dvn-app .dvn-cal-sc-paid{background:rgba(37,99,235,.12)!important;border-color:rgba(37,99,235,.45)!important}
.dvn-app .dvn-cal-sc-none{background:var(--c-bg)!important}
.dvn-app .dvn-cal-legend{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-bottom:8px!important}
.dvn-app .dvn-cal-lg{padding:2px 9px!important;border-radius:999px!important;font-size:calc(var(--fs) - 4px)!important;font-weight:800!important;border:1px solid var(--c-border)!important}
.dvn-app .dvn-cal{border:1px solid var(--c-border)!important;border-radius:12px!important;overflow:hidden!important;background:var(--c-card)!important}
.dvn-app .dvn-cal-head,.dvn-app .dvn-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
.dvn-app .dvn-cal-head{background:rgba(79,70,229,.10)!important;border-bottom:1px solid var(--c-border)!important}
.dvn-app .dvn-cal-wd{padding:6px 4px!important;text-align:center!important;font-weight:800!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-cal-wd-0{color:#dc2626!important}.dvn-app .dvn-cal-wd-6{color:#2563eb!important}
.dvn-app .dvn-cal-cell{min-height:96px!important;padding:4px!important;border-right:1px solid var(--c-border)!important;
  border-bottom:1px solid var(--c-border)!important;display:flex!important;flex-direction:column!important;gap:3px!important}
.dvn-app .dvn-cal-cell:nth-child(7n){border-right:0!important}
.dvn-app .dvn-cal-empty{background:var(--c-bg)!important}
.dvn-app .dvn-cal-sun{background:rgba(220,38,38,.04)!important}
.dvn-app .dvn-cal-sat{background:rgba(37,99,235,.04)!important}
.dvn-app .dvn-cal-today{box-shadow:inset 0 0 0 2px var(--c-accent)!important}
.dvn-app .dvn-cal-dnum{font-weight:800!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-cal-chip{display:block!important;padding:3px 6px!important;border-radius:7px!important;text-decoration:none!important;
  font-size:calc(var(--fs) - 4px)!important;font-weight:700!important;border:1px solid var(--c-border)!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;transition:transform .1s ease!important}
.dvn-app .dvn-cal-chip:hover{transform:translateX(2px)!important}
/* 状態色はカレンダーのチップと凡例だけに適用する（スイッチの非選択セグメントを塗らないため） */
.dvn-app .dvn-cal-chip.dvn-bs-none,.dvn-app .dvn-cal-lg.dvn-bs-none{background:#fff!important;color:#0f172a!important;border-color:#475569!important;border-width:2px!important}
.dvn-app .dvn-cal-chip.dvn-bs-created,.dvn-app .dvn-cal-lg.dvn-bs-created{background:#059669!important;color:#fff!important;border-color:#047857!important}
.dvn-app .dvn-cal-chip.dvn-bs-submitted,.dvn-app .dvn-cal-lg.dvn-bs-submitted{background:#f59e0b!important;color:#1c1917!important;border-color:#b45309!important}
.dvn-app .dvn-cal-chip.dvn-bs-paid,.dvn-app .dvn-cal-lg.dvn-bs-paid{background:#1d4ed8!important;color:#fff!important;border-color:#1e40af!important}
.dvn-app[data-theme="dark"] .dvn-cal-chip.dvn-bs-none,.dvn-app[data-theme="dark"] .dvn-cal-lg.dvn-bs-none{background:#22223a!important;color:#e0e0f0!important}
@media (max-width:640px){
  .dvn-app .dvn-cal-cell{min-height:74px!important}
  .dvn-app .dvn-cal-chip{font-size:calc(var(--fs) - 5px)!important}
}
.dvn-app .dvn-bill-ro .dvn-bill-seg{cursor:not-allowed!important;opacity:.75!important}
.dvn-app .dvn-bill-ro .dvn-bill-seg:hover{background:transparent!important}

/* v1.66.1 請求の操作ログ（入力欄の下） */
.dvn-app .dvn-bill-log{margin-top:10px!important;border:1px solid var(--c-border)!important;border-radius:10px!important;
  background:var(--c-bg)!important;overflow:hidden!important}
.dvn-app .dvn-bill-log-h{padding:6px 9px!important;background:rgba(79,70,229,.10)!important;font-weight:800!important;
  font-size:calc(var(--fs) - 2px)!important;border-bottom:1px solid var(--c-border)!important;color:var(--c-text2)!important}
.dvn-app .dvn-bill-log-list{max-height:168px!important;overflow-y:auto!important}
.dvn-app .dvn-bill-log-row{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;
  padding:6px 9px!important;border-bottom:1px solid var(--c-border)!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-bill-log-row:last-child{border-bottom:0!important}
.dvn-app .dvn-bill-log-dot{width:11px!important;height:11px!important;border-radius:50%!important;flex:0 0 auto!important;
  border:2px solid #475569!important}
.dvn-app .dvn-bill-log-dot.dvn-bs-none{background:#fff!important}
.dvn-app .dvn-bill-log-dot.dvn-bs-created{background:#059669!important;border-color:#047857!important}
.dvn-app .dvn-bill-log-dot.dvn-bs-submitted{background:#f59e0b!important;border-color:#b45309!important}
.dvn-app .dvn-bill-log-dot.dvn-bs-paid{background:#1d4ed8!important;border-color:#1e40af!important}
.dvn-app .dvn-bill-log-time{font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.dvn-app .dvn-bill-log-user{font-weight:800!important;color:var(--c-text)!important;white-space:nowrap!important}
.dvn-app .dvn-bill-log-act{padding:1px 6px!important;border-radius:999px!important;background:rgba(108,99,255,.14)!important;
  color:#4f46e5!important;font-weight:800!important;white-space:nowrap!important}
.dvn-app .dvn-bill-log-detail{flex:1 1 100%!important;color:var(--c-text)!important;line-height:1.5!important}
.dvn-app .dvn-bill-log-empty{padding:11px 9px!important;text-align:center!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}

/* ============================================================
   v1.67.0 請求書一覧表（月度）
   ============================================================ */
.dvn-app .dvn-sk-sum{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:8px 0!important}
.dvn-app .dvn-sk-wrap{overflow-x:auto!important;border:1px solid var(--c-border)!important;border-radius:12px!important;
  background:var(--c-card)!important;box-shadow:var(--shadow)!important}
.dvn-app .dvn-sk-tbl{width:100%!important;min-width:1120px!important;border-collapse:collapse!important;
  font-size:calc(var(--fs) - 2px)!important;font-variant-numeric:tabular-nums!important}
.dvn-app .dvn-sk-tbl th,.dvn-app .dvn-sk-tbl td{padding:6px 8px!important;border-bottom:1px solid var(--c-border)!important;
  border-right:1px solid var(--c-border)!important;text-align:left!important;white-space:nowrap!important;color:var(--c-text)!important}
.dvn-app .dvn-sk-tbl th{background:rgba(79,70,229,.12)!important;font-weight:800!important;color:var(--c-text2)!important;
  position:sticky!important;top:0!important;z-index:2!important}
.dvn-app .dvn-sk-tbl .dvn-sk-genka{background:rgba(245,158,11,.16)!important}
.dvn-app .dvn-sk-tbl .dvn-sk-r{text-align:right!important}
.dvn-app .dvn-sk-tbl .dvn-sk-c{text-align:center!important}
.dvn-app .dvn-sk-no{color:var(--c-text2)!important}
.dvn-app .dvn-sk-row{cursor:pointer!important;transition:filter .1s ease!important}
.dvn-app .dvn-sk-row:hover{filter:brightness(.96)!important}
.dvn-app .dvn-skst-none{background:var(--c-card)!important;box-shadow:inset 4px 0 0 #64748b!important}
.dvn-app .dvn-skst-created{background:rgba(5,150,105,.16)!important;box-shadow:inset 4px 0 0 #059669!important}
.dvn-app .dvn-skst-submitted{background:rgba(245,158,11,.20)!important;box-shadow:inset 4px 0 0 #d97706!important}
.dvn-app .dvn-skst-paid{background:rgba(29,78,216,.16)!important;box-shadow:inset 4px 0 0 #1d4ed8!important}
.dvn-app .dvn-sk-gassan{font-weight:800!important;color:#4f46e5!important}
.dvn-app .dvn-sk-minus{color:#dc2626!important;font-weight:800!important}
.dvn-app .dvn-sk-badge{display:inline-block!important;padding:2px 8px!important;border-radius:999px!important;
  border:2px solid #475569!important;font-size:calc(var(--fs) - 4px)!important;font-weight:800!important}
.dvn-app .dvn-sk-badge.dvn-bs-none{background:#fff!important;color:#0f172a!important}
.dvn-app .dvn-sk-badge.dvn-bs-created{background:#059669!important;color:#fff!important;border-color:#047857!important}
.dvn-app .dvn-sk-badge.dvn-bs-submitted{background:#f59e0b!important;color:#1c1917!important;border-color:#b45309!important}
.dvn-app .dvn-sk-badge.dvn-bs-paid{background:#1d4ed8!important;color:#fff!important;border-color:#1e40af!important}
.dvn-app .dvn-sk-total td{background:rgba(79,70,229,.14)!important;font-weight:800!important;border-top:2px solid var(--c-accent)!important}
.dvn-app .dvn-sk-hint{margin-top:8px!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}

/* v1.68.0 請求書一覧の検索フォーム・ソート見出し */
.dvn-app .dvn-sk-filter{flex-wrap:wrap!important}
.dvn-app .dvn-sk-mode{display:inline-flex!important;align-items:center!important;gap:10px!important;
  padding:5px 10px!important;border:1px solid var(--c-border)!important;border-radius:9px!important;
  background:var(--c-input-bg)!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important}
.dvn-app .dvn-sk-mode label{display:inline-flex!important;align-items:center!important;gap:4px!important;cursor:pointer!important}
.dvn-app .dvn-sk-tbl th a{color:inherit!important;text-decoration:none!important;display:inline-flex!important;
  align-items:center!important;gap:3px!important}
.dvn-app .dvn-sk-tbl th a:hover{color:var(--c-accent)!important}
.dvn-app .dvn-sk-tbl .dvn-th-sort{opacity:.45!important;font-size:calc(var(--fs) - 5px)!important}
.dvn-app .dvn-sk-tbl .dvn-th-sort-on{opacity:1!important;color:var(--c-accent)!important}

/* ============================================================
   v1.68.1 ワイド表示（請求書一覧・カレンダー・写真一覧）
   テーマの本文幅に収まらない横長の表を、画面幅いっぱいまで広げる。
   transform は使わない（position:fixed の子要素がズレるため）。
   ============================================================ */
@media (min-width:1024px){
  .dvn-app.dvn-wide{
    max-width:none!important;
    width:calc(100vw - 32px)!important;
    margin-left:calc(50% - 50vw + 16px)!important;
    margin-right:calc(50% - 50vw + 16px)!important;
  }
}
@media (min-width:1024px) and (max-width:1400px){
  /* 中間幅では文字を少し詰めて列を収める */
  .dvn-app.dvn-wide .dvn-sk-tbl{font-size:calc(var(--fs) - 3px)!important}
  .dvn-app.dvn-wide .dvn-sk-tbl th,.dvn-app.dvn-wide .dvn-sk-tbl td{padding:5px 6px!important}
}
/* 表は画面幅に追随させ、横スクロールは本当に足りないときだけ出す */
.dvn-app.dvn-wide .dvn-sk-tbl{min-width:1040px!important;width:100%!important}
.dvn-app.dvn-wide .dvn-sk-wrap{max-height:none!important}
/* 長い物件名・工事内容は折り返して縦に伸ばす（横スクロールを減らす） */
.dvn-app .dvn-sk-tbl td:nth-child(3),.dvn-app .dvn-sk-tbl td:nth-child(4){white-space:normal!important;
  min-width:150px!important;max-width:340px!important;line-height:1.4!important}
.dvn-app.dvn-wide .dvn-cal-cell{min-height:118px!important}
.dvn-app.dvn-wide .dvn-ph-grid{grid-template-columns:repeat(auto-fill,minmax(186px,1fr))!important}
.dvn-app.dvn-wide .dvn-ph-item img{height:150px!important}


/* ============================================================
   v1.69.0 請求書一覧の表内編集
   ============================================================ */
.dvn-app .dvn-sk-editsw{display:inline-flex!important;align-items:center!important;gap:7px!important;cursor:pointer!important;
  padding:4px 10px 4px 8px!important;border:1px solid var(--c-border)!important;border-radius:999px!important;
  background:var(--c-card)!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;user-select:none!important}
.dvn-app .dvn-sk-editsw input{position:absolute!important;opacity:0!important;width:0!important;height:0!important}
.dvn-app .dvn-sk-editsw-t{position:relative!important;width:38px!important;height:21px!important;border-radius:999px!important;
  background:#cbd5e1!important;transition:background .16s ease!important;flex:0 0 auto!important}
.dvn-app .dvn-sk-editsw-t::after{content:''!important;position:absolute!important;top:2px!important;left:2px!important;
  width:17px!important;height:17px!important;border-radius:50%!important;background:#fff!important;
  box-shadow:0 1px 3px rgba(0,0,0,.35)!important;transition:transform .16s ease!important}
.dvn-app .dvn-sk-editsw input:checked + .dvn-sk-editsw-t{background:#059669!important}
.dvn-app .dvn-sk-editsw input:checked + .dvn-sk-editsw-t::after{transform:translateX(17px)!important}
.dvn-app .dvn-sk-editsw input:checked ~ .dvn-sk-editsw-l{color:#047857!important}

.dvn-app .dvn-sk-editing tbody tr{cursor:default!important}
.dvn-app .dvn-sk-in{width:100%!important;min-width:74px!important;box-sizing:border-box!important;
  padding:4px 6px!important;border:1px solid var(--c-input-border)!important;border-radius:6px!important;
  background:var(--c-input-bg)!important;color:var(--c-text)!important;font-size:calc(var(--fs) - 3px)!important;
  line-height:1.25!important}
.dvn-app .dvn-sk-in:focus{border-color:var(--c-accent)!important;box-shadow:0 0 0 3px rgba(108,99,255,.22)!important}
.dvn-app .dvn-sk-in-n{text-align:right!important}
.dvn-app .dvn-sk-in-st{font-weight:800!important;border-width:2px!important}
.dvn-app .dvn-sk-in-st.dvn-bs-none{background:#fff!important;color:#0f172a!important}
.dvn-app .dvn-sk-in-st.dvn-bs-created{background:#059669!important;color:#fff!important}
.dvn-app .dvn-sk-in-st.dvn-bs-submitted{background:#f59e0b!important;color:#1c1917!important}
.dvn-app .dvn-sk-in-st.dvn-bs-paid{background:#1d4ed8!important;color:#fff!important}
.dvn-app .dvn-sk-editing td[data-f]{padding:3px 5px!important}
.dvn-app .dvn-sk-locked{opacity:.62!important}
.dvn-app .dvn-sk-locked td:first-child::after{content:' 🔒'!important;font-size:calc(var(--fs) - 5px)!important}
.dvn-app .dvn-sk-saving{box-shadow:inset 4px 0 0 var(--c-accent)!important}
.dvn-app .dvn-sk-saved{animation:dvnSkSaved 1s ease!important}
@keyframes dvnSkSaved{0%{background:rgba(16,185,129,.42)}100%{background:transparent}}
.dvn-app .dvn-sk-error{box-shadow:inset 4px 0 0 #dc2626!important;background:rgba(220,38,38,.14)!important}

/* ============================================================
   v1.70.0 請求書一覧の編集ログ（表の下）
   ============================================================ */
.dvn-app .dvn-sk-logbox{margin-top:12px!important;border:1px solid var(--c-border)!important;border-radius:12px!important;
  background:var(--c-card)!important;overflow:hidden!important;box-shadow:var(--shadow)!important}
/* v1.70.1 見出し全体がアコーディオンの開閉ボタン（既定は閉じている） */
.dvn-app .dvn-sk-logh{display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;
  padding:9px 11px!important;cursor:pointer!important;text-align:left!important;
  background:rgba(79,70,229,.12)!important;border-bottom:1px solid transparent!important;
  font-weight:800!important;font-size:calc(var(--fs) - 2px)!important;color:var(--c-text2)!important;
  transition:background .12s ease,color .12s ease!important}
.dvn-app .dvn-sk-logh:hover{background:rgba(79,70,229,.20)!important;color:var(--c-accent)!important}
.dvn-app .dvn-sk-logh.on{border-bottom-color:var(--c-border)!important}
.dvn-app .dvn-sk-logtg{flex:0 0 auto!important;width:16px!important;text-align:center!important;
  font-size:calc(var(--fs) - 2px)!important;color:var(--c-accent)!important}
.dvn-app .dvn-sk-loglb{flex:0 0 auto!important}
.dvn-app .dvn-sk-logn{margin-left:auto!important;font-weight:700!important;font-size:calc(var(--fs) - 3px)!important;
  padding:1px 9px!important;border-radius:999px!important;background:var(--c-card)!important;
  border:1px solid var(--c-border)!important}
.dvn-app .dvn-sk-logh-new{animation:dvnSkLogHead 1.4s ease!important}
@keyframes dvnSkLogHead{0%{background:rgba(16,185,129,.45)}100%{background:rgba(79,70,229,.12)}}
.dvn-app .dvn-sk-loglist{max-height:260px!important;overflow-y:auto!important}
.dvn-app .dvn-sk-logrow{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important;
  padding:6px 10px!important;border-bottom:1px solid var(--c-border)!important;
  font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-sk-logrow:last-child{border-bottom:0!important}
.dvn-app .dvn-sk-logdot{width:11px!important;height:11px!important;border-radius:50%!important;flex:0 0 auto!important;border:2px solid #475569!important}
.dvn-app .dvn-sk-logdot.dvn-bs-none{background:#fff!important}
.dvn-app .dvn-sk-logdot.dvn-bs-created{background:#059669!important;border-color:#047857!important}
.dvn-app .dvn-sk-logdot.dvn-bs-submitted{background:#f59e0b!important;border-color:#b45309!important}
.dvn-app .dvn-sk-logdot.dvn-bs-paid{background:#1d4ed8!important;border-color:#1e40af!important}
.dvn-app .dvn-sk-logtime{font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.dvn-app .dvn-sk-loguser{font-weight:800!important;color:var(--c-text)!important;white-space:nowrap!important}
.dvn-app .dvn-sk-logbk{font-weight:800!important;color:var(--c-accent)!important;text-decoration:none!important;white-space:nowrap!important}
.dvn-app .dvn-sk-logbk:hover{text-decoration:underline!important}
.dvn-app .dvn-sk-logkind{padding:1px 7px!important;border-radius:999px!important;background:rgba(108,99,255,.14)!important;
  color:#4f46e5!important;font-weight:800!important;white-space:nowrap!important}
.dvn-app .dvn-sk-logdetail{flex:1 1 260px!important;color:var(--c-text)!important;line-height:1.5!important}
.dvn-app .dvn-sk-logempty{padding:12px 10px!important;text-align:center!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 3px)!important}
.dvn-app .dvn-sk-lognew{animation:dvnSkLogNew 1.4s ease!important}
@keyframes dvnSkLogNew{0%{background:rgba(16,185,129,.40)}100%{background:transparent}}

/* ============================================================
   v1.70.2 請求モーダル：見出し／操作バーを固定し、上下移動ボタンを常時表示
   閉じるのは右上の✕のみ（背景クリック・Escでは閉じない）
   ============================================================ */
.dvn-app .dvn-bill-box{position:relative!important;padding-top:0!important;padding-bottom:0!important}
.dvn-app .dvn-bill-head{position:sticky!important;top:0!important;z-index:5!important;
  margin:0 -14px 8px!important;padding:11px 14px!important;background:var(--c-card)!important;
  border-bottom:1px solid var(--c-border)!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important}
.dvn-app .dvn-bill-close{width:32px!important;height:32px!important;border-radius:8px!important;
  border:1px solid var(--c-border)!important;background:var(--c-bg)!important;transition:background .12s ease,color .12s ease!important}
.dvn-app .dvn-bill-close:hover{background:#fee2e2!important;color:#b91c1c!important;border-color:#fca5a5!important}
.dvn-app .dvn-bill-foot{position:sticky!important;bottom:0!important;z-index:5!important;
  margin:10px -14px 0!important;padding:9px 14px!important;background:var(--c-card)!important;
  border-top:1px solid var(--c-border)!important;box-shadow:0 -2px 8px rgba(0,0,0,.06)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.dvn-app .dvn-bill-nav{display:inline-flex!important;align-items:stretch!important;
  border:1px solid var(--c-border)!important;border-radius:9px!important;overflow:hidden!important;background:var(--c-input-bg)!important}
.dvn-app .dvn-bill-navb{padding:7px 12px!important;cursor:pointer!important;background:transparent!important;
  color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important;font-weight:800!important;
  border-right:1px solid var(--c-border)!important;transition:background .12s ease,color .12s ease!important}
.dvn-app .dvn-bill-navb:last-child{border-right:0!important}
.dvn-app .dvn-bill-navb:hover{background:var(--c-hover)!important;color:var(--c-accent)!important}
.dvn-app .dvn-bill-navb-end{color:var(--c-text2)!important;opacity:.8!important}
.dvn-app .dvn-bill-foot .dvn-btn-primary{padding:8px 22px!important;font-weight:800!important}

/* ============================================================
   v1.71.1: 出来高集計の未追加警告（v1.71.0を強化）
   ------------------------------------------------------------
   v1.71.0のバッジ外置きは狭い画面で右端が切れ、グローも弱く
   気づけなかった。ボタン自体を赤く・大きくし、文言も
   「⚠ 出来高集計が未追加（N件）— 押して見積に追加」へ切り替えて
   強く明滅させる（DVTV-104 v1.19.1の未保存通知と同方式）。
   実装メモ: .dvn-btn の background は !important のため、
   アニメーションで背景色を動かしても負ける。背景は alert クラスの
   !important で静的に赤へ上書きし、明滅は filter + box-shadow で行う。
   ============================================================ */
@keyframes dvn-labor-blink {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0.85), 0 4px 12px rgba(220,38,38,0.4); filter: brightness(1); }
    50%      { box-shadow: 0 0 0 12px rgba(220,38,38,0), 0 4px 16px rgba(220,38,38,0.55); filter: brightness(1.4); }
}
.dvn-app .dvn-btn.dvn-btn-labor-alert {
    background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
    font-size: calc(var(--fs) + 2px) !important;
    font-weight: 800 !important;
    padding: 13px 20px !important;
    border: 2px solid rgba(255,255,255,0.85) !important;
    border-radius: 11px !important;
    white-space: normal !important;      /* 長い警告文言は折り返してでも全部見せる */
    text-align: center !important;
    line-height: 1.35 !important;
    animation: dvn-labor-blink 1.15s ease-in-out infinite !important;
}
.dvn-app .dvn-btn.dvn-btn-labor-alert:hover { filter: brightness(1.2) !important; }
@media (prefers-reduced-motion: reduce) {
    .dvn-app .dvn-btn.dvn-btn-labor-alert {
        animation: none !important;
        box-shadow: 0 0 0 3px rgba(245,158,11,0.95) !important;
    }
}

/* v1.71.2: 「手動対応済で追加済みにする」— 見積へは何も追加しない控えめな第2ボタン */
.dvn-app .dvn-btn.dvn-lmode-done {
    background: #fff !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
    font-weight: 700 !important;
}
.dvn-app .dvn-btn.dvn-lmode-done:hover {
    background: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    filter: none !important;
}

/* v1.71.3: 集計元内訳の「✔追加済」ラベル（この行は差分集計から除外されている印） */
.dvn-app .dvn-lsrc-pushed {
    display: inline-block;
    margin-left: 5px;
    padding: 1px 7px;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    vertical-align: middle;
}

/* ============================================================
   v1.72.0: 書込み日と実地日の分離
   ============================================================ */
/* 新規作成: 実地日 + クイックボタン(今日/昨日/一昨日) 横並び */
.dvn-app .dvn-date-row{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:wrap!important}
.dvn-app .dvn-date-row input[type="date"]{width:auto!important;flex:0 1 190px!important;min-width:150px!important}
.dvn-app .dvn-date-quick{display:inline-flex!important;gap:5px!important}
.dvn-app .dvn-dq{padding:8px 13px!important;border-radius:999px!important;border:1px solid var(--c-input-border)!important;
  background:var(--c-input-bg)!important;color:var(--c-text2)!important;font-size:calc(var(--fs) - 1px)!important;
  font-weight:700!important;cursor:pointer!important;transition:all .15s!important;white-space:nowrap!important;line-height:1!important}
.dvn-app .dvn-dq:hover{border-color:var(--c-accent)!important;color:var(--c-accent)!important}
.dvn-app .dvn-dq.on{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2))!important;color:#fff!important;
  border-color:transparent!important;box-shadow:0 2px 6px rgba(108,99,255,.35)!important}

/* 書込み日バッジ(実地日と異なる日報のみ表示): 詳細ヘッダー・一覧カード */
.dvn-app .dvn-wdate{display:inline-flex!important;align-items:center!important;padding:2px 9px!important;border-radius:999px!important;
  background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important;
  font-size:calc(var(--fs) - 2px)!important;font-weight:700!important;white-space:nowrap!important;line-height:1.5!important}
.dvn-app[data-theme="dark"] .dvn-wdate{background:#451a03!important;color:#fcd34d!important;border-color:#78350f!important}

/* 一覧表: 実地日セル内の書込み日併記 */
.dvn-app .dvn-td-date .dvn-wdate-s{display:block!important;margin-top:2px!important;color:#b45309!important;
  font-size:10px!important;font-weight:700!important;white-space:nowrap!important}
.dvn-app[data-theme="dark"] .dvn-td-date .dvn-wdate-s{color:#fbbf24!important}

/* ============================================================
   v1.73.0: 追記単位の実地日
   ============================================================ */
/* 追記行: 同日書込みの✍時刻(控えめ表示) */
.dvn-app .dvn-di-wtime{color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;white-space:nowrap!important}
/* 追記フォーム内の実地日行(モーダル内でも新規作成と同じ見た目) */
.dvn-app .dvn-sec-body .dvn-date-row input[type="date"]{width:auto!important;flex:0 1 190px!important;min-width:150px!important}

/* ============================================================
   v1.74.0 材料 直接入力モーダル ＋ 単位欄数量の救済ハイライト
   ============================================================ */
/* 直接入力モーダル：品名を全幅、出庫数・単位は横並び */
.dvn-app .dvn-matdirect-body{display:flex!important;flex-direction:column!important;gap:10px!important}
.dvn-app .dvn-matdirect-fld{display:flex!important;flex-direction:column!important;gap:4px!important;flex:1 1 0!important;min-width:0!important;font-size:calc(var(--fs) - 2px)!important;font-weight:800!important;color:var(--c-text2)!important}
.dvn-app .dvn-matdirect-fld b{display:inline-block!important;background:#ef4444!important;color:#fff!important;font-size:10px!important;font-weight:800!important;border-radius:5px!important;padding:1px 6px!important;margin-left:4px!important;vertical-align:1px!important}
.dvn-app .dvn-matdirect-fld input{width:100%!important;box-sizing:border-box!important;background:var(--c-input-bg)!important;color:var(--c-text)!important;border:1px solid var(--c-input-border)!important;border-radius:8px!important;padding:9px 10px!important;font-size:var(--fs)!important;font-weight:600!important}
.dvn-app .dvn-matdirect-row{display:flex!important;gap:10px!important}
.dvn-app .dvn-matdirect-help{margin:0!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important;line-height:1.5!important}
/* 救済通知（アンバー） */
.dvn-app .dvn-mat-fix-note{background:#fef3c7!important;color:#92400e!important;border:1px solid #f59e0b!important;border-radius:10px!important;padding:9px 12px!important;margin:0 0 10px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important;line-height:1.5!important;animation:dvnMatFixPulse 1.4s ease-in-out 3!important}
.dvn-app[data-theme="dark"] .dvn-mat-fix-note{background:#78350f!important;color:#fde68a!important;border-color:#b45309!important}
/* 救済行ハイライト（アンバー枠＋パルス） */
.dvn-app .dvn-mat-row.dvn-mat-fixed{background:#fffbeb!important;box-shadow:inset 0 0 0 2px #f59e0b!important;border-radius:9px!important;animation:dvnMatFixPulse 1.4s ease-in-out 3!important}
.dvn-app[data-theme="dark"] .dvn-mat-row.dvn-mat-fixed{background:#3a2b10!important;box-shadow:inset 0 0 0 2px #d97706!important}
@keyframes dvnMatFixPulse{0%,100%{opacity:1}50%{opacity:.55}}

/* ============================================================
   v1.74.1 表内単位の編集可欄 ＋ 救済通知の保存ボタン
   ============================================================ */
/* 使用数セル内の単位入力（旧: 表示専用span）。狭い列(110px)に収める */
.dvn-app .dvn-mat-row .dvn-mat-use .dvn-mat-unit-input{flex:0 0 40px!important;width:40px!important;min-width:40px!important;padding:7px 4px!important;text-align:center!important;font-size:calc(var(--fs) - 3px)!important;color:var(--c-text2)!important}
.dvn-app .dvn-mat-row .dvn-mat-use .dvn-mat-unit-input:focus{color:var(--c-text)!important}
/* 救済通知：文言とボタンを横並び（狭幅では折返し） */
.dvn-app .dvn-mat-fix-note{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.dvn-app .dvn-mat-fix-note > span{flex:1 1 260px!important;min-width:0!important}
.dvn-app .dvn-mat-fix-save{background:#059669!important;color:#fff!important;border:none!important;border-radius:8px!important;font-weight:800!important;white-space:nowrap!important;padding:8px 14px!important;cursor:pointer!important;box-shadow:0 1px 4px rgba(5,150,105,.35)!important}
.dvn-app .dvn-mat-fix-save:hover{background:#047857!important}
.dvn-app[data-theme="dark"] .dvn-mat-fix-save{background:#10b981!important;color:#052e22!important}

/* ============================================================
   v1.76.0 現場名の2段表示（ベース名＋日付サフィックス）
   ------------------------------------------------------------
   DVTV-064 が付与する `-YYMMDD-N` で現場名が長くなり、カードヘッダで
   折り返して「記入中」「一般」バッジを下段へ押し出す崩れが発生していた。
   ベース名を主・サフィックスを従（小さいグレー文字）に分け、
   バッジ群は縮まない独立ブロックにして押し出しを構造的に防ぐ。
   ============================================================ */
/* カードヘッダ：上端揃えにしてタイトルが2段になってもバッジ位置を固定 */
.dvn-app .dvn-card-top{align-items:flex-start!important}
/* 現場名ブロック：残り幅を使い切り、必要なら縮む（min-width:0 が必須） */
.dvn-app .dvn-genba-wrap{display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  flex:1 1 auto!important;min-width:0!important;line-height:1.2!important}
.dvn-app .dvn-genba{font-weight:800!important;overflow-wrap:anywhere!important;word-break:break-word!important}
/* 日付サフィックス：小さく淡色。ベース名の下段に配置 */
.dvn-app .dvn-genba-sfx{display:block!important;margin-top:1px!important;
  font-size:calc(var(--fs) - 3px)!important;font-weight:700!important;
  color:var(--c-text2)!important;opacity:.75!important;letter-spacing:.02em!important;
  font-variant-numeric:tabular-nums!important;white-space:nowrap!important}
.dvn-app .dvn-genba-none{color:var(--c-text2)!important;font-weight:700!important}
/* バッジ群：縮ませない（現場名が長くても押し出されない） */
.dvn-app .dvn-card-badges{display:flex!important;align-items:center!important;gap:6px!important;
  flex:0 0 auto!important;flex-wrap:nowrap!important}
/* 一覧表：行高を保つため横並び（インライン）に切替 */
.dvn-app .dvn-genba-inline{flex-direction:row!important;align-items:baseline!important;
  gap:5px!important;flex-wrap:wrap!important}
.dvn-app .dvn-genba-inline .dvn-genba-sfx{display:inline!important;margin-top:0!important}
/* 狭幅端末：サフィックスをさらに控えめに */
@media (max-width:480px){
  .dvn-app .dvn-genba-sfx{font-size:calc(var(--fs) - 4px)!important}
  .dvn-app .dvn-card-badges{gap:4px!important}
}
.dvn-app[data-theme="dark"] .dvn-genba-sfx{color:#94a3b8!important;opacity:.8!important}

/* ============================================================
   v1.77.0 手動作成の見積がある現場の案内（フローA）
   ------------------------------------------------------------
   「見積が先 → 提出 → 工事」の現場では日報から見積に触らない運用のため、
   出来高見積作成ボタンの代わりにこの案内を表示する。
   連携し忘れではなく「意図的に触らない」ことが伝わる見た目にする。
   ============================================================ */
.dvn-app .dvn-manual-mitu{display:flex!important;flex-direction:column!important;gap:2px!important;
  align-self:center!important;background:#f8fafc!important;border:1px solid #cbd5e1!important;
  border-left:5px solid #64748b!important;border-radius:10px!important;padding:8px 12px!important;
  max-width:100%!important;min-width:0!important}
.dvn-app .dvn-manual-mitu-t{font-weight:800!important;color:#334155!important;
  font-size:var(--fs)!important;overflow-wrap:anywhere!important}
.dvn-app .dvn-manual-mitu-s{color:var(--c-text2)!important;font-size:calc(var(--fs) - 2px)!important;
  line-height:1.4!important;overflow-wrap:anywhere!important}
.dvn-app .dvn-manual-mitu-a{align-self:flex-start!important;margin-top:3px!important;
  color:#1d4ed8!important;font-weight:800!important;text-decoration:none!important;
  font-size:calc(var(--fs) - 1px)!important;white-space:nowrap!important}
.dvn-app .dvn-manual-mitu-a:hover{text-decoration:underline!important}
.dvn-app[data-theme="dark"] .dvn-manual-mitu{background:#1e293b!important;border-color:#475569!important;
  border-left-color:#94a3b8!important}
.dvn-app[data-theme="dark"] .dvn-manual-mitu-t{color:#e2e8f0!important}
.dvn-app[data-theme="dark"] .dvn-manual-mitu-a{color:#93c5fd!important}

/* ============================================================
   v1.78.0 見積が先の現場：既存の手動見積の紐付け
   ============================================================ */
/* ボタン＋紐付けリンクの縦積み */
.dvn-app .dvn-mitu-stack{display:inline-flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;min-width:0!important}
.dvn-app .dvn-slink-open{background:transparent!important;border:1px dashed #94a3b8!important;color:#475569!important;
  border-radius:8px!important;padding:5px 10px!important;font-size:calc(var(--fs) - 2px)!important;font-weight:700!important;
  cursor:pointer!important;text-align:left!important;line-height:1.3!important;white-space:normal!important}
.dvn-app .dvn-slink-open:hover{border-color:#2563eb!important;color:#1d4ed8!important;background:#eff6ff!important}
.dvn-app[data-theme="dark"] .dvn-slink-open{border-color:#64748b!important;color:#cbd5e1!important}
.dvn-app[data-theme="dark"] .dvn-slink-open:hover{background:#1e3a5f!important;color:#93c5fd!important}
/* 案内ブロック内：リンクと解除ボタンの横並び */
.dvn-app .dvn-manual-mitu-row{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:3px!important}
.dvn-app .dvn-manual-mitu-row .dvn-manual-mitu-a{margin-top:0!important}
.dvn-app .dvn-manual-mitu-x{background:transparent!important;border:1px solid #cbd5e1!important;color:#64748b!important;
  border-radius:6px!important;padding:2px 8px!important;font-size:calc(var(--fs) - 3px)!important;font-weight:700!important;cursor:pointer!important}
.dvn-app .dvn-manual-mitu-x:hover{border-color:#dc2626!important;color:#dc2626!important;background:#fef2f2!important}
.dvn-app[data-theme="dark"] .dvn-manual-mitu-x{border-color:#475569!important;color:#94a3b8!important}
/* ピッカー内の注意書き */
.dvn-app .dvn-slink-note{background:#fffbeb!important;border:1px solid #fcd34d!important;border-radius:8px!important;
  padding:8px 10px!important;margin-bottom:8px!important;font-size:calc(var(--fs) - 2px)!important;color:#78350f!important;line-height:1.5!important}
.dvn-app[data-theme="dark"] .dvn-slink-note{background:#3b2f0c!important;border-color:#a16207!important;color:#fde68a!important}

/* v1.78.2 紐付けピッカー：工事名は省略せず全文表示（候補の見分けに必要） */
.dvn-app .dvn-slink-item{align-items:flex-start!important}
.dvn-app .dvn-slink-item .dvn-mpick-nm{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.dvn-app .dvn-slink-item .dvn-mpick-no{flex:0 0 auto!important}
.dvn-app .dvn-slink-item .dvn-mpick-dt{flex:0 0 auto!important;white-space:nowrap!important;padding-top:2px!important}

/* v1.81.0 人工（全日／半日）入力の案内文 */
.dvn-app .dvn-ninku-hint{margin:-2px 0 10px!important;padding:7px 10px!important;
  background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:8px!important;
  font-size:calc(var(--fs) - 2px)!important;color:#1e40af!important;line-height:1.5!important}
.dvn-app[data-theme="dark"] .dvn-ninku-hint{background:#1e3a5f!important;border-color:#3b82f6!important;color:#bfdbfe!important}

/* v1.81.1 人工の合計表示（半日=0.5換算） */
.dvn-app .dvn-ninku-sum{margin:-4px 0 6px!important;padding:5px 10px!important;border-radius:8px!important;
  background:var(--c-card2,#f1f5f9)!important;border:1px solid var(--c-border,#e2e8f0)!important;
  font-size:calc(var(--fs) - 1px)!important;font-weight:700!important;color:var(--c-text2)!important;
  display:inline-block!important}
.dvn-app .dvn-ninku-sum b{font-size:calc(var(--fs) + 3px)!important;color:var(--c-text2)!important;
  font-variant-numeric:tabular-nums!important;margin:0 2px!important}
.dvn-app .dvn-ninku-sum.dvn-ninku-sum-on{background:#ecfdf5!important;border-color:#a7f3d0!important;color:#065f46!important}
.dvn-app .dvn-ninku-sum.dvn-ninku-sum-on b{color:#047857!important}
.dvn-app[data-theme="dark"] .dvn-ninku-sum.dvn-ninku-sum-on{background:#064e3b!important;border-color:#059669!important;color:#a7f3d0!important}
.dvn-app[data-theme="dark"] .dvn-ninku-sum.dvn-ninku-sum-on b{color:#6ee7b7!important}
/* 追記一覧：全日/半日の右に合計を小さく添える */
.dvn-app .dvn-di-ninku-t{margin-left:5px!important;padding:1px 6px!important;border-radius:6px!important;
  background:rgba(100,116,139,.14)!important;font-size:calc(var(--fs) - 3px)!important;font-weight:700!important;
  white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
