/* ============================================================
   チーム連絡・確認ボード — style.css
   LPデザイントークン使用。フォントはセルフホスト（外部CDN不使用）。
   ============================================================ */
@font-face{font-family:'Shippori Mincho';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/shippori-mincho-latin-700.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Shippori Mincho';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/shippori-mincho-japanese-700.woff2') format('woff2');
  unicode-range:U+3000-303F, U+3040-309F, U+30A0-30FF, U+FF00-FFEF, U+4E00-9FFF, U+3400-4DBF;}
@font-face{font-family:'Zen Kaku Gothic New';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/zen-kaku-gothic-new-latin-400.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Zen Kaku Gothic New';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/zen-kaku-gothic-new-japanese-400.woff2') format('woff2');
  unicode-range:U+3000-303F, U+3040-309F, U+30A0-30FF, U+FF00-FFEF, U+4E00-9FFF, U+3400-4DBF;}
@font-face{font-family:'Zen Kaku Gothic New';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/zen-kaku-gothic-new-latin-700.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Zen Kaku Gothic New';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/zen-kaku-gothic-new-japanese-700.woff2') format('woff2');
  unicode-range:U+3000-303F, U+3040-309F, U+30A0-30FF, U+FF00-FFEF, U+4E00-9FFF, U+3400-4DBF;}

:root{
  --navy:#0f2540; --navy-2:#163056; --gold:#c9a449; --gold-soft:#fbf4df;
  --paper:#f7f5f0; --ink:#1a1f28; --gray:#5a6677; --line:#dcd6c9; --white:#fff;
  --good:#2f7d4f; --good-bg:#e8f3ec;
  --radius:6px; --shadow:0 1px 3px rgba(15,37,64,.08), 0 6px 18px rgba(15,37,64,.06);
  --font-head:'Shippori Mincho',"Yu Mincho","游明朝",serif;
  --font-body:'Zen Kaku Gothic New',"Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased;}

.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 24px;background:var(--navy);color:var(--white);}
.brand{display:flex;align-items:center;gap:14px;}
.brand-logo{font-weight:700;letter-spacing:.12em;font-size:1.05rem;}
.brand-divider{width:1px;height:20px;background:var(--gold);display:inline-block;}
.brand-tool{font-family:var(--font-head);font-weight:700;font-size:1.1rem;margin:0;}
.back-link{color:var(--white);text-decoration:none;font-size:.9rem;opacity:.9;border-bottom:1px solid transparent;transition:border-color .15s,opacity .15s;}
.back-link:hover{opacity:1;border-bottom-color:var(--gold);}

.layout{max-width:1280px;margin:20px auto;padding:0 16px;display:flex;flex-direction:column;gap:16px;}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;}
.section-label{font-family:var(--font-head);font-size:1.02rem;font-weight:700;color:var(--navy);margin:0 0 10px;padding-left:12px;position:relative;}
.section-label::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;background:var(--gold);border-radius:2px;}
.tool-lead{font-size:.9rem;color:var(--gray);margin:0 0 12px;}
.tool-lead strong{color:var(--ink);}

/* 追加フォーム */
.addform{display:grid;grid-template-columns:140px 140px 1fr 1fr auto;gap:8px;align-items:start;}
@media (max-width:820px){ .addform{grid-template-columns:1fr 1fr;} }
.field{font-family:inherit;font-size:.88rem;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;}
.field:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy);}
textarea.field{resize:vertical;min-height:40px;}
.btn{font-family:inherit;font-size:.9rem;font-weight:700;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap;}
.btn:hover{background:var(--paper);}
.btn-primary{background:var(--navy);color:var(--white);}
.btn-primary:hover{background:var(--navy-2);}
.btn-ghost{border-color:var(--line);color:var(--gray);}
.btn-ghost:hover{background:var(--paper);color:var(--ink);}
.btn-sm{padding:7px 12px;font-size:.84rem;}
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;}
.stat{margin-left:auto;font-size:.85rem;color:var(--gray);}

/* テーブル */
.table-wrap{overflow-x:auto;}
.board{border-collapse:collapse;width:100%;min-width:980px;font-size:.84rem;}
.board th,.board td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top;}
.board thead th{background:var(--navy);color:#fff;font-weight:700;font-size:.78rem;white-space:nowrap;position:sticky;top:0;}
.board .c-id{width:2.4em;text-align:center;color:var(--gray);}
.board .c-date{width:6.2em;white-space:nowrap;}
.board .c-from{width:5em;}
.board .c-text{min-width:240px;}
.board .c-reply{min-width:200px;color:var(--gray);}
.board thead .c-mem{background:#1a3a5c;text-align:center;width:3.4em;}
.board .c-done{width:4em;text-align:center;}
.board .c-del{width:2.2em;text-align:center;}
.board tbody tr:nth-child(even){background:#fbfaf7;}
.board tr.row-done{background:var(--good-bg)!important;}

/* 確認セル */
.chk{text-align:center;cursor:pointer;vertical-align:middle;transition:background .1s;user-select:none;}
.chk:hover{background:var(--gold-soft);}
.chk.on{background:var(--good-bg);}
.chk .tick{display:block;color:var(--good);font-weight:700;font-size:1rem;line-height:1.1;}
.chk .at{display:block;font-size:.62rem;color:var(--gray);line-height:1.1;}
.chk .hint{font-size:.66rem;color:#b7b0a0;}

.done{text-align:center;vertical-align:middle;}
.badge-done{display:inline-block;background:var(--good);color:#fff;font-weight:700;font-size:.8rem;border-radius:4px;padding:2px 9px;}
.prog{font-size:.78rem;color:var(--gray);font-variant-numeric:tabular-nums;}
.del{border:1px solid var(--line);background:#fff;color:var(--gray);border-radius:4px;width:22px;height:22px;cursor:pointer;line-height:1;}
.del:hover{background:#fbecec;color:#b5482f;border-color:#b5482f;}

.empty{color:var(--gray);font-size:.9rem;text-align:center;padding:40px 12px;}

.privacy-note{font-size:.8rem;color:var(--gray);margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;}
.privacy-note strong{color:var(--ink);}

.site-footer{max-width:1280px;margin:8px auto 28px;padding:16px 20px 0;border-top:1px solid var(--line);color:var(--gray);font-size:.82rem;text-align:center;}
.site-footer p{margin:4px 0;}
