/* myCelf デザイントークン — ロゴ4色（#00426C/#009FE8/#E50012/#FFF000）由来
   全ページ共通。色・部品はここを単一ソースにする */
:root{
  /* brand（ロゴ原色） */
  --brand-navy:#00426C; --brand-cyan:#009FE8; --brand-red:#E50012; --brand-yellow:#FFF000;
  /* semantic */
  --ink:#1B2733; --sub:#5E6B7A; --line:#E1E8EF; --bg:#F5F8FB; --card:#FFFFFF;
  --acc:#00426C;        /* プライマリ＝ワードマーク紺 */
  --link:#00426C;       /* 可読リンク＝紺（シアンは低コントラストのため文字色に使わない） */
  /* 状態＝ブランド色のみ（緑不使用）: 順調=シアン / 注意=黄(塗り・ドット・下線のみ) / 要対応=赤 */
  --ok:#009FE8; --warn:#FFF000; --hot:#E50012;
  --ok-bg:#E4F4FD; --warn-bg:#FBF6C9; --hot-bg:#FDEBEC;
  --bar:#009FE8; --bar2:#00426C;
  --chart:#009FE8;      /* チャート系列＝ブランド色（シアン→紺→赤） */
  --chart2:#00426C; --chart3:#E50012;
}
@media(prefers-color-scheme:dark){:root{
  --ink:#E6EBF2; --sub:#9AA5B4; --line:#2A3542; --bg:#10161D; --card:#1A222C;
  --acc:#66BFED; --link:#66BFED;
  --ok:#3FA9E8; --warn:#FFF000; --hot:#FF6B75;
  --ok-bg:#123143; --warn-bg:#332F0C; --hot-bg:#3A1A1E;
  --bar:#3FA9E8; --bar2:#66BFED;
  --chart:#3FA9E8; --chart2:#66BFED; --chart3:#FF6B75;
}}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.6;font-size:14px;}
.wrap{max-width:1040px;margin:0 auto;padding:22px 20px 60px;}
a{color:var(--link);}

/* ===== 共通ヘッダー（assets/header.js が注入）=====
   白基調＋紺アクセント／sticky／モバイルはハンバーガードロワー */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--card) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);transition:box-shadow .2s,border-color .2s;}
.site-header.scrolled{box-shadow:0 4px 16px -8px rgba(0,66,108,.28);border-bottom-color:transparent;}
.sh-inner{max-width:1040px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;gap:18px;}
.sh-logo{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0;}
.sh-logo img{height:26px;display:block;}
.sh-logo-tx{font-size:12px;font-weight:800;color:var(--acc);letter-spacing:.04em;}
@media(prefers-color-scheme:dark){.sh-logo img{background:#fff;border-radius:5px;padding:3px 6px;height:26px;}}
.sh-nav{display:flex;align-items:center;gap:2px;margin-left:6px;flex:1;flex-wrap:nowrap;overflow:visible;}
.sh-link{font-size:13px;font-weight:600;color:var(--sub);text-decoration:none;padding:8px 11px;border-radius:8px;
  white-space:nowrap;position:relative;transition:color .12s,background .12s;}
.sh-link:hover{color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent);}
.sh-link.active{color:var(--acc);}
.sh-link.active::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:2px;
  background:var(--acc);border-radius:2px;}
.sh-ext{color:var(--sub);font-weight:500;font-size:12px;margin-left:auto;}
.sh-ext:hover{color:var(--link);background:none;}
.sh-keiei{margin-left:6px;color:var(--acc);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:700;}
.sh-keiei:hover{background:var(--acc);color:#fff;border-color:var(--acc);}
.sh-keiei.active{background:var(--acc);color:#fff;border-color:var(--acc);}
.sh-keiei.active::after{display:none;}
.sh-lock{font-size:11px;}
.sh-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;margin-left:auto;
  border:1px solid var(--line);border-radius:9px;background:var(--card);cursor:pointer;padding:0 10px;flex-shrink:0;}
.sh-burger span{display:block;height:2px;border-radius:2px;background:var(--acc);transition:transform .2s,opacity .2s;}
.site-header.open .sh-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.site-header.open .sh-burger span:nth-child(2){opacity:0;}
.site-header.open .sh-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:1000px){
  .sh-burger{display:flex;}
  .sh-nav{position:absolute;left:0;right:0;top:56px;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--card);border-bottom:1px solid var(--line);padding:8px 14px 14px;margin:0;
    box-shadow:0 12px 24px -14px rgba(0,66,108,.35);
    max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .24s ease,opacity .18s;}
  .site-header.open .sh-nav{max-height:80vh;opacity:1;pointer-events:auto;overflow:auto;}
  .sh-link{padding:11px 12px;font-size:14px;border-radius:9px;}
  .sh-link.active{background:color-mix(in srgb,var(--acc) 10%,transparent);}
  .sh-link.active::after{display:none;}
  .sh-ext{margin-left:0;order:9;}
  .sh-keiei{margin-left:0;text-align:center;margin-top:6px;order:10;}
}
.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.logo{height:32px;display:block;}
@media(prefers-color-scheme:dark){.logo{background:#fff;border-radius:6px;padding:3px 8px;height:30px;}}
.site{font-size:12px;color:var(--acc);text-decoration:none;font-weight:700;}
.site:hover{text-decoration:underline;}
.bk{font-size:12px;color:var(--sub);text-decoration:none;}
h1{font-size:22px;margin:2px 0 2px;}
.greet{font-size:13px;color:var(--sub);}
.sec{font-size:12px;font-weight:700;color:var(--sub);letter-spacing:.08em;margin:24px 0 10px;text-transform:uppercase;}
/* 今日の一手 */
.focus{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:10px;padding:12px 16px;margin:12px 0 20px;}
.focus .lb{font-size:11px;font-weight:700;color:var(--acc);letter-spacing:.05em;}
.focus .tx{font-size:14.5px;margin-top:3px;}
/* 期限カード */
.dls{display:flex;gap:10px;flex-wrap:wrap;}
.dl{flex:1;min-width:180px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 14px;}
.dl.hot{border-color:var(--hot);}
.dl .d{font-size:11px;color:var(--sub);}
.dl .l{font-size:13px;font-weight:700;margin:2px 0;}
.dl .c{font-size:18px;font-weight:800;color:var(--acc);}
.dl.hot .c{color:var(--hot);}
/* 事業ステータスカード（信号機） */
.sts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media(max-width:760px){.sts{grid-template-columns:1fr;}}
.st{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:13px 15px;border-top:3px solid var(--line);}
.st.green{border-top-color:var(--ok);}
.st.yellow{border-top-color:var(--warn);}
.st.red{border-top-color:var(--hot);}
.st .hd{display:flex;align-items:center;gap:8px;}
.st .dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;}
.st.green .dot{background:var(--ok);}
.st.yellow .dot{background:var(--warn);}
.st.red .dot{background:var(--hot);}
.st .bn{font-size:14px;font-weight:800;}
.st .ph{font-size:10px;font-weight:700;color:var(--acc);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:1px 7px;}
.st .rs{font-size:12px;color:var(--sub);margin-top:5px;}
.st .gl{font-size:12.5px;margin-top:6px;}
.st .gl b{color:var(--acc);font-size:11px;}
.st .ms{font-size:11.5px;color:var(--sub);margin-top:4px;}
.st .stat{font-size:12px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);color:var(--sub);}
.st .stat b{color:var(--ink);font-size:14px;}
/* タスク */
.task-list{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.tk{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:13px;}
.tk:last-child{border-bottom:none;}
.tk input[type=checkbox]{width:16px;height:16px;accent-color:var(--ok);flex-shrink:0;}
.tk .tt{flex:1;min-width:0;}
.tk.done .tt{color:var(--sub);text-decoration:line-through;}
.tk .chip{font-size:10px;font-weight:700;border-radius:4px;padding:1px 7px;background:var(--bg);border:1px solid var(--line);color:var(--sub);white-space:nowrap;}
.tk .p1{color:var(--hot);border-color:var(--hot);}
.tk .p2{color:var(--ink);border-color:var(--warn);background:var(--warn-bg);}
.tk .due{font-size:11px;color:var(--sub);white-space:nowrap;min-width:72px;text-align:right;}
.tk .due.over{color:var(--hot);font-weight:700;}
.tk .blocked{background:var(--warn-bg);color:var(--ink);border-color:var(--warn);}
.tk select{font-size:11px;border:1px solid var(--line);border-radius:5px;background:var(--card);color:var(--ink);padding:2px 4px;}
.tk .del{border:none;background:none;color:var(--sub);cursor:pointer;font-size:14px;padding:0 2px;}
.tk .del:hover{color:var(--hot);}
.task-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.task-add input,.task-add select{font-size:12px;border:1px solid var(--line);border-radius:7px;padding:6px 9px;background:var(--card);color:var(--ink);}
.task-add input[name=title]{flex:1;min-width:200px;}
.task-add button{font-size:12px;font-weight:700;border:none;border-radius:7px;padding:6px 16px;background:var(--acc);color:#fff;cursor:pointer;}
.task-add button:hover{opacity:.85;}
/* ナビカード */
.nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:820px){.nav{grid-template-columns:repeat(2,1fr);}}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:inherit;display:block;transition:border-color .15s;}
.card:hover{border-color:var(--acc);}
.card .t{font-size:14px;font-weight:700;}
.card .d{font-size:11.5px;color:var(--sub);margin-top:4px;}
.card.lock{border-style:dashed;}
/* KPI（経営ページ用） */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:760px){.kpis{grid-template-columns:repeat(2,1fr);}}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;}
.kpi .b{font-size:11px;font-weight:700;color:var(--acc);}
.kpi .v{font-size:20px;font-weight:800;margin:2px 0;font-variant-numeric:tabular-nums;}
.kpi .s{font-size:11px;color:var(--sub);}
/* パネル・バー */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:760px){.grid2{grid-template-columns:1fr;}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;}
.panel h3{font-size:13px;margin-bottom:8px;color:var(--acc);}
.row{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:12px;}
.row .lb{width:110px;color:var(--sub);flex-shrink:0;text-align:right;}
.row .tr{flex:1;display:block;background:var(--line);border-radius:4px;height:16px;overflow:hidden;}
.row .br{display:block;height:100%;background:var(--bar);border-radius:4px;}
.row .br.hd{background:var(--bar2);}
.row .vl{width:84px;font-size:11px;color:var(--ink);flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums;}
/* タイムライン・ハイライト */
.tl{border-left:2px solid var(--line);margin-left:6px;padding-left:16px;}
.tl .ev{padding:5px 0 12px;position:relative;}
.tl .ev::before{content:"";position:absolute;left:-23px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--acc);border:2px solid var(--bg);}
.tl .dt{font-size:11px;color:var(--sub);}
.tl .cat{display:inline-block;font-size:10px;font-weight:700;background:var(--line);border-radius:4px;padding:1px 6px;margin-left:6px;}
.tl .tx{font-size:13px;margin-top:2px;}
.hl{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 15px;margin-bottom:8px;}
.hl .t{font-weight:700;font-size:13px;}
.hl .x{font-size:12.5px;color:var(--sub);margin-top:3px;}
.note{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sub);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--sub);margin-top:14px;}
.foot{margin-top:26px;color:var(--sub);font-size:11px;border-top:1px solid var(--line);padding-top:12px;}
.src{font-family:monospace;font-size:10.5px;}
/* ロードマップ（シンプル横棒。凝ったガントにしない） */
.rm{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;overflow-x:auto;}
.rm-scale{position:relative;height:20px;margin-left:110px;border-bottom:1px solid var(--line);}
.rm-scale .q{position:absolute;top:0;font-size:10px;color:var(--sub);border-left:1px solid var(--line);padding-left:4px;height:100%;}
.rm-row{display:flex;align-items:center;min-height:30px;}
.rm-row .bz{width:110px;flex-shrink:0;font-size:11px;font-weight:700;color:var(--acc);}
.rm-track{position:relative;flex:1;height:30px;}
.rm-grid{position:absolute;top:0;bottom:0;border-left:1px dashed var(--line);}
.rm-span{position:absolute;top:7px;height:16px;background:color-mix(in srgb, var(--bar) 30%, transparent);border:1px solid var(--bar);border-radius:5px;font-size:10px;line-height:14px;padding:0 6px;white-space:nowrap;overflow:hidden;color:var(--ink);}
.rm-span.done{background:var(--ok-bg);border-color:var(--ok);color:var(--sub);}
.rm-pt{position:absolute;top:9px;width:11px;height:11px;background:var(--acc);transform:rotate(45deg);border-radius:2px;}
.rm-pt.done{background:var(--ok);}
.rm-pt-lb{position:absolute;top:6px;font-size:10px;color:var(--sub);white-space:nowrap;margin-left:10px;line-height:18px;}
.rm-today{position:absolute;top:0;bottom:0;border-left:2px solid var(--hot);opacity:.7;}
.rm-legend{font-size:10.5px;color:var(--sub);margin-top:8px;}
/* 意思決定・リスク */
.dc{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin-bottom:8px;}
.dc .d{font-size:11px;color:var(--sub);}
.dc .t{font-size:13px;font-weight:700;margin:1px 0;}
.dc .x{font-size:12px;color:var(--sub);}
.rk{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:10px;padding:11px 14px;margin-bottom:8px;}
.rk.high{border-left-color:var(--hot);}
.rk.low{border-left-color:var(--line);}
.rk .hd{display:flex;gap:8px;align-items:center;}
.rk .im{font-size:10px;font-weight:700;border-radius:4px;padding:1px 7px;background:var(--warn-bg);color:var(--ink);}
.rk.high .im{background:var(--hot-bg);color:var(--hot);}
.rk .t{font-size:13px;font-weight:700;}
.rk .mg{font-size:12px;color:var(--sub);margin-top:3px;}
.rk .mg b{color:var(--ink);font-weight:700;font-size:11px;}
/* チャートキャンバス */
.chart-box{position:relative;height:220px;}
/* 経営ページ ゲート */
.gate{max-width:380px;margin:12vh auto 0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px;text-align:center;}
.gate h2{font-size:16px;margin:10px 0 4px;}
.gate p{font-size:12px;color:var(--sub);margin-bottom:14px;}
.gate input{width:100%;font-size:14px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--bg);color:var(--ink);margin-bottom:10px;}
.gate button{width:100%;font-size:13px;font-weight:700;border:none;border-radius:8px;padding:9px;background:var(--acc);color:#fff;cursor:pointer;}
.gate .err{color:var(--hot);font-size:12px;margin-top:8px;}
.placeholder{opacity:.65;}
.placeholder .v{color:var(--sub);}

/* ===== 刷新（とこことBENCHMARK）追加：アイコン・ヘッダードロップダウン・トップ厚み ===== */
svg.i{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
/* ヘッダー：ロゴSVG・アイコン付きリンク・ドロップダウン */
.sh-logo svg.logo-mark{height:24px;width:auto;display:block;}
.sh-link{display:flex;align-items:center;gap:6px;}
.sh-link svg.i{width:16px;height:16px;}
.sh-link .cv{width:13px;height:13px;opacity:.55;}
.sh-item{position:relative;}
.sh-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;box-shadow:0 14px 30px -12px rgba(0,66,108,.28);padding:6px;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .14s,transform .14s,visibility .14s;z-index:60;}
.sh-item:hover .sh-menu,.sh-item:focus-within .sh-menu{opacity:1;visibility:visible;transform:translateY(0);}
.sh-menu .grp{font-size:10px;font-weight:800;color:var(--acc);letter-spacing:.08em;padding:8px 10px 4px;text-transform:uppercase;}
.sh-menu a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--ink);font-weight:500;text-decoration:none;}
.sh-menu a:hover{background:color-mix(in srgb,var(--acc) 9%,transparent);color:var(--acc);}
.sh-menu a svg{color:var(--sub);}
.sh-menu a .d{display:block;font-size:11px;color:var(--sub);font-weight:400;}
.sh-right{display:flex;align-items:center;gap:8px;margin-left:auto;}
.sh-search{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--sub);border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--bg);cursor:pointer;}
.sh-search kbd{font-family:inherit;font-size:10px;border:1px solid var(--line);border-radius:4px;padding:0 5px;color:var(--sub);}
.sh-user{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ink);padding:4px 8px 4px 4px;border-radius:999px;text-decoration:none;}
.sh-user:hover{background:color-mix(in srgb,var(--acc) 8%,transparent);}
.sh-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--brand-cyan),var(--brand-navy));color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0;}
@media(max-width:1000px){
  /* ドロワー内はドロップダウンを静的表示（インデント） */
  .sh-right{width:100%;order:20;justify-content:flex-start;flex-wrap:wrap;margin:6px 0 0;}
  .sh-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-left:2px solid var(--line);border-radius:0;margin:2px 0 6px 14px;padding:0;min-width:0;}
  .sh-menu a{padding:9px 10px;}
}
/* セクション見出しにアイコン */
.sec{display:flex;align-items:center;gap:8px;}
.sec svg.i{width:15px;height:15px;color:var(--acc);}
.sec .more{margin-left:auto;font-size:11px;font-weight:600;color:var(--link);text-transform:none;letter-spacing:0;}
/* トップ hero（今日の問い） */
.hero{background:linear-gradient(120deg,color-mix(in srgb,var(--brand-navy) 9%,var(--card)),var(--card));border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:6px 0 20px;}
.hero .eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--acc);text-transform:uppercase;}
.hero .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--brand-cyan);}
.hero h1{font-size:26px;margin:8px 0 6px;letter-spacing:.01em;text-wrap:balance;}
.hero h1 em{font-style:normal;color:var(--acc);border-bottom:3px solid var(--brand-yellow);padding-bottom:1px;}
.hero p.lead{font-size:13.5px;color:var(--sub);max-width:62ch;}
.ask{background:color-mix(in srgb,var(--card) 70%,transparent);border:1px solid var(--line);border-radius:11px;padding:11px 15px;margin-top:16px;max-width:640px;}
.ask .lb{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;color:var(--acc);letter-spacing:.05em;}
.ask .q{font-size:14px;margin-top:3px;}
.ask .q b{color:var(--acc);border-bottom:2px solid var(--brand-yellow);}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;border-radius:9px;padding:9px 16px;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;}
.btn:hover{border-color:var(--acc);}
.btn.pri{background:var(--acc);color:#fff;border-color:var(--acc);}
.btn.pri:hover{opacity:.9;}
.btn.pri svg{color:#fff;}
/* 事業タブ */
.tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;}
.tab{font-size:12px;font-weight:700;color:var(--sub);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;cursor:pointer;display:flex;align-items:center;gap:6px;}
.tab .pin{width:8px;height:8px;border-radius:50%;}
.tab.on{color:#fff;background:var(--acc);border-color:var(--acc);}
.tab.on .pin{background:#fff !important;}
.tab .pin.pm{background:var(--brand-cyan);} .tab .pin.media{background:var(--brand-yellow);border:1px solid #C9C200;} .tab .pin.cafe{background:var(--brand-red);}
/* スポットライト */
.spot{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;gap:16px;align-items:center;}
.spot .ph{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--brand-yellow),var(--brand-cyan));display:grid;place-items:center;font-weight:900;color:var(--brand-navy);font-size:20px;flex-shrink:0;}
.spot .who{font-size:15px;font-weight:800;} .spot .role{font-size:11px;font-weight:700;color:var(--acc);}
.spot .what{font-size:12.5px;color:var(--sub);margin-top:2px;}
/* 状態カードの緑クラスをブランド（順調=シアン）へ読み替え（データは color:"green" のまま） */
.st.green{border-top-color:var(--ok);}
.st.green .dot{background:var(--ok);}
/* ヘッダー横幅の詰め（6区分＋右クラスタを1040に収める・折返し/見切れ防止） */
.sh-inner{gap:10px;}
.sh-nav{gap:0;margin-left:8px;}
.sh-link{padding:8px 9px;}
.sh-right{gap:6px;flex-shrink:0;}
.sh-right > *{flex-shrink:0;white-space:nowrap;}
.sh-search .lbl{display:none;}           /* 「検索」語は隠し、虫めがね＋⌘K のみ（省スペース） */
.sh-keiei{padding:6px 11px;}
@media(max-width:1120px){ .sh-user .nm{display:none;} }   /* 中間幅では氏名を畳みアバターのみ */

/* 立地ボタン（現場への橋渡し）。ユーザー右に PM・メディア・カフェ をシアン枠セグメントで。
   通常はフラット（シアンアイコン＋紺文字）、ホバー/現在地でシアン→紺グラデ塗り。 */
.sh-genba{display:flex;align-items:center;gap:3px;margin-left:6px;padding:3px;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--brand-cyan) 30%,var(--line));background:color-mix(in srgb,var(--brand-cyan) 7%,transparent);}
.sh-loc{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--brand-navy);text-decoration:none;white-space:nowrap;
  border-radius:9px;padding:6px 11px;transition:background .12s,color .12s;}
.sh-loc svg{width:15px;height:15px;color:var(--brand-cyan);transition:color .12s;}
.sh-loc:hover,.sh-loc.active{background:linear-gradient(135deg,var(--brand-cyan),var(--brand-navy));color:#fff;}
.sh-loc:hover svg,.sh-loc.active svg{color:#fff;}
@media(max-width:1240px){ .sh-loc .lbl{display:none;} .sh-loc{padding:6px 9px;} }   /* 中間幅はアイコンのみ */
@media(max-width:1000px){ /* ドロワー内は全幅の3ボタン */
  .sh-genba{width:100%;margin:8px 0 0;gap:8px;background:none;border:none;padding:0;}
  .sh-loc{flex:1;justify-content:center;padding:11px 10px;border:1px solid var(--brand-cyan);} .sh-loc .lbl{display:inline;}
}

/* ===== ヘッダーは常に白ベース（ダークテーマでもライト固定）===== */
.site-header{
  --card:#FFFFFF; --bg:#F5F8FB; --ink:#1B2733; --sub:#5E6B7A;
  --line:#E1E8EF; --acc:#00426C; --link:#00426C;
}
.site-header .sh-logo img{background:none;padding:0;height:24px;}  /* 白背景なのでロゴの白パッド不要 */

/* ===== 共通フッター（header.js が注入）===== */
.site-footer{margin-top:44px;border-top:1px solid var(--line);background:var(--card);}
.sf-inner{max-width:1040px;margin:0 auto;padding:22px 20px 28px;display:flex;align-items:center;gap:16px 22px;flex-wrap:wrap;}
.sf-brand{display:flex;align-items:center;gap:9px;flex-shrink:0;}
.sf-brand img{height:20px;display:block;}
.sf-brand span{font-size:11px;font-weight:800;color:var(--acc);letter-spacing:.02em;}
.sf-links{display:flex;gap:8px 16px;flex-wrap:wrap;}
.sf-links a{font-size:12px;color:var(--sub);text-decoration:none;}
.sf-links a:hover{color:var(--acc);}
.sf-copy{margin-left:auto;font-size:11px;color:var(--sub);}
@media(max-width:640px){.sf-inner{gap:12px;}.sf-copy{margin-left:0;width:100%;}}

/* フッターもヘッダー同様に常に白ベース（ダークテーマでもライト固定） */
.site-footer{
  --card:#FFFFFF; --bg:#F5F8FB; --ink:#1B2733; --sub:#5E6B7A;
  --line:#E1E8EF; --acc:#00426C; --link:#00426C;
}
.site-footer .sf-brand img{background:none;padding:0;}
