/* N's Create. UI Kit 準拠（生成り・墨・ゴールド／Inter・Noto Sans JP／角丸2px） */
:root{
  --ns-bg:#f6f5f2; --ns-surface:#ffffff; --ns-ink:#141414; --ns-ink-2:#4a4a48; --ns-ink-3:#8a8986;
  --ns-line:#e3e1db; --ns-line-2:#d2cfc6; --ns-gold:#9a7b4f; --ns-gold-weak:#efe8dc;
  --ns-neg:#a33b2b; --ns-neg-weak:#f5e4e0; --ns-pos:#3f6b4e; --ns-pos-weak:#e3ede5;
  --ns-radius:2px; --ns-num:'Inter',system-ui,sans-serif; --ns-ja:'Noto Sans JP',system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ns-bg);color:var(--ns-ink);font-family:var(--ns-ja);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.num,td.n,th.n{font-family:var(--ns-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.neg{color:var(--ns-neg)}
.muted{color:var(--ns-ink-3)}

/* header */
.ns-header{background:var(--ns-ink);color:#fff;position:sticky;top:0;z-index:20}
.ns-header__inner{max-width:1280px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;gap:32px}
.ns-brand{text-decoration:none;display:flex;align-items:baseline;gap:12px}
.ns-brand__en{font-family:var(--ns-num);font-weight:600;letter-spacing:.04em}
.ns-brand__ja{font-size:12px;color:#bdb9b0}
.ns-nav{display:flex;gap:4px}
.ns-nav a{text-decoration:none;padding:6px 14px;border-radius:999px;color:#d8d5ce;font-size:13px}
.ns-nav a.on{background:#fff;color:var(--ns-ink)}
.ns-header__right{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:12px;color:#bdb9b0}
.ns-link-genkan{text-decoration:none;border:1px solid #555;border-radius:999px;padding:4px 12px;color:#fff}

.ns-main{max-width:1280px;margin:0 auto;padding:32px 24px 80px}

/* page head */
.ns-eyebrow{font-family:var(--ns-num);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ns-gold);font-weight:600}
.ns-page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.ns-page-head h1{font-size:24px;font-weight:700;margin:2px 0 0;letter-spacing:.02em}
.ns-lead{font-size:12px;color:var(--ns-ink-3);margin:4px 0 0}
.ns-page-head .tools{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
h2.ns-h2{font-size:15px;margin:32px 0 12px;display:flex;align-items:baseline;gap:12px}
h2.ns-h2 .ns-eyebrow{font-size:10px}

/* buttons & inputs */
.ns-btn{font:inherit;font-size:13px;border:1px solid var(--ns-ink);background:var(--ns-ink);color:#fff;border-radius:999px;padding:6px 16px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block}
.ns-btn--ghost{background:transparent;color:var(--ns-ink);border-color:var(--ns-line-2)}
.ns-btn--gold{background:var(--ns-gold);border-color:var(--ns-gold)}
.ns-btn--danger{background:transparent;color:var(--ns-neg);border-color:var(--ns-neg)}
.ns-btn--sm{padding:3px 10px;font-size:12px}
.ns-btn:disabled{opacity:.4;cursor:default}
select,input,textarea{font:inherit;font-size:13px;border:1px solid var(--ns-line-2);border-radius:var(--ns-radius);background:#fff;padding:6px 8px;color:var(--ns-ink)}
input[type=number],input.n{font-family:var(--ns-num);text-align:right}
textarea{width:100%;min-height:80px}
label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ns-ink-2)}
.ns-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}
.ns-form .wide{grid-column:1/-1}
.viewer input,.viewer select,.viewer textarea{background:transparent;border-color:transparent;pointer-events:none}
.viewer .edit-only{display:none!important}

/* cards */
.ns-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.ns-card{background:var(--ns-surface);border:1px solid var(--ns-line);border-top:3px solid var(--ns-ink);border-radius:var(--ns-radius);padding:14px 16px}
.ns-card--gold{border-top-color:var(--ns-gold)}
.ns-card__label{font-size:12px;color:var(--ns-ink-2)}
.ns-card__value{font-family:var(--ns-num);font-size:24px;font-weight:600;margin:4px 0 6px;letter-spacing:-.01em}
.ns-card__value small{font-size:12px;font-weight:500;margin-left:2px;color:var(--ns-ink-3)}
.ns-card__sub{font-size:11px;color:var(--ns-ink-3);display:flex;flex-direction:column;gap:2px}
.ns-card__sub .row{display:flex;justify-content:space-between;gap:8px}
.ns-panel{background:var(--ns-surface);border:1px solid var(--ns-line);border-radius:var(--ns-radius);padding:16px}

/* up/down tag */
.tag{font-family:var(--ns-num);font-size:10px;font-weight:600;letter-spacing:.06em;padding:1px 6px;border-radius:2px;white-space:nowrap}
.tag.up{background:var(--ns-pos-weak);color:var(--ns-pos)}
.tag.down{background:var(--ns-neg-weak);color:var(--ns-neg)}
.tag.flat{background:#eee;color:var(--ns-ink-3)}
.chip{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--ns-line-2);white-space:nowrap}
.chip.ok{border-color:var(--ns-gold);color:var(--ns-gold)}

/* tables */
.ns-table-wrap{overflow-x:auto;background:var(--ns-surface);border:1px solid var(--ns-line);border-radius:var(--ns-radius)}
table.ns-table{border-collapse:collapse;width:100%;font-size:13px}
.ns-table th{font-weight:500;font-size:11px;color:var(--ns-ink-2);text-align:left;padding:8px 10px;border-bottom:1px solid var(--ns-line-2);background:#faf9f6;white-space:nowrap;position:sticky;top:0}
.ns-table td{padding:6px 10px;border-bottom:1px solid var(--ns-line);vertical-align:middle}
.ns-table tr.sub td{background:#faf9f6;font-weight:600}
.ns-table tr.total td{background:var(--ns-gold-weak);font-weight:700}
.ns-table tr.group td{font-size:11px;color:var(--ns-gold);letter-spacing:.1em;padding-top:12px;font-family:var(--ns-num);font-weight:600}
.ns-table tr.click{cursor:pointer}
.ns-table tr.click:hover td{background:#fbf8f2}
.ns-table td input,.ns-table td select{width:100%;min-width:70px;padding:4px 6px}
.ns-table th.sep,.ns-table td.sep{border-left:1px solid var(--ns-line-2)}
.ns-table tr.vacant td{color:var(--ns-ink-3)}

/* 物件切替 */
.ns-switch{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin:-8px 0 20px;scrollbar-width:thin}
.ns-switch a{flex:none;text-decoration:none;font-size:12px;padding:5px 14px;border-radius:999px;border:1px solid var(--ns-line-2);background:var(--ns-surface);color:var(--ns-ink-2);white-space:nowrap}
.ns-switch a:hover{border-color:var(--ns-gold);color:var(--ns-ink)}
.ns-switch a.on{background:var(--ns-ink);border-color:var(--ns-ink);color:#fff}

/* tabs */
.ns-tabs{display:flex;gap:2px;border-bottom:1px solid var(--ns-line-2);margin:8px 0 20px;overflow-x:auto}
.ns-tabs a{padding:8px 14px;text-decoration:none;font-size:13px;color:var(--ns-ink-2);border-bottom:2px solid transparent;white-space:nowrap}
.ns-tabs a.on{color:var(--ns-ink);border-bottom-color:var(--ns-gold);font-weight:600}

.ns-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ns-chart{height:300px;position:relative}
.ns-bridge{display:flex;flex-direction:column;gap:6px}
.ns-bridge .b{display:grid;grid-template-columns:140px 1fr 120px;align-items:center;gap:8px;font-size:12px}
.ns-bridge .bar{height:16px;position:relative;background:#f1efea}
.ns-bridge .bar i{position:absolute;top:0;bottom:0;background:var(--ns-ink)}
.ns-bridge .bar i.up{background:var(--ns-pos)}
.ns-bridge .bar i.down{background:var(--ns-neg)}
.ns-bridge .bar i.base{background:var(--ns-gold)}

.ns-empty{padding:40px;text-align:center;color:var(--ns-ink-3);background:var(--ns-surface);border:1px dashed var(--ns-line-2)}
.ns-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ns-ink);color:#fff;padding:8px 20px;border-radius:999px;font-size:13px;opacity:0;transition:.2s;pointer-events:none;z-index:50}
.ns-toast.show{opacity:1}
.ns-toast.err{background:var(--ns-neg)}
.row-actions{display:flex;gap:6px;justify-content:flex-end}
.ns-note{font-size:11px;color:var(--ns-ink-3);margin-top:8px}
.ns-banner{background:var(--ns-gold-weak);border-left:3px solid var(--ns-gold);padding:10px 14px;font-size:13px;margin-bottom:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}

@media (max-width:760px){
  .ns-header__inner{padding:0 16px;gap:12px}
  .ns-brand__ja,.ns-user{display:none}
  .ns-main{padding:20px 16px 60px}
  .ns-grid2{grid-template-columns:1fr}
  .ns-page-head h1{font-size:20px}
  .ns-bridge .b{grid-template-columns:96px 1fr 90px}
}

/* ===== 報告書（A4縦） ===== */
.rp-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:20px;font-size:13px}
.rp-tools label.ck{display:flex;gap:6px;align-items:center}
.rp-page{background:#fff;width:210mm;max-width:100%;min-height:297mm;margin:0 auto 24px;padding:14mm 13mm;box-shadow:0 1px 3px rgba(0,0,0,.08);font-size:11px}
.rp-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--ns-ink);padding-bottom:10px;margin-bottom:14px}
.rp-head h1{font-size:22px;margin:2px 0 0;letter-spacing:.02em}
.rp-co{text-align:right;font-size:10px;color:var(--ns-ink-2);line-height:1.7}
.rp-h2{font-size:12px;margin:16px 0 6px;padding-left:8px;border-left:3px solid var(--ns-gold);display:flex;gap:8px;align-items:baseline}
.rp-h2 small{font-weight:400;color:var(--ns-ink-3);font-size:10px}
.rp-info{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;border-top:1px solid var(--ns-line)}
.rp-info div{padding:5px 8px;border-bottom:1px solid var(--ns-line)}
.rp-info dt{font-size:9px;color:var(--ns-ink-3)}
.rp-info dd{margin:0;font-size:11px}
.rp-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rp-kpi div{border:1px solid var(--ns-line);border-top:3px solid var(--ns-ink);padding:8px 10px;display:flex;flex-direction:column}
.rp-kpi div:first-child{border-top-color:var(--ns-gold)}
.rp-kpi span{font-size:9px;color:var(--ns-ink-2)}
.rp-kpi b{font-family:var(--ns-num);font-size:20px;font-weight:600;line-height:1.3}
.rp-kpi em{font-style:normal;font-size:10px;color:var(--ns-ink-3);margin-left:2px;font-weight:400}
.rp-kpi small{font-size:9px;color:var(--ns-ink-3)}
.rp-table{width:100%;border-collapse:collapse;font-size:10px;margin-top:4px}
.rp-table th{font-weight:500;font-size:9px;color:var(--ns-ink-2);background:#f6f5f2;padding:4px 5px;border-bottom:1px solid var(--ns-line-2);text-align:left;white-space:nowrap}
.rp-table td{padding:3px 5px;border-bottom:1px solid var(--ns-line)}
.rp-table .sep{border-left:1px solid var(--ns-line-2)}
.rp-table tr.vac td{color:var(--ns-ink-3)}
.rp-table tr.tot td{font-weight:700;background:var(--ns-gold-weak);border-top:1px solid var(--ns-ink)}
.rp-table td.nowrap{white-space:nowrap}
.rp-mini{width:60%;margin-top:8px}
.rp-note{font-size:9px;color:var(--ns-ink-3);margin-top:8px}

@page{size:A4 portrait;margin:0}
@media print{
  body{background:#fff}
  .ns-header,.no-print,.ns-toast{display:none!important}
  .ns-main{padding:0;max-width:none}
  .rp-page{box-shadow:none;margin:0;width:auto;min-height:auto;page-break-after:always;break-after:page}
  .rp-page:last-child{page-break-after:auto;break-after:auto}
  .rp-table thead{display:table-header-group}
  .rp-table tr{break-inside:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media (max-width:760px){
  .rp-page{padding:16px;min-height:auto;overflow-x:auto}
  .rp-info,.rp-kpi{grid-template-columns:repeat(2,1fr)}
}
.rp-table th.n{text-align:right}

/* PDF読み取り */
input.ai,select.ai{background:#fbf3e3;border-color:var(--ns-gold)}
.ai-box{display:block}
.ai-box b{font-weight:600}
.ai-err{background:var(--ns-neg-weak);border-left-color:var(--ns-neg)}
.ai-warn{color:var(--ns-neg);font-size:12px;margin-top:6px}
.ai-map{border-collapse:collapse;font-size:12px;margin-top:8px;min-width:320px;background:#fff}
.ai-map th,.ai-map td{padding:3px 10px;border-bottom:1px solid var(--ns-line);text-align:left}
.ai-map th.n,.ai-map td.n{text-align:right}
.ai-notes{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--ns-ink-2)}
.ns-spin{width:12px;height:12px;border:2px solid var(--ns-gold);border-right-color:transparent;border-radius:50%;display:inline-block;animation:ns-spin .8s linear infinite}
@keyframes ns-spin{to{transform:rotate(360deg)}}

/* 経費明細 */
input.calc{background:#f6f5f2;border-color:transparent;color:var(--ns-ink)}
#exp td{padding:4px 6px}
#exp select{min-width:90px}
.chip.warn{border-color:var(--ns-neg);color:var(--ns-neg)}
.ns-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.ns-chips a{font-size:12px;padding:3px 12px;border-radius:999px;border:1px solid var(--ns-line-2);text-decoration:none;color:var(--ns-ink-2);background:#fff}
.ns-chips a.on{background:var(--ns-gold);border-color:var(--ns-gold);color:#fff}
td.nowrap{white-space:nowrap}
.ns-nav{overflow-x:auto}
.ns-table td:first-child{white-space:nowrap}

/* ドリルダウン */
tr.drill{cursor:pointer}
tr.drill td:first-child::before{content:'▸';display:inline-block;width:12px;color:var(--ns-gold);font-size:10px;transition:transform .15s}
tr.drill.open td:first-child::before{transform:rotate(90deg)}
tr.drill:hover td{background:#fbf8f2}
.drill-n{font-size:10px;color:var(--ns-gold);margin-left:4px}
tr.drill-row>td{background:#faf9f6;padding:8px 12px 12px 24px!important}
.drill-box{font-size:12px}
.drill-sum{display:flex;gap:16px;flex-wrap:wrap;align-items:baseline;margin-bottom:6px;color:var(--ns-ink-2)}
.drill-t{border-collapse:collapse;width:100%;background:#fff;font-size:12px}
.drill-t th{font-weight:500;font-size:10px;color:var(--ns-ink-3);text-align:left;padding:4px 8px;border-bottom:1px solid var(--ns-line-2)}
.drill-t th.n{text-align:right}
.drill-t td{padding:4px 8px;border-bottom:1px solid var(--ns-line)}
.drill-empty{font-size:12px;color:var(--ns-ink-3);padding:6px 0}
/* 構成比バー */
.cbar{height:12px;background:#f1efea;position:relative}
.cbar i{position:absolute;left:0;top:0;bottom:0;background:var(--ns-gold)}
.comp tr:first-child .cbar i{background:var(--ns-ink)}
/* 明細入力の折りたたみ */
details.exp-edit{margin-top:24px}
details.exp-edit>summary{cursor:pointer;font-size:15px;font-weight:600;display:flex;gap:12px;align-items:baseline;margin-bottom:10px;list-style:none}
details.exp-edit>summary::-webkit-details-marker{display:none}
details.exp-edit>summary::after{content:'開く ▾';font-size:11px;color:var(--ns-gold);font-weight:400}
details.exp-edit[open]>summary::after{content:'閉じる ▴'}
.cbar-row{display:flex;gap:8px;align-items:center}.cbar-row .cbar{flex:1}.cbar-row span{font-family:var(--ns-num);font-size:12px;min-width:44px;text-align:right}

/* ===== 見やすさ調整（2026-10） ===== */
body{font-size:15px}
.ns-main{padding-top:24px}
.ns-table{font-size:14px}
.ns-table th{font-size:12px;padding:9px 12px}
.ns-table td{padding:9px 12px}
h2.ns-h2{font-size:16px;margin:28px 0 10px}
h2.ns-h2 .ns-eyebrow{display:none}
h2.ns-h2 small{font-size:12px;font-weight:400}
.h2-link{margin-left:auto;font-size:13px;font-weight:400;color:var(--ns-gold);text-decoration:none}
.ns-page-head{margin-bottom:16px}
.muted{color:var(--ns-ink-3)}
/* 表の中の入力は罫線だけ（表計算のように） */
.ns-table td input,.ns-table td select{border:1px solid transparent;border-bottom-color:var(--ns-line-2);background:transparent;border-radius:0}
.ns-table td input:hover,.ns-table td select:hover{border-color:var(--ns-line-2)}
.ns-table td input:focus,.ns-table td select:focus{border-color:var(--ns-gold);background:#fff;outline:none}
.ns-table input.memo{min-width:120px;font-size:12px;color:var(--ns-ink-2)}
.ns-table tr.empty td{color:var(--ns-ink-3)}
.src{font-size:10px;color:var(--ns-ink-3);border:1px solid var(--ns-line-2);border-radius:999px;padding:0 6px;margin-left:4px;font-weight:400}

/* KPIカード */
.kc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kc{background:#fff;border:1px solid var(--ns-line);border-top:3px solid var(--ns-ink);padding:16px 18px}
.kc--gold{border-top-color:var(--ns-gold)}
.kc-l{font-size:13px;color:var(--ns-ink-2)}
.kc-v{font-family:var(--ns-num);font-size:30px;font-weight:600;line-height:1.2;margin-top:4px}
.kc-v small{font-size:13px;color:var(--ns-ink-3);font-weight:500;margin-left:3px}
.kc-a{font-size:12px;color:var(--ns-ink-3);margin-top:2px}
.kc-c{margin-top:12px;border-top:1px solid var(--ns-line);padding-top:8px;display:flex;flex-direction:column;gap:4px}
.kc-c div{display:grid;grid-template-columns:48px 1fr auto;align-items:center;font-size:12px;gap:6px}
.kc-c span{color:var(--ns-ink-3)}
.kc-c b{font-family:var(--ns-num);font-weight:600;font-size:13px}
.kc-c i{font-style:normal}
.kc-strip{display:flex;gap:28px;flex-wrap:wrap;margin:12px 0 0;padding:10px 16px;background:#fff;border:1px solid var(--ns-line);font-size:13px;color:var(--ns-ink-2)}
.kc-strip b{font-family:var(--ns-num);color:var(--ns-ink);margin-left:6px}
.kc-strip em{font-style:normal;color:var(--ns-ink-3);margin-left:6px;font-size:12px}

/* 物件のタブ（ボタン） */
.ns-ptabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 16px}
.ns-ptabs a{text-decoration:none;font-size:14px;padding:8px 18px;border:1px solid var(--ns-line-2);background:#fff;color:var(--ns-ink-2);border-radius:999px}
.ns-ptabs a:hover{border-color:var(--ns-ink)}
.ns-ptabs a.on{background:var(--ns-ink);border-color:var(--ns-ink);color:#fff}
.sub-nav{margin:0 0 16px}

/* 対象月 */
.ns-monthbar{display:flex;align-items:center;gap:6px;margin:0 0 18px;padding:8px 12px;background:#fff;border:1px solid var(--ns-line)}
.ns-monthbar .mb-l{font-size:12px;color:var(--ns-ink-3);margin-right:6px}
.ns-monthbar select{font-size:15px;font-weight:600;border:none;background:transparent;padding:4px 6px;font-family:var(--ns-ja)}
.mb-btn{width:30px;height:30px;border:1px solid var(--ns-line-2);background:#fff;border-radius:50%;cursor:pointer;font-size:16px;line-height:1}
.mb-btn:hover{border-color:var(--ns-ink)}
.mb-today{margin-left:auto;border:none;background:none;color:var(--ns-gold);font-size:12px;cursor:pointer}

/* 概要 */
.ov-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px}
.pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pts li{background:#fff;border:1px solid var(--ns-line);border-left:3px solid var(--ns-line-2);padding:8px 12px;font-size:13px;line-height:1.6}
.pts li.warn{border-left-color:var(--ns-neg)}
.pts li.good{border-left-color:var(--ns-pos)}
.doc-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--ns-line)}
.doc-row a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.act-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.side-h{font-size:13px;font-weight:600;margin-bottom:6px}
details.exp-edit>summary{font-size:15px}
@media (max-width:900px){.kc-grid{grid-template-columns:repeat(2,1fr)}.ov-grid{grid-template-columns:1fr}}

.ns-table td{white-space:nowrap}
.ns-table td.w,.drill-t td{white-space:normal}
.ns-table td input.ai,.ns-table td select.ai,input.ai,select.ai{background:#fbf3e3!important;border-color:var(--ns-gold)!important}

/* ===== 物件別損益一覧（マトリクス） ===== */
.mx-section{margin-top:24px}
.mx-headline{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.mx-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--ns-line-2);border-radius:999px;overflow:hidden;background:#fff}
.seg a{padding:5px 14px;font-size:13px;text-decoration:none;color:var(--ns-ink-2)}
.seg a.on{background:var(--ns-ink);color:#fff}
.mx-wrap{overflow-x:auto;background:#fff;border:1px solid var(--ns-line)}
table.mx{border-collapse:collapse;font-size:12px;min-width:100%}
.mx th,.mx td{border:1px solid var(--ns-line);padding:6px 8px;white-space:nowrap}
.mx thead th{background:#f1efea;font-weight:600;font-size:11px;text-align:center;position:sticky;top:0}
.mx thead th a{text-decoration:none;color:var(--ns-ink)}
.mx thead th a:hover{color:var(--ns-gold)}
.mx th.mx-h{position:sticky;left:0;background:#faf9f6;text-align:left;font-weight:500;z-index:1;min-width:150px}
.mx thead th.mx-h{background:#f1efea;z-index:2}
.mx td{text-align:right;font-family:var(--ns-num);font-variant-numeric:tabular-nums}
.mx tr.mx-text td,.mx tr.mx-note td{text-align:center;font-family:var(--ns-ja)}
.mx tr.mx-note td{white-space:normal;max-width:120px;font-size:11px;color:var(--ns-ink-2)}
.mx tr.mx-sum td,.mx tr.mx-sum th{background:#f6f5f2;font-weight:600}
.mx tr.mx-total td,.mx tr.mx-total th{background:var(--ns-gold-weak);font-weight:700}
.mx tr.mx-occ td,.mx tr.mx-occ th{border-top:2px solid var(--ns-line-2);background:#f6f5f2;font-weight:600}
.mx tr.mx-occ2 th{padding-left:20px;color:var(--ns-ink-2)}
.mx .mx-tot{background:#efe8dc;font-weight:600;border-right:2px solid var(--ns-gold)}
@page land{size:A4 landscape;margin:8mm}
@media print{
  body.print-land .ns-main{max-width:none}
  body.print-mx #app>*:not(.mx-section){display:none!important}
  body.print-mx .mx-section{page:land}
  body.print-mx .mx-wrap{overflow:visible;border:none}
  body.print-mx table.mx{font-size:7.5px}
  body.print-mx .mx th,body.print-mx .mx td{padding:2px 3px}
  body.print-mx .mx th.mx-h{min-width:auto}
}

/* ===== レントロール（社内フォーマット） ===== */
.rr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.rr-legend{display:flex;gap:6px}
.lg{font-size:11px;padding:2px 10px;border:1px solid var(--ns-line-2)}
.st-vac td,.lg.st-vac{background:#d9d9d6!important}
.st-plan td,.lg.st-plan{background:#fbe1cc!important}
.st-leave td,.lg.st-leave{background:#d8f0c8!important}
.rr-sum-grid{display:grid;grid-template-columns:3fr 2fr;gap:12px;margin-bottom:12px}
table.rr-sum{font-size:13px}
table.rr-sum td,table.rr-sum th{padding:6px 10px}
.ns-table tr.tot td{background:#e9f0f7;font-weight:600}
.ns-table tr.vacsum td{color:var(--ns-ink-3)}
.ns-table tr.ratio td{background:#fdeee3}
table.rr{font-size:13px}
table.rr td{padding:5px 8px}
table.rr td input,table.rr td select{min-width:60px}
table.rr tfoot td{padding:6px 8px;font-family:var(--ns-num)}
.trend{margin-bottom:8px}
.tbars{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:110px;margin-top:6px}
.tb{display:flex;flex-direction:column;align-items:center;gap:2px;height:100%}
.tb-bar{flex:1;width:60%;background:#f1efea;position:relative}
.tb-bar i{position:absolute;left:0;right:0;bottom:0;background:var(--ns-gold)}
.tb-v{font-family:var(--ns-num);font-size:10px;color:var(--ns-ink-2)}
.tb-m{font-size:10px;color:var(--ns-ink-3)}
/* 概要のサマリー */
textarea.summary{min-height:110px;font-size:13px;line-height:1.7;background:#fff}
/* ===== 事業収支表 ===== */
.pl-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px}
table.pl-sheet{font-size:12px}
table.pl-sheet td,table.pl-sheet th{padding:5px 8px}
table.pl-sheet tr.sec td{background:#f1efea;font-weight:600;color:var(--ns-gold);letter-spacing:.1em}
table.pl-sheet td.freq{color:var(--ns-ink-3);font-size:11px}
table.pl-sheet .tot-col{background:#faf6ee;font-weight:600}
@media print{
  body.print-pl .ns-switch,body.print-pl .ns-page-head,body.print-pl .ns-ptabs,body.print-pl .ns-monthbar,body.print-pl .no-print{display:none!important}
  body.print-pl #tab{page:land}
  body.print-pl .pl-wrap{overflow:visible;border:none}
  body.print-pl table.pl-sheet{font-size:7.5px}
  body.print-pl table.pl-sheet td,body.print-pl table.pl-sheet th{padding:2px 3px}
  body.print-pl tr.drill td:first-child::before{content:none}
}
@media (max-width:900px){.rr-sum-grid{grid-template-columns:1fr}}
table.rr td select{min-width:88px}table.rr td select[name=tenant_type]{min-width:64px}
@media print{body.print-mx .mx tr.mx-note td{font-size:6.5px}body.print-mx .mx thead th{font-size:7.5px}}

/* 物件別損益一覧：区分見出し・グループ */
.mx tr.mx-sec th,.mx tr.mx-sec td{background:var(--ns-ink);color:#fff;font-weight:600;font-size:11px;letter-spacing:.06em;border-color:var(--ns-ink);padding:5px 8px}
.mx tr.mx-sec th.mx-h{background:var(--ns-ink)}
.mx tr.mx-grp th,.mx tr.mx-grp td{background:#faf9f6;color:var(--ns-gold);font-weight:600;font-size:11px;padding:4px 8px}
.mx tr.mx-money th.mx-h{padding-left:18px}
.mx tr.mx-memo th.mx-h{padding-left:28px;font-size:11px;color:var(--ns-ink-3)}
.mx tr.mx-memo td{font-size:11px;color:var(--ns-ink-2)}
.mx tr.mx-kpi td{font-weight:600}
.mx tr.mx-total td,.mx tr.mx-total th{background:var(--ns-gold-weak);font-weight:700}
.mx td small{font-size:10px}
@media print{body.print-mx .mx tr.mx-sec th,body.print-mx .mx tr.mx-sec td{padding:1px 3px;font-size:7px}}

/* 長期借入一覧 */
.loan-block{margin-top:20px}
.loan-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.loan-h a{font-size:15px;font-weight:600;text-decoration:none}
table.loans{font-size:12px}
table.loans td,table.loans th{padding:5px 7px}
table.loans td input{min-width:78px;font-size:12px}
table.loans tr.lsec td{background:#f1efea;color:var(--ns-gold);font-weight:600;font-size:11px;letter-spacing:.1em}
@media print{
  body.print-loans .ns-switch,body.print-loans .no-print,body.print-loans .ns-page-head .tools{display:none!important}
  body.print-loans #app{page:land}
  body.print-loans table.loans{font-size:6.5px}
  body.print-loans table.loans td,body.print-loans table.loans th{padding:1px 2px}
  body.print-loans table.loans td input{border:none;font-size:6.5px;min-width:0;width:100%;padding:0}
  body.print-loans .loan-block{break-inside:avoid;margin-top:6px}
  body.print-mx table.mx{font-size:6.5px}
  body.print-mx .mx th,body.print-mx .mx td{padding:1px 2px}
}

/* 月次の取り込み */
label.drop{display:flex;flex-direction:column;gap:4px;border:2px dashed var(--ns-line-2);padding:18px;text-align:center;cursor:pointer;background:#fdfcf9}
label.drop:hover{border-color:var(--ns-gold);background:#fbf6ec}
label.drop input{display:none}
label.drop b{font-size:14px}
label.drop span{font-size:12px;color:var(--ns-ink-3)}
.imp{margin-bottom:16px}
.imp-title{font-size:16px;font-weight:700;margin-bottom:8px}
.imp-sec{border-top:1px solid var(--ns-line-2);padding:10px 0}
.imp-h{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px;margin-bottom:6px}
.imp .ai-map{width:100%}
@media print{body.print-loans [data-save]{display:none!important}body.print-loans table.loans th{font-size:6.5px;padding:1px 2px}body.print-loans .loan-h a{font-size:10px}body.print-loans .ns-page-head h1{font-size:16px}}

/* スマホ幅（380px）で横にはみ出さない */
.ns-nav a,.ns-brand,.ns-link-genkan{white-space:nowrap}
.kc{min-width:0}
@media (max-width:560px){
  .kc-grid{gap:8px}
  .kc{padding:12px}
  .kc-v{font-size:22px}
  .kc-v small{font-size:11px}
  .kc-c div{grid-template-columns:40px 1fr auto}
  .ns-page-head > *{min-width:0;max-width:100%}
}
/* 物件別損益一覧の印刷：小計の下の行・見出し行も表と同じ小さい文字にして A4横1枚に収める */
@media print{
  body.print-mx .mx tr.mx-memo th,body.print-mx .mx tr.mx-memo td,body.print-mx .mx tr.mx-grp th,body.print-mx .mx tr.mx-grp td{font-size:6px;padding:1px 2px}
  body.print-mx .mx tr.mx-memo th.mx-h{padding-left:8px}
  body.print-mx .mx small{font-size:5.5px}
  body.print-mx .mx-section .ns-note{font-size:6.5px;margin-top:3px}
  body.print-mx table.mx,body.print-mx .mx th,body.print-mx .mx td{line-height:1.35}
  body.print-mx .mx th,body.print-mx .mx td{padding-top:1px;padding-bottom:1px}
  body.print-mx .mx-headline{margin-bottom:4px}
  body.print-mx .mx-headline h2{font-size:13px!important}
  body.print-mx .mx-headline .ns-lead{font-size:8px;margin:0}
}
/* 物件別損益一覧：表の中でスクロールしても、物件名（見出し行）と項目（左の列）が見えたままになる */
.mx-wrap{max-height:calc(100vh - 96px);overflow:auto}
.mx thead th{z-index:2}
.mx thead th.mx-h{z-index:3}
/* 小計の行（売上高 計・運営費 計・営業利益）も利益の行と同じベージュに */
.mx tr.mx-sub td,.mx tr.mx-sub th{background:var(--ns-gold-weak);font-weight:700}
@media print{body.print-mx .mx-wrap{max-height:none;overflow:visible}}
@media print{
  body.print-mx table.mx,body.print-mx .mx th,body.print-mx .mx td{line-height:1.2}
  body.print-mx .mx th,body.print-mx .mx td{padding-top:0;padding-bottom:0}
}
