/* final9.jp のデザイン（配色・書体・ボタン・ヘッダー・フッター）に合わせる上書き。
   style.css / portal-v2.css の後に読み込む。外部フォントは読み込まない（CSPと機密画面の保護のため）。 */
:root{
  --navy:#1B2433;--blue:#C2452F;--orange:#E8604A;--ink:#1B2433;--muted:#6B7686;--line:#E6E0D6;--bg:#FBF8F3;--warm:#FFF6F3;
  --f9-navy:#141C2A;--f9-accent-2:#F6B23C;--f9-ink-soft:#4A5568;--f9-surface:#FFFFFF;
  --f9-grad:linear-gradient(135deg,#F6B23C 0%,#E8604A 100%);
  --f9-shadow:0 6px 24px rgba(20,28,42,.08);--f9-radius:14px;
}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic",Meiryo,sans-serif;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased;line-break:strict;overflow-wrap:break-word}
a{color:var(--blue)}
h1,h2,h3{color:var(--ink);text-wrap:balance}
.eyebrow{color:var(--orange);letter-spacing:.14em}

/* ヘッダー：final9.jp と同じ生成り色・ロゴ・下線 */
.topbar{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);color:var(--ink);padding:12px max(20px,calc((100vw - 1180px)/2))}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink);font-size:inherit;letter-spacing:0}
.brand:hover{text-decoration:none}
.brand img{height:44px;width:auto;display:block}
.brand small{display:block;margin:0;padding-left:14px;border-left:1px solid var(--line);font-size:12px;font-weight:500;line-height:1.5;color:var(--f9-ink-soft);letter-spacing:.02em}
.topbar nav{gap:22px}
.topbar nav a{color:var(--ink);font-size:13.5px;font-weight:500}
.topbar nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--orange)}
.topbar nav a:hover{color:var(--blue);border-bottom-color:var(--orange)}
.nav-button{border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:6px 16px;font:inherit;font-size:13px;font-weight:600}
.nav-button:hover{background:var(--ink);color:#fff}

/* カード・パネル */
.panel,.stat,.table-wrap,.form-actions{border-color:var(--line);border-radius:var(--f9-radius);box-shadow:var(--f9-shadow)}
.panel{background:var(--f9-surface)}

/* ボタン：final9.jp の丸いボタン */
.button{border-radius:999px;padding:11px 24px;font-size:14px;transition:transform .15s,background .15s}
.button:hover{filter:none;transform:translateY(-1px)}
.primary{background:var(--f9-grad);color:#fff;box-shadow:0 4px 14px rgba(232,96,74,.3)}
.secondary{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.secondary:hover{background:var(--ink);color:#fff}
.small{padding:6px 14px;font-size:12px}
.danger{color:#A62F30;border-color:#DCA6A6}
.button:focus-visible,.nav-button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* 入力欄 */
input:not([type=checkbox]),select,textarea{border-color:var(--line);border-radius:10px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.choice input{accent-color:var(--orange)}
fieldset[disabled] input,fieldset[disabled] select,fieldset[disabled] textarea{background:#F5F1EA}

/* 小さな部品の色（青系を final9.jp の暖色系に） */
.journey li:before{color:var(--orange);background:var(--warm);border-radius:999px;padding:6px 12px}
.badge{background:#F3EEE6;color:var(--ink)}
.badge.warm{background:var(--warm);color:var(--blue)}
.steps span{background:#F3EEE6;color:var(--muted)}
.steps .done{background:#EDE6DA;color:var(--ink)}
.steps .current{background:var(--warm);color:var(--blue);border-color:#F4B9AC}
.notice{background:#F3EEE6;color:var(--ink);border-radius:10px}
.notice.success{border-left:4px solid var(--orange);background:var(--warm)}
.notice.error{background:#FFF0EF;color:#A43435;border:1px solid #F2C7C5}
.number{color:var(--orange);background:var(--warm)}
.metric{color:var(--blue)}
.timer-bar strong{color:var(--orange)}
.report-sheet{border-top-color:var(--orange)}
th{background:#F3EEE6;color:var(--ink)}
.tabs-links a{background:#F3EEE6;border-radius:999px;padding:6px 14px}
.internal{border-left-color:var(--ink)}
.confirmed{border-left-color:var(--orange)}
.record-row,.account-detail{border-bottom-color:var(--line)}
.account-detail form{border-color:var(--line)}

/* 会社管理などのタブ */
.company-tabs{border-bottom-color:var(--line);border-radius:var(--f9-radius) var(--f9-radius) 0 0;box-shadow:none}
.company-tabs a{color:var(--muted)}
.company-tabs a[aria-current=page]{background:var(--warm);color:var(--ink)}
.company-tabs a[aria-current=page]:after{background:var(--orange)}
.company-tabs a:hover{background:#F7F2EA}
.company-tabs a:focus-visible{outline-color:var(--orange)}

/* フッター：final9.jp と同じ紺 */
footer{background:var(--f9-navy);color:#C9D1DE;border-top:0;padding:28px 20px;font-size:13px}
footer a{color:#C9D1DE}
footer a:hover{color:var(--f9-accent-2)}

/* 顧客ごとのまとまり（相談案件の一覧） */
.customer-group{margin:0 0 34px}
.customer-group-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid var(--line);margin-bottom:16px;padding-bottom:6px}
.customer-group-head h2{margin:0}
.customer-group-head .hint{margin:0}
.case-title{font-size:17px;margin:4px 0 14px}
.summary-list{display:grid;grid-template-columns:110px 1fr;gap:6px 14px;margin:0}
.summary-list dt{color:var(--muted);font-size:13px}
.summary-list dd{margin:0}

/* 法人(個人)登録 */
.segmented{display:inline-flex;gap:0;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;margin:0 0 18px}
.segmented a{padding:8px 20px;color:var(--ink);font-weight:600;font-size:14px}
.segmented a[aria-current=page]{background:var(--ink);color:#fff}
.segmented a:hover{text-decoration:none}
.field-title{font-weight:700;font-size:13px;margin:16px 0 4px}
/* 住所（郵便番号・都道府県・市区町村・市区町村以下・ビル名） */
.address-group{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:6px 18px 12px;margin:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.address-group legend{font-size:12px;font-weight:700;padding:0 6px}
.address-group .hint{grid-column:1/-1}
.postal-row{display:flex;gap:10px;align-items:center}
.postal-row input{margin-top:6px}
.postal-row .button{margin-top:6px;white-space:nowrap}
@media(max-width:620px){.address-group{grid-template-columns:1fr}}
.staff-row{border-top:1px solid var(--line);padding:16px 0}
.staff-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.staff-head small{display:block;color:var(--muted)}
.staff-head .inline-form{margin:0;align-items:center}
fieldset[data-show-when]{margin-top:8px}

.page-heading>.button,.page-heading .report-actions .button{white-space:nowrap}
.reward-title{font-size:15px;margin:18px 0 8px}

/* 支払通知書 */
.notice-sheet .report-top{align-items:flex-start}
.notice-meta{text-align:right;font-size:13px}
.notice-total{width:auto;margin:16px 0 16px auto;font-size:14px}
.notice-total th{background:transparent;text-align:right;padding:6px 16px}
.notice-total td{text-align:right;padding:6px 0;border:0;min-width:120px}

@media(max-width:620px){
  .customer-group-head{flex-direction:column;align-items:flex-start}
  .summary-list{grid-template-columns:1fr}
  .topbar{position:static;padding:12px 16px}
  .brand img{height:36px}
  .brand small{font-size:11px;padding-left:10px}
  .topbar nav{gap:14px 18px}
  body{font-size:14.5px}
}
@media print{body{background:#fff}.button,.primary{box-shadow:none}}
