/*
 * さくら事務所 報告書DX — 現場アプリ（beta/index.html）専用CSS
 * フェーズ1: sakura-inspector.html のUIを移植。
 * 共有トークン・共通コンポーネントは assets/tokens.css を参照（このファイルでは重複定義しない）。
 */

/* ===================== ヘッダー / ホーム ===================== */
.hd{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px}
.hd .d{font-size:10.5px;color:var(--sub);font-weight:800;letter-spacing:.1em;margin-bottom:2px}
.hd h2{font-size:20px}
.hdR{display:flex;align-items:center;gap:8px}
.gearB{appearance:none;border:none;background:#fff;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#5A6663;box-shadow:var(--shadow-card);cursor:pointer}
.av{width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}

.job{background:linear-gradient(140deg,var(--brand),var(--brand-deep) 70%);border-radius:var(--r);color:#fff;padding:20px;box-shadow:0 18px 40px rgba(10,74,64,.28)}
.job .tp{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}
.job .live{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;background:rgba(255,255,255,.16);padding:5px 11px;border-radius:99px;letter-spacing:.06em}
.job .live i{width:7px;height:7px;border-radius:50%;background:#7FE3C8;animation:blink 1.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.job h3{font-size:20px;margin-bottom:3px}
.job .ad{font-size:11.5px;color:#BFD8D2;margin-bottom:14px}
.job .meta{display:flex;gap:7px;flex-wrap:wrap}
.job .meta span{font-size:10.5px;font-weight:700;background:rgba(255,255,255,.13);padding:6px 11px;border-radius:9px}
.typeRow{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.typeTag{appearance:none;font-family:inherit;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#CFE2DD;font-size:10px;font-weight:800;padding:5px 11px;border-radius:99px}
.typeTag.tap{cursor:pointer;background:#fff;border-color:#fff;color:var(--brand-deep)}

/* ===================== フェーズ3: 差戻し通知（ホーム） ===================== */
.backNotice{margin-top:12px}
.backNoticeBtn{appearance:none;width:100%;border:1.5px solid #F0C9BE;background:var(--coral-soft);color:#B33A24;font-family:inherit;border-radius:16px;padding:13px 15px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}
.backNoticeBtn svg{flex-shrink:0}
.backNoticeBtn b{display:block;font-size:12.5px}
.backNoticeBtn small{display:block;font-size:10.5px;font-weight:600;margin-top:2px;color:#C24530}

.stats{display:flex;gap:9px;margin:12px 0}
.stats .s{flex:1;background:#fff;border-radius:16px;padding:13px 8px;text-align:center;box-shadow:var(--shadow-card)}
.stats .s b{display:block;font-size:21px;font-weight:800}
.stats .s span{font-size:9.5px;color:var(--sub);font-weight:700;letter-spacing:.04em}

.zone{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid #F1EEE5;cursor:pointer}
.zone:last-child{border-bottom:0}
.zone .zi{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.zone b{font-size:13.5px;display:block}
.zone .zs{font-size:10.5px;color:var(--sub)}
.zone .st{margin-left:auto;font-size:10.5px;font-weight:800;flex-shrink:0;border:0;background:none;font-family:inherit;padding:6px 4px;cursor:pointer}
.zone .st.ok{color:var(--brand)}
.zone .st.now{color:#A86E15;display:flex;align-items:center;gap:5px}
.zone .st.now i{width:6px;height:6px;border-radius:50%;background:var(--amber);animation:blink 1.2s infinite}
.zone .st.todo{color:#A6B0AC}

.spRow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #F3F0E8;font-size:12px}
.spRow:last-child{border-bottom:0}
.spK{color:var(--sub);font-size:10.5px;font-weight:800;width:96px;flex-shrink:0}
.spV{flex:1;font-weight:700;font-size:12px;white-space:pre-line}

.aiCard{background:linear-gradient(135deg,#FBF7EA,#F3EDDC);border:1px solid #E8DFC6;border-radius:var(--r);padding:15px 17px;display:flex;gap:12px;align-items:flex-start;margin-top:12px}
.aiCard b{font-size:12.5px;display:block;margin-bottom:3px;color:#6B5A22}
.aiCard p{font-size:11px;line-height:1.8;color:#8A7B4D}

.editRowBtn{appearance:none;font-family:inherit;border:1.5px solid var(--brand);background:#fff;color:var(--brand-deep);font-weight:800;font-size:11px;padding:8px 13px;border-radius:99px;cursor:pointer;margin-top:10px}

/* ===================== 図面ページ ===================== */
.planCard{background:#fff;border-radius:var(--r);padding:14px;box-shadow:var(--shadow-card)}
.fl{display:flex;gap:8px;margin-bottom:10px}
.fl button{appearance:none;border:0;background:#F1EEE4;color:var(--sub);font-family:inherit;font-weight:800;font-size:12px;padding:9px 18px;border-radius:99px;cursor:pointer}
.fl button.on{background:var(--brand-deep);color:#fff}
.plan{width:100%;display:block}
.rm{fill:#F7F5EE;stroke:#C9C2B0;stroke-width:1.5;cursor:pointer;transition:.15s}
.rm:active,.rm:hover{fill:var(--brand-soft)}
.rmT{font-size:10px;fill:#8B948F;font-weight:700;pointer-events:none;text-anchor:middle}
.pin{cursor:pointer}
.pin .halo{animation:halo 1.6s infinite}
@keyframes halo{0%{r:7;opacity:.5}100%{r:15;opacity:0}}
.planHint{display:flex;gap:8px;font-size:11px;color:var(--sub);line-height:1.7;background:#fff;border-radius:14px;padding:12px 14px;margin-top:10px;box-shadow:var(--shadow-card-sm)}
.ihint{width:17px;height:17px;flex-shrink:0;color:var(--brand-deep);margin-top:1px}
.exArea{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.exArea button{appearance:none;font-family:inherit;text-align:left;background:#fff;border:0;border-radius:16px;padding:13px 14px;cursor:pointer;box-shadow:var(--shadow-card-sm)}
.exArea .exic{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:7px}
.exArea b{font-size:13px;display:block}
.exArea span{font-size:10px;color:var(--sub)}

/* ===================== 記録シート #rec ===================== */
#rec.sheet{max-height:88%}
.recBackNote{background:var(--coral-soft);color:#B33A24;border-radius:14px;padding:11px 13px;margin:4px 0 8px;font-size:11.5px;line-height:1.75}
.recBackNote b{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;margin-bottom:3px}
.recBackNote small{display:block;font-size:10px;color:#C24530;font-weight:600;margin-top:5px}
.kindTag{font-size:10px;color:var(--gold);font-weight:800}
#cNaReason{display:none;margin-top:7px}
#cNaReason.on{display:flex}
.inkHint{font-size:9.5px;color:#A6B0AC;margin-top:5px;line-height:1.6}
.evtCustom{width:100%;margin-top:8px;appearance:none;border:1.5px solid #E4E0D2;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:12.5px;color:var(--ink);background:#fff}
.lasRow{display:flex;gap:8px;align-items:center}
.lasRow input{width:88px;appearance:none;border:1.5px solid #E4E0D2;border-radius:11px;padding:9px 10px;font-family:var(--font-num);font-size:13.5px;font-weight:700;color:var(--ink);background:#fff;text-align:right}
.lasRow small{font-size:10px;color:var(--sub);font-weight:700}
.lasOut{margin-top:8px;font-size:11.5px;font-weight:800;color:var(--brand-deep);background:var(--brand-soft);border-radius:11px;padding:9px 11px;display:none}
.lasOut.on{display:block}
.lasOut.ng{background:var(--coral-soft);color:#B33A24}
.shots{display:flex;gap:8px;flex-wrap:wrap}
.shots svg{border-radius:13px;cursor:pointer}
.shotBtns{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}
.shotBtns button{appearance:none;font-family:inherit;border:1.5px dashed #CFC9B8;background:#FBFAF6;color:#5A6663;font-size:11px;font-weight:800;padding:9px 13px;border-radius:11px;cursor:pointer}
.photoNoteInp{width:100%;margin-top:8px;appearance:none;border:1.5px solid #E4E0D2;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:12px;color:var(--ink);background:#fff}
.metaGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.metaGrid .full{grid-column:1/-1}
.metaGrid input,.metaGrid textarea{width:100%;appearance:none;border:1.5px solid #E4E0D2;border-radius:12px;padding:9px 11px;font-family:inherit;font-size:12px;color:var(--ink);background:#fff}
.aiBtn{width:100%;appearance:none;border:0;font-family:inherit;background:linear-gradient(135deg,var(--gold),#A8862E);color:#fff;font-weight:800;font-size:13px;padding:13px;border-radius:13px;cursor:pointer;margin-top:15px;display:flex;align-items:center;justify-content:center;gap:7px}
.aiOut{background:#FBF7EA;border:1px solid #E8DFC6;border-radius:13px;padding:12px 14px;margin-top:10px}
.aiOut .tag{font-size:9.5px;font-weight:800;color:#A8862E;letter-spacing:.1em;display:block;margin-bottom:4px}
.aiOut textarea{width:100%;border:0;background:transparent;font-family:inherit;font-size:12px;line-height:1.85;color:#6B5A22;resize:vertical;min-height:64px}
.aiOut textarea:focus{outline:none}
.delBtn{width:100%;appearance:none;border:1.5px solid var(--coral);font-family:inherit;background:var(--coral-soft);color:#B33A24;font-weight:800;font-size:13px;padding:12px;border-radius:13px;cursor:pointer;margin-top:10px}

/* ===================== 記録一覧 ===================== */
.covCard{padding:13px 18px;margin-bottom:4px}
.covTop{display:flex;justify-content:space-between;align-items:baseline}
.covBar{height:8px;border-radius:99px;background:#EEEAE0;overflow:hidden;margin:9px 0 6px}
.covBar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#4E9C8C);border-radius:99px}
.fRow{display:flex;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:11px 12px;box-shadow:var(--shadow-card-sm);margin-bottom:9px;cursor:pointer}
.fRow .th{flex-shrink:0;border-radius:11px}
.fRow b{font-size:12.5px;display:block;line-height:1.45}
.fRow .lc{font-size:10px;color:var(--sub)}
.fRow .draft{font-size:9px;color:#A8862E;font-weight:800;letter-spacing:.04em}
.fRow .bj{margin-left:auto;flex-shrink:0}
.fRow.isBack{border:1.5px solid #F0C9BE}
.fRow .backTag{margin-top:6px;background:var(--coral-soft);color:#B33A24;border-radius:9px;padding:6px 9px;font-size:10.5px;line-height:1.6}
.fRow .backTag b{display:inline;font-size:10px;font-weight:800;letter-spacing:.04em;margin-right:4px}
.gHd{font-size:12px;font-weight:800;margin:16px 2px 9px;display:flex;align-items:center;gap:7px}
.gHd i{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.gHd .n{color:var(--sub);font-weight:700}
.ord{display:flex;flex-direction:column;gap:3px;margin-left:2px;flex-shrink:0}
.ord button{appearance:none;border:1px solid #E9E4D6;background:#FBFAF6;color:#9AA49F;width:22px;height:17px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.emptyList{font-size:11.5px;color:var(--sub);background:#fff;border-radius:14px;padding:16px;text-align:center;box-shadow:var(--shadow-card-sm)}

/* ===================== 提出前チェック ===================== */
.chk{display:flex;align-items:center;gap:11px;padding:10px 2px;border-bottom:1px solid #F1EEE5;font-size:13px;font-weight:700}
.chk:last-child{border-bottom:0}
.chk .ci{width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.chk .ci.ok{background:var(--brand-soft);color:var(--brand)}
.chk .ci.warn{background:var(--amber-soft);color:#A86E15}
.chk small{display:block;font-size:10px;color:var(--sub);font-weight:600}
.fixBtn{margin-left:auto;appearance:none;border:0;font-family:inherit;background:var(--amber-soft);color:#A86E15;font-weight:800;font-size:11px;padding:8px 12px;border-radius:99px;cursor:pointer;flex-shrink:0}
.scoreRow{display:flex;align-items:center;gap:16px}
.miniRing{position:relative;width:92px;height:92px;flex-shrink:0}
.miniRing svg{transform:rotate(-90deg);display:block}
.miniRing .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:26px}
.miniRing .n small{font-size:8px;color:var(--sub);letter-spacing:.12em;font-weight:800}
.sendNote{font-size:10px;color:#A8B2AE;text-align:center;margin-top:10px;line-height:1.8}
.submittedNote{display:flex;align-items:center;gap:10px;background:var(--brand-soft);color:var(--brand-deep);border-radius:14px;padding:13px 15px;font-size:12px;font-weight:700;margin-top:6px}

/* ===================== カメラ ===================== */
#cam{position:absolute;inset:0;background:#101716;z-index:90;display:none;flex-direction:column;color:#fff}
#cam.on{display:flex;animation:fade .22s}
#cam .top{display:flex;justify-content:space-between;align-items:center;padding:54px 22px 12px;font-size:13px;font-weight:800}
#cam .top button{appearance:none;border:0;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
#cam .vf{flex:1;position:relative;margin:8px 20px}
#cam .vf svg{position:absolute;inset:0;width:100%;height:100%}
#cam .aiRes{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.97);color:var(--ink);border-radius:18px;padding:15px 16px;display:none;animation:fade .3s}
#cam .aiRes.on{display:block}
#cam .aiRes .t{font-size:9.5px;font-weight:800;color:#A8862E;letter-spacing:.12em;margin-bottom:5px}
#cam .aiRes b{font-size:14px}
#cam .aiRes p{font-size:11px;color:var(--sub);margin:3px 0 11px}
#cam .aiRes .bt{display:flex;gap:8px}
#cam .aiRes .bt button{flex:1;appearance:none;font-family:inherit;border:0;border-radius:11px;font-weight:800;font-size:12px;padding:11px;cursor:pointer}
#cam .bot{padding:18px 0 46px;display:flex;justify-content:center}
#cam .shut{appearance:none;border:4px solid rgba(255,255,255,.5);background:#fff;width:72px;height:72px;border-radius:50%;cursor:pointer;box-shadow:0 0 0 6px rgba(255,255,255,.12)}
#flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:94}

/* ===================== 送信完了演出 ===================== */
#done{position:absolute;inset:0;background:linear-gradient(160deg,var(--brand),#072F29);z-index:95;display:none;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:34px}
#done.on{display:flex;animation:fade .4s}
#done h2{font-size:25px;margin:18px 0 10px}
#done p{font-size:13px;line-height:2;color:#BFD8D2}
#done .tm{font-size:11px;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.14);padding:8px 16px;border-radius:99px;margin-top:16px}
#done button{appearance:none;border:0;font-family:inherit;margin-top:26px;background:#fff;color:var(--brand-deep);font-weight:800;font-size:13.5px;padding:14px 38px;border-radius:99px;cursor:pointer}

/* ===================== 案件・物件タイプ / 新規案件 / 案件基本情報 シート ===================== */
/* ===================== フェーズ3: 設定・データ シート ===================== */
.storeNote{display:flex;gap:9px;align-items:flex-start;background:#F0F4EC;border:1px solid #DDE6D6;color:#3C5248;border-radius:14px;padding:11px 13px;font-size:11px;line-height:1.7;margin-top:8px}
.storeNote svg{flex-shrink:0;margin-top:1px}
.jsonBox{width:100%;margin-top:2px;appearance:none;border:1.5px solid #E4E0D2;border-radius:12px;padding:10px 12px;font-family:var(--font-num),monospace;font-size:10.5px;line-height:1.6;color:var(--ink);background:#FBFAF6;min-height:96px;resize:vertical}
.settingsBtnRow{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.ghostBtn{flex:1;appearance:none;font-family:inherit;border:1.5px solid var(--brand);background:#fff;color:var(--brand-deep);font-weight:800;font-size:11.5px;padding:10px 8px;border-radius:11px;cursor:pointer;min-width:80px}

.caseB{width:100%;appearance:none;font-family:inherit;border:1.5px solid #E4E0D2;background:#fff;border-radius:14px;padding:13px 15px;margin-bottom:8px;cursor:pointer;text-align:left}
.caseB.on{border-color:var(--brand);background:var(--brand-soft)}
.caseB b{font-size:13px;display:block}
.caseB small{font-size:10px;color:var(--sub);display:block;margin-top:2px}
.setRow{padding:13px 0;border-bottom:1px solid #F3F0E8}
.setRow:last-child{border-bottom:0}
.setRow .k{font-size:10px;font-weight:800;color:#9AA49F;letter-spacing:.12em;margin-bottom:8px}
.formField{margin-top:10px}
.formField label{display:block;font-size:10px;font-weight:800;color:#9AA49F;letter-spacing:.08em;margin-bottom:5px}
.formField input,.formField textarea{width:100%;appearance:none;border:1.5px solid #E4E0D2;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:13px;color:var(--ink);background:#fff}
.formField textarea{min-height:64px;resize:vertical}
