.notification-card40{margin:12px 0;border-left:5px solid var(--blue)}
.notification-card40 h3{margin:0 0 6px}.notification-card40 p{margin:6px 0}
.mobile-menu-button40{display:none}
.photo-openable40{cursor:zoom-in;outline-offset:3px}
.photo-openable40:focus-visible{outline:3px solid var(--blue)}
.photo-viewer-open40{overflow:hidden}
.photo-viewer40{position:fixed;inset:0;z-index:1000;background:#000e;display:flex;align-items:center;justify-content:center;padding:64px 12px 88px;touch-action:none;overflow:hidden}
.photo-viewer40>img{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 10px 50px #0008;transform-origin:center;transition:transform .12s ease;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.photo-viewer40>img.is-zoomed40{transition:none;cursor:grab}
.photo-viewer-move40{position:fixed;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:64px;border:0;border-radius:12px;background:#0009;color:#fff;font-size:46px;line-height:1;cursor:pointer}
.photo-viewer-previous40{left:12px}.photo-viewer-next40{right:12px}
.photo-viewer-counter40{position:fixed;top:18px;left:50%;transform:translateX(-50%);color:#fff;background:#0009;border-radius:999px;padding:6px 12px;font-weight:800}
.photo-viewer-hint40{position:fixed;top:56px;left:50%;transform:translateX(-50%);color:#fff;background:#0008;border-radius:999px;padding:4px 10px;font-size:12px;white-space:nowrap;pointer-events:none}
.photo-viewer-actions40{position:fixed;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:10px;padding:0 12px}
.photo-viewer-actions40 .btn{min-width:120px;box-shadow:0 4px 16px #0008}
.drawing-field40{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fbff}
.drawing-field40 input[type=file]{width:100%;padding:10px;background:#fff;border:1px dashed var(--blue);border-radius:9px}
.drawing-list40{display:grid;gap:8px;margin-top:10px}
.drawing-row40{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.drawing-name40{min-width:0;overflow-wrap:anywhere;font-weight:700}.drawing-meta40{font-size:12px;color:var(--muted);margin-top:2px}
.drawing-gallery40{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.drawing-card40{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;min-width:0}
.drawing-preview40{height:150px;border-radius:8px;background:#eef4f9 center/contain no-repeat;display:flex;align-items:center;justify-content:center;font-size:44px;cursor:pointer;margin-bottom:8px}
.drawing-site40{margin:12px 0;border-left:5px solid var(--blue)}
.estimate-simple-list40{display:grid;gap:10px}
.estimate-simple-card40{width:100%;display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:18px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px 18px;color:inherit;cursor:pointer;box-shadow:0 2px 8px #1b47700b}
.estimate-simple-card40:hover{border-color:var(--blue);box-shadow:0 5px 16px #1b47701b}.estimate-simple-card40:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.estimate-simple-card40 span{min-width:0}.estimate-simple-card40 small{display:block;color:var(--muted);font-weight:700;margin-bottom:4px}.estimate-simple-card40 b{display:block;overflow-wrap:anywhere;font-size:16px}.estimate-open40{color:var(--blue);font-weight:800;white-space:nowrap}
.site-dates40{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}.site-date-pill40{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.site-date-pill40.start{background:#e8f7ed;color:#20723b}.site-date-pill40.end{background:#fff1df;color:#985600}
.site-schedule40{margin:12px 0;border-left:5px solid #f39a28}.site-schedule40 h3{margin:0 0 10px}.site-schedule-grid40{display:grid;grid-template-columns:1fr 1fr;gap:10px}.site-schedule-grid40>div{padding:10px;border-radius:9px;background:#f7fafc}.site-schedule-grid40 span{display:block;color:var(--muted);font-size:12px;font-weight:700}.site-schedule-grid40 b{display:block;margin-top:3px}
.site-calendar40 .calendar-day.has-site40{box-shadow:inset 0 -3px #f39a28}.site-calendar40 .site-start40{color:#20723b;font-weight:800}.site-calendar40 .site-end40{color:#985600;font-weight:800}
.site-mark40,.report-mark40,.mobile-calendar-agenda40{display:none}
@media(max-width:800px){
 .main{padding-bottom:12px}
 .mobile-header{gap:8px}.mobile-header>div{display:flex;gap:6px;align-items:center}
 .mobile-menu-button40{display:inline-flex}
 .mobile-bottom{display:none!important;position:static;border:1px solid var(--line);border-radius:10px;margin:8px 10px;background:#fff;box-shadow:0 8px 24px #15304b22;grid-template-columns:1fr 1fr;white-space:normal!important;overflow:visible!important}
 .mobile-bottom.menu-open40{display:grid!important}
 .mobile-bottom button,.mobile-bottom button{min-width:0!important;flex:auto!important;border-bottom:1px solid var(--line);text-align:left;padding:12px}
 #estimateList .table-wrap{overflow:visible}
 #estimateList table,#estimateList tbody{display:block}
 #estimateList tr:first-child{display:none}
 #estimateList tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:10px;box-shadow:0 2px 8px #1b47700b}
 #estimateList td{display:grid;grid-template-columns:86px 1fr;gap:8px;border:0;padding:5px 2px;overflow-wrap:anywhere}
 #estimateList td:nth-child(1)::before{content:'契約者名';font-weight:800;color:var(--muted)}
 #estimateList td:nth-child(2)::before{content:'現場名';font-weight:800;color:var(--muted)}
 #estimateList td:nth-child(3)::before{content:'住所';font-weight:800;color:var(--muted)}
 #estimateList td:nth-child(4)::before{content:'金額';font-weight:800;color:var(--muted)}
 #estimateList td:nth-child(5)::before{content:'状態';font-weight:800;color:var(--muted)}
 #estimateList td:nth-child(6){display:block;padding-top:10px}
 .drawing-row40{align-items:flex-start;flex-direction:column}.drawing-gallery40{grid-template-columns:1fr 1fr}.drawing-preview40{height:120px}
 .estimate-simple-card40{grid-template-columns:1fr;padding:13px;gap:10px}.estimate-open40{justify-self:end;margin-top:-4px}
 .site-schedule-grid40{grid-template-columns:1fr}
 .site-calendar40 .calendar-wrap{overflow:visible!important;width:100%}
 .site-calendar40 .calendar-grid{width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}
 .site-calendar40 .calendar-day,.site-calendar40 .calendar-dow{box-sizing:border-box!important;width:auto!important;min-width:0!important;min-height:54px!important;padding:4px 2px!important;overflow:hidden}
 .site-calendar40 .calendar-dow{min-height:auto!important;text-align:center;font-size:12px}
 .site-calendar40 .calendar-day .daynum{font-size:15px;line-height:1.1}
 .site-calendar40 .calendar-day .site-mini,.site-calendar40 .calendar-day .cnt{display:none!important}
 .site-calendar40 .site-mark40,.site-calendar40 .report-mark40{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin:4px 1px 0;border-radius:5px;font-size:9px;font-weight:900}
 .site-calendar40 .site-mark40.start{background:#daf3e2;color:#17652f}.site-calendar40 .site-mark40.end{background:#ffead0;color:#8b4c00}.site-calendar40 .report-mark40{background:#dcefff;color:#096bbd}
 .mobile-calendar-agenda40{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.mobile-calendar-agenda40 h4{margin:0 0 4px}
 .mobile-agenda-row40{display:grid;grid-template-columns:36px 58px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:inherit;text-align:left}.mobile-agenda-row40 b{overflow-wrap:anywhere}.mobile-agenda-date40{font-weight:900}.mobile-agenda-type40{padding:3px 5px;border-radius:6px;text-align:center;font-size:11px;font-weight:900}.mobile-agenda-type40.start{background:#daf3e2;color:#17652f}.mobile-agenda-type40.end{background:#ffead0;color:#8b4c00}
 .photo-viewer40{padding:54px 8px 84px}
 .photo-viewer-move40{width:40px;height:54px;font-size:38px;background:#0007}
 .photo-viewer-previous40{left:5px}.photo-viewer-next40{right:5px}
 .photo-viewer-actions40{bottom:max(12px,env(safe-area-inset-bottom))}
}

/* 日報写真の複数選択 */
.report-photo-input40{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.report-photo-controls40{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.report-photo-button40{display:inline-block;text-align:center}
.report-photo-thumb40{position:relative;width:92px;height:76px}
.report-photo-thumb40 img{width:100%;height:100%;object-fit:cover;border-radius:9px;border:1px solid var(--line)}
.report-photo-remove40{position:absolute;top:-7px;right:-7px;width:25px;height:25px;padding:0;border:0;border-radius:50%;background:#d9344f;color:#fff;font-size:18px;font-weight:900;line-height:25px;box-shadow:0 2px 6px #0004}
@media(max-width:800px){.report-photo-controls40{display:grid;grid-template-columns:1fr 1fr}.report-photo-controls40 .muted{grid-column:1/-1}.report-photo-button40{width:100%}}
