
:root{--cream-bg:#FBF3E7;--cream-card:#FFFAF0;--cream-deep:#F5E9D3;--terracotta:#C9663F;--terracotta-light:#E07A57;--terracotta-dark:#A04C2A;--text-dark:#3B2A1F;--text-mid:#6B5547;--text-light:#8B7568;--border:#E8D9C0;--shadow:0 2px 12px rgba(180,120,80,.08);--green:#4C9A52;--red:#C0492F;--orange:#D9822B;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Meiryo",sans-serif;background:var(--cream-bg);color:var(--text-dark);font-size:14px;line-height:1.7;padding-top:56px;}
.topbar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--cream-card);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;padding:0 16px;z-index:120;}
.topbar .brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.brand-logo{height:43px;width:auto;display:block;}
.brand-badge{height:36px;width:auto;display:none;}
.topnav{display:flex;align-items:center;gap:16px;margin-left:auto;}
.nav-item{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-mid);text-decoration:none;padding:7px 0;margin:0;border-radius:8px;white-space:nowrap;box-sizing:border-box;}
.nav-item svg{width:15px;height:15px;flex-shrink:0;}
.nav-item:hover{color:var(--text-dark);}
.nav-item.active{padding:7px 12px;background:var(--terracotta);color:#fff;}
.account{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;}
.ac-wrap{position:relative;}
.ac-bell{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--cream-card);color:var(--text-mid);box-shadow:var(--shadow);cursor:pointer;position:relative;transition:border-color .14s,color .14s,background .14s;}
.ac-bell:hover{border-color:var(--terracotta);color:var(--terracotta-dark);background:var(--cream-deep);}
.ac-badge{position:absolute;top:-4px;right:-4px;background:var(--terracotta);color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;line-height:14px;border-radius:999px;text-align:center;padding:0 3px;box-shadow:0 0 0 2px var(--cream-card);}
.ac-user{display:inline-flex;align-items:center;gap:8px;height:33px;padding:0 9px 0 6px;border:1px solid var(--border);border-radius:10px;background:var(--cream-card);box-shadow:var(--shadow);cursor:pointer;max-width:240px;font-family:inherit;transition:border-color .14s,background .14s;}
.ac-user:hover{border-color:var(--terracotta);background:var(--cream-deep);}
.ac-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:23px;height:23px;border-radius:50%;background:#cfd5de;color:#fff;font-size:11px;font-weight:800;line-height:1;overflow:hidden;}
.ac-avatar.is-admin{background:#fbe4b0;}
.ac-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.ac-name{font-size:12px;font-weight:700;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}
.ac-user-caret,.ac-user svg{color:var(--text-light);flex:0 0 auto;}
.ac-pop{position:absolute;top:42px;right:0;min-width:220px;max-width:min(84vw,320px);background:var(--cream-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(180,120,80,.2);padding:10px 0;z-index:200;}
.ac-pop-head{font-size:11px;font-weight:700;color:var(--text-light);padding:2px 14px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em;}
.ac-empty{font-size:12px;color:var(--text-light);padding:12px 14px;text-align:center;}
.bell-item{font-size:12px;color:var(--text-dark);padding:8px 14px;border-bottom:1px solid var(--border);line-height:1.6;}
.bell-item:last-child{border-bottom:0;}
.bell-launch{display:block;font-weight:700;color:var(--terracotta-dark);font-size:11px;margin-bottom:2px;}
.ac-pop-name{font-size:14px;font-weight:700;color:var(--text-dark);padding:2px 14px;}
.ac-pop-email{font-size:11px;color:var(--text-light);padding:0 14px 6px;word-break:break-all;}
.ac-pop-role{font-size:12px;color:var(--text-mid);padding:6px 14px;border-top:1px solid var(--border);}
.ac-logout{display:block;font-size:12px;color:var(--terracotta-dark);text-decoration:none;padding:8px 14px 2px;border-top:1px solid var(--border);margin-top:4px;font-weight:600;}
.ac-logout:hover{text-decoration:underline;}
.nav-burger{display:none;align-items:center;justify-content:center;width:33px;height:33px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--cream-card);color:var(--text-mid);box-shadow:var(--shadow);cursor:pointer;flex-shrink:0;}
.nav-burger:hover{border-color:var(--terracotta);color:var(--terracotta-dark);background:var(--cream-deep);}
.sidebar{position:fixed;top:56px;left:0;width:210px;height:calc(100vh - 56px);background:var(--cream-card);border-right:1px solid var(--border);overflow-y:auto;padding:16px 0;z-index:130;}
.sb-head{display:none;}
.sb-close{display:none;}
.sb-group{margin-bottom:8px;}
.sb-label{font-size:10px;font-weight:700;color:var(--text-light);letter-spacing:.06em;text-transform:uppercase;padding:6px 18px;line-height:1.3;}
details.sb-group > summary.sb-label{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;user-select:none;}
details.sb-group > summary.sb-label::-webkit-details-marker{display:none;}
details.sb-group > summary.sb-label::after{content:"";flex-shrink:0;width:6px;height:6px;border-right:1.5px solid var(--text-light);border-bottom:1.5px solid var(--text-light);transform:rotate(45deg);margin-right:2px;transition:transform .15s;}
details.sb-group[open] > summary.sb-label::after{transform:rotate(-135deg);margin-top:3px;}
details.sb-group > summary.sb-label:hover{color:var(--terracotta-dark);background:var(--cream-deep);}
details.sb-group.sb-nested{margin:2px 0 6px;}
details.sb-group.sb-nested > summary.sb-label{padding-left:22px;font-size:10px;letter-spacing:.04em;}
details.sb-group.sb-nested .sb-link.sb-sub{padding-left:34px;}
.sb-menu .sb-label{cursor:default;}
.sb-link{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-mid);text-decoration:none;padding:8px 18px;border-left:3px solid transparent;}
.sb-link svg{width:15px;height:15px;flex-shrink:0;}
.sb-link:hover{background:var(--cream-deep);color:var(--text-dark);}
.sb-link.active{color:var(--terracotta-dark);font-weight:700;border-left-color:var(--terracotta);background:var(--cream-deep);}
.sb-link.sb-sub{font-size:12px;padding-left:28px;color:var(--text-light);}
.sb-backdrop{display:none;position:fixed;inset:0;background:rgba(59,42,31,.4);z-index:125;}
.sb-backdrop.show{display:block;}
.hero-kpi{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;margin-bottom:36px;}
.hk-tile{background:var(--cream-card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);text-align:center;}
.hk-tile.hk-accent{background:linear-gradient(135deg,var(--terracotta),var(--terracotta-light));border:none;}
.hk-label{font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:8px;}
.hk-accent .hk-label{color:rgba(255,255,255,.9);}
.hk-sub{font-size:10px;}
.hk-val{font-size:30px;font-weight:800;color:var(--terracotta-dark);letter-spacing:-.01em;line-height:1.1;}
.hk-accent .hk-val{color:#fff;}
.hk-bar{height:8px;background:rgba(255,255,255,.35);border-radius:4px;overflow:hidden;margin-top:10px;}
.hk-fill{height:100%;background:#fff;}
.entry-card{display:block;background:var(--cream-card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;}
.entry-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(180,120,80,.16);}
.ec-icon{font-size:30px;margin-bottom:8px;}
.ec-name{font-size:18px;font-weight:800;color:var(--terracotta-dark);margin-bottom:6px;}
.ec-desc{font-size:13px;color:var(--text-mid);line-height:1.7;margin-bottom:10px;}
.ec-stat{font-size:12px;color:var(--text-light);border-top:1px solid var(--border);padding-top:8px;}
.soon{display:inline-block;font-size:11px;font-weight:700;background:var(--cream-deep);color:var(--text-light);padding:1px 8px;border-radius:999px;vertical-align:middle;margin-left:6px;}
.card.placeholder{text-align:center;padding:44px 24px;}
.ph-icon{font-size:40px;margin-bottom:10px;}
.card.placeholder p{max-width:520px;margin:6px auto;color:var(--text-mid);}
.main{margin-left:210px;max-width:1000px;padding:28px 28px 60px;}
.back{display:inline-block;font-size:13px;color:var(--terracotta-dark);text-decoration:none;margin-bottom:12px;font-weight:600;}
.back:hover{text-decoration:underline;}
.page-head{margin-bottom:30px;padding-bottom:16px;border-bottom:2px solid var(--terracotta);}
.page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.page-head h1{font-size:24px;font-weight:800;color:var(--terracotta-dark);margin:6px 0 4px;}
.page-head .meta{font-size:12px;color:var(--text-light);}
.launch-note{color:var(--orange);font-weight:600;margin-top:4px;}
.refresh-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;}
.refresh-updated{font-size:12px;color:var(--text-light);font-weight:600;}
.btn-refresh{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#fff;background:var(--terracotta);border:none;border-radius:8px;padding:7px 14px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow);transition:background .14s;}
.btn-refresh:hover{background:var(--terracotta-dark);}
.btn-refresh[disabled]{opacity:.55;cursor:default;}
.btn-refresh[disabled]:hover{background:var(--terracotta);}
.page-head-row .refresh-bar{margin-top:4px;flex-shrink:0;}
.refresh-msg{font-size:12px;color:var(--text-mid);font-weight:600;}
.refresh-msg.err{color:var(--red);}
.refresh-msg a{color:var(--terracotta-dark);margin-left:4px;}
section{margin-bottom:40px;}
section h2{font-size:16px;font-weight:700;color:var(--terracotta-dark);border-bottom:2px solid var(--cream-deep);padding-bottom:7px;margin-bottom:16px;}
.sec-head-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;border-bottom:2px solid var(--cream-deep);padding-bottom:7px;margin-bottom:16px;}
.sec-head-row h2{border-bottom:none;padding-bottom:0;margin-bottom:0;}
.btn-link{font-size:12.5px;font-weight:700;color:var(--terracotta-dark);text-decoration:none;background:var(--cream-deep);padding:5px 12px;border-radius:8px;white-space:nowrap;}
.btn-link:hover{background:var(--border);}
.card{background:var(--cream-card);border:1px solid var(--border);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow);}
.card.p0{padding:0;}
/* 横長テーブルはカード内で横スクロール（スマホで右端が切れないようにする） */
.card.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;}
.card.scroll>table{width:max-content;min-width:100%;}
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.kpi-row.tight{margin-top:16px;}
.kpi{background:var(--cream-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);}
.kpi .label{font-size:11px;color:var(--text-light);font-weight:600;margin-bottom:4px;}
.kpi .value{font-size:20px;font-weight:800;color:var(--terracotta-dark);line-height:1.25;}
.kpi .sub{font-size:10px;color:var(--text-mid);margin-top:3px;}
/* P2.6（実）率ティア: 文字色のみ（バッジなし） */
.p26-tone.band-10,.p26-tone.band-10 .muted{color:var(--green)!important;}
.p26-tone.band-15,.p26-tone.band-15 .muted{color:#2F7A36!important;font-weight:700;}
.p26-tone.band-20,.p26-tone.band-20 .muted{color:var(--terracotta-dark)!important;font-weight:800;}
.kpi .value .p26-tone.band-10{color:var(--green);}
.kpi .value .p26-tone.band-15{color:#2F7A36;}
.kpi .value .p26-tone.band-20{color:var(--terracotta-dark);}
/* 月次分析: 健全性・マトリクス */
.flag-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.flag-list li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--cream-card);font-size:13px;line-height:1.45;}
.flag-list .flag-sev{flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:5px;margin-top:1px;}
.flag-list li.sev-crit{border-color:#E8B4B4;background:#FDF6F6;}
.flag-list li.sev-crit .flag-sev{background:var(--red);color:#fff;}
.flag-list li.sev-warn{border-color:#F0D9A8;background:#FFFBF3;}
.flag-list li.sev-warn .flag-sev{background:var(--orange);color:#fff;}
.flag-list li.sev-ok{border-color:#C5E0C8;background:#F5FBF6;}
.flag-list li.sev-ok .flag-sev{background:var(--green);color:#fff;}
.flag-list li.sev-info .flag-sev{background:var(--cream-deep);color:var(--text-mid);}
.mx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;}
.mx-cell{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--cream-card);min-height:72px;}
.mx-cell .mx-k{font-size:11px;font-weight:700;color:var(--text-light);margin-bottom:4px;}
.mx-cell .mx-v{font-size:18px;font-weight:800;color:var(--text-dark);}
.mx-cell .mx-s{font-size:11px;color:var(--text-mid);margin-top:2px;}
.mx-cell.hot{border-color:#E8B4B4;background:#FDF6F6;}
.mx-cell.good{border-color:#C5E0C8;background:#F5FBF6;}
.mx-legend{font-size:12px;color:var(--text-mid);margin:0 0 8px;}
@media(max-width:720px){.mx-grid{grid-template-columns:1fr;}}
/* 詳細分析（insights） */
.insights-anal{display:flex;flex-direction:column;gap:14px;}
.ia-sec{
  background:var(--cream-card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px 18px 14px;
  box-shadow:var(--shadow);
}
.ia-sec h3{
  font-size:15px;font-weight:800;color:var(--terracotta-dark);
  margin:0 0 10px;padding-bottom:8px;
  border-bottom:1px solid var(--border);
  letter-spacing:.02em;
}
.ia-sec.ia-summary{
  background:linear-gradient(180deg,#FFF9F3 0%,var(--cream-card) 100%);
  border-color:#E8C9B0;
}
.ia-sec.ia-summary h3{border-bottom-color:#E8C9B0;}
.ia-sec.ia-issues{border-left:3px solid var(--orange);}
.ia-sec.ia-actions{border-left:3px solid var(--terracotta);}
.ia-sub{
  margin-top:12px;padding:12px 12px 8px;
  background:var(--cream-deep);
  border-radius:8px;
}
.ia-sub h4{
  font-size:12px;font-weight:800;color:var(--text-mid);
  margin:0 0 8px;letter-spacing:.04em;
}
.ia-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.ia-list>li{
  display:flex;gap:10px;align-items:flex-start;
  font-size:13.5px;line-height:1.65;color:var(--text-dark);
  padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.55);
}
.ia-list>li::before{
  content:"";flex-shrink:0;width:6px;height:6px;margin-top:8px;
  border-radius:50%;background:var(--terracotta);
}
.ia-list>li.ia-pri::before{display:none;}
.ia-txt{flex:1;min-width:0;}
.ia-txt strong{font-weight:800;color:var(--terracotta-dark);}
.ia-badge{
  flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.04em;
  padding:2px 7px;border-radius:5px;margin-top:2px;color:#fff;
}
.ia-pri.ia-high .ia-badge{background:var(--red);}
.ia-pri.ia-mid .ia-badge{background:var(--orange);}
.ia-pri.ia-low .ia-badge{background:var(--text-light);}
.ia-pri.ia-high{background:#FDF6F6;}
.ia-pri.ia-mid{background:#FFFBF3;}
.ia-pri.ia-low{background:var(--cream-deep);}
.ia-sec.ia-script{border-left:3px solid var(--terracotta);}
.ia-p{font-size:13.5px;line-height:1.7;color:var(--text-dark);margin:0 0 10px;}
.ia-quote{
  font-size:13px;line-height:1.65;color:var(--text-mid);margin:0 0 10px;
  padding:10px 12px;border-left:3px solid var(--terracotta);background:var(--cream-deep);
  border-radius:0 8px 8px 0;
}
.ia-olist{margin:0 0 10px;padding-left:1.35rem;display:flex;flex-direction:column;gap:8px;}
.ia-olist>li{font-size:13.5px;line-height:1.65;color:var(--text-dark);}
.ia-table-wrap{margin:8px 0 12px;}
.ia-table th,.ia-table td{font-size:12.5px;vertical-align:top;}
.pm-scripts{display:flex;flex-direction:column;gap:16px;margin-top:8px;}
.pm-script-card{
  background:var(--cream-card);border:1px solid var(--border);border-radius:14px;
  padding:0 0 8px;box-shadow:var(--shadow);overflow:hidden;
}
.pm-script-head{
  display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;
  padding:14px 18px 10px;
  background:linear-gradient(180deg,#FFF9F3 0%,var(--cream-card) 100%);
  border-bottom:1px solid var(--border);
}
.pm-script-asp{color:var(--terracotta-dark);font-size:16px;font-weight:800;}
.pm-script-title{color:var(--text-mid);font-size:12.5px;font-weight:600;}
.pm-sa{padding:14px 18px 8px;}
.pm-sa-kicker{
  font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--terracotta);
  margin:0 0 6px;text-transform:none;
}
.pm-sa-hitokoto{
  font-size:16px;font-weight:800;line-height:1.55;color:var(--text-dark);
  margin:0 0 12px;
}
.pm-sa-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;}
.pm-sa-chip{
  display:inline-flex;flex-direction:column;gap:2px;min-width:7.5rem;
  padding:8px 10px;border-radius:10px;border:1px solid var(--border);
  background:#fff;
}
.pm-sa-chip.good{border-color:#C5E0C8;background:#F5FBF6;}
.pm-sa-chip.bad{border-color:#E8B4B4;background:#FDF6F6;}
.pm-sa-chip.warn{border-color:#E8D4A8;background:#FFFBF3;}
.pm-sa-chip-l{font-size:10px;font-weight:800;color:var(--text-light);letter-spacing:.04em;}
.pm-sa-chip-v{font-size:12.5px;font-weight:700;color:var(--text-dark);line-height:1.4;}
.pm-sa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px;}
@media(max-width:720px){.pm-sa-grid{grid-template-columns:1fr;}}
.pm-sa-box{
  padding:10px 12px;border-radius:10px;border:1px solid var(--border);
  background:var(--cream-deep);
}
.pm-sa-box.bad{border-color:#E8B4B4;background:#FDF6F6;}
.pm-sa-box.warn{border-color:#E8D4A8;background:#FFFBF3;}
.pm-sa-box.good{border-color:#C5E0C8;background:#F5FBF6;}
.pm-sa-box-l{font-size:11px;font-weight:800;color:var(--text-mid);margin:0 0 4px;}
.pm-sa-box p{margin:0;font-size:13px;line-height:1.55;color:var(--text-dark);}
.pm-sa-fit{font-weight:800;color:var(--terracotta-dark);}
.pm-sa-actions{
  margin:0 0 8px;padding:12px 14px;border-radius:10px;
  background:linear-gradient(180deg,#FFF5EE 0%,#fff 100%);
  border:1px solid #E8C9B0;
}
.pm-sa-actions-h{font-size:12px;font-weight:800;color:var(--terracotta-dark);margin:0 0 8px;}
.pm-sa-actions ol{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:6px;}
.pm-sa-actions li{font-size:13px;line-height:1.55;color:var(--text-dark);}
.pm-script-fold{
  margin:6px 14px 8px;border:1px solid var(--border);border-radius:10px;background:#fff;
}
.pm-script-fold>summary{
  cursor:pointer;padding:10px 12px;font-size:12.5px;font-weight:800;color:var(--text-mid);
  list-style:none;
}
.pm-script-fold>summary::-webkit-details-marker{display:none;}
.pm-script-fold>summary::before{content:"▸ ";color:var(--terracotta);}
.pm-script-fold[open]>summary::before{content:"▾ ";}
.pm-script-body{
  margin:0 12px 12px;padding:14px 16px;white-space:pre-wrap;word-break:break-word;
  font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:13.5px;line-height:1.75;
  background:var(--cream-deep);border-radius:8px;border:1px solid var(--border);
  color:var(--text-dark);
}
.pm-script-anal{
  margin:0 12px 12px;padding:10px 10px 4px;
  background:rgba(255,255,255,.5);border-radius:8px;
}
.pm-script-anal .insights-anal{gap:10px;}
.pm-script-anal .ia-sec{box-shadow:none;margin:0;}
.pm-script-anal-empty{margin:8px 16px 16px;}
.pm-script-fold .ia-table-wrap{margin:8px 12px 12px;}
.pm-script-anal .ia-table-wrap{margin:8px 0 12px;}
@media(max-width:720px){
  .ia-sec{padding:14px 12px 12px;}
  .ia-list>li{font-size:13px;padding:8px;}
  .pm-script-body{font-size:13px;}
  .pm-sa{padding:12px 14px 6px;}
  .pm-sa-hitokoto{font-size:15px;}
}
/* 月次ページ: セクションタブ */
.pm-tabs{
  display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1.25rem;
  position:sticky;top:56px;z-index:45;
  background:var(--cream-bg);padding:10px 0 8px;
  border-bottom:1px solid var(--border);
}
body.share-solo .pm-tabs{top:0;}
.pm-tab{
  appearance:none;border:1px solid var(--border);background:var(--cream-card);
  color:var(--text-mid);font-size:12.5px;font-weight:700;
  padding:7px 12px;border-radius:999px;cursor:pointer;
}
.pm-tab:hover{border-color:var(--terracotta);color:var(--terracotta-dark);}
.pm-tab.is-on{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.pm-panel[hidden]{display:none!important;}
.asp-pick{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1rem;}
.asp-chip{
  appearance:none;border:1px solid var(--border);background:var(--cream-card);
  color:var(--text-mid);font-size:12px;font-weight:700;
  padding:6px 10px;border-radius:8px;cursor:pointer;
}
.asp-chip:hover{border-color:var(--terracotta);color:var(--terracotta-dark);}
.asp-chip.is-on{background:var(--terracotta-dark);border-color:var(--terracotta-dark);color:#fff;}
.asp-panel{
  border:1px solid var(--border);border-radius:12px;padding:14px 16px;
  background:var(--cream-card);box-shadow:var(--shadow);
}
.asp-panel[hidden]{display:none!important;}
.asp-panel h3{font-size:14px;margin:1rem 0 0.6rem;color:var(--terracotta-dark);}
.kpi.hero{background:linear-gradient(135deg,var(--terracotta),var(--terracotta-light));border:none;}
.kpi.hero .label,.kpi.hero .sub{color:rgba(255,255,255,.9);}.kpi.hero .value{color:#fff;}
.value .neg{color:#ffdccf;}.kpi:not(.hero) .value .neg{color:var(--red);}.value .pos{color:var(--green);}
td.neg{color:var(--red);font-weight:700;}td.pos{color:var(--green);font-weight:700;}
tr.low-n{opacity:.62;}
.tag-refn{display:inline-block;font-size:9px;font-weight:700;color:var(--text-light);background:var(--cream-deep);border:1px solid var(--border);border-radius:5px;padding:1px 5px;margin-left:5px;vertical-align:middle;}
.goal-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.pace-line{font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:8px;margin-bottom:12px;background:var(--cream-deep);color:var(--text-mid);}
.pace-line.pace-ok{color:var(--green);}
.pace-line.pace-warn{color:var(--orange);}
.pace-line.pace-bad{color:var(--red);}
.pace-line.pace-finished{color:var(--text-light);}
.goal-now{font-size:26px;font-weight:800;color:var(--terracotta-dark);}.goal-now em{font-size:13px;font-weight:600;color:var(--text-mid);font-style:normal;}
.goal-target{font-size:13px;color:var(--text-mid);}.goal-target b{color:var(--text-dark);font-size:15px;}
.goal-calc{margin:16px 0 18px;padding:14px 0 4px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.goal-calc h3{font-size:13px;font-weight:700;margin:0 0 8px;color:var(--text-dark);}
.goal-calc-intro{font-size:12px;color:var(--text-mid);margin:0 0 14px;line-height:1.6;}
.goal-calc-table{margin-bottom:12px;}
.goal-calc-table th,.goal-calc-table td{font-size:12.5px;padding:7px 10px;}
.goal-calc-table tr.gc-result td{background:var(--cream-deep);font-weight:700;}
.gc-formula-mini{font-size:11.5px;color:var(--text-light);margin:-4px 0 14px 2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.goal-calc-formula{font-size:13px;color:var(--text-dark);margin:0;padding:10px 12px;background:var(--cream-deep);border-radius:8px;line-height:1.55;}
.goal-calc-formula b{color:var(--terracotta-dark);font-size:15px;}
.goal-subhead{font-size:13px;font-weight:700;margin:18px 0 8px;color:var(--text-dark);}
.progress-track{position:relative;height:32px;background:var(--cream-deep);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.progress-fill{position:absolute;top:0;left:0;height:100%;}
.pf-actual{background:var(--terracotta);z-index:3;}.pf-plus{background:var(--terracotta-light);opacity:.5;z-index:2;}
.progress-label{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--text-mid);margin-top:8px;}
.progress-label .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:middle;}
.dot.da{background:var(--terracotta);}.dot.dp{background:var(--terracotta-light);opacity:.6;}
.funnel .funnel-stage{margin:8px 0;}
.fs-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px;gap:8px;}
.fs-name{font-size:13px;font-weight:700;color:var(--text-dark);}.fs-note{font-weight:500;color:var(--text-light);font-size:11px;}
.fs-val{font-size:13px;white-space:nowrap;}.fs-val .rate{color:var(--text-light);font-size:11px;margin-left:3px;}
.fs-bar{height:28px;background:var(--terracotta);border-radius:6px;min-width:3px;}.fs-bar.last{background:var(--terracotta-dark);}
.leak{font-size:12px;color:var(--red);font-weight:600;margin:2px 0 8px 4px;}.leak::before{content:"▼ ";font-size:10px;}
.note{font-size:12px;color:var(--text-light);margin-top:10px;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{background:var(--cream-deep);color:var(--text-mid);font-weight:600;padding:10px 12px;text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;}
td{padding:9px 12px;border-bottom:1px solid var(--border);}
tr:last-child td{border-bottom:none;}tr:hover td{background:var(--cream-deep);}
td.r,th.r{text-align:right;white-space:nowrap;}.muted{color:var(--text-light);font-size:11px;}
.matrix{min-width:560px;}
.matrix th:first-child,.matrix td:first-child{position:sticky;left:0;text-align:left;font-weight:600;white-space:nowrap;z-index:1;}
.matrix tbody td:first-child{background:var(--cream-card);}
.matrix tbody tr:hover td:first-child{background:var(--cream-deep);}
.matrix thead th:first-child{background:var(--cream-deep);}
.cpct{display:block;color:var(--text-light);font-size:10px;font-weight:400;margin-top:1px;}
.matrix .mx-rate td{background:var(--cream-deep);font-weight:700;color:var(--terracotta-dark);}
.matrix .mx-rate td:first-child{background:var(--cream-deep);}
.table-char{font-size:12px;}
.table-char th,.table-char td{padding:7px 8px;white-space:nowrap;}
.table-char th{font-size:11px;}
.table-char td:first-child{font-weight:600;}
.table-char .muted{display:inline;font-size:10px;margin-left:2px;}
.table-char .stack{display:inline-flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.25;}
.table-char .stack .muted{margin-left:0;font-weight:500;color:var(--text-light);}
/* 横スクロール時も先頭列（キャラ名）を固定 */
.table-char th:first-child,.table-char td:first-child,
.table-acct th:first-child,.table-acct td:first-child{position:sticky;left:0;z-index:1;}
.table-char thead th:first-child,.table-acct thead th:first-child{background:var(--cream-deep);}
.table-char tbody td:first-child,.table-acct tbody td:first-child{background:var(--cream-card);}
.table-char tbody tr:hover td:first-child,.table-acct tbody tr:hover td:first-child{background:var(--cream-deep);}
.table-acct td:first-child{font-weight:600;font-size:12px;}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.section-title{font-size:15px;font-weight:800;color:var(--terracotta-dark);margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--cream-deep);color:var(--text-mid);font-size:11px;font-weight:800;}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.char-card-link{text-decoration:none;color:inherit;display:block;}
.char-card{background:var(--cream-card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s;height:100%;}
.char-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(180,120,80,.16);}
.char-card--empty{opacity:.72;}
.char-card--empty .char-genre .sub-text{color:var(--terracotta);}
.char-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
.char-icon{width:44px;height:44px;border-radius:50%;background:var(--cream-deep);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--terracotta-dark);flex-shrink:0;overflow:hidden;}
.char-icon img{width:100%;height:100%;object-fit:cover;display:block;}
.char-card-text{min-width:0;}
.char-name{font-size:16px;font-weight:800;color:var(--text-dark);margin-bottom:2px;}
.char-folder{font-size:11px;color:var(--text-light);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--cream-deep);padding:1px 6px;border-radius:4px;display:inline-block;}
.char-meta{font-size:11px;color:var(--text-light);margin-top:4px;}
.char-genre{font-size:12px;color:var(--text-mid);line-height:1.5;}
.char-genre .sub-text{display:block;color:var(--text-light);margin-top:2px;}
.year-sub{font-size:13px;font-weight:700;color:var(--text-mid);margin:18px 0 10px;}
.launch-card{display:block;background:var(--cream-card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;}
.launch-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(180,120,80,.16);}
.launch-card--visual{padding:0;overflow:hidden;}
.lc-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--cream-deep);border-bottom:1px solid var(--border);}
.lc-thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.lc-thumb--empty,.creative-ph{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,var(--cream-deep),var(--cream-deep) 10px,var(--cream-card) 10px,var(--cream-card) 20px);border-bottom:1px solid var(--border);}
.lc-thumb--empty{aspect-ratio:16/9;}
.creative-ph{aspect-ratio:16/9;width:100%;min-height:160px;}
.no-image-label{font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--text-light);background:var(--cream-card);border:1px dashed var(--border);border-radius:8px;padding:8px 14px;}
.lc-body{padding:14px 18px 18px;}
.lc-period{font-size:11px;font-weight:700;color:var(--text-light);margin-left:8px;}
.search-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.search-input{flex:1;min-width:200px;max-width:320px;padding:9px 14px;border:1px solid var(--border);border-radius:9px;background:var(--cream-card);font-size:13px;color:var(--text-dark);font-family:inherit;}
.search-input:focus{outline:none;border-color:var(--terracotta);}
.search-hint{font-size:12px;color:var(--text-light);}
.lc-name{font-size:16px;font-weight:700;color:var(--text-dark);margin:8px 0 6px;}
.lc-sales{font-size:24px;font-weight:800;color:var(--terracotta-dark);}.lc-sales span{font-size:12px;font-weight:600;color:var(--text-mid);}
.lc-bar{height:8px;background:var(--cream-deep);border-radius:4px;overflow:hidden;margin:10px 0 6px;}
.lc-fill{height:100%;background:var(--terracotta);}
.lc-meta{font-size:11px;color:var(--text-light);}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;}
.tag-main{background:var(--cream-deep);color:var(--terracotta-dark);}.tag-re{background:#EDE7F6;color:#5E35B1;}
/* 日々の配信分析（施策タイプ・進捗タグ、施策セクション） */
.tag-if{background:#E3F0F7;color:#2E6E8E;white-space:nowrap;}
tr.total td{font-weight:700;background:var(--cream-deep);}
.tag-mfix{background:#FDEBD7;color:var(--orange);}
.tag-mblast{background:var(--cream-deep);color:var(--terracotta-dark);}
.tag-mmedia{background:#EDE7F6;color:#5E35B1;}
.tag.mstatus,.tag-mfix,.tag-mblast,.tag-mmedia{white-space:nowrap;}
.mstatus.st-active{background:#FDEBD7;color:var(--orange);}
.mstatus.st-done{background:#E4F0E4;color:var(--green);}
.mstatus.st-idle{background:var(--cream-deep);color:var(--text-light);}
.m-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 14px;}
.m-meta{font-size:12px;color:var(--text-light);}
.sub-cap{font-size:12.5px;font-weight:700;color:var(--text-mid);margin:14px 0 6px;}
section.measure .kpi-row{margin-top:14px;}
section.measure .funnel{margin-top:8px;}
.ledger-card{margin-bottom:14px;background:var(--cream-deep);}
.lg-head{font-size:12px;font-weight:700;color:var(--terracotta-dark);margin-bottom:8px;}
.lg-row{display:flex;gap:10px;font-size:12.5px;line-height:1.7;margin:3px 0;}
.lg-k{flex:0 0 84px;font-weight:700;color:var(--text-mid);}
.m-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
/* 訴求クリエイティブ（勉強会告知・個別相談・特典バナー） */
.creatives-intro{font-size:12.5px;color:var(--text-light);margin:-6px 0 14px;}
.creatives-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;}
.creative-card{margin:0;background:var(--cream-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);}
.creative-card img{display:block;width:100%;height:auto;background:var(--cream-deep);border-bottom:1px solid var(--border);}
.creative-body{padding:12px 14px 14px;}
.creative-label{display:inline-block;font-size:11px;font-weight:700;color:var(--terracotta-dark);background:var(--cream-deep);border-radius:999px;padding:2px 10px;margin-bottom:7px;}
.creative-cap{font-size:12.5px;color:var(--text-mid);line-height:1.65;white-space:pre-line;}
/* PNG保存（試算表・勉強会詳細など） */
.png-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:12.5px;font-weight:700;color:#fff;background:var(--terracotta);border:none;border-radius:8px;padding:7px 14px;cursor:pointer;box-shadow:var(--shadow);white-space:nowrap;}
.png-btn:hover{background:var(--terracotta-dark);}
.png-btn[disabled]{opacity:.55;cursor:default;}
.png-btn[disabled]:hover{background:var(--terracotta);}
.png-capturing .png-no-capture{display:none!important;}
#png-capture{padding:0;}
.png-capturing #png-capture{padding:28px 32px 32px;}
.png-capturing .scroll{overflow:visible!important;}
td.nowrap{white-space:nowrap;}
/* 台帳ページ（変更管理表・施策管理表）: 横長テーブルのため本文幅を広げる */
.main.wide{max-width:1560px;}
.ledger-table{font-size:12px;min-width:1080px;}
.ledger-table th,.ledger-table td{padding:8px 10px;}
.ledger-table td{vertical-align:top;line-height:1.6;}
.ledger-table a{color:var(--terracotta-dark);font-weight:600;}
.foot{margin-top:24px;padding-top:14px;border-top:1px solid var(--border);}
/* ホーム: 月次折れ線＋四半期KPI */
.sub-h{font-size:14px;font-weight:700;color:var(--terracotta-dark);margin:28px 0 12px;}
.annual-kpi{padding:20px 22px 16px;}
.ak-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:18px;}
.ak-metric{min-width:0;}
.ak-label{font-size:11px;font-weight:700;color:var(--text-light);margin-bottom:4px;}
.ak-val{font-size:22px;font-weight:800;color:var(--terracotta-dark);letter-spacing:-.01em;line-height:1.2;font-variant-numeric:tabular-nums;}
.ak-rate .ak-val{color:var(--terracotta);font-size:28px;}
.ak-track{position:relative;height:28px;background:var(--cream-deep);border:1px solid var(--border);border-radius:999px;overflow:hidden;}
.ak-fill{height:100%;background:linear-gradient(90deg,var(--terracotta-light),var(--terracotta));border-radius:999px;min-width:0;transition:width .6s ease;}
.ak-fill.is-over{background:linear-gradient(90deg,var(--green),#3d7f43);}
.ak-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--text-light);margin-top:6px;padding:0 2px;}
@media (max-width:600px){
  .ak-top{grid-template-columns:1fr;gap:10px;}
  .ak-val{font-size:20px;}
  .ak-rate .ak-val{font-size:24px;}
  .ak-track{height:22px;}
}
/* 年間KPI: 更新履歴（媒体別増減） */
.uh-list{display:flex;flex-direction:column;gap:10px;margin:8px 0 20px;}
.uh-card{border:1px solid var(--border);border-radius:12px;background:var(--cream-card);overflow:hidden;}
.uh-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;padding:12px 16px;cursor:pointer;list-style:none;font-size:13px;}
.uh-sum::-webkit-details-marker{display:none;}
.uh-sum::before{content:"▸";color:var(--text-light);font-size:11px;margin-right:2px;}
.uh-card[open] .uh-sum::before{content:"▾";}
.uh-sum:hover{background:var(--cream-deep);}
.uh-when{font-weight:800;color:var(--terracotta-dark);font-variant-numeric:tabular-nums;}
.uh-delta{font-weight:800;font-variant-numeric:tabular-nums;font-size:15px;}
.uh-meta{color:var(--text-mid);font-weight:600;font-variant-numeric:tabular-nums;}
.uh-prev{color:var(--text-light);font-size:11px;margin-left:auto;}
.uh-media{margin:0 12px 12px;border-radius:10px;}
.uh-table{font-size:12px;}
.delta-up{color:#2f6b35;font-weight:700;}
.delta-down{color:#b03a2e;font-weight:700;}
.delta-flat{color:var(--text-light);font-weight:600;}
.chart-card{padding:16px 18px 12px;}
.chart-legend{display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:700;color:var(--text-mid);margin-bottom:8px;flex-wrap:wrap;}
.chart-leg{display:inline-flex;align-items:center;gap:7px;}
.chart-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 2px var(--cream-card),0 0 0 3px var(--terracotta);}
.chart-dot.plan{background:#7BA3B0;box-shadow:0 0 0 2px var(--cream-card),0 0 0 3px #7BA3B0;}
.chart-wrap{position:relative;width:100%;}
.chart-wrap canvas{display:block;width:100%;height:auto;cursor:crosshair;}
.chart-tip{position:absolute;z-index:5;background:var(--text-dark);color:#fff;font-size:11px;font-weight:700;padding:5px 9px;border-radius:6px;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px rgba(59,42,31,.2);}
.q-kpi{margin-bottom:16px;}
.q-kpi-block{margin-top:8px;}
.q-kpi-head{background:var(--terracotta);color:#fff;font-size:13px;font-weight:700;padding:10px 16px;border-radius:10px 10px 0 0;}
.q-kpi-card{border-top-left-radius:0;border-top-right-radius:0;overflow:hidden;}
.q-kpi-table{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.q-kpi-table th,.q-kpi-table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle;}
.q-kpi-table tr:last-child th,.q-kpi-table tr:last-child td{border-bottom:none;}
.q-kpi-table thead th{background:var(--cream-deep);color:var(--text-mid);font-weight:700;font-size:12px;}
.q-kpi-table .qk-label{width:22%;background:var(--cream-deep);color:var(--text-dark);font-weight:700;text-align:left;white-space:nowrap;}
.q-kpi-table .qk-num{width:26%;text-align:right;font-weight:600;white-space:nowrap;}
.q-kpi-table tbody tr:hover td,.q-kpi-table tbody tr:hover th{background:var(--cream-deep);}
.period-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 20px;padding:4px;background:var(--cream-deep);border:1px solid var(--border);border-radius:12px;}
.period-tab{appearance:none;border:1px solid transparent;background:transparent;color:var(--text-mid);font-size:14px;font-weight:700;padding:10px 18px;border-radius:9px;cursor:pointer;flex:1;min-width:72px;text-align:center;}
.period-tab:hover{color:var(--terracotta-dark);background:var(--cream-card);}
.period-tab.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff;box-shadow:0 2px 8px rgba(201,102,63,.25);}
.kpi-panel{margin-bottom:8px;}
.char-table{margin-bottom:20px;}
.media-search{margin:0 0 12px;flex:1;min-width:200px;}
.media-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.media-table th,.media-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:middle;}
.media-table thead th{background:var(--cream-deep);color:var(--text-mid);font-weight:700;font-size:12px;text-align:left;white-space:nowrap;}
.media-table .media-name{font-weight:600;color:var(--text-dark);word-break:break-all;}
.media-table tbody tr:hover td{background:var(--cream-deep);}
.media-table .media-empty td{text-align:center;padding:24px;}
@media (max-width:600px){
  .q-kpi-table th,.q-kpi-table td{padding:9px 10px;font-size:12px;}
  .q-kpi-table .qk-label{width:28%;}
  .q-kpi-table .qk-num{width:24%;}
  .period-tab{padding:9px 10px;font-size:13px;min-width:56px;}
  .media-table th,.media-table td{padding:8px 10px;font-size:12px;}
}
@media (max-width:900px){
  /* ヘッダーはロゴ+ハンバーガーのみに。ナビ・通知・アカウントは全部サイドバー（オフキャンバスパネル）へ集約 */
  .topnav{display:none;}
  .topbar .account{display:none;}
  /* .topnav(margin-left:auto)が消えると右寄せの起点を失い左詰めになるため、ハンバーガー自身に付け替える */
  .nav-burger{display:inline-flex;margin-left:auto;}
  .sidebar{
    top:0;height:100vh;width:82vw;max-width:320px;
    transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 8px 24px rgba(59,42,31,.18);
  }
  .sidebar.open{transform:translateX(0);}
  .sb-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 16px;border-bottom:1px solid var(--border);margin-bottom:8px;}
  .sb-head .account{display:flex;}
  .sb-close{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid var(--border);border-radius:10px;background:var(--cream-card);color:var(--text-mid);cursor:pointer;}
  .sb-close:hover{border-color:var(--terracotta);color:var(--terracotta-dark);}
  .ac-pop{left:0;right:auto;}
  .main{margin-left:0;}
}
@media (max-width:680px){
  .hero-kpi{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .main{padding:20px 14px 48px;overflow-x:clip;}
  .kpi-row{grid-template-columns:1fr 1fr;}
  .cards,.cards-grid{grid-template-columns:1fr;}
  .creatives-grid{grid-template-columns:1fr;}
  .page-head h1{font-size:20px;}
  .goal-now{font-size:22px;}
  .hk-val{font-size:24px;}
  .brand-logo{height:34px;max-width:min(58vw,220px);}
  /* ローンチ詳細の横長テーブル・ファネル行 */
  th,td{padding:8px 10px;font-size:12px;}
  .table-char th,.table-char td{padding:6px 7px;font-size:11px;}
  .table-char th{font-size:10px;}
  .fs-head{gap:6px;align-items:flex-start;}
  .fs-name{font-size:12px;line-height:1.4;min-width:0;}
  .fs-val{font-size:12px;flex-shrink:0;}
  .note{font-size:11.5px;line-height:1.65;}
  .goal-calc{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
  .goal-calc-table{width:max-content;min-width:100%;}
  .goal-calc-formula{font-size:12px;word-break:break-word;}
}
@media (max-width:400px){
  .kpi .value{font-size:18px;}
  .brand-badge{height:26px;}
  .table-char th,.table-char td{padding:5px 6px;font-size:10.5px;}
  .main{padding:16px 12px 40px;}
}

/* ---- ローンチ設計書（02_launch md 取り込み） ---- */
.tag-docs{background:var(--cream-deep);color:var(--terracotta-dark);border:1px solid var(--terracotta-light);}
.tag-closed{background:var(--cream-deep);color:var(--text-light);border:1px solid var(--border);}
.sb-closed{display:inline-block;font-size:9px;font-weight:700;color:var(--text-light);border:1px solid var(--border);border-radius:999px;padding:0 5px;margin-left:6px;vertical-align:middle;}

/* 属性分布：見え方切替 */
.view-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1rem;}
.view-tab{appearance:none;border:1px solid var(--border);background:var(--cream-card);color:var(--text-mid);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer;}
.view-tab:hover{border-color:var(--terracotta);color:var(--terracotta-dark);}
.view-tab.is-on{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.attr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;}
.attr-card{background:var(--cream-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--shadow);}
.attr-card h3{margin:0 0 0.75rem;font-size:14px;}
.hbar-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(72px,1.4fr) auto;gap:8px;align-items:center;margin:0 0 8px;font-size:12px;}
.hbar-label{color:var(--text);line-height:1.35;word-break:break-word;}
.hbar-track{height:10px;background:var(--cream-deep);border-radius:999px;overflow:hidden;}
.hbar-fill{height:100%;background:linear-gradient(90deg,var(--terracotta),#E09F3E);border-radius:999px;min-width:0;}
.hbar-meta{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap;font-variant-numeric:tabular-nums;}
.hbar-n{font-weight:700;color:var(--text);}
.hbar-p{color:var(--text-light);min-width:3.6em;text-align:right;}
@media (max-width:600px){
  .hbar-row{grid-template-columns:1fr;gap:4px;margin-bottom:12px;}
  .hbar-meta{justify-content:flex-start;}
}
.docs-link{display:flex;align-items:center;gap:12px;background:var(--cream-card);border:1px solid var(--terracotta-light);border-radius:12px;padding:14px 18px;margin:-14px 0 30px;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .14s,box-shadow .14s;}
.docs-link:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(180,120,80,.16);}
.dl-ico{font-size:22px;flex-shrink:0;}
.dl-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.dl-txt b{font-size:14px;color:var(--terracotta-dark);}
.dl-sub{font-size:11px;color:var(--text-light);}
.dl-arrow{margin-left:auto;font-weight:800;color:var(--terracotta);flex-shrink:0;}
.doc-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;position:sticky;top:56px;background:var(--cream-bg);padding:10px 0;z-index:50;}
.doc-tab{font-family:inherit;font-size:12.5px;font-weight:700;color:var(--text-mid);background:var(--cream-card);border:1px solid var(--border);border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .14s,color .14s,border-color .14s;}
.doc-tab:hover{border-color:var(--terracotta);color:var(--terracotta-dark);}
.doc-tab.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.doc-panel{display:none;}
.doc-panel.active{display:block;}
.doc-src{font-size:11px;color:var(--text-light);margin-bottom:12px;}
.doc-src code{background:var(--cream-deep);border-radius:4px;padding:1px 6px;font-size:10.5px;}
.md-body{background:var(--cream-card);border:1px solid var(--border);border-radius:12px;padding:26px 30px;box-shadow:var(--shadow);line-height:1.85;}
.md-body h1{font-size:20px;font-weight:800;color:var(--terracotta-dark);margin:4px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--terracotta);}
.md-body h2{font-size:16px;font-weight:700;color:var(--terracotta-dark);border-bottom:2px solid var(--cream-deep);padding-bottom:6px;margin:26px 0 12px;}
.md-body h3{font-size:14px;font-weight:700;color:var(--text-dark);margin:20px 0 8px;}
.md-body h4,.md-body h5{font-size:13px;font-weight:700;color:var(--text-mid);margin:14px 0 6px;}
.md-body p{font-size:13px;color:var(--text-dark);margin:8px 0;}
.md-body strong{color:var(--terracotta-dark);}
.md-body code{background:var(--cream-deep);border-radius:4px;padding:1px 6px;font-size:12px;}
.md-body a{color:var(--terracotta-dark);font-weight:600;}
.md-list{margin:8px 0 12px;padding-left:22px;font-size:13px;}
.md-list li{margin:4px 0;}
.md-list li.nested{margin-left:18px;list-style-type:circle;}
.md-checklist{margin:8px 0 12px;padding-left:4px;list-style:none;font-size:13px;}
.md-checklist li{display:flex;align-items:flex-start;gap:8px;margin:6px 0;}
.md-checklist input{margin-top:4px;accent-color:var(--terracotta);}
.md-table-wrap{overflow-x:auto;margin:12px 0 16px;border:1px solid var(--border);border-radius:10px;}
.md-table-wrap table{width:100%;border-collapse:collapse;font-size:12.5px;}
.md-table-wrap th{background:var(--cream-deep);color:var(--text-mid);font-weight:700;text-align:left;padding:8px 12px;white-space:nowrap;}
.md-table-wrap td{padding:7px 12px;border-top:1px solid var(--border);vertical-align:top;}
.md-table-wrap tr:nth-child(even) td{background:rgba(245,233,211,.35);}
.md-quote{border-left:3px solid var(--terracotta-light);background:var(--cream-deep);border-radius:0 8px 8px 0;padding:8px 14px;font-size:12.5px;color:var(--text-mid);margin:10px 0;}
.md-hr{border:none;border-top:1px dashed var(--border);margin:20px 0;}
.doc-pre{background:#3B2A1F;color:#F5E9D3;border-radius:10px;padding:14px 16px;font-size:12px;overflow-x:auto;margin:10px 0 14px;line-height:1.7;}
.doc-pre code{background:none;padding:0;color:inherit;font-size:inherit;}
@media (max-width:600px){.md-body{padding:18px 16px;}}
@media print{
  .topbar,.sidebar,.sb-backdrop,.nav-burger,.no-print,.view-tabs,.account,.ac-bell,.pm-tabs,.asp-pick{display:none!important;}
  .pm-panel,.asp-panel{display:block!important;}
  .pm-panel[hidden],.asp-panel[hidden]{display:block!important;}
  body{padding-top:0;background:#fff;color:#000;}
  .main{margin-left:0;max-width:100%;padding:12px 16px 24px;}
  .card{box-shadow:none;break-inside:avoid;}
  .card.scroll{overflow:visible;}
  .card.scroll>table{width:100%;}
  .kpi-row{break-inside:avoid;}
  a{color:inherit;text-decoration:none;}
  .attr-block[hidden]{display:none!important;}
}


/* ==== share-solo overrides (pack-phase-monthly-share) ==== */
body,
body.share-solo{
  padding-top:0!important;
}
body.share-solo .topbar,
body.share-solo .sidebar,
body.share-solo .sb-backdrop,
body.share-solo .nav-burger,
body.share-solo .account,
body.share-solo .ac-bell,
body.share-solo .refresh-bar,
body.share-solo a.back,
body.share-solo .share-top,
body.share-solo .share-banner{
  display:none!important;
  height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:none!important;
}
body.share-solo .main{
  margin-left:0!important;
  margin-right:auto!important;
  max-width:1100px!important;
  padding:20px 28px 60px!important;
}
@media(max-width:720px){
  body.share-solo .main{padding:16px 14px 48px!important;}
}
