:root{--navy:#0d2d55;--navy2:#123e73;--blue:#0b66d6;--green:#18a96b;--red:#d83c32;--orange:#ff8a1f;--yellow:#e3ad00;--bg:#f4f7fb;--card:#fff;--line:#dfe6ef;--text:#1d2733;--muted:#687586;--shadow:0 4px 16px rgba(20,39,70,.08)}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:linear-gradient(180deg,var(--navy),#0a2342);color:#fff;display:flex;flex-direction:column;z-index:20}.brand{padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-title{font-size:18px;font-weight:800}.brand-sub{font-size:12px;opacity:.75;margin-top:4px}.nav{padding:12px 8px;display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#d9e7f7;text-align:left;padding:11px 14px;border-radius:8px;cursor:pointer}.nav-item:hover,.nav-item.active{background:#1768c6;color:#fff}.nav-item span{margin-left:8px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:15px;display:flex;gap:10px;align-items:center;font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;background:#dce8f5;color:#11375f;display:grid;place-items:center;font-weight:800}.main{margin-left:238px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:10}.topbar h1{font-size:19px;margin:0}.menu{display:none;border:0;background:none;font-size:20px}.top-actions{margin-left:auto;display:flex;gap:10px}.btn{border:1px solid transparent;border-radius:7px;padding:9px 14px;cursor:pointer;font-weight:700}.btn.primary{background:var(--blue);color:#fff}.btn.success{background:var(--green);color:#fff}.btn.ghost{background:#fff;border-color:var(--line);color:var(--text)}.btn.danger{background:#fff;border-color:#efb5b0;color:var(--red)}.btn.danger:hover{background:#fff1f0}.view{display:none;padding:22px}.view.active{display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px}.card h2{font-size:16px;margin:0 0 14px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi{display:flex;gap:14px;align-items:center}.kpi-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:26px;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.card-title-row{display:flex;align-items:center;justify-content:space-between}.card-title-row a{font-size:12px;color:var(--blue);text-decoration:none}.urgent-row,.new-row{display:grid;grid-template-columns:92px 1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);align-items:center}.new-row{grid-template-columns:auto 1fr}.urgent-row:last-child,.new-row:last-child{border-bottom:0}.deadline{font-size:12px;font-weight:800}.red{color:var(--red)}.orange{color:var(--orange)}.yellow{color:var(--yellow)}.featured{display:grid;grid-template-columns:140px 1fr;gap:14px}.featured img{width:140px;height:105px;object-fit:cover;border-radius:9px}.featured h3{margin:4px 0 12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric small{color:var(--muted)}.metric strong{display:block;margin-top:4px}.rank-badge,.status-badge{display:inline-block;padding:4px 8px;border-radius:6px;color:#fff;font-size:12px;font-weight:800;margin-right:6px}.rank-S{background:#7b2cbf}.rank-A{background:#d33}.rank-B{background:#e5a400}.rank-C{background:#169cc0}.rank-D{background:#6b7280}.status-badge{background:var(--green)}.badge-new{background:#1677db;color:#fff;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:800}.filters{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) 2fr auto auto;gap:10px;align-items:end;margin-bottom:18px}.filters label{font-size:12px;color:var(--muted)}.filters select,.filters input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#f7f9fc;color:#596678;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#f4f9ff}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.detail-head h2{font-size:24px;margin:7px 0}.detail-head p{color:var(--muted);margin:0}.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.info-item{background:#fff;padding:10px}.info-item small{display:block;color:var(--muted);margin-bottom:4px}.timeline-item{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.detail-tabs{display:flex;gap:8px;margin:16px 0 10px}.tab{border:0;background:#eaf0f7;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:700}.tab.active{background:var(--navy);color:#fff}.analysis-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:14px}.form-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.field input{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;text-align:right}.summary-box{display:grid;gap:12px}.summary-item{background:#f8fafc;padding:14px;border-radius:8px}.summary-item small{color:var(--muted)}.summary-item strong{display:block;font-size:20px;margin-top:4px}.summary-item.profit strong{color:var(--red)}.max-bid{border:1px solid #f2c266;background:#fff9e8}.decision{color:var(--green);font-weight:800}.risk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.risk-group{border:1px solid var(--line);border-radius:10px;padding:14px}.risk-group h3{font-size:14px;margin:0 0 10px}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.warning{margin-top:14px;border:1px solid #efb5b0;background:#fff1f0;color:#a92b23;padding:14px;border-radius:8px;font-weight:700}.empty{text-align:center;padding:80px 20px;color:var(--muted)}.hidden{display:none!important}.modal{position:fixed;inset:0;background:rgba(12,24,42,.55);display:grid;place-items:center;z-index:50}.modal-card{width:min(440px,90vw);background:#fff;border-radius:12px;padding:24px;position:relative}.modal-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:24px;cursor:pointer}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.span-5,.span-4,.span-3{grid-column:auto}.filters{grid-template-columns:repeat(2,1fr)}.two-col,.analysis-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.menu{display:block;margin-right:10px}.topbar{padding:0 12px}.top-actions .btn{font-size:0;padding:9px}.top-actions .btn::first-letter{font-size:16px}.view{padding:12px}.kpi-grid{grid-template-columns:1fr}.featured{grid-template-columns:1fr}.featured img{width:100%;height:180px}.filters{grid-template-columns:1fr}.detail-head{align-items:flex-start;gap:10px;flex-direction:column}.two-col,.analysis-grid,.risk-grid{grid-template-columns:1fr}.form-grid,.checks{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}}
.btn.bit-sync{background:#0f766e;color:#fff;border-color:#0f766e}.source-note{font-size:12px;color:#67758a;margin:2px 0 0}.sync-live{color:#11845b;font-weight:700}.sync-demo{color:#a76700;font-weight:700}.toast{position:fixed;right:24px;bottom:24px;background:#102a4c;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.22);z-index:1000;max-width:420px}.toast.error{background:#a12e2e}.schedule-current td{background:#f1fbf7}.status-live{display:inline-flex;padding:3px 8px;border-radius:99px;background:#e5f7ef;color:#147653;font-weight:700;font-size:12px}.status-cancel{display:inline-flex;padding:3px 8px;border-radius:99px;background:#fff0ef;color:#b33a32;font-weight:700;font-size:12px}
.rank-未{background:#edf1f6;color:#566273}.muted{color:#8893a3;font-size:12px}.empty-mini{padding:24px 10px;color:#7a8491;text-align:center}.empty-table{padding:42px 12px;color:#697586;text-align:center;line-height:1.8}.field textarea{width:100%;box-sizing:border-box;border:1px solid #d9e0e8;border-radius:8px;padding:10px;font:inherit}.field select,.form-section select{border:1px solid #d9e0e8;border-radius:8px;padding:10px;background:#fff}.sync-live{color:#0e9f6e;font-weight:700}.sync-demo{color:#c77800;font-weight:700}
.three-set-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:14px}.upload-box{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:14px;border:1px dashed #b9c7d8;border-radius:10px;background:#f8fbff;margin-bottom:14px}.upload-box input[type=file]{grid-column:1/-1;width:100%;padding:9px;background:#fff;border:1px solid var(--line);border-radius:8px}.ai-toggle{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.ai-mode{display:inline-flex;padding:5px 9px;border-radius:99px;background:#e8f3ff;color:#0b5dab;font-size:12px;font-weight:800}.doc-list{display:grid;gap:8px;margin:12px 0}.doc-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.doc-row strong{display:block;font-size:13px}.doc-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.doc-row small{color:var(--muted);text-align:right}.ai-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ai-actions button:disabled{opacity:.45;cursor:not-allowed}.ai-summary{font-size:15px;line-height:1.8;background:#f7f9fc;padding:14px;border-radius:9px}.confidence{display:flex;justify-content:space-between;align-items:center;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:9px}.confidence strong{font-size:23px}.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fact{padding:11px;border-radius:8px;background:#f8fafc;border:1px solid #edf1f5}.fact small{display:block;color:var(--muted);margin-bottom:4px}.fact strong{font-size:14px}.ai-lower{margin-top:14px}.ai-risk{border:1px solid var(--line);border-left:4px solid #e6a400;border-radius:8px;padding:12px;margin-bottom:9px}.ai-risk.high{border-left-color:#d83c32;background:#fff8f7}.ai-risk.low{border-left-color:#159b68}.ai-risk-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.ai-risk-head span{font-size:11px;color:var(--muted)}.ai-risk p,.evidence{font-size:12px;color:#536174;line-height:1.65;margin:7px 0 0}.ai-section{margin-bottom:18px}.ai-section h3{font-size:14px;margin:0 0 10px}.check-list{margin:0;padding-left:20px;line-height:1.8;font-size:13px}.legal-note{font-size:12px;color:#7b5e15;background:#fff9e8;border:1px solid #f2d897;border-radius:8px;padding:11px}.source-note{line-height:1.5}
@media(max-width:1100px){.three-set-grid{grid-template-columns:1fr}}@media(max-width:760px){.upload-box{grid-template-columns:1fr}.fact-grid{grid-template-columns:1fr}.doc-row{align-items:flex-start;flex-direction:column}.doc-row small{text-align:left}.ai-risk-head{align-items:flex-start;flex-direction:column}}
.bit-auto-box{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 15px;margin-bottom:12px;border:1px solid #a8d7ce;border-radius:10px;background:#f0fbf8}.bit-auto-box strong{display:block;font-size:14px}.bit-auto-box p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.bit-auto-box .btn:disabled{opacity:.55;cursor:wait}.doc-source{display:flex;gap:6px;align-items:center;margin-top:5px;color:var(--muted);font-size:11px}.source-chip{display:inline-flex;padding:2px 6px;border-radius:99px;font-size:10px;font-weight:800}.source-chip.auto{background:#e6f7f1;color:#107456}.source-chip.manual{background:#eef2f7;color:#586576}@media(max-width:760px){.bit-auto-box{align-items:flex-start;flex-direction:column}.bit-auto-box .btn{width:100%}}
.result-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.result-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;box-shadow:0 2px 8px rgba(25,46,75,.04)}.result-kpi small,.result-kpi span{display:block;color:var(--muted);font-size:12px}.result-kpi strong{display:block;font-size:24px;margin:5px 0 3px}.results-title{align-items:flex-start;margin-bottom:14px}.results-filters{display:grid;grid-template-columns:180px 180px minmax(240px,1fr) auto;gap:10px;align-items:end;margin-bottom:14px}.results-filters label{font-size:12px;color:var(--muted)}.results-filters select,.results-filters input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff}.result-chip,.our-result,.match-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#eef2f7;color:#5f6a79}.result-chip.sold{background:#e5f7ef;color:#147653}.result-chip.unsold{background:#fff0ef;color:#b33a32}.our-result.won{background:#e9f7ec;color:#188446}.our-result.lost{background:#fff0ef;color:#b33a32}.our-result.skip{background:#eef2f7;color:#566273}.our-result.unset{background:#fff8df;color:#866700}.match-chip{margin-left:5px;background:#e8f3ff;color:#1766aa}.match-chip.unmatched{background:#fff8df;color:#8b6900}.gap-positive{color:#b24335;font-weight:700}.gap-negative{color:#188446;font-weight:700}.table-footnote{font-size:11px;color:var(--muted);margin:10px 0 0}.result-modal-card{width:min(680px,92vw)}.result-modal-summary{display:grid;gap:5px;padding:12px;background:#f7f9fc;border-radius:9px;margin-bottom:14px}.result-modal-summary span,.result-modal-summary div{color:#5d6878;font-size:13px}.result-form-grid .field.full{grid-column:1/-1}.result-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.results-table td{vertical-align:middle}
@media(max-width:1100px){.result-kpis{grid-template-columns:repeat(2,1fr)}.results-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.result-kpis,.results-filters{grid-template-columns:1fr}.results-title{flex-direction:column;gap:10px}.results-title .btn{width:100%}.result-form-grid{grid-template-columns:1fr}.result-form-grid .field.full{grid-column:auto}}
.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.report-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.report-kpi small,.report-kpi span{display:block;color:var(--muted);font-size:12px}.report-kpi strong{display:block;font-size:25px;margin:5px 0}.reports-title{align-items:flex-start;margin-bottom:14px}.report-filters{display:grid;grid-template-columns:200px 220px 180px;gap:10px;margin-bottom:14px}.report-filters label{font-size:12px;color:var(--muted)}.report-filters select{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff}.confidence-chip{display:inline-flex;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:800}.confidence-chip.high{background:#e5f7ef;color:#147653}.confidence-chip.medium{background:#e8f3ff;color:#1766aa}.confidence-chip.low{background:#fff8df;color:#8b6900}.confidence-chip.insufficient{background:#eef2f7;color:#667180}.analytics-note{margin-top:14px;padding:12px;border:1px solid #f2d897;background:#fff9e8;border-radius:8px;color:#735c1e;font-size:12px;line-height:1.7}.report-lower{margin-top:14px}.mini-analytics{display:grid;gap:8px}.mini-analytics-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.mini-analytics-row:last-child{border-bottom:0}.mini-analytics-row small{color:var(--muted)}.bid-recommendation{margin-top:14px}.recommend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.recommend-metric{padding:13px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.recommend-metric small{display:block;color:var(--muted);margin-bottom:5px}.recommend-metric strong{display:block;font-size:19px}.recommend-metric.primary{background:#f0f7ff;border-color:#b7d3f2}.recommend-metric.cap{background:#fff9e8;border-color:#efd493}.recommend-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.recommend-warning{font-size:12px;color:#6f5b21;margin-top:10px;line-height:1.6}.recommend-empty{color:var(--muted);padding:12px 0}.limit-chip{display:inline-flex;padding:4px 8px;border-radius:99px;background:#eef2f7;color:#526174;font-size:11px;font-weight:800}
@media(max-width:1100px){.report-kpis{grid-template-columns:repeat(2,1fr)}.recommend-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.report-kpis,.report-filters,.recommend-grid{grid-template-columns:1fr}.reports-title{flex-direction:column;gap:10px}.reports-title .btn{width:100%}.mini-analytics-row{grid-template-columns:1fr auto}}

/* v7: 倒産・破産レーダー */
.span-12{grid-column:span 12}.insolvency-radar-card{margin-top:0}.insolvency-radar-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.insolvency-radar-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfcfe;cursor:pointer}.insolvency-radar-item:hover{background:#f3f8ff}.insolvency-radar-item small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.insolvency-radar-item strong{display:block;font-size:13px;margin-bottom:5px}.insolvency-radar-item span{display:block;color:#5e6a79;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.insolvency-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.insolvency-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.insolvency-kpi small,.insolvency-kpi span{display:block;color:var(--muted);font-size:12px}.insolvency-kpi strong{display:block;font-size:25px;margin:5px 0}.insolvency-title{align-items:flex-start;margin-bottom:14px}.insolvency-actions{display:flex;gap:8px}.insolvency-filters{display:grid;grid-template-columns:180px 180px minmax(260px,1fr) auto;gap:10px;align-items:end;margin-bottom:14px}.insolvency-filters label{font-size:12px;color:var(--muted)}.insolvency-filters select,.insolvency-filters input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff}.insolvency-table td{vertical-align:middle}.procedure-chip,.lead-chip,.match-state{display:inline-flex;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:800}.procedure-chip{background:#fff1ef;color:#a63a2f}.procedure-chip.rehab{background:#edf5ff;color:#2268a8}.lead-chip{background:#eef2f7;color:#566273}.lead-chip.researching{background:#fff8df;color:#8b6900}.lead-chip.property{background:#e5f7ef;color:#147653}.lead-chip.closed{background:#edf1f5;color:#6b7280}.match-state.pending{background:#fff8df;color:#8b6900}.match-state.matched{background:#e5f7ef;color:#147653}.kanpo-source-box{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;font-size:12px}.kanpo-source-box span{font-weight:800}.kanpo-source-box small{color:var(--muted)}.insolvency-modal-card,.kanpo-import-card{width:min(760px,92vw)}.insolvency-modal-summary{padding:14px;background:#f7f9fc;border-radius:9px;margin-bottom:14px;display:grid;gap:7px}.insolvency-modal-summary strong{font-size:17px}.insolvency-modal-summary span,.insolvency-modal-summary small{color:#5d6878;font-size:12px}.form-grid .field.full{grid-column:1/-1}.field input[type=file]{text-align:left;background:#fff}.raw-excerpt{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px;line-height:1.6;color:#687384;max-height:140px;overflow:auto}
@media(max-width:1100px){.span-12{grid-column:auto}.insolvency-radar-list{grid-template-columns:1fr}.insolvency-kpis{grid-template-columns:repeat(2,1fr)}.insolvency-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.insolvency-kpis,.insolvency-filters{grid-template-columns:1fr}.insolvency-title{flex-direction:column;gap:10px}.insolvency-actions{width:100%;flex-direction:column}.insolvency-actions .btn{width:100%}.kanpo-source-box{grid-template-columns:1fr}.form-grid .field.full{grid-column:auto}}
.corp-match-box{padding:12px 14px;border:1px solid var(--line,#d9dde3);border-radius:10px;background:rgba(0,0,0,.02);font-size:13px;line-height:1.6}.corp-match-box ul{margin:8px 0 0 18px;padding:0}.corp-candidates{display:grid;gap:8px;margin-top:10px}.corp-candidates>div{padding-top:8px;border-top:1px solid var(--line,#d9dde3)}.match-state small{font-size:10px;opacity:.75}
/* v9: 倒産法人 × 競売 × 3点セット自動照合 */
.btn.property-sync{background:#6d28d9;color:#fff;border-color:#6d28d9}.property-match-list{display:grid;gap:10px;margin-top:8px}.property-match-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.property-match-card.high{border-color:#93c5fd;background:#f6fbff}.property-match-card.confirmed{border-color:#86d5ad;background:#f4fbf7}.property-match-card.rejected{opacity:.65;background:#f7f7f7}.property-match-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.property-match-head strong{display:block}.property-match-score{font-size:20px;font-weight:800;color:#5b21b6}.property-match-meta{font-size:12px;color:var(--muted);margin-top:4px}.property-match-reasons{margin:8px 0 0 18px;padding:0;font-size:12px;line-height:1.6}.property-match-evidence{margin-top:8px;padding:8px;border-radius:7px;background:#f7f9fc;color:#5d6878;font-size:11px;line-height:1.6;max-height:100px;overflow:auto}.property-match-actions{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.property-match-actions .btn{padding:6px 10px;font-size:11px}.match-state.high{background:#ede9fe;color:#5b21b6}.match-state.confirmed{background:#e5f7ef;color:#147653}.match-state.review{background:#fff8df;color:#8b6900}.legal-match-note{font-size:11px;color:#725b1b;background:#fff9e8;border:1px solid #eed79a;border-radius:8px;padding:9px 10px;margin-top:10px;line-height:1.6}
@media(max-width:760px){.property-match-head{flex-direction:column}.property-match-actions .btn{width:auto}}

/* v10 sourcing intelligence */
.intelligence-card{border-top:3px solid #27364b}.intelligence-top-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.intelligence-case{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff;cursor:pointer;transition:.15s}.intelligence-case:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(25,46,75,.08)}.intelligence-case-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.intel-grade{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;font-size:20px;font-weight:900;background:#edf1f6;color:#536174}.intel-grade.S{background:#e4f6ed;color:#11714e}.intel-grade.A{background:#e7f1ff;color:#195f9f}.intel-grade.B{background:#fff6db;color:#806000}.intel-grade.C{background:#f1f3f6;color:#6c7480}.intel-score{font-size:12px;color:var(--muted);font-weight:700}.intelligence-case h3{font-size:14px;margin:9px 0 4px}.intelligence-case p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.intel-components{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.intel-components span{font-size:10px;border-radius:99px;background:#f1f4f8;padding:3px 6px;color:#566273}.intel-action{margin-top:10px;font-size:11px;font-weight:700;color:#334d6d}.intelligence-disclaimer{font-size:11px;color:#6c7684;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.intel-inline{display:flex;align-items:center;gap:6px}.intel-inline .intel-grade{width:29px;height:29px;font-size:15px;border-radius:7px}.intelligence-summary{display:flex;gap:8px;flex-wrap:wrap}.intelligence-summary span{font-size:11px;background:#f2f5f8;border-radius:99px;padding:5px 9px}.intel-detail-box{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfe}.intel-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.intel-detail-grid div{padding:9px;background:#fff;border:1px solid var(--line);border-radius:8px}.intel-detail-grid small{display:block;color:var(--muted);font-size:10px}.intel-detail-grid strong{font-size:16px}.intel-next{margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.intel-warning{margin-top:8px;font-size:11px;color:#9a521c}
@media(max-width:1100px){.intelligence-top-list{grid-template-columns:1fr}.intel-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.intel-detail-grid{grid-template-columns:1fr}}

/* v11 external real-estate intelligence */
.external-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.external-price{padding:18px 0;border-bottom:1px solid #e8ecef;display:flex;flex-direction:column;gap:4px}.external-price strong{font-size:32px}.external-price span,.external-price small{color:#6d7781}.external-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.external-kpis>div{background:#f6f8f8;border:1px solid #e6eaeb;border-radius:10px;padding:12px}.external-kpis small{display:block;color:#77818b;margin-bottom:5px}.external-kpis b{font-size:15px}.external-details{margin-top:16px;padding-top:12px;border-top:1px solid #e8ecef}.external-details p{margin:8px 0}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.external-grid{grid-template-columns:1fr}.external-kpis{grid-template-columns:repeat(2,1fr)}}


/* v12 pre-auction / voluntary-sale pipeline */
.sourcing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.sourcing-title{align-items:flex-start}.sourcing-title>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.sourcing-filters{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:end;margin:16px 0}
.sourcing-filters label{display:grid;gap:6px;font-size:12px;color:#667085}.sourcing-filters .wide{min-width:0}
.sourcing-filters input,.sourcing-filters select{width:100%;padding:10px 12px;border:1px solid #d9dee7;border-radius:9px;background:#fff}
.sourcing-table td{vertical-align:top}.danger-chip{display:inline-flex;padding:3px 8px;border-radius:999px;background:#fff0f0;color:#b42318;font-size:11px;font-weight:700}
.sourcing-modal-card{width:min(1040px,94vw);max-height:92vh;overflow:auto}.sourcing-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.sourcing-detail-grid h3{margin:0 0 8px}
.inline-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:7px;margin-top:8px}.inline-form input,.inline-form select{min-width:0;padding:8px;border:1px solid #d9dee7;border-radius:8px}.mini-record{padding:9px 0;border-bottom:1px solid #eef1f5;font-size:13px}
@media(max-width:900px){.sourcing-kpis{grid-template-columns:1fr 1fr}.sourcing-filters{grid-template-columns:1fr}.sourcing-detail-grid{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr 1fr}.sourcing-table{min-width:900px}}

/* v13 research decision workflow */
.sourcing-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.sourcing-filters{grid-template-columns:180px 220px 1fr auto}
.research-decision-panel{border:1px solid #cfd9e8;border-left:4px solid var(--blue);background:#f7fbff;border-radius:10px;padding:14px;margin:0 0 16px}.research-decision-panel>div:first-child{display:flex;flex-direction:column;gap:4px}.research-decision-panel small{color:var(--muted)}.research-decision-controls{display:grid;grid-template-columns:170px 1fr auto;gap:9px;margin-top:10px}.research-decision-controls select,.research-decision-controls input{width:100%;padding:10px 11px;border:1px solid #d9dee7;border-radius:8px;background:#fff}.decision-meta{margin-top:8px;color:var(--muted);font-size:11px}.decision-chip{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800}.decision-chip.undecided{background:#fff4d6;color:#7a5a00}.decision-chip.investigate{background:#e5f7ef;color:#147653}.decision-chip.hold{background:#edf2f7;color:#596575}.decision-chip.skip{background:#f2f3f5;color:#737b86}.decision-quick{display:flex;gap:5px;margin-top:6px}.btn.compact{padding:5px 8px;font-size:10px}.workflow-lock{margin:14px 0 0;padding:11px 12px;border-radius:8px;background:#fff8df;border:1px solid #ead48a;color:#775c00;font-size:12px;font-weight:700}.workflow-disabled{opacity:.56}.workflow-disabled input,.workflow-disabled select,.workflow-disabled textarea{background:#f4f6f8}
@media(max-width:1100px){.sourcing-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.sourcing-kpis{grid-template-columns:1fr 1fr}.sourcing-filters{grid-template-columns:1fr}.research-decision-controls{grid-template-columns:1fr}}

/* v14 research decision material */
.sourcing-decision-table{min-width:1120px}
.decision-material-cell{min-width:360px;max-width:520px}
.decision-material-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.candidate-primary{font-weight:700;color:#172b4d}
.evidence-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#f3f5f8;color:#344054;font-size:11px;font-weight:700;white-space:nowrap}
.evidence-chip.strong{background:#e9f7ef;color:#166534}.evidence-chip.warn{background:#fff4e5;color:#9a6700}.evidence-chip.auction{background:#fff0f0;color:#b42318}
.decision-material-meta{display:flex;gap:8px 14px;flex-wrap:wrap;color:#667085;font-size:11px;margin-bottom:6px}
.decision-reasons{display:flex;gap:5px;flex-wrap:wrap}.decision-reason{font-size:11px;padding:3px 7px;border-radius:6px;background:#f8fafc;color:#475467;border:1px solid #eaecf0}
.sourcing-decision-summary{margin:12px 0 16px;padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fbfcfe}
.sourcing-decision-summary h3{margin:0 0 10px;font-size:14px}
.decision-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.decision-summary-item{background:#fff;border:1px solid #eaecf0;border-radius:9px;padding:10px}.decision-summary-item small{display:block;color:#667085;font-size:10px;margin-bottom:4px}.decision-summary-item strong{font-size:13px;color:#101828}.decision-summary-item span{display:block;font-size:11px;color:#667085;margin-top:3px;word-break:break-all}
.decision-summary-reasons{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.decision-summary-note{margin-top:8px;font-size:11px;color:#667085}
@media(max-width:900px){.decision-summary-grid{grid-template-columns:1fr 1fr}.decision-material-cell{min-width:310px}}
@media(max-width:560px){.decision-summary-grid{grid-template-columns:1fr}}


/* v15 investigation checklist */
.sourcing-checklist-panel{margin:0 0 16px;padding:14px;border:1px solid #dfe5ec;border-radius:12px;background:#fff}
.checklist-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.checklist-head h3{margin:0 0 4px;font-size:15px}.checklist-head small{color:#667085}
.checklist-progress{min-width:150px;text-align:right}.checklist-progress strong{display:block;font-size:18px}.checklist-progress span{font-size:11px;color:#667085}
.checklist-row{display:grid;grid-template-columns:minmax(220px,1.4fr) 130px 120px 130px minmax(180px,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #eef1f5}.checklist-row:first-child{border-top:0}.checklist-title small{display:block;color:#667085;margin-top:2px}.checklist-row select,.checklist-row input{width:100%;padding:8px;border:1px solid #d9dee7;border-radius:7px;background:#fff}.checklist-row.issue{background:#fff8f7}.checklist-row.complete{opacity:.78}.checklist-required{font-size:10px;padding:2px 5px;border-radius:5px;background:#fff1d6;color:#8a5b00;margin-left:5px}.checklist-final{margin-top:4px;border-top:2px solid #cfd9e8}.checklist-lock-note{margin:8px 0 0;font-size:11px;color:#667085}.checklist-issue-count{color:#b42318;font-weight:700}
@media(max-width:1050px){.checklist-row{grid-template-columns:1fr 120px 1fr}.checklist-row .checklist-notes{grid-column:1/3}.checklist-row button{grid-column:3}}
@media(max-width:680px){.checklist-head{display:block}.checklist-progress{text-align:left;margin-top:8px}.checklist-row{grid-template-columns:1fr}.checklist-row .checklist-notes,.checklist-row button{grid-column:auto}}


/* v16 today tasks dashboard */
.today-work-actions{display:flex;gap:8px;align-items:center}.today-work-actions select{border:1px solid var(--line);border-radius:7px;padding:8px;background:#fff}
.today-task-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.today-task-summary span{display:flex;align-items:baseline;gap:5px;background:#f6f8fb;border:1px solid var(--line);padding:7px 10px;border-radius:8px;font-size:12px;color:var(--muted)}.today-task-summary strong{font-size:18px;color:var(--text)}
.today-task-list{display:grid}.today-task-row{border:0;border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:90px minmax(260px,1fr) 120px 105px;gap:10px;align-items:center;text-align:left;padding:11px 4px;cursor:pointer;color:var(--text)}.today-task-row:first-child{border-top:0}.today-task-row:hover{background:#f7faff}.today-task-main small{display:block;color:var(--muted);margin-top:3px}.today-task-owner,.today-task-due{font-size:12px;color:var(--muted)}
.today-priority{font-size:11px;font-weight:800;padding:4px 7px;border-radius:6px;text-align:center;background:#edf1f5;color:#455468}.today-priority.overdue{background:#ffebe9;color:#b42318}.today-priority.today{background:#fff4d6;color:#8a5b00}.today-priority.issue{background:#fff0ec;color:#c4320a}.today-priority.progress{background:#eaf2ff;color:#175cd3}.today-priority.pending{background:#f2f4f7;color:#475467}.today-priority.action{background:#eef4ff;color:#3538cd}
@media(max-width:760px){.today-work-actions{width:100%;margin-top:8px}.today-task-row{grid-template-columns:85px 1fr}.today-task-owner,.today-task-due{grid-column:2}.today-work-card .card-title-row{display:block}}


/* v17 notification center */
.notification-bell{position:relative}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;font-size:10px;font-weight:800}.notification-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.notification-actions select{padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff}.notification-summary{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.notification-summary span{display:flex;gap:5px;align-items:baseline;background:#f6f8fb;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12px;color:var(--muted)}.notification-summary strong{font-size:18px;color:var(--text)}.notification-list{display:grid}.notification-row{display:grid;grid-template-columns:78px minmax(300px,1fr) 120px 65px;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--line)}.notification-row:first-child{border-top:0}.notification-row.unread{background:#fbfdff}.notification-level{font-size:10px;font-weight:800;text-align:center;padding:4px 6px;border-radius:6px}.notification-level.critical{background:#ffebe9;color:#b42318}.notification-level.high{background:#fff4d6;color:#8a5b00}.notification-level.medium{background:#eaf2ff;color:#175cd3}.notification-level.info{background:#f2f4f7;color:#475467}.notification-main{border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text);padding:0}.notification-main small{display:block;color:var(--muted);margin-top:3px}.notification-to,.notification-read{font-size:11px;color:var(--muted)}.notification-settings{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.notification-settings summary{cursor:pointer;font-weight:700;font-size:12px}.notification-setting-form{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.4fr auto auto;gap:7px;align-items:center;margin:10px 0}.notification-setting-form input{padding:8px;border:1px solid var(--line);border-radius:7px;min-width:0}.notification-setting-form label{font-size:11px;white-space:nowrap}.notification-recipient-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.notification-recipient-list>div{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fafbfc}.notification-recipient-list span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.hidden{display:none!important}@media(max-width:1000px){.notification-setting-form{grid-template-columns:1fr 1fr}.notification-recipient-list{grid-template-columns:1fr 1fr}}@media(max-width:760px){.notification-card .card-title-row{display:block}.notification-actions{margin-top:8px}.notification-row{grid-template-columns:70px 1fr}.notification-to,.notification-read,.notification-row .btn{grid-column:2}.notification-setting-form,.notification-recipient-list{grid-template-columns:1fr}}

/* v18 outbound delivery / retry history */
.notification-controls{display:flex;gap:5px;align-items:center;justify-content:flex-end}.delivery-state{display:inline-block;margin-top:5px!important;font-weight:700}.delivery-state.sent{color:#067647}.delivery-state.warning{color:#8a5b00}.delivery-state.error{color:#b42318}.delivery-state.muted{color:var(--muted)}.delivery-history{display:grid;margin-top:10px}.delivery-history-row{display:grid;grid-template-columns:80px 70px minmax(220px,1fr) 110px 145px;gap:8px;align-items:center;border-top:1px solid var(--line);padding:8px 2px;font-size:11px}.delivery-history-row:first-child{border-top:0}.delivery-channel{font-weight:800}.delivery-result{font-weight:800}.delivery-result.sent{color:#067647}.delivery-result.error,.delivery-error{color:#b42318}.delivery-error{grid-column:3/-1}.notification-setting-form{grid-template-columns:1fr 1fr 1.2fr 1.4fr auto auto auto}@media(max-width:760px){.notification-controls{grid-column:2;justify-content:flex-start}.delivery-history-row{grid-template-columns:70px 60px 1fr}.delivery-history-row span:nth-child(4),.delivery-history-row>small{grid-column:3}}


/* v19 auth / RBAC / audit */
.auth-gate{position:fixed;inset:0;background:linear-gradient(145deg,#081d35,#123d68);z-index:200;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,94vw);background:#fff;border-radius:16px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.auth-brand{font-weight:900;color:#1768c6;letter-spacing:.02em;margin-bottom:18px}.auth-card h1{margin:0 0 8px;font-size:24px}.auth-card p{color:var(--muted);margin:0 0 18px}.auth-card label{display:block;font-size:12px;color:var(--muted);margin:12px 0}.auth-card input{display:block;width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;margin-top:6px}.auth-submit{width:100%;margin-top:8px}.auth-card small{display:block;color:var(--muted);margin-top:14px;line-height:1.6}.auth-error{min-height:20px;color:var(--red);font-size:12px}.sidebar-user{min-width:0;flex:1}.sidebar-user strong,.sidebar-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:7px;width:32px;height:32px;cursor:pointer}.settings-grid{display:grid;gap:14px}.user-create-form{display:grid;grid-template-columns:1fr 1fr 150px 1.2fr auto;gap:8px;margin-bottom:14px}.user-create-form input,.user-create-form select,.audit-filters input{border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff}.user-row{display:grid;grid-template-columns:1.2fr 1fr 130px 110px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:0}.user-row small{color:var(--muted)}.audit-filters{display:flex;gap:8px;margin-bottom:12px}.permission-summary{display:flex;gap:10px;flex-wrap:wrap}.permission-chip{padding:8px 12px;border-radius:99px;background:#eef4fb;font-size:12px;font-weight:700}.role-VIEWER .write-control{display:none!important}.role-SOURCING .admin-only,.role-VIEWER .admin-only{display:none!important}.readonly-banner{background:#fff8df;color:#775f00;padding:9px 14px;border-bottom:1px solid #efd67a;font-size:12px;font-weight:700;text-align:center}
@media(max-width:900px){.user-create-form{grid-template-columns:1fr}.user-row{grid-template-columns:1fr 1fr}.audit-filters{flex-direction:column}}

/* v20 approval workflow */
.sourcing-approval-panel{margin:0 0 16px;padding:14px;border:1px solid #dfe5ec;border-radius:12px;background:#fbfcfd}
.approval-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.approval-head h3{margin:0 0 3px}.approval-head small{color:#6b7280}
.approval-form,.approval-admin{display:grid;grid-template-columns:150px 180px 1fr auto;gap:8px;align-items:center;margin-top:10px}.approval-admin{grid-template-columns:1fr auto auto}
.approval-summary-card{padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:white;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.approval-summary-card strong{font-size:15px}.approval-summary-card small{color:#64748b}
.approval-chip{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f7}.approval-chip.pending{background:#fff3cd;color:#7a5600}.approval-chip.approved{background:#dcfce7;color:#166534}.approval-chip.returned{background:#fee2e2;color:#991b1b}.approval-chip.superseded,.approval-chip.withdrawn{background:#f1f5f9;color:#475569}
.approval-history{margin-top:10px;display:grid;gap:6px}.approval-history .mini-record{background:#fff}.approval-note{margin-top:8px;font-size:12px;color:#64748b}.approval-gate{margin-top:8px;padding:9px 10px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:12px}
@media(max-width:900px){.approval-form,.approval-admin{grid-template-columns:1fr}.approval-head{display:block}.approval-head>div:last-child{margin-top:8px}}

/* v21 bid / offer execution workflow */
.sourcing-execution-panel{margin:0 0 16px;padding:14px;border:1px solid #d7e3f1;border-radius:12px;background:#f8fbff}
.execution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.execution-head h3{margin:0 0 3px}.execution-head small{color:#64748b}
.execution-form,.execution-result{display:grid;grid-template-columns:180px 1fr 1.3fr 1.4fr auto;gap:8px;align-items:center;margin-top:10px}.execution-result{grid-template-columns:180px 180px 1.3fr 1.2fr auto auto}
.execution-approved{font-size:12px;font-weight:800;color:#0f4c81;background:#e8f3ff;border-radius:8px;padding:10px}.execution-summary-card{padding:10px 12px;border:1px solid #dce6f0;border-radius:10px;background:#fff;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.execution-summary-card small{color:#64748b}.execution-chip{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#e8eef6;color:#334155}.execution-chip.submitted{background:#dbeafe;color:#1d4ed8}.execution-chip.success{background:#dcfce7;color:#166534}.execution-chip.closed{background:#f1f5f9;color:#475569}.execution-history{display:grid;gap:6px;margin-top:10px}.execution-gate{margin-top:8px;padding:9px 10px;border-radius:8px;background:#eef6ff;color:#1e4f80;font-size:12px}
@media(max-width:900px){.execution-form,.execution-result{grid-template-columns:1fr}.execution-head{display:block}.execution-head>div:last-child{margin-top:8px}}

/* v22a: 物件の手動登録モーダル。
   .field input は収支入力（数値）向けに text-align:right なので、
   住所・事件番号などの文字入力だけ左寄せに戻す。 */
.manual-modal-card{width:min(760px,92vw);max-height:88vh;overflow:auto}
.manual-form-grid{grid-template-columns:repeat(3,1fr)}
.manual-form-grid .field.full{grid-column:1/-1}
.manual-form-grid .field input:not([type=number]),.manual-form-grid .field select{text-align:left}
.manual-form-grid .field select{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;background:#fff}
.manual-modal-card>.source-note{margin:0 0 14px}
@media(max-width:760px){.manual-form-grid{grid-template-columns:1fr}}

/* v23: 倒産・破産レーダーの取得結果説明・外部連携の設定状況 */
.insolvency-notices{display:grid;gap:8px;margin-bottom:12px}
.insolvency-notice{border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.7;border:1px solid var(--line);background:#f7f9fc;color:#4a5666}
.insolvency-notice.warn{background:#fff8df;border-color:#f0e0a8;color:#7a5c00}
.insolvency-notice.error{background:#fff1ef;border-color:#f3cfc9;color:#9c3527}
.kanpo-state{display:inline-flex;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:800}
.kanpo-state.ok{background:#e5f7ef;color:#147653}
.kanpo-state.warn{background:#fff8df;color:#8b6900}
.kanpo-state.ng{background:#fff1ef;color:#a63a2f}
.kanpo-state.muted{background:#eef2f7;color:#6b7280}
.kanpo-doc-details{margin-top:10px;font-size:12px}
.kanpo-doc-details summary{cursor:pointer;color:var(--muted);padding:4px 0}
.kanpo-doc-list{display:grid;gap:6px;margin-top:8px}
.kanpo-doc-row{display:grid;grid-template-columns:180px 150px minmax(120px,1fr) 110px 90px auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.kanpo-doc-issue{font-weight:700}
.kanpo-doc-links a{margin-left:8px}
.kanpo-doc-message{grid-column:1/-1;color:#7a5c00;line-height:1.6}
.integration-status{display:grid;gap:8px}
.integration-row{display:grid;grid-template-columns:220px 90px 220px 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px}
.integration-row code{background:#f2f5f9;border-radius:5px;padding:2px 6px;font-size:11px}
.integration-row small{color:var(--muted);line-height:1.6}
.procedure-chip.liquidation{background:#f0edff;color:#5340a8}
.integration-flag{font-weight:800}
.integration-row.ok .integration-flag{color:#147653}
.integration-row.ng .integration-flag{color:#a63a2f}
@media(max-width:760px){.kanpo-doc-row,.integration-row{grid-template-columns:1fr}}

/* v24: 現地調査
   共通ルール（styles.css 冒頭）の
     .field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}   (0,1,1)
     .field input{width:100%;border:1px solid…;border-radius:7px;padding:10px;text-align:right} (0,1,1)
   は、旧 .site-check / .site-checks（いずれも 0,1,0）より詳細度が高い。そのため
   「確認事項」のピルでは display:inline-flex が block に負け、チェックボックスが
   width:100% の枠になってラベル文字が下段へ押し出されていた。
   ここでは共通ルールには手を入れず、スコープを1段深くした詳細度だけで打ち消す
   （共通ルールは全画面 68 箇所に効いているため。!important は使わない）。 */
.site-survey-card{width:min(900px,94vw);max-height:92vh;overflow:auto}
.site-section-title{margin:18px 0 8px;font-size:15px;color:#33405a;border-left:4px solid var(--line);padding-left:9px}
/* .form-grid を併記して (0,2,0) にする。共通のモバイル用 .form-grid{1fr} とソース順で競らせない。 */
.form-grid.site-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.site-form-grid .field{min-width:0}
/* .field input の text-align:right は収支入力（数値）向け。文字入力は左へ戻す（v22a の .manual-form-grid と同型）。 */
.site-form-grid .field input:not([type=number]),.site-form-grid .field select,.site-form-grid .field textarea{text-align:left}
/* .field select には width の宣言が無く、width:100% の input と右端が揃わない。 */
.site-form-grid .field select{width:100%;box-sizing:border-box}
.site-property-field select{width:100%}
.site-geo{display:flex;gap:8px;align-items:center}
.site-geo input{flex:1;min-width:0}
.site-geo .btn{flex:none;white-space:nowrap}
/* 確認事項の見出し。label ではなく span にしてある（対応する単一の入力欄が無いため）。 */
.field .field-label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
/* 画面には出さないが、フォーカスと読み上げの対象としては残す隠し方。 */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%)}

/* ---- 確認事項 --------------------------------------------------------------
   flex-wrap では文字数の差（2〜9文字）がそのまま枠幅の差になるので grid で幅を揃える。 */
.site-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px}
/* (0,2,0) > .field label(0,1,1)。display / gap / 文字色 / 下マージンを取り戻す。 */
.site-checks .site-check{display:flex;align-items:center;gap:9px;box-sizing:border-box;min-height:44px;margin:0;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:12.5px;font-weight:400;line-height:1.35;text-align:left;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .12s,border-color .12s}
.site-checks .site-check:hover{border-color:#b9cfea;background:#f7fbff}
.site-checks .site-check:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,102,214,.15)}
/* (0,3,1) > .field input(0,1,1)。width:100% / padding:10px / border / text-align:right を全て打ち消す。
   ネイティブ描画は端末差が大きいため appearance:none で自前描画に統一する。 */
.site-checks .site-check>input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 auto;width:18px;height:18px;min-width:18px;margin:0;padding:0;border:1px solid #b7c3d2;border-radius:4px;background:#fff;text-align:left;cursor:pointer}
.site-checks .site-check>input[type=checkbox]:checked{background:var(--yellow);border-color:#c2930a}
.site-checks .site-check>input[type=checkbox]:checked::after{content:'';position:absolute;left:6px;top:2px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.site-checks .site-check>span{flex:1;min-width:0;overflow-wrap:anywhere}
/* :has() 非対応ブラウザでも選択状態が分かるよう、隣接セレクタと JS が付ける .on を併用する。 */
.site-checks .site-check>input:checked+span{font-weight:700;color:#7a5c00}
.site-checks .site-check.on,.site-checks .site-check:has(input:checked){background:#fff8df;border-color:#e6d08f;color:#7a5c00}

/* ---- 写真 ------------------------------------------------------------------
   旧実装は <label class="site-capture"><input type="file" hidden><span class="btn">…</span></label>
   だったが、直前の .site-photo-controls input{display:block} が UA スタイルの
   [hidden]{display:none} をオリジン優先で上書きするため、ネイティブの
   「ファイル選択」が2つ露出していた。さらに hidden(=display:none) の input は
   タブ順にも支援技術にも残らない。ここでは押しどころを本物の <button> にし、
   input 自体は .visually-hidden で「見えないがフォーカスは持てる」状態に置く。 */
.site-photo-box{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfe}
.site-photo-box.is-draft{border-color:#e6d08f;background:#fffdf5}
.site-photo-controls{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr) auto auto;gap:10px;align-items:end;margin-bottom:10px}
.site-photo-controls>label{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0;font-size:12px;color:var(--muted)}
.site-photo-controls select,.site-photo-controls input:not([type=file]){box-sizing:border-box;display:block;width:100%;min-width:0;margin:0;border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#fff;color:var(--text);font:inherit;font-size:13px;text-align:left}
.site-capture-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;white-space:nowrap;line-height:1.4}
.site-photo-hint{margin:0 0 8px;font-size:11px;line-height:1.6;color:var(--muted)}
.site-photo-box.is-draft .site-photo-hint{color:#7a5c00;font-weight:700}
.site-photo-progress{font-size:12px;color:var(--muted);min-height:16px;line-height:1.5}
.site-photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:8px}
/* 「写真はまだありません」を1トラックに押し込まない。 */
.site-photo-list .empty-mini{grid-column:1/-1}
.site-photo{display:flex;flex-direction:column;margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.site-photo a{display:block}
.site-photo img{display:block;width:100%;height:120px;object-fit:cover;background:#eef2f7}
.site-photo figcaption{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:7px 8px;font-size:11px;line-height:1.5;color:#5d6878}
.site-photo figcaption .btn{margin-left:auto;flex:none}
/* 長いキャプションで「削除」が次行へ落ちて札の高さが揃わなくなるのを防ぐ（全文は title 属性）。 */
.site-photo-caption{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-photo-cat{background:#eef2f7;border-radius:99px;padding:2px 7px;font-weight:700;color:#566273}
/* 保存前に選んだ写真。調査を保存した時点でまとめて送信される。 */
.site-photo.pending{border-style:dashed;border-color:#e6d08f;background:#fffdf5}
.site-photo.pending .site-photo-cat{background:#fff8df;color:#8b6900}
.site-photo-pending{background:#fff1c9;color:#7a5c00;border-radius:99px;padding:2px 7px;font-weight:700}
/* HEIC など、purchase.db へ保存はできてもブラウザが描画できない形式の代わりに出す。 */
.site-photo-nopreview{display:flex;align-items:center;justify-content:center;height:120px;padding:8px;background:#eef2f7;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}
.site-table td{vertical-align:middle}
/* 冒頭の .btn.compact{padding:5px 8px;font-size:10px} と同一詳細度のため、
   無条件に書くと通知・公売・仕入れ画面のボタンまで大きくしてしまう。この画面へスコープする。 */
.site-survey-card .btn.compact,.site-table .btn.compact{padding:5px 10px;font-size:12px}

@media(max-width:768px){
  .form-grid.site-form-grid{grid-template-columns:1fr}
  /* 100vw は縦スクロールバー幅を含むため横スクロールが出る。100% にする。 */
  .site-survey-card{width:100%;max-width:none;max-height:100vh;border-radius:0;padding:20px 14px}
  .site-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-photo-controls{grid-template-columns:1fr 1fr}
  .site-photo-controls>label{grid-column:1/-1}
  .site-capture-btn{width:100%;min-height:44px}
  .site-photo-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  .site-photo img{height:104px}
  /* .result-modal-actions は折り返しを持たず、現地調査だけボタンが4つある。
     下端に固定して、長いフォームのどこにいても「保存」に届くようにする。 */
  .site-survey-card .result-modal-actions{flex-wrap:wrap;position:sticky;bottom:0;z-index:1;margin:16px -14px 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 12px rgba(20,39,70,.06)}
  .site-survey-card .result-modal-actions .btn{flex:1 1 45%;min-height:44px}
  /* 「削除」を「保存」の隣に置かない。 */
  .site-survey-card #siteSurveyDelete{margin-right:auto}
}
/* iOS Safari の 100vh はURLバー分だけ実表示領域より大きく、最下部のボタンが隠れる。 */
@supports(height:100dvh){@media(max-width:768px){.site-survey-card{max-height:100dvh}}}
@media(max-width:420px){
  .site-checks{grid-template-columns:1fr}
  .site-photo-controls{grid-template-columns:1fr}
  .site-geo{flex-wrap:wrap}
  .site-geo input{flex:1 1 100%}
  .site-geo .btn{width:100%;min-height:44px}
  .site-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-survey-card .result-modal-actions{flex-direction:column-reverse}
  .site-survey-card .result-modal-actions .btn{width:100%}
  .site-survey-card #siteSurveyDelete{margin-right:0;margin-top:6px}
}
