/* =========================================================
   アジェンダシステム main.css (v1.0 骨格)
   - 総会出欠フォーム風のフロント運用UI
   - レスポンシブ: 左サブメニュー(ハンバーガー) / 中央 / 右コントロールパネル(スライドイン)
   - ブレークポイント: mobile 750px / tablet 1201px
   ========================================================= */

:root {
    --agds-bg: #eef1f4;
    --agds-panel: #ffffff;
    --agds-line: #d7dde3;
    --agds-ink: #1f2a37;
    --agds-sub: #667085;
    --agds-accent: #d23b3b;      /* 区分バッジ等のJC赤 */
    --agds-key: #F83929;         /* キーカラー(議案書ヘッダ/セクションバー) */
    --agds-primary: #1f6feb;
    --agds-sidebar: #0f2740;
    --agds-sidebar-ink: #e6edf5;
    --agds-radius: 10px;
    --agds-sidebar-w: 240px;
    --agds-control-w: 320px;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, system-ui, sans-serif;
    color: var(--agds-ink);
    background: var(--agds-bg);
    line-height: 1.6;
}
a { color: var(--agds-primary); }

/* ---------- アプリシェル(3カラム) ---------- */
.agds-shell {
    display: grid;
    grid-template-columns: var(--agds-sidebar-w) minmax(0, 1fr);
    min-height: 100vh;
}
.agds-shell.has-control {
    grid-template-columns: var(--agds-sidebar-w) minmax(0, 1fr) var(--agds-control-w);
}

/* ---------- 左: サブメニュー ---------- */
.agds-sidebar {
    background: var(--agds-sidebar);
    color: var(--agds-sidebar-ink);
    padding: 18px 0;
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}
.agds-sidebar__usage { margin-top: auto; padding: 10px 20px 0; font-size: .72rem; opacity: .6; }
.agds-sidebar__ver { padding: 2px 20px 4px; font-size: .7rem; opacity: .45; letter-spacing: .03em; }
.agds-sidebar__brand { padding: 6px 20px 18px; font-weight: 700; font-size: 1.05rem; }
.agds-sidebar__year { margin: 0 14px 14px; padding: 8px 12px; background: rgba(255,255,255,.08); border-radius: 8px; }
.agds-sidebar__year-label { display: block; font-size: .7rem; opacity: .7; margin-bottom: 2px; }
.agds-sidebar__year-pick { display: flex; align-items: center; justify-content: space-between; color: #fff; text-decoration: none; font-size: .95rem; }
.agds-sidebar__year-pick span { font-size: .72rem; opacity: .75; }
.agds-sidebar__year-pick:hover { opacity: .85; }
.agds-navgroup { margin-top: 6px; }
.agds-navgroup__h { width: 100%; text-align: left; background: none; border: none; color: #fff; opacity: .8; cursor: pointer; padding: 10px 20px; font: inherit; font-size: .9rem; display: flex; justify-content: space-between; align-items: center; }
.agds-navgroup__h:hover { opacity: 1; }
.agds-navgroup__car { transition: transform .15s; }
.agds-navgroup.is-open .agds-navgroup__car { transform: rotate(180deg); }
.agds-navgroup__body { display: none; background: rgba(0,0,0,.18); border-left: 3px solid var(--agds-primary); margin: 2px 0; }
.agds-navgroup.is-open .agds-navgroup__body { display: block; }
.agds-navgroup__body a { padding-left: 31px !important; font-size: .9rem; opacity: .92; }
.agds-navgroup__body a:hover, .agds-navgroup__body a.is-active { background: rgba(255,255,255,.12); }
.agds-sidebar__nav a {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 20px;
    color: var(--agds-sidebar-ink);
    text-decoration: none;
    font-size: .95rem;
}
.agds-sidebar__nav a:hover,
.agds-sidebar__nav a.is-active { background: rgba(255,255,255,.10); }

/* ---------- 中央: メイン ---------- */
.agds-main { padding: 22px clamp(16px, 3vw, 36px); min-width: 0; }
.agds-card {
    background: var(--agds-panel);
    border: 1px solid var(--agds-line);
    border-radius: var(--agds-radius);
    padding: 18px 20px;
    margin-bottom: 18px;
}

/* ---------- 右: コントロールパネル ---------- */
.agds-control {
    background: var(--agds-panel);
    border-left: 1px solid var(--agds-line);
    padding: 18px;
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow-y: auto;
}
.agds-control__title { font-weight: 700; font-size: .95rem; margin: 0 0 12px; color: var(--agds-sub); }
/* 右パネル タブ(操作/ヘルプ) */
.agds-control__tabs { display: flex; gap: 6px; margin-bottom: 14px; }
.agds-control__tabs button {
    flex: 1; padding: 8px 6px; border: 1px solid var(--agds-line); background: #f3f6f9;
    border-radius: 8px; cursor: pointer; font: inherit; font-size: .9rem; color: var(--agds-sub);
}
.agds-control__tabs button.is-active { background: var(--agds-sidebar); color: #fff; border-color: var(--agds-sidebar); font-weight: 700; }
.agds-help { background: #fbfcfe; border: 1px solid var(--agds-line); border-radius: 8px; padding: 12px; }

/* ---------- ボタン ---------- */
.agds-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 9px 16px; border-radius: 8px; border: 1px solid var(--agds-line);
    background: #fff; color: var(--agds-ink); font: inherit; cursor: pointer; text-decoration: none;
}
.agds-btn:hover { background: #f3f6f9; }
.agds-btn--primary { background: var(--agds-primary); border-color: var(--agds-primary); color: #fff; }
/* base .agds-btn:hover の薄背景に白文字が乗って読めなくなるのを防ぐ(背景・文字色を明示) */
.agds-btn--primary:hover { background: var(--agds-primary) !important; border-color: var(--agds-primary); color: #fff !important; filter: brightness(.92); }
.agds-btn--accent { background: var(--agds-accent); border-color: var(--agds-accent); color: #fff; }
.agds-btn--accent:hover { background: var(--agds-accent) !important; border-color: var(--agds-accent); color: #fff !important; filter: brightness(.92); }
/* 資料リスト リッチセル(クリックで編集・赤字/太字/リンク) */
.agds-res-rich { min-height: 1.6em; padding: 5px 7px; border: 1px solid transparent; border-radius: 5px; font-size: .9rem; line-height: 1.6; cursor: text; outline: none; word-break: break-word; }
.agds-res-rich:hover { border-color: var(--agds-line); }
.agds-res-rich:focus { border-color: var(--agds-primary); background: #fff; box-shadow: 0 0 0 2px rgba(37,99,235,.12); }
.agds-res-rich:empty::before { content: attr(data-ph); color: #aaa; }
.agds-res-rich a { color: var(--agds-primary); }
/* 資料セル内の段落余白を詰める(「講師選定理由書」と「（溝口氏）…」の行間/上下マージンを無くす) */
.agds-res-main p, .agds-res-rich p { margin: 0; }
.agds-res-main, .agds-res-rich { line-height: 1.35; }
.agds-res-main br + br { display: none; }
.agds-res-tools { display: none; gap: 3px; margin-top: 4px; align-items: center; flex-wrap: wrap; }
.agds-res-main:focus-within .agds-res-tools { display: flex; }
.agds-restool { border: 1px solid var(--agds-line); background: #fff; border-radius: 5px; padding: 2px 7px; font-size: .8rem; cursor: pointer; line-height: 1.4; }
.agds-restool:hover { background: #f3f6f9; }
.agds-restool--del { margin-left: auto; color: #b91c1c; }
.agds-res-com { font-size: .76rem; border: 1px solid var(--agds-line); border-radius: 5px; padding: 2px; max-width: 160px; }
/* 様式3 子議案の予備費警告 */
.agds-bd-childwarn { display: inline-block; font-size: .68rem; color: #b45309; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 4px; padding: 0 5px; cursor: help; }
/* 予算書なし(グレーダウン)→「予算ありに変更」 */
.agds-budoff { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; opacity: .7; }
.agds-budoff__txt { color: var(--agds-sub); }
.agds-budoff__total { color: var(--agds-sub); }
/* 上程スケジュール 取り込み(リスト外)会議 */
.agds-sched-improw { background: #fffbeb; }
.agds-sched-impbadge { display: inline-block; font-size: .68rem; color: #b45309; border: 1px solid #fcd34d; background: #fffdf5; border-radius: 4px; padding: 0 5px; margin-left: 4px; vertical-align: middle; }
/* 共通「吹き出し」警告部品(agds_flag) */
.agds-flag { position: relative; display: inline-flex; align-items: center; vertical-align: middle; cursor: help; outline: none; }
.agds-flag__ico { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; font-size: 12px; line-height: 1; font-weight: 700; }
.agds-flag--error .agds-flag__ico { background: #dc2626; color: #fff; }
.agds-flag--warn .agds-flag__ico { background: #f59e0b; color: #fff; }
.agds-flag__bubble { position: absolute; left: 50%; bottom: calc(100% + 9px); transform: translateX(-50%); z-index: 60;
  min-width: 150px; max-width: 280px; width: max-content; padding: 8px 11px; border-radius: 8px; font-size: .8rem; line-height: 1.5; font-weight: 400;
  color: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.25); white-space: normal; text-align: left; pointer-events: none; }
.agds-flag--error .agds-flag__bubble { background: #b91c1c; }
.agds-flag--warn .agds-flag__bubble { background: #1f2937; }
.agds-flag__bubble::after { content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; }
.agds-flag--error .agds-flag__bubble::after { border-top-color: #b91c1c; }
.agds-flag--warn .agds-flag__bubble::after { border-top-color: #1f2937; }
/* 軽微(warn)は既定で隠し、ホバー/フォーカス/タップ(.is-open)で表示。重要(error)は常時表示。 */
.agds-flag--warn .agds-flag__bubble { display: none; }
.agds-flag--warn:hover .agds-flag__bubble, .agds-flag--warn:focus .agds-flag__bubble, .agds-flag--warn.is-open .agds-flag__bubble { display: block; }
.agds-flag--error .agds-flag__bubble { display: block; }
@media print { .agds-flag { display: none !important; } }

/* 統一文言表 エディタ(行: 正しい→NG) */
.agds-ut-editor { display: flex; flex-direction: column; gap: 6px; }
.agds-ut-row { display: flex; align-items: center; gap: 8px; padding: 4px; border: 1px solid transparent; border-radius: 6px; background: #fff; }
.agds-ut-row:hover { border-color: var(--agds-line); }
.agds-ut-row.is-drag { opacity: .5; background: #eff6ff; }
.agds-ut-grip { cursor: grab; color: #9aa3ad; user-select: none; padding: 0 2px; font-size: 1.05rem; }
.agds-ut-row .agds-ut-ok { flex: 1 1 30%; min-width: 90px; padding: 6px 8px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; }
.agds-ut-row .agds-ut-ng { flex: 2 1 45%; min-width: 120px; padding: 6px 8px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; color: #b91c1c; }
.agds-ut-arrow { color: var(--agds-sub); font-size: .8rem; white-space: nowrap; }
.agds-ut-del { border: 1px solid var(--agds-line); background: #fff; color: #b91c1c; border-radius: 6px; width: 28px; height: 28px; line-height: 1; cursor: pointer; flex: 0 0 auto; font-size: 1rem; }
.agds-ut-del:hover { background: #fef2f2; }
@media (max-width: 600px) { .agds-ut-row { flex-wrap: wrap; } .agds-ut-row .agds-ut-ok, .agds-ut-row .agds-ut-ng { flex-basis: 100%; } .agds-ut-arrow { display: none; } }

/* 統一文言表 リアルタイムNG警告(本文入力の上に出すソフト吹き出しバー) */
.agds-ut-alert { margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.agds-ut-chip { display: inline-flex; align-items: center; gap: 5px; background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; border-radius: 999px; padding: 2px 6px 2px 9px; font-size: .76rem; line-height: 1.5; }
.agds-ut-chip b { color: #b45309; }
.agds-ut-chip__ok { color: #166534; font-weight: 600; }
.agds-ut-chip__x { cursor: pointer; border: none; background: transparent; color: #92400e; font-size: .95rem; line-height: 1; padding: 0 2px; }
.agds-ut-chip__x:hover { color: #b91c1c; }
@media print { .agds-ut-alert { display: none !important; } }

/* 資料DL一覧（3セクション表） */
.agds-doclist { margin: 14px 0; }
.agds-doclist__h { margin: 0 0 6px; font-size: 1rem; font-weight: 700; color: #c2410c; }
.agds-doclist__tbl { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--agds-line); border-radius: 8px; overflow: hidden; }
.agds-doclist__tbl thead th { background: #f1f5f9; color: #475569; font-size: .8rem; font-weight: 600; text-align: left; padding: 7px 12px; border-bottom: 1px solid var(--agds-line); }
.agds-doclist__th-date { width: 150px; }
.agds-doclist__tbl tbody td { padding: 9px 12px; border-bottom: 1px solid #eef2f6; font-size: .9rem; vertical-align: middle; }
.agds-doclist__tbl tbody tr:last-child td { border-bottom: none; }
.agds-doclist__tbl tbody tr:hover { background: #f8fafc; }
.agds-doclist__name a { color: var(--agds-primary); text-decoration: none; }
.agds-doclist__name a:hover { text-decoration: underline; }
.agds-doclist__date { color: var(--agds-sub); font-size: .82rem; white-space: nowrap; }
@media (max-width: 600px) { .agds-doclist__th-date, .agds-doclist__date { width: auto; } }

/* 資料DL管理 エディタ */
.agds-dm-list { display: flex; flex-direction: column; gap: 8px; }
.agds-dm-row { display: flex; align-items: flex-start; gap: 8px; padding: 8px; border: 1px solid var(--agds-line); border-radius: 8px; background: #fff; }
.agds-dm-row.is-drag { opacity: .5; background: #eff6ff; }
.agds-dm-grip { cursor: grab; color: #9aa3ad; user-select: none; padding: 4px 2px 0; font-size: 1.05rem; }
.agds-dm-fields { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.agds-dm-title { width: 100%; box-sizing: border-box; padding: 6px 8px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; }
.agds-dm-sub { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.agds-dm-section { padding: 5px 8px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; font-size: .85rem; }
.agds-dm-file { font-size: .82rem; color: #334155; word-break: break-all; }
.agds-dm-nofile { color: #9aa3ad; }
.agds-dm-on { display: inline-flex; align-items: center; gap: 4px; font-size: .82rem; color: var(--agds-sub); cursor: pointer; }
.agds-dm-del { border: 1px solid var(--agds-line); background: #fff; color: #b91c1c; border-radius: 6px; width: 28px; height: 28px; line-height: 1; cursor: pointer; flex: 0 0 auto; font-size: 1rem; }
.agds-dm-del:hover { background: #fef2f2; }

/* 按分表(親/子議案・予算書リンクの下) */
.agds-anbun { margin-top: 6px; font-size: .9rem; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.agds-anbun__lbl { color: var(--agds-sub); }
.agds-anbun--none { color: #b45309; font-weight: 600; }
/* 取り込み完了ポップアップ */
.agds-import-pop { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.agds-import-pop__bd { position: absolute; inset: 0; background: rgba(15,23,42,.45); }
.agds-import-pop__panel { position: relative; background: #fff; border-radius: 12px; padding: 20px 22px; max-width: 460px; width: 92%; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.agds-btn--block { width: 100%; margin-bottom: 8px; }

/* 区分バッジ */
.agds-badge {
    display: inline-block; padding: 3px 12px; border-radius: 6px;
    background: var(--agds-accent); color: #fff; font-size: .85rem; font-weight: 700;
}

/* floating 保存 */
.agds-fab {
    position: fixed; right: 22px; bottom: 22px; z-index: 40;
    box-shadow: 0 6px 20px rgba(0,0,0,.18);
    padding: 14px 22px; font-weight: 700;
}

/* ---------- ハンバーガー(モバイル) ---------- */
.agds-topbar { display: none; }
.agds-hamburger, .agds-control-toggle {
    background: none; border: 0; font-size: 1.4rem; cursor: pointer; color: var(--agds-ink); padding: 8px;
}
.agds-scrim {
    display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 45;
}
.agds-scrim.is-open { display: block; }

/* ---------- モーダル(編集) ---------- */
.agds-modal { position: fixed; inset: 0; z-index: 60; display: none; }
.agds-modal.is-open { display: block; }
.agds-modal__backdrop { position: absolute; inset: 0; background: rgba(15,25,40,.45); }
.agds-modal__panel {
    position: relative; margin: 8vh auto; max-width: 560px; width: 92%;
    background: #fff; border-radius: 12px; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.agds-modal__title { margin: 0 0 14px; font-size: 1.1rem; }
.agds-form__row { margin-bottom: 12px; }
.agds-form__row label { display: block; font-size: .85rem; color: var(--agds-sub); margin-bottom: 4px; }
.agds-form__row input[type=text],
.agds-form__row input[type=number],
.agds-form__row textarea,
.agds-form__row select {
    width: 100%; padding: 9px 10px; border: 1px solid var(--agds-line); border-radius: 8px; font: inherit;
}
.agds-form__actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; }
.agds-form__error { color: var(--agds-accent); font-size: .85rem; }

/* =========================================================
   レスポンシブ
   ========================================================= */

/* 右コントロール開閉フローティング(タブレット幅で表示) */
.agds-control-fab {
    display: none; position: fixed; right: 18px; bottom: 18px; z-index: 48;
    padding: 12px 18px; border: 0; border-radius: 999px; cursor: pointer;
    background: var(--agds-sidebar); color: #fff; font-weight: 700;
    box-shadow: 0 6px 20px rgba(0,0,0,.22);
}

/* タブレット: 右コントロールはスライドイン化 */
@media (max-width: 1200px) {
    .agds-shell.has-control { grid-template-columns: var(--agds-sidebar-w) minmax(0, 1fr); }
    .agds-control {
        position: fixed; top: 0; right: 0; height: 100vh; width: min(360px, 88vw);
        transform: translateX(100%); transition: transform .25s ease; z-index: 50;
        box-shadow: -8px 0 24px rgba(0,0,0,.15);
    }
    .agds-control.is-open { transform: translateX(0); }
    .agds-control-fab { display: block; }
}

/* モバイル: 左サブメニューもハンバーガー化、トップバー表示 */
@media (max-width: 750px) {
    .agds-shell, .agds-shell.has-control { grid-template-columns: 1fr; }
    .agds-topbar {
        display: flex; align-items: center; justify-content: space-between;
        padding: 8px 12px; background: var(--agds-panel); border-bottom: 1px solid var(--agds-line);
        position: sticky; top: 0; z-index: 46;
    }
    .agds-sidebar {
        position: fixed; top: 0; left: 0; height: 100vh; width: min(280px, 86vw);
        transform: translateX(-100%); transition: transform .25s ease; z-index: 50;
    }
    .agds-sidebar.is-open { transform: translateX(0); }
    .agds-main { padding: 16px 5%; }
}

/* =========================================================
   ログインページ(総会出欠フォーム流デザイン)
   ========================================================= */
.agds-login-page {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1e3a8a 0%, #0070c4 100%);
    padding: 20px;
}
.agds-login-card {
    background: #fff; border-radius: 16px; padding: 40px 36px;
    width: 100%; max-width: 400px; box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.agds-login-brand { text-align: center; margin-bottom: 28px; }
.agds-login-logo {
    width: 64px; height: 64px; margin: 0 auto 12px;
    background: linear-gradient(135deg, #0070c4, #1e3a8a); color: #fff;
    border-radius: 16px; display: flex; align-items: center; justify-content: center;
    font-size: 28px; font-weight: 700; box-shadow: 0 8px 20px rgba(0,112,196,.35);
}
.agds-login-logo--img { width: auto; height: auto; background: transparent; border-radius: 0; box-shadow: none; margin: 0 auto 16px; max-width: 240px; }
.agds-login-logo--img img { display: block; max-width: 100%; height: auto; max-height: 80px; margin: 0 auto; }
.agds-login-title { font-size: 22px; margin: 0 0 4px; color: #111827; }
.agds-login-sub   { color: #6b7280; font-size: 13px; margin: 0; }
.agds-login-error { background: #fef2f2; border: 1px solid #f87171; color: #991b1b; padding: 10px 14px; border-radius: 8px; font-size: 13px; margin-bottom: 16px; }
.agds-login-form { display: flex; flex-direction: column; gap: 14px; }
.agds-login-field { display: flex; flex-direction: column; gap: 4px; }
.agds-login-field span { font-size: 12px; color: #6b7280; font-weight: 500; }
.agds-login-field input { padding: 11px 14px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 14px; background: #fff; font-family: inherit; }
.agds-login-field input:focus { outline: none; border-color: #0070c4; box-shadow: 0 0 0 3px rgba(0,112,196,.15); }
.agds-login-remember { display: flex; gap: 6px; align-items: center; font-size: 13px; color: #4b5563; }
.agds-login-submit {
    background: linear-gradient(135deg, #0070c4, #1e3a8a); color: #fff; border: none;
    padding: 12px 16px; font-size: 15px; font-weight: 600; border-radius: 8px; cursor: pointer;
    margin-top: 8px; font-family: inherit; transition: transform .05s, box-shadow .1s;
}
.agds-login-submit:hover { box-shadow: 0 6px 18px rgba(0,112,196,.35); }
.agds-login-submit:active { transform: translateY(1px); }
.agds-login-foot { text-align: center; margin: 14px 0 0; font-size: 12px; }
.agds-login-foot a { color: #6b7280; }
.agds-login-meta { text-align: center; margin: 24px 0 0; color: #9ca3af; }
.agds-login-meta a { color: #888; }

/* =========================================================
   フォーム / 議事次第ビルダー
   ========================================================= */
.agds-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 750px) { .agds-grid2 { grid-template-columns: 1fr; } }

.agds-row { border: 1px solid var(--agds-line); border-radius: 8px; padding: 12px; margin-bottom: 10px; background: #fbfcfd; }
.agds-row__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.agds-row__type { font-weight: 700; font-size: .82rem; color: var(--agds-sub); background: #eef2f6; padding: 2px 10px; border-radius: 999px; }
.agds-row__ctrl { display: flex; gap: 4px; }
.agds-iconbtn { border: 1px solid var(--agds-line); background: #fff; border-radius: 6px; width: 30px; height: 30px; cursor: pointer; line-height: 1; }
.agds-iconbtn:hover { background: #f3f6f9; }
.agds-iconbtn--del { color: var(--agds-accent); }

/* 区分見出しグループ */
.agds-group { border: 1px solid #c7d6e5; border-radius: 10px; margin-bottom: 14px; background: #fff; overflow: hidden; }
.agds-group__head { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: #eaf1f8; border-bottom: 1px solid #d4e0ec; }
.agds-group__title { display: flex; align-items: center; gap: 8px; flex: 1; flex-wrap: wrap; }
.agds-group__label { padding: 7px 10px; border: 1px solid var(--agds-line); border-radius: 8px; font: inherit; font-weight: 700; min-width: 160px; }
.agds-group__prefix { padding: 7px 10px; border: 1px solid var(--agds-line); border-radius: 8px; font: inherit; width: 90px; text-align: center; }
.agds-group__body { padding: 12px 12px 12px 22px; border-left: 3px solid #d4e0ec; margin: 10px; border-radius: 6px; background: #fbfcfe; }
.agds-group__body .agds-row { background: #fff; }
.agds-group__empty { color: #aaa; margin: 4px 0 10px; font-size: .9rem; }
.agds-group__add { margin-top: 6px; }
.agds-btn--sm { padding: 5px 12px; font-size: .85rem; }

/* 議事次第エディタ : プレビュー主体 (A4プレビューが主役 / 編集はポップアップ) */
.agds-agenda-edit { display: block; }
.agds-agenda-edit__panel { display: none; } /* 旧・右側常駐カードは非表示(JS状態保持用に #agds-agenda-builder は内包) */
.agds-agenda-edit__preview { position: static; }
.agds-agenda-edit__previewhd { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: .82rem; font-weight: 700; color: var(--agds-sub); margin: 0 2px 8px; letter-spacing: .04em; }
.agds-agenda-edit__addbar { display: flex; gap: 6px; flex-wrap: wrap; }
/* 用紙(A4縦)。中央寄せ・用紙っぽい白枠＋影。実印刷もA4想定。 */
.agds-agenda-edit__preview .agds-agenda {
  width: 100%; max-width: 210mm; min-height: 297mm;
  margin: 0 auto; padding: 16mm 18mm; box-sizing: border-box;
  background: #fff; border: 1px solid #d6dde4; border-radius: 2px;
  box-shadow: 0 6px 22px rgba(0,0,0,.13);
}
.agds-agenda-edit__preview #agds-agenda-preview .agds-agenda__table { font-size: 12px; }
/* 操作ボタン3つ(⠿✎×)が入るよう行頭セルを広げる(編集プレビュー時のみ) */
.agds-agenda-edit__preview #agds-agenda-preview .agds-agenda__no { width: auto; white-space: nowrap; text-align: left; }
.agds-agenda-edit__preview #agds-agenda-preview .agds-agenda__seq { white-space: nowrap; }
.agds-agenda-edit__preview #agds-agenda-preview tr[data-row-rid]:hover { background: #f3f8ff; }
/* プレビュー行頭の操作ボタン群 (⠿ / ✎ / ×) */
.agds-pv-ctrl { display: inline-flex; gap: 2px; vertical-align: middle; margin-right: 6px; }
.agds-pv-btn { border: 1px solid #d6dde4; background: #fff; color: #5a6a7a; border-radius: 5px; width: 22px; height: 22px; font-size: .74rem; line-height: 1; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.agds-pv-btn:hover { background: var(--agds-primary, #2563eb); color: #fff; border-color: var(--agds-primary, #2563eb); }
.agds-pv-btn--del:hover { background: var(--agds-accent, #dc2626); border-color: var(--agds-accent, #dc2626); }
.agds-pv-btn--drag { cursor: grab; }
.agds-pv-btn--drag:active { cursor: grabbing; }
/* 区分見出し行の「＋議案/＋中見出し/＋自由行」 */
.agds-pv-groupadd { margin-left: 12px; display: inline-flex; gap: 4px; vertical-align: middle; }
.agds-pv-add { border: 1px dashed #b6c2cf; background: #fff; color: #2563eb; border-radius: 5px; font-size: .72rem; line-height: 1; padding: 3px 7px; cursor: pointer; }
.agds-pv-add:hover { background: #eef4ff; border-color: #2563eb; }
/* 印刷/出力時は操作ボタンを隠す */
@media print { .agds-pv-ctrl, .agds-pv-groupadd, .agds-agenda-edit__addbar { display: none !important; } }
/* ドラッグ中の見た目 */
.agds-dragging { opacity: .4; }
.agds-dragover-row > * { box-shadow: inset 0 2px 0 var(--agds-primary, #2563eb); }
.agds-dragover-row.agds-dragover-after > * { box-shadow: inset 0 -2px 0 var(--agds-primary, #2563eb); }

/* 行編集ポップアップ (固有クラスで既存 .agds-modal と衝突回避) */
.agds-rowmodal { position: fixed; inset: 0; background: rgba(15,23,42,.45); display: flex; align-items: center; justify-content: center; z-index: 10050; padding: 16px; }
.agds-rowmodal__box { background: #fff; border-radius: 12px; width: 100%; max-width: 480px; box-shadow: 0 16px 48px rgba(0,0,0,.3); overflow: hidden; display: flex; flex-direction: column; max-height: calc(100vh - 40px); }
.agds-rowmodal__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--agds-line); }
.agds-rowmodal__body { padding: 16px; overflow: auto; }
.agds-rowmodal__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--agds-line); background: #f8fafc; }

/* =========================================================
   議案書ドキュメント(1880 gian.htm 準拠レイアウト)
   ========================================================= */
.agds-doc { background: #fff; border: 1px solid var(--agds-line); border-radius: 8px; overflow: hidden; font-family: "ＭＳ Ｐゴシック", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif; line-height: normal; }
/* タイトルバー(青) + 区分バッジ(右上) */
.agds-doc__titlebar { display: flex; align-items: stretch; background: var(--agds-key); border: 1px solid var(--agds-key); }
.agds-doc__title {
    flex: 1; display: flex; align-items: center;
    border: 0; background: transparent; color: #fff; font-weight: 700; font-size: 1.05rem;
    padding: 10px 16px; font-family: inherit;
}
.agds-doc__title::placeholder { color: rgba(255,255,255,.75); }
.agds-doc__title:focus { outline: none; background: rgba(255,255,255,.12); }
/* 区分バッジ(白ブロック・バー高さいっぱい・右端) */
.agds-doc__badge {
    flex: 0 0 auto; width: auto; min-width: 76px;
    background: #fff; color: #111; font-weight: 700; text-align: center; font-family: inherit;
    border: 0; padding: 0 16px; cursor: pointer;
}
div.agds-doc__badge { display: flex; align-items: center; justify-content: center; } /* 閲覧(div)は縦中央 */
select.agds-doc__badge { align-self: stretch; }                                       /* 編集(select)は高さいっぱい */
/* 議案名称(基) + 自動生成 */
.agds-doc__titlerule { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px; border-bottom: 1px solid var(--agds-line); background: #f8fafc; }
.agds-doc__titlerule input[type=text] { padding: 6px 10px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; }
.agds-doc__title[readonly] { opacity: .9; cursor: default; }
/* タイトルバー(クリックで編集・ボタンぽさは出さない) */
.agds-doc__title--btn { border: 0; background: transparent; color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem; text-align: left; cursor: pointer; display: flex; align-items: center; gap: 8px; width: 100%; }
.agds-doc__title-pen { opacity: .55; font-size: .8em; font-weight: 400; }
.agds-doc__titleedit { padding: 12px 16px; background: #eaf4fb; border-bottom: 1px solid var(--agds-line); }

/* メタ欄(コロン揃え) — 本文と同じ 10pt */
.agds-doc__meta { padding: 14px 0px 20px 0px; font-size: 10pt; }
.agds-meta-row { display: grid; grid-template-columns: 8em 1.2em 1fr; align-items: center; gap: 2px 4px; padding: 3px 0; font-size: 10pt; }
.agds-meta-row .mk { white-space: nowrap; color: #333; font-size: 10pt; }
.agds-meta-row .mc { color: #333; }
.agds-meta-row .mv { min-width: 0; }
.agds-meta-row .mv.mono { font-family: monospace; }
.agds-meta-row .mv input, .agds-meta-row .mv select { width: 100%; border: 1px solid transparent; border-bottom: 1px solid var(--agds-line); background: transparent; padding: 4px 6px; font: inherit; }
.agds-meta-row .mv input:focus, .agds-meta-row .mv select:focus { outline: none; border: 1px solid var(--agds-primary); border-radius: 6px; background: #fff; }
.agds-meta-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.agds-meta-col--left  .agds-meta-row { grid-template-columns: 12em 1.2em 1fr; }
.agds-meta-col--right .agds-meta-row { grid-template-columns: 9em 1.2em 1fr; }
@media (max-width: 750px) {
    .agds-meta-2col { grid-template-columns: 1fr; }
    .agds-meta-row, .agds-meta-col--left .agds-meta-row, .agds-meta-col--right .agds-meta-row { grid-template-columns: 7.5em 1em 1fr; }
}
/* (旧)メタ 2列 — 互換 */
.agds-doc__meta--legacy { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 24px; }
.agds-doc__mrow { display: flex; align-items: center; gap: 8px; padding: 3px 0; min-width: 0; }
.agds-doc__mk { color: #333; font-size: .88rem; white-space: nowrap; }
.agds-doc__mv { flex: 1; min-width: 0; }
.agds-doc__mv input, .agds-doc__mv select { width: 100%; border: 1px solid transparent; border-bottom: 1px solid var(--agds-line); background: transparent; padding: 4px 6px; font: inherit; }
.agds-doc__mv input:focus, .agds-doc__mv select:focus { outline: none; border: 1px solid var(--agds-primary); border-radius: 6px; background: #fff; }
/* セクションバー(水色) */
.agds-doc__sectionbar { background: var(--agds-key); color: #fff; font-weight: 700; padding: 8px 16px; margin-bottom: 20px; }
/* 項目表 */
.agds-doc__table { width: 100%; border-collapse: collapse; }
.agds-doc__table { font-size: 10pt; }
.agds-doc__th { width: 180px; text-align: left; vertical-align: top; padding: 0 10px; background: transparent; border: 1px solid #000; font-weight: normal; font-size: 10pt; line-height: normal; }
.agds-doc__td { padding: 0 8px; border: 1px solid #000; font-size: 10pt; }
.agds-doc__td .tox-tinymce { border: 0 !important; }
.agds-doc__td textarea.agds-tmce { width: 100%; min-height: 120px; border: 0; padding: 8px; font: inherit; font-size: 10pt; }
@media (max-width: 750px) {
    .agds-doc__meta { grid-template-columns: 1fr; }
    .agds-doc__th { width: 110px; font-size: .82rem; }
}
/* スマホ/小タブレット: 項目名を上・本文を下に縦積み(子セレクタで外側テーブルのみ。本文内の表は不変) */
@media (max-width: 900px) {
    .agds-doc__table,
    .agds-doc__table > tbody,
    .agds-doc__table > tbody > tr { display: block; width: 100%; }
    .agds-doc__table > tbody > tr > .agds-doc__th {
        display: block; width: 100% !important; box-sizing: border-box;
        background: #f1f5f9; font-weight: 700; padding: 7px 10px; border: 1px solid #000; border-bottom: 0;
    }
    .agds-doc__table > tbody > tr > .agds-doc__td { display: block; width: 100%; box-sizing: border-box; }
    .agds-doc__table > tbody > tr.agds-doc__gap { display: none; }
    .agds-doc__table > tbody > tr { margin-bottom: 12px; }
    /* 様式16/17(構造行)の内側セルも縦積み＝確認番号入力欄まで到達できる */
    .agds-sf-td .agds-sf, .agds-sf-td .agds-sf > tbody, .agds-sf-td .agds-sf > tbody > tr { display: block; width: 100%; }
    .agds-sf-td .agds-sf > tbody > tr > .agds-sf-c { display: block; width: 100%; box-sizing: border-box; padding: 4px 6px; }
    .agds-sf-td .agds-sf-c input[type="text"], .agds-sf-td .agds-sf-c select { width: 100%; box-sizing: border-box; }
}

/* 右コントロール パネルの入力 */
.agds-ctl-label { display: block; font-size: .8rem; color: var(--agds-sub); margin: 8px 0 3px; }
.agds-ctl-input { width: 100%; padding: 8px 10px; border: 1px solid var(--agds-line); border-radius: 8px; font: inherit; margin-bottom: 4px; box-sizing: border-box; }

/* 議事次第ビュー — 議案本文と同じ書体に統一 */
.agds-doc-font, .agds-agenda { font-family: "ＭＳ Ｐゴシック", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif; line-height: normal; }
.agds-agenda__title { letter-spacing: .05em; }
/* 議事次第は本文・ヘッダーとも 12px に統一(タイトルは太字)。 */
.agds-agenda { font-size: 12px; }
.agds-agenda__org, .agds-agenda__meta { font-size: 12px; }
.agds-agenda__title { font-size: 12px; font-weight: 700; }
/* 日時：/場所： の頭(値)を揃える(ラベル列は最長ラベルに合わせて自動幅・右寄せブロック) */
.agds-agenda__metawrap { text-align: right; margin-bottom: 14px; }
.agds-agenda__meta { display: inline-grid; grid-template-columns: max-content auto; column-gap: 0; text-align: left; color: #333; }
.agds-agenda__table { width: 100%; border-collapse: collapse; font-size: 12px; }
.agds-agenda__table td { padding: 6px 8px; vertical-align: top; }
.agds-agenda__no { width: 36px; text-align: right; white-space: nowrap; color: #333; }
.agds-agenda__label { }
.agds-agenda__role { text-align: right; color: #444; white-space: nowrap; }
/* 項目見出し(大区分): 背景は付けない(原本どおりプレーン)。太字のみで区別。 */
.agds-agenda__heading td { background: transparent; padding-top: 8px; padding-bottom: 4px; }
.agds-agenda__heading .agds-agenda__label { font-weight: 700; }
/* 中見出し(＜推進計画議案＞/［本体・広報］): 番号なし・字下げ・薄いグレー */
.agds-agenda__sub td { background: #f6f8fa; font-weight: 600; color: #333; }
.agds-agenda__sub--l1 .agds-agenda__label { padding-left: 18px; }
.agds-agenda__sub--l2 .agds-agenda__label { padding-left: 42px; font-weight: 500; }
.agds-agenda__bill td { border-bottom: 1px dotted #e1e6eb; }
/* 見出し(4. 審議事項 等)は最左寄せ。議案seq(審-01)は赤字にせず、見出しの下へ少しインデントして左揃え(審/審が縦に揃う)。 */
.agds-agenda__label--lead { text-align: left; padding-left: 0; }
.agds-agenda__seq { text-align: left; padding-left: 16px; color: #333; font-weight: 700; white-space: nowrap; }
.agds-agenda__file { width: 130px; font-family: monospace; font-size: .82rem; color: #555; white-space: nowrap; }
.agds-agenda__owner { text-align: right; color: #444; white-space: nowrap; }

/* 構造化セクション(15予算総額/16引用著作物/17対外配付資料) */
.agds-doc__td.agds-sf-td { padding: 0; }
.agds-sf { width: 100%; border-collapse: collapse; }
.agds-sf td.agds-sf-c { border: 0; padding: 0 8px; vertical-align: middle; white-space: nowrap; }
.agds-sf td.agds-sf-c + td.agds-sf-c { border-left: 1px solid #000; }
/* 番号「15.」と項目名の間の縦線(thもネストテーブルで統一) */
.agds-doc__th.agds-sf-th { padding: 0; }
.agds-sf td.agds-sf-num { width: 2.6em; text-align: right; white-space: nowrap; }
.agds-sf-c--yn { width: 4em; text-align: center; }
.agds-sf-c--link { text-align: left; }
.agds-sf td.agds-sf-c input[type=text] { border: 1px solid var(--agds-line); border-radius: 6px; padding: 3px 6px; font: inherit; }
.agds-sf td.agds-sf-c select { border: 1px solid var(--agds-line); border-radius: 6px; padding: 3px 6px; font: inherit; }
.agds-sf-yen { margin-right: 2px; }
.agds-sf-link { color: var(--agds-primary); text-decoration: underline; cursor: pointer; font-weight: 600; }
a.agds-sf-link:hover { color: var(--agds-key, #F83929); }
.agds-sf-link--off { color: var(--agds-sub); cursor: default; font-weight: 400; }

/* 資料リスト(18/19) — 1テーブルで左右の行高さを揃える */
.agds-res-wrap { margin-top: -1px; } /* 本文テーブル末尾と資料テーブル先頭の境界線が二重にならないよう重ねる */
.agds-res-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 10pt; }
.agds-res-table th { border: 1px solid #000; padding: 0px 10px; font-weight: normal; text-align: left; }
/* 本文テーブル内の区切り(13と14の間など) */
.agds-doc__table tr.agds-doc__gap td { height: 20px; border: 0; padding: 0; }
.agds-res-table td { border: 1px solid #000; vertical-align: top; }
.agds-res-table col.cno { width: 2.6em; }
.agds-res-table td.agds-res-no { text-align: right; font-weight: 700; padding: 0px 6px; white-space: nowrap; }
.agds-res-table td.agds-res-main { padding: 0px 8px; }
.agds-res-mainrow { display: flex; gap: 6px; align-items: center; }
.agds-res-mainrow input[type=text] { flex: 1; min-width: 0; padding: 5px 8px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; }
.agds-res-file { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 4px; font-size: .85rem; }
.agds-res-fname { color: #333; }
.agds-res-com { padding: 4px 6px; border: 1px solid var(--agds-line); border-radius: 6px; font: inherit; font-size: .82rem; max-width: 170px; }
@media (max-width: 750px) { .agds-res-table td.agds-res-no { width: 2em; } }

/* 前回までの流れ(意見と対応) — 会議ごとに縦並び */
.agds-fb-bar { margin-top: 24px; }
.agds-fb { font-size: 10pt; }
.agds-fb-group { margin: 12px 0 18px; }
.agds-fb-head { display: flex; gap: 24px; flex-wrap: wrap; font-weight: 700; margin-bottom: 8px; }
span.agds-fb-mtg { width: 50mm; }
span.agds-fb-date { width: 50mm; }
.agds-fb-pair { margin: 0; }
.agds-fb-op, .agds-fb-rs { display: flex; gap: 6px; align-items: flex-start; padding: 1px 0; }
.agds-fb-k { white-space: nowrap; min-width: 3.4em; }
.agds-fb-t { flex: 1; min-width: 0; }
.agds-fb-meta { color: #999; font-size: .75rem; }
.agds-fb-editlog { margin-left: 6px; font-size: .72rem; color: #c2410c; cursor: help; border: 1px solid #fcd34d; border-radius: 4px; padding: 0 4px; background: #fffbeb; white-space: pre-line; }
.agds-fb-edit { display: inline-block; margin-left: 8px; vertical-align: top; }
.agds-fb-edit > summary { cursor: pointer; color: #1d4ed8; font-size: .78rem; list-style: none; }
.agds-fb-edit > summary::-webkit-details-marker { display: none; }
.agds-fb-edit form { margin-top: 6px; display: flex; gap: 6px; align-items: flex-start; }
.agds-fb-edit textarea { flex: 1; min-width: 200px; border: 1px solid var(--agds-line); border-radius: 6px; padding: 6px; font: inherit; }
.agds-fb-rs textarea { width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 3px 6px; font: inherit; }
.agds-fb-openbadge { background: var(--agds-key, #F83929); color: #fff; font-size: .7rem; font-weight: 700; border-radius: 4px; padding: 1px 8px; align-self: center; }
/* 各会議の「質問・回答を見る」ボタン(右寄せ)。印刷/PDFには出さない */
.agds-fb-qbtn { margin-left: auto; align-self: center; font-size: .74rem; font-weight: 600; color: var(--agds-primary); background: #eef4fb; border: 1px solid #cfe0f5; border-radius: 999px; padding: 2px 11px; cursor: pointer; }
.agds-fb-qbtn:hover { background: #dceaf6; }
@media print { .agds-fb-qbtn { display: none !important; } }
.agds-fb-empty { color: var(--agds-sub); font-size: .82rem; margin: 2px 0 4px; }
.agds-fb-add { margin-top: 10px; display: flex; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
.agds-fb-add textarea { flex: 1; min-width: 220px; border: 1px solid var(--agds-line); border-radius: 8px; padding: 8px; font: inherit; }
.agds-fb-note { color: var(--agds-sub); font-size: .8rem; margin-top: 8px; }

/* 議案上程スケジュール */
.agds-sched-table { width: 100%; border-collapse: collapse; font-size: 10pt; }
.agds-sched-table th, .agds-sched-table td { border: 1px solid #000; padding: 3px 8px; text-align: left; }
.agds-sched-table input[type=text], .agds-sched-table input[type=date], .agds-sched-table select { width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 3px 6px; font: inherit; }
.agds-sched-help { color: var(--agds-sub); font-size: .82rem; margin: 6px 0 10px; }
/* 上程スケジュール編集: 計画/報告 の2カラム */
.agds-sched-edit2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.agds-sched-edit2__h { font-weight: 700; text-align: center; border-bottom: 2px solid var(--agds-line); padding-bottom: 4px; margin-bottom: 8px; }
@media (max-width: 1100px) { .agds-sched-edit2 { grid-template-columns: 1fr; } }
/* 上程スケジュール 閲覧: 左右2グループ・罫線なし(gian体裁) */
.agds-s2 { border-collapse: collapse; font-size: 10pt; margin: 4px auto; }
.agds-s2 th, .agds-s2 td { border: 0; padding: 2px 10px; vertical-align: top; text-align: center; }
.agds-s2 thead th { font-weight: 700; }
.agds-s2-grp { border-bottom: 1px solid #000 !important; }
.agds-s2 thead tr:nth-child(2) th { text-decoration: underline; }
.agds-s2 td.agds-s2-kai { white-space: nowrap; text-align: left; }
.agds-s2 td.agds-s2-nm { text-align: left; }
.agds-s2-dt { white-space: nowrap; }
.agds-s2-gi { white-space: nowrap; }
/* 議事列(協議/審議/審査)が「協\n議」と縦折れしないよう、見出し含め折り返し防止 */
.agds-s2 thead th:nth-child(4), .agds-s2 thead th:nth-child(9) { white-space: nowrap; }
.agds-s2-gap { width: 28px; border: 0 !important; }
.agds-sched-pick { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.agds-sched-pick label { font-weight: 600; font-size: .88rem; }
.agds-sched-pick select { padding: 6px 8px; border: 1px solid var(--agds-line); border-radius: 8px; font: inherit; }
.agds-sched-edit tr.is-on { background: #fff6f5; }
.agds-sched-edit td { vertical-align: middle; }

/* 年間会議設定マスタ */
.agds-ym-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.agds-ym-table th { background: #f5f7f9; text-align: left; padding: 8px 10px; border: 1px solid var(--agds-line); font-size: .82rem; }
.agds-ym-table td { border: 1px solid var(--agds-line); padding: 4px 6px; vertical-align: middle; }
.agds-ym-table input[type=text], .agds-ym-table input[type=date] { width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 6px; font: inherit; box-sizing: border-box; }
.agds-ym-pending { color: var(--agds-sub); font-size: .8rem; }
.agds-ym-grip { text-align: center; cursor: grab; color: var(--agds-sub); font-size: 1.1rem; user-select: none; line-height: 1; }
.agds-ym-grip:active { cursor: grabbing; }
.agds-ym-row.is-dragging { opacity: .4; }
.agds-ym-row.is-over > td { box-shadow: inset 0 2px 0 var(--agds-key, #F83929); }
.agds-ym-detail td { background: #fafbfc; }
.agds-ym-periods { display: flex; flex-direction: column; gap: 6px; padding: 4px 2px; }
.agds-ym-period { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .85rem; }
.agds-ym-period__l { min-width: 16em; font-weight: 600; color: var(--agds-sub); }
.agds-ym-period input[type=datetime-local] { border: 1px solid var(--agds-line); border-radius: 6px; padding: 4px 6px; font: inherit; }
.agds-ym-bulk { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; background: #f5f7f9; border: 1px solid var(--agds-line); border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; font-size: .88rem; }
.agds-ym-bulk__lbl { font-weight: 700; }
.agds-ym-bulk input[type=text] { border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 8px; font: inherit; }
.agds-ym-bulk input[type=number] { border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 4px; font: inherit; margin: 0 2px; }
.agds-ym-bulk__hint { color: var(--agds-sub); font-size: .8rem; }

/* 事業予算書(様式2) */
.agds-bd-table { width: 100%; border-collapse: collapse; font-size: 11pt; font-family: "ＭＳ Ｐゴシック","MS PGothic",monospace; }
.agds-bd-table th, .agds-bd-table td { border: 1px solid #000; padding: 3px 8px; }
.agds-bd-table th { background: #fff; text-align: center; font-weight: 600; }
.agds-bd-l { text-align: left; white-space: nowrap; }
.agds-bd-c { text-align: right; white-space: nowrap; }
.agds-bd-noteh { width: 26%; }
.agds-bd-amt { width: 16%; }
.agds-bd-sec td { background: #fff; font-weight: 700; }
.agds-bd-sum td, .agds-bd-diff td { background: #fff; font-weight: 700; }
.agds-bd-num, .agds-bd-note { width: 100%; box-sizing: border-box; border: 1px solid var(--agds-line); border-radius: 5px; padding: 3px 6px; font: inherit; }
.agds-bd-num { text-align: right; }
.agds-f1-off { opacity: .45; }
.agds-f1-off td { background: #fafbfc; }
.agds-f1-child td { background: #fffdf7; }  /* 子議案(親が予算計上・合計除外) */
/* 様式3 摘要の記載もれ補助(控えめ) */
.agds-bd-noteneed { background: #fff7ed !important; border-color: #fdba74 !important; }
.agds-bd-noteneed::placeholder { color: #c2410c; }
/* 様式5(講師承諾書)から自動流し込みの行 */
.agds-bd-lecbadge { display: inline-block; margin-left: 4px; padding: 1px 5px; font-size: .66rem; color: #1d4ed8; background: #e7efff; border-radius: 4px; vertical-align: middle; }
.agds-bd-lock { color: var(--agds-sub); cursor: default; }
.agds-bd-use { font-size: .82rem; color: var(--agds-sub); font-weight: 400; margin-left: 4px; }
.agds-agenda__kaketsu { display: inline-block; margin-left: 8px; padding: 1px 7px; font-size: .72rem; color: #166534; background: #dcfce7; border-radius: 4px; }
/* 様式13 課税区分の分別: 決算額(様式11)と内訳合計の不一致を検知 */
.agds-f13-mismatch { background: #fff1f0 !important; box-shadow: inset 0 0 0 1px #fca5a5; }
.agds-f13-split { margin-left: 4px; font-size: .68rem; padding: 1px 6px; border: 1px solid var(--agds-line); border-radius: 5px; background: #fff; cursor: pointer; }
.agds-f13-split:hover { background: #eef2ff; }
/* 財審様式（提出書類チェック表） */
/* 見出し(タイトル・[財審様式]・凡例)を表の幅に揃える(表だけ狭く見出しが全幅で右に離れるのを防ぐ) */
.agds-zaishin.agds-bd-doc { width: -moz-fit-content; width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; }
.agds-zaishin__legend { font-size: .78rem; color: var(--agds-sub); margin: 4px 0 10px; }
/* 画面でも横に伸びすぎない(自然幅で止める)。摘要だけ折り返す。 */
.agds-zaishin__table { font-size: .8rem; width: auto !important; table-layout: auto; }
.agds-zaishin__table th, .agds-zaishin__table td { padding: 3px 5px; white-space: nowrap; }
.agds-zaishin__q { white-space: normal !important; max-width: 340px; }
.agds-zaishin__sub { font-weight: 400; color: var(--agds-sub); font-size: .72rem; }
.agds-zaishin__no { white-space: nowrap; color: var(--agds-sub); }
.agds-zaishin__q { color: var(--agds-sub); font-size: .74rem; }
.agds-zaishin__group td { background: none; font-weight: 700; }
.agds-zaishin__mk { text-align: center; font-weight: 700; }
/* マークの色は編集(操作)時のみ。プレビュー・印刷は黒(リンクの青のみ残す) */
.agds-zaishin--edit .agds-zaishin__mk--ksa { color: #b91c1c; }   /* ◎ */
.agds-zaishin--edit .agds-zaishin__mk--mar { color: #1d4ed8; }   /* ○ */
.agds-zaishin--edit .agds-zaishin__mk--sol { color: #7c3aed; }   /* ● */
.agds-zaishin--edit .agds-zaishin__mk--non { color: #cbd5e1; }   /* - */
.agds-zaishin__edit select { padding: 2px 3px; font-size: .82rem; }
/* 局面に応じた行の色分け(編集・プレビュー両方。印刷は無色) */
.agds-zaishin__row--must > td { background: #fff7b0 !important; }          /* ◎必要=黄色 */
.agds-zaishin__row--cond > td { background: #ffe2a8 !important; }          /* ○●条件=オレンジがかった黄色 */
.agds-zaishin__row--none > td { background: #f1f5f9 !important; color: #9aa3ad; }  /* -不要=グレー */
@media print { .agds-zaishin__row--must > td, .agds-zaishin__row--cond > td, .agds-zaishin__row--none > td { background: none !important; color: inherit !important; } }
.agds-zaishin__phase { font-size: .82rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 6px 10px; margin: 4px 0 8px; }
.agds-zaishin__sw { display: inline-block; margin-left: 8px; padding: 0 8px; border-radius: 4px; font-size: .74rem; }
.agds-zaishin__sw--must { background: #fff7b0; }
.agds-zaishin__sw--cond { background: #ffe2a8; }
.agds-zaishin__sw--none { background: #f1f5f9; color: #9aa3ad; }
.agds-zaishin__link { color: #1d4ed8; text-decoration: underline; cursor: pointer; }
.agds-zaishin__link:hover { color: #1e3a8a; }
/* 各様式の注意事項(補足)ボックス */
.agds-formnote { background: #fffbeb; border: 1px solid #fcd34d; border-radius: 8px; padding: 8px 12px; margin: 0 0 12px; }
.agds-formnote__h { font-size: .8rem; font-weight: 700; color: #92400e; margin-bottom: 2px; }
.agds-formnote__b { font-size: .8rem; color: #78350f; line-height: 1.55; }
.agds-formnote__b > div { margin: 1px 0; }
@media print { .agds-formnote { display: none !important; } }
/* 講師承諾書 入力: 時間ドロップダウン(開始〜終了) */
.agds-lec-time { display: flex; align-items: center; gap: 6px; }
.agds-lec-time select { flex: 1 1 auto; min-width: 0; }
.agds-lec-time__sep { color: var(--agds-sub); }
/* 法人契約: 様式4 記載名の選択 */
.agds-lec-f4mode { margin-top: 8px; padding: 8px 10px; background: #f5f8fb; border: 1px solid var(--agds-line); border-radius: 8px; }
.agds-lec-f4mode__lbl { font-size: .8rem; color: var(--agds-sub); margin-bottom: 4px; }
.agds-lec-f4mode label { display: flex; align-items: center; gap: 6px; font-size: .9rem; padding: 2px 0; }
/* 様式4: 講師(法人)由来の企業名(改行を表示) */
.agds-bd-vendor-lec { width: 100%; box-sizing: border-box; resize: vertical; font: inherit; background: #fffdf5; border: 1px solid var(--agds-line); border-radius: 6px; padding: 4px 6px; }
/* 付番セクション(広報戦略など) — 閲覧/プレビュー: 親セル内にぴったり、二重線なし */
.agds-doc__td--num { padding: 0 !important; }
.agds-doc__numtbl { border-collapse: collapse; width: 100%; margin: 0; table-layout: fixed; }
.agds-doc__numtbl td { border: 0; border-bottom: 1px solid #000; padding: 3px 8px; vertical-align: top; word-break: break-word; }
.agds-doc__numtbl tr:last-child td { border-bottom: 0; }
.agds-doc__numno { width: 2.6em; text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; border-right: 1px solid #000 !important; background: none; }

/* 付番セクション 入力UI — 出力(罫線の表)と同じ見た目に。外枠なし＝親セル罫線を流用(二重線回避)・角丸なし・左右マージンなし */
.agds-numlist { background: #fff; }
.agds-numrow { display: flex; align-items: stretch; border-bottom: 1px solid #000; }
.agds-numrow:last-child { border-bottom: 0; }
.agds-numrow__no { flex: 0 0 2.6em; display: flex; align-items: center; justify-content: center; border-right: 1px solid #000; background: none; font-variant-numeric: tabular-nums; color: #444; font-size: .9rem; }
.agds-numrow__in { flex: 1 1 auto; min-width: 0; min-height: 1.5em; border: 0; outline: 0; padding: 6px 8px; font: inherit; background: transparent; word-break: break-word; }
.agds-numrow__in:focus { background: #f0f7ff; }
.agds-numrow__in:empty::before { content: attr(data-ph); color: #aaa; }
.agds-numrow__in a { color: var(--agds-primary); }
.agds-numrow__tools { display: none; flex: 0 0 auto; gap: 3px; align-items: center; padding: 0 4px; }
.agds-numrow:focus-within .agds-numrow__tools { display: flex; }
.agds-numrow__del { flex: 0 0 auto; width: 32px; border: 0; border-left: 1px solid #e5e7eb; color: #b91c1c; background: #fff; cursor: pointer; }
.agds-numrow__del:hover { background: #fef2f2; }
.agds-num-add { margin: 6px 8px 4px; }
/* 段分けセクション 入力UI */
.agds-seglist { background: #fff; }
.agds-segrow { display: flex; align-items: stretch; border-bottom: 1px solid #000; }
.agds-segrow:last-child { border-bottom: 0; }
.agds-segrow__no { flex: 0 0 3em; display: flex; align-items: center; justify-content: center; border-right: 1px solid #000; background: #fafbfc; font-size: .76rem; color: #666; }
.agds-segrow__in { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; padding: 6px 8px; font: inherit; resize: vertical; background: transparent; box-sizing: border-box; }
.agds-segrow__in:focus { background: #f0f7ff; }
.agds-segrow__ed { flex: 1 1 auto; min-width: 0; min-height: 2.6em; border: 0; outline: 0; padding: 6px 8px; font: inherit; background: transparent; word-break: break-word; }
.agds-segrow__ed:focus { background: #f0f7ff; }
.agds-segrow__ed:empty::before { content: attr(data-ph); color: #aaa; }
.agds-segrow__ed a { color: var(--agds-primary); }
.agds-segrow:focus-within .agds-numrow__tools { display: flex; }
.agds-segrow__del { flex: 0 0 auto; width: 32px; border: 0; border-left: 1px solid #e5e7eb; color: #b91c1c; background: #fff; cursor: pointer; }
.agds-segrow__del:hover { background: #fef2f2; }
.agds-bd-table input:disabled { background: #f3f4f6; color: #999; }
/* シート切替 */
.agds-bd-switcher { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--agds-line); border-radius: 10px; padding: 8px 12px; margin-bottom: 14px; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
.agds-bd-select { flex: 1; min-width: 0; border: 1px solid var(--agds-line); border-radius: 8px; padding: 7px 10px; font: inherit; font-weight: 600; }
.agds-bd-nav { width: 38px; height: 38px; border: 1px solid var(--agds-line); background: #fff; border-radius: 8px; cursor: pointer; font-size: 1rem; flex: 0 0 auto; }
.agds-bd-nav:hover:not([disabled]) { background: #f3f6f9; }
.agds-bd-nav[disabled] { opacity: .35; cursor: default; }
.agds-bd-pos { color: var(--agds-sub); font-size: .82rem; min-width: 48px; text-align: right; }
.agds-bd-showall { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; color: var(--agds-sub); white-space: nowrap; cursor: pointer; }
.agds-bd-jigyo { background: #eef6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; font-size: .95rem; }
.agds-bd-jigyo__note { color: var(--agds-sub); font-size: .76rem; margin-left: 8px; }
.agds-bd-sheet { display: none; }
.agds-bd-sheet.is-active { display: block; }
/* 予算なし議案: 様式1(委員会共通)以外をグレーアウト。様式1は常に触れる */
.agds-bd-nobudget .agds-bd-sheet:not(.agds-f1-sheet) { opacity: .5; pointer-events: none; }

/* 議案一覧 事業→様式区分 アコーディオン */
.agds-evts { display: block; }
.agds-evt { border-bottom: 1px solid var(--agds-line); }
.agds-evt > .agds-evt__sum { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 16px; background: #eef3f8; border-top: 2px solid #cdd9e5; }
.agds-evt > .agds-evt__sum::-webkit-details-marker { display: none; }
.agds-evt > .agds-evt__sum::before { content: '▸'; color: #6b8199; font-size: .8rem; transition: transform .15s; }
.agds-evt[open] > .agds-evt__sum::before { transform: rotate(90deg); }
.agds-evt__name { font-weight: 700; color: #1f3a52; font-size: 1rem; }
.agds-evt__counts { display: inline-flex; gap: 5px; flex-wrap: wrap; }
.agds-evt__cbadge { font-size: .72rem; font-weight: 700; padding: 1px 7px; border-radius: 999px; }
.agds-evt__total { color: var(--agds-sub); font-size: .82rem; }
.agds-evt__add { margin-left: auto; font-weight: 600; }
.agds-evt__body { padding: 6px 16px 12px 30px; }
.agds-fmt { border: 1px solid var(--agds-line); border-radius: 8px; margin: 8px 0; overflow: hidden; }
.agds-fmt__sum { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 9px 12px; background: #fafbfc; }
.agds-fmt__sum::-webkit-details-marker { display: none; }
.agds-fmt__sum::before { content: '＋'; color: #94a3b8; font-weight: 700; }
.agds-fmt[open] .agds-fmt__sum::before { content: '－'; }
.agds-fmt__badge { font-size: .82rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; }
.agds-fmt__count { font-size: .82rem; font-weight: 600; color: #334155; }
.agds-fmt__latest { font-size: .8rem; color: var(--agds-sub); }
.agds-fmt__table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.agds-fmt__table tr { border-top: 1px solid var(--agds-line); }
.agds-fmt__table td { padding: 8px 12px; vertical-align: middle; }
.agds-fmt__v { white-space: nowrap; color: var(--agds-sub); font-size: .82rem; width: 1%; }
.agds-fmt__newtag { display: inline-block; background: #16a34a; color: #fff; border-radius: 4px; font-size: .64rem; padding: 0 4px; margin-left: 2px; }
.agds-fmt__t { font-weight: 600; }
.agds-fmt__t a { text-decoration: none; color: var(--agds-primary); }
.agds-fmt__cat, .agds-fmt__st { white-space: nowrap; }
.agds-fmt__num { white-space: nowrap; font-family: monospace; font-size: .82rem; color: #475569; }
.agds-fmt__op { text-align: right; white-space: nowrap; width: 1%; }

.agds-bd-h3 { margin: 0 0 10px; font-size: 1rem; }
.agds-bd-sub { color: var(--agds-sub); font-size: .78rem; font-weight: 400; margin-left: 8px; }
/* 財審様式 A4ドキュメント＋フォームヘッダ（htm体裁） */
.agds-bd-doc { max-width: 200mm; margin: 0 auto; font-family: "ＭＳ Ｐゴシック","MS PGothic",monospace; font-size: 11pt; }
.agds-bd-fh { margin: 4px 0 2px; }
.agds-bd-fh__no { display: block; text-align: right; font-size: 11pt; color: #111; margin-bottom: 2px; }
.agds-bd-fh__title { text-align: center; font-size: 16px; letter-spacing: .35em; margin: 0 0 8px; font-weight: 700; }
.agds-bd-fh__meta { text-align: center; font-size: 11pt; }
.agds-bd-fh__jigyo { display: block; text-align: center; font-weight: 600; font-size: 16px; text-decoration: underline; text-underline-offset: 4px; }
.agds-bd-fh__jval { display: inline; }
.agds-bd-fh__unit { display: block; text-align: right; white-space: nowrap; font-weight: 400; margin-top: 0; line-height: 1.2; }
@media print { .agds-bd-h3, .agds-bd-auto { display: none !important; } .agds-bd-doc { max-width: none; } }
.agds-bd-auto { display: inline-block; margin-left: 6px; font-size: .68rem; font-weight: 400; color: #fff; background: var(--agds-sub); border-radius: 4px; padding: 0 5px; vertical-align: middle; }
.agds-bd-edit input, .agds-bd-edit select, .agds-bd-edit textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--agds-line); border-radius: 5px; padding: 3px 5px; font: inherit; }
.agds-bd-edit input[type=number] { text-align: right; }
.agds-bd-edit td { padding: 3px 5px; }

/* 様式3 明細(科目=rowspan結合の単一表) */
.agds-bd-sec-h { display: flex; justify-content: space-between; align-items: baseline; font-weight: 400; font-size: 11pt; margin: 14px 0 4px; padding: 2px 0; }
.agds-bd-sec-h:first-child { margin-top: 0; }
.agds-bd-unit { font-weight: 400; font-size: 11pt; }
.agds-bd-meisai { margin-bottom: 18px; }
.agds-bd-meisai th { background: #fff; }
.agds-bd-meisai .agds-bd-kmk { font-weight: 700; vertical-align: top; }
.agds-bd-meisai .agds-bd-kmk__nm { margin-bottom: 8px; }
.agds-bd-meisai .agds-bd-kmk .agds-btn { font-weight: 400; }
.agds-bd-subrow td, .agds-bd-grand td { font-weight: 700; }
.agds-bd-subc { text-align: right; }
/* 様式4 見積一覧(横スクロール) */
.agds-bd-estwrap { overflow-x: auto; }
.agds-bd-est-table { min-width: 1100px; }
.agds-bd-est-table th, .agds-bd-est-table td { white-space: nowrap; }
.agds-bd-est-table .agds-bd-grp2 { background: #fff; text-align: center; }
.agds-bd-est-table input[type=text], .agds-bd-est-table input[type=number] { min-width: 80px; }
.agds-bd-est-table input[type=date] { min-width: 130px; }
/* 様式4 閲覧: 見積一覧は横長なので幅制限を解除。見積No.は見積書への青リンク。 */
.agds-bd-est-doc { max-width: none; }
.agds-bd-link { color: #0563c1; text-decoration: underline; }
.agds-bd-link:hover { color: #024092; }
/* 様式4 注記 */
.agds-bd-estnotes { font-size: 9pt; line-height: 1.5; margin: 4px 0 8px; }
.agds-bd-estnotes p { margin: 1px 0; }
/* 赤字注記(採用企業合計＝事業費合計の確認)は基準どおり 太字・下線・12pt・上マージン */
.agds-bd-estnotes--warn { color: #c00; font-weight: 700; text-decoration: underline; font-size: 12pt; margin-top: 8px; }
/* 様式4 振込口座テーブルは基準どおり上段「有効期限」列の右端まで(全幅でない・約54%)で止める */
.agds-bd-bank-table { width: auto; min-width: 0; }
.agds-bd-est-doc .agds-bd-bank-table { width: 54%; min-width: 560px; max-width: 100%; }
/* 様式4 合計金額行: 基準はラベルセルと金額セルにのみ罫線。中間/末尾セルは罫線なし(空白) */
.agds-bd-est-doc .agds-bd-totalrow td.agds-bd-noborder { border: none; }
/* 様式4 太線(thick border): 採用企業群と相見積企業群の区切り(基準=2.0pt double black) */
.agds-bd-est-table thead tr:first-child th:first-child,
.agds-bd-est-table thead tr:nth-child(2) th:nth-child(8),
.agds-bd-est-table tbody tr:not(.agds-bd-totalrow) td:nth-child(8) { border-right: 3px double #000; }
/* 様式4 ヘッダー行の下端は基準どおり横の二重罫線(border-bottom:2.0pt double windowtext) */
.agds-bd-est-table thead tr:last-child th,
.agds-bd-est-doc .agds-bd-bank-table thead th { border-bottom: 3px double #000; }
/* 様式5 講師カード */
.agds-lec-card { border: 1px solid var(--agds-line); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }
.agds-lec-card__h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.agds-lec-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 12px; margin-bottom: 8px; }
.agds-lec-grid label { display: flex; flex-direction: column; font-size: .78rem; color: var(--agds-sub); gap: 3px; min-width: 0; }
.agds-lec-grid input, .agds-lec-grid select, .agds-lec-grid textarea { width: 100%; min-width: 0; box-sizing: border-box; max-width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 6px; font: inherit; color: var(--agds-text, #111); }
.agds-lec-grid .agds-lec-wide { grid-column: 1 / -1; }
.agds-lec-res { display: flex; flex-wrap: wrap; gap: 14px; background: #f5f7f9; border-radius: 8px; padding: 8px 12px; margin-bottom: 10px; font-size: .82rem; }
.agds-lec-res b { color: var(--agds-key, #F83929); margin-left: 4px; }
@media (max-width: 1100px) { .agds-lec-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px)  { .agds-lec-grid { grid-template-columns: 1fr; } }
/* 様式5 承諾書(閲覧/印刷/PDF) — ikema.pdf 体裁 */
.agds-lp { position: relative; font-family: "ＭＳ Ｐゴシック","MS PGothic","Hiragino Kaku Gothic ProN",sans-serif; font-size: 10.5pt; line-height: 1.5; color: #000; background: #fff; padding: 28px 32px; margin: 0 auto 24px; max-width: 820px; border: 1px solid #ccc; }
/* 様式番号(財審様式5/規則様式6)は右上。縦長の印紙貼付欄と重ならないよう上に置く。 */
.agds-lp__formno { position: absolute; top: 12px; right: 0; font-size: 11pt; text-align: right; line-height: 1.3; z-index: 2; }
.agds-lp__top { position: relative; min-height: 78px; }
.agds-lp__org { font-size: 10pt; }
.agds-lp__date { position: absolute; top: 2px; left: 50%; font-size: 10pt; }
/* 印紙貼付欄: 収入印紙が貼れる点線枠(横:縦≒3:4)。様式番号の下に配置。 */
.agds-lp__inshi { position: absolute; top: 52px; right: 0; width: 90px; height: 120px; border: 1px dashed #000; font-size: 8pt; text-align: center; padding: 4px 2px 0; box-sizing: border-box; line-height: 1.25; z-index: 1; }
.agds-lp__title { text-align: center; font-size: 16pt; font-weight: 700; letter-spacing: .15em; margin: 6px 0 12px; }
/* リード文が印紙枠の左に回り込まないよう、枠幅(90px)＋余白分だけ右側を確保。 */
.agds-lp__lead { font-size: 9pt; margin: 0 0 8px; padding-right: 102px; }
.agds-lp__ki { text-align: center; margin: 4px 0; }
.agds-lp__info { margin: 0 0 8px; }
.agds-lp__info > div { display: flex; gap: 8px; padding: 1px 0; }
.agds-lp__info dt { margin: 0; min-width: 8em; text-align: justify; text-align-last: justify; }
.agds-lp__info dt.agds-lp__info-sub { min-width: 0; text-align-last: left; padding-left: 1em; }
.agds-lp__info dd { margin: 0; flex: 1; }
.agds-lp__notes { font-size: 8.5pt; line-height: 1.45; margin: 4px 0 8px; }
.agds-lp__terms { margin: 10px 0 2px; font-size: 9pt; line-height: 1.5; }
.agds-lp__terms-row { display: flex; gap: 8px; margin-bottom: 4px; }
.agds-lp__terms-no { flex: 0 0 2.5em; }
.agds-lp__terms-sub { padding-left: 1.6em; }
.agds-lp__tsuzuku { text-align: right; }
.agds-lp__sub { font-weight: 700; margin: 12px 0 4px 1em; }
/* 規則様式 承諾書系(f7 等)の帳票 */
.agds-cmpl-doc { margin-top: 14px; }
.agds-cmpl-doc__label { font-size: .78rem; color: var(--agds-sub); margin-bottom: 6px; }
.agds-lp--cmpl { font-size: 10pt; }
.agds-lp--cmpl .agds-lp-u { display: inline-block; min-width: 3.5em; border-bottom: 1px solid #000; padding: 0 4px; line-height: 1.4; }
/* インライン直接編集(ポップアップ廃止): 下線欄をクリックしてその場入力 */
.agds-lp-u--ed { cursor: text; background: #fffef5; outline: none; min-width: 4em; }
.agds-lp-u--ed:hover { background: #fff7d6; }
.agds-lp-u--ed:focus { background: #fff; box-shadow: 0 0 0 2px rgba(59,130,246,.35); border-radius: 2px; }
.agds-lp-u--ed:empty::before { content: 'クリックして入力'; color: #b6bcc6; font-size: .85em; }
.agds-lp-u--num { min-width: 5.5em; text-align: right; }
.agds-lp-datein { font: inherit; font-size: .95em; border: 1px solid var(--agds-line); border-radius: 4px; padding: 1px 4px; background: #fffef5; }
.agds-lp__cmpl-box[contenteditable] { cursor: text; background: #fffef5; outline: none; }
.agds-lp__cmpl-box[contenteditable]:focus { background: #fff; box-shadow: 0 0 0 2px rgba(59,130,246,.35); }
.agds-lp__cmpl-box[contenteditable]:empty::before { content: 'クリックして入力（複数行OK）'; color: #b6bcc6; font-size: .9em; }
/* 自動保存ステータス(画面右下・💾FABの上) */
.agds-cmpl-savestatus { position: fixed; right: 24px; bottom: 74px; z-index: 30; background: #fff; border: 1px solid var(--agds-line); border-radius: 999px; padding: 4px 12px; box-shadow: 0 2px 8px rgba(0,0,0,.08); display: none; }
.agds-cmpl-savestatus.is-dirty, .agds-cmpl-savestatus.is-saving, .agds-cmpl-savestatus.is-saved, .agds-cmpl-savestatus.is-err { display: inline-block; }
.agds-cmpl-savestatus.is-saved { color: #166534; border-color: #86efac; background: #f0fdf4; }
.agds-cmpl-savestatus.is-err { color: #b91c1c; border-color: #fca5a5; background: #fef2f2; font-weight: 700; }
@media print { .agds-cmpl-savestatus { display: none !important; } .agds-lp-u--ed, .agds-lp__cmpl-box[contenteditable] { background: transparent !important; } .agds-lp-u--ed:empty::before, .agds-lp__cmpl-box[contenteditable]:empty::before { content: ''; } }
/* 講師承諾書のインライン編集(白い欄をその場入力。金額・契約種別だけポップアップ) */
.agds-lf-ed { display: inline-block; min-width: 4em; cursor: text; background: #fffef5; outline: none; border-bottom: 1px dashed #94a3b8; padding: 0 3px; }
.agds-lf-ed:hover { background: #fff7d6; }
.agds-lf-ed:focus { background: #fff; border-bottom-color: transparent; box-shadow: 0 0 0 2px rgba(59,130,246,.35); border-radius: 2px; }
.agds-lf-ed:empty::before { content: 'クリックして入力'; color: #b6bcc6; font-size: .85em; }
.agds-lf-sel, .agds-lf-date { font: inherit; font-size: .95em; border: 1px solid var(--agds-line); border-radius: 4px; padding: 1px 4px; background: #fffef5; }
.agds-lp__bank .agds-lf-ed { min-width: 10em; }
@media print {
  .agds-lf-ed { background: transparent !important; border-bottom: none; }
  .agds-lf-ed:empty::before { content: ''; }
  .agds-lf-sel, .agds-lf-date { border: none; background: transparent; appearance: none; -webkit-appearance: none; }
  .agds-lf-moneybtn { display: none !important; }
}
.agds-lp__cmpl-date { text-align: right; margin: 2px 0 6px; }
.agds-lp__cmpl-req { line-height: 1.75; margin: 0 0 10px; }
.agds-lp__cmpl-org { font-weight: 700; }
.agds-lp__cmpl-sign { margin: 8px 0 14px; padding-left: 1em; }
.agds-lp__cmpl-signrow { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 12px; }
.agds-lp__cmpl-signk { flex: 0 0 6em; font-size: 9.5pt; }
.agds-lp__cmpl-signv { flex: 1 1 auto; }
.agds-lp__cmpl-signv .agds-lp-u { display: block; width: 100%; min-height: 1.4em; }
.agds-lp__cmpl-seal { flex: 0 0 auto; margin-left: 6px; font-size: 10pt; color: #000; }
/* 様式5 レイアウト(捨印=右上・印紙貼付欄=左＋署名右・〔揃え) */
.agds-lp--f5 .agds-lp__cmpl-date { padding-right: 82px; }
.agds-lp__f5-sutein { position: absolute; top: 30px; right: 16px; width: 62px; height: 62px; border: 1px dashed #000; text-align: center; line-height: 62px; font-size: 10pt; }
.agds-lp__f5-signwrap { display: flex; gap: 16px; align-items: flex-start; margin: 6px 0 14px; }
.agds-lp__f5-inshi { flex: 0 0 auto; width: 92px; height: 92px; border: 1px dashed #000; display: flex; align-items: center; justify-content: center; font-size: 9.5pt; }
.agds-lp__f5-sign { flex: 1 1 auto; }
.agds-lp__f5-item { margin: 2px 0; }
.agds-lp__f5-box { display: inline-block; width: 1.4em; }
.agds-lp__f5-lbl { display: inline-block; min-width: 12em; }
.agds-lp__cmpl-sec { font-weight: 700; font-size: 10.5pt; margin: 12px 0 4px; }
.agds-lp__cmpl-line { margin: 3px 0; }
.agds-lp__cmpl-use { padding-left: 1.2em; }
.agds-lp__cmpl-useh { margin: 5px 0 2px; }
.agds-lp__cmpl-useh::before { content: "□ "; }
.agds-lp__cmpl-user { font-size: 9.5pt; padding-left: 1.5em; margin: 1px 0; }
.agds-lp__cmpl-terms { margin: 12px 0 2px; font-size: 9pt; line-height: 1.6; }
.agds-lp__cmpl-term { display: flex; gap: 8px; margin-bottom: 5px; }
.agds-lp__cmpl-tno { flex: 0 0 2.6em; }
.agds-lp__cmpl-end { text-align: right; margin-top: 10px; }
@media print { .agds-cmpl-doc__label { display: none !important; } }
/* 様式3 コンプライアンスチェックシート マトリクス(Excel実物再現) */
.agds-cs { font-family: "ＭＳ Ｐゴシック","MS PGothic","Hiragino Kaku Gothic ProN",sans-serif; font-size: 8.5pt; color: #000; background: #fff; padding: 18px 20px; margin: 0 auto 20px; max-width: 980px; border: 1px solid #ccc; line-height: 1.3; position: relative; }
.agds-cs table { border-collapse: collapse; }
.agds-cs__topbar { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 6px; }
.agds-cs__ttl { font-size: 15pt; font-weight: 700; }
.agds-cs__meta { text-align: right; white-space: nowrap; }
.agds-cs__formno { font-size: 10pt; margin-bottom: 3px; }
.agds-cs__cd { font-size: 9.5pt; }
.agds-cs__head { width: 100%; margin-bottom: 5px; font-size: 8.5pt; }
.agds-cs__head th, .agds-cs__head td { border: 1px solid #000; padding: 3px 6px; text-align: left; background: #fff; }
.agds-cs__head th { white-space: nowrap; width: 12%; font-weight: 700; }
.agds-cs__tbl { width: 100%; table-layout: fixed; }
.agds-cs__tbl td { border: 1px solid #000; padding: 2px 5px; vertical-align: middle; word-break: break-word; }
/* 縦帯セクション(黒地・白抜き・縦書き) */
.agds-cs__band { width: 24px; background: #000 !important; color: #fff; font-weight: 700; text-align: center; padding: 3px 1px; }
.agds-cs__band span { writing-mode: vertical-rl; text-orientation: upright; white-space: nowrap; letter-spacing: .02em; }
.agds-cs__qid { text-align: center; font-weight: 700; white-space: nowrap; }
.agds-cs__qtext { font-weight: 700; }
.agds-cs__note { color: #c00; font-weight: 700; }
.agds-cs__hint { float: right; font-weight: 400; font-size: 7.5pt; color: #333; margin-left: 8px; }
.agds-cs__ok { text-align: center; font-weight: 700; }
.agds-cs__arrow { text-align: center; padding: 2px 1px; }
.agds-cs__ores { font-size: 8pt; }
.agds-cs__mk { text-align: center; }
/* Q同士=二重線 / セクション頭=太線 */
.agds-cs__qtop > td { border-top: 3px double #000; }
.agds-cs__secstart > td { border-top: 2px solid #000; }
.agds-cs-chk { color: #000; font-weight: 700; font-size: 11pt; }
.agds-cs__pageno { text-align: right; font-size: 9pt; margin-top: 4px; }
.agds-cs--pbreak { margin-top: 18px; border-top: 2px dashed #999; }
@media print { .agds-cs--pbreak { page-break-before: always; break-before: page; border-top: 0; } }
.agds-lp__pay { border-collapse: collapse; margin-left: 2em; font-size: 10pt; }
.agds-lp__pay td { padding: 2px 6px; vertical-align: bottom; }
.agds-lp__pay td.n { text-align: right; min-width: 90px; border-bottom: 1px solid #000; }
.agds-lp__pay td.c2 { border-bottom: 1px solid #000; min-width: 130px; }
.agds-lp__pay td.l { white-space: nowrap; }
.agds-lp__note { font-size: 8.5pt; margin: 6px 0 6px 2em; color: #000; }
/* 編集プレビュー専用の操作ヒント(クリックで斜線/裏面は印刷時に出力 等)。画面のみ表示・印刷では非表示。 */
.agds-lp__edithint { font-size: 8.5pt; margin: 6px 0 6px 2em; color: var(--agds-sub, #5b6b7a); }
.agds-lp__total { margin: 10px 0 10px 2em; }
.agds-lp__total b { border-bottom: 1px solid #000; padding: 0 24px; }
.agds-lp__bank { border-collapse: collapse; margin-left: 2em; width: 80%; }
.agds-lp__bank td { border-bottom: 1px solid #000; padding: 3px 6px; font-size: 10pt; }
.agds-lp__bank td.lbl { white-space: nowrap; width: 200px; }
.agds-lp__paydate { margin: 10px 0 0 0; }
.agds-lp__back { margin-top: 18px; border-top: 1px dashed #999; padding-top: 14px; }
.agds-lp__c1 { font-size: 9.5pt; margin: 4px 0; }
.agds-lp__rights { font-size: 9pt; line-height: 1.6; padding-left: 2.2em; margin: 4px 0 10px; }
.agds-lp__rights li { margin-bottom: 2px; }
.agds-lp__notes > div { display: flex; gap: 8px; font-size: 9pt; line-height: 1.6; margin-bottom: 6px; }
.agds-lp__notes dt { margin: 0; white-space: nowrap; font-weight: 700; }
.agds-lp__notes dd { margin: 0; flex: 1; }
.agds-lp__cancel { margin: 4px 0 0 1em; }
.agds-lp__sign { display: flex; gap: 16px; margin-top: 16px; }
.agds-lp__sign-l { flex: 1; font-size: 9.5pt; }
.agds-lp__sign-r { width: 140px; border: 1px dashed #000; text-align: center; padding: 6px; font-size: 9pt; }
/* 裏面(表裏切替) + 斜線(適用しない条項) */
.agds-lp--back { margin-top: 18px; border-top: 1px dashed #999; padding-top: 14px; }
.agds-lp__title--back { text-align: center; font-size: 13pt; font-weight: 700; letter-spacing: .12em; margin: 4px 0 10px; }
.agds-lp__notes2 { margin: 0; }
.agds-lp__notes2 > div { display: flex; gap: 8px; font-size: 9pt; line-height: 1.6; margin-bottom: 6px; }
.agds-lp__notes2 dt { margin: 0; white-space: nowrap; font-weight: 700; }
.agds-lp__notes2 dd { margin: 0; flex: 1; }
.agds-lp-strk { text-decoration: line-through; text-decoration-style: double; text-decoration-color: #c00; color: #555; }
/* 様式13 入力不可セル(黄色) */
.agds-f13-lock { background: #fff8b0 !important; }
/* 様式13 決算額セルは太線 */
.agds-f13-kessan { border-left: 2px solid #000 !important; border-right: 2px solid #000 !important; font-weight: 700; }
/* 様式13 体裁: 区分見出しは黒太字、単位は黒、セル余白を詰める */
[data-agds-f13] .agds-bd-sub { color: #111; font-weight: 700; font-size: .95rem; margin-left: 0; }
[data-agds-f13] .agds-bd-unit { color: #111; }
[data-agds-f13] .agds-bd-table th, [data-agds-f13] .agds-bd-table td { padding: 0 4px; }
[data-agds-f13] .agds-bd-grand td { border-top: 2px solid #000; }
[data-agds-bd-lec] .agds-lp-clause { cursor: pointer; border-radius: 3px; transition: background .1s; }
[data-agds-bd-lec] .agds-lp-clause:hover { background: #fff7e6; outline: 1px dashed #f0b429; }
.agds-lec-face[hidden] { display: none; }
/* 印刷時は表裏フリップ状態に関わらず両面とも出力する */
@media print {
  .agds-lec-face[hidden] { display: block !important; }
  .agds-lec-face[data-face="back"] .agds-lp { page-break-before: always; }
}

@media print {
  body * { visibility: hidden; }
  .agds-lp, .agds-lp * { visibility: visible; }
  .agds-lp { position: static; border: 0; margin: 0; max-width: none; padding: 0; page-break-after: always; break-after: page; }
  /* 裏面(.agds-lp--back)は表面の入れ子。必ず次の1ページから始める。
     横方向は表面のpaddingで既に余白が付くため、裏面側の左右paddingは0にして二重インセットを防ぐ。
     ※二重クラス指定で後段の .agds-lp{padding} より優先させる。 */
  .agds-lp.agds-lp--back { page-break-before: always; break-before: page; break-after: page; page-break-after: always; border-top: 0 !important; margin-top: 0 !important; padding: 0 !important; }
  .agds-sidebar, .agds-topbar, .agds-control, .agds-bd-switcher, .agds-undo-fab, .agds-autosave-toast { display: none !important; }
  /* 編集プレビュー専用の操作ヒントは紙/PDFに出さない(実際に削除した二重線 .agds-lp-strk は印刷で残す) */
  .agds-lp__edithint { display: none !important; }
}

.agds-bd-pay { min-width: 200px; }
.agds-bd-pay select { margin-bottom: 3px; }
.agds-bd-file { margin-top: 3px; font-size: .8rem; }

/* 収益側: 細目は設定不可(セルは白、入力欄だけグレーで無効) */
.agds-bd-off { background: #fff; }
.agds-bd-off input { background: #eceff1; color: #9aa0a6; cursor: not-allowed; border-color: var(--agds-line); }

/* 議案ドキュメントは A4 幅基準(ワード同様) */
.agds-doc { max-width: 210mm; margin-left: auto; margin-right: auto; }
/* 予算書も A4 幅固定(議案本文と同様。横に余白が広がらないように)。各シートの白紙=A4幅・中央寄せ */
.agds-bd-sheet > .agds-card { max-width: 210mm; margin-left: auto; margin-right: auto; }
/* #29 様式切替で横幅が飛ぶ(カクつく)のを抑制: 縦スクロールバーの出入りで横位置がズレないよう領域を予約し、
   横長様式も上限を設けて中央軸を揃える(はみ出す表は内側で横スクロール)。 */
.agds-bd-wrap { scrollbar-gutter: stable; }

/* 様式4(見積一覧)だけ横長なので画面では中央セクション全幅まで使う(印刷は@pageでA4) */
.agds-bd-sheet--wide > .agds-card { max-width: min(100%, 297mm); }  /* A4横まで(以前は無制限→切替時に横幅が飛んでいた) */
.agds-bd-sheet--wide > .agds-card > * { max-width: 100%; }
@media print { .agds-bd-sheet--wide > .agds-card { max-width: none; } }  /* 印刷は従来どおり全幅 */
.agds-bd-doc { max-width: none; margin: 0; }
/* 本文リンクの青字 */
.agds-doc a, .agds-doc__body a { color: #0000ff; }
.agds-doc a:hover, .agds-doc__body a:hover { color: #1f6feb; }

/* 印刷/PDF: 議案ドキュメントだけを A4 で出力 */
/* 余白は @page で用紙側に持たせる。
   ※以前は margin:0 ＋ 中身の padding で余白を作っていたが、この方式だと
     2ページ目以降(裏面・長い表の続き)に上余白が付かず、プリンタの印刷不可領域で
     文字が切れる恐れがあった(課題#27)。用紙側の余白なら全ページに必ず効く。
   ※ブラウザのURL/ページ番号は印刷ダイアログの「ヘッダーとフッター」を外してください(設定は記憶されます)。 */
@page { size: A4; margin: 12mm 10mm; }
@media print {
  .agds-doc { padding: 0 !important; box-sizing: border-box; }
  .agds-bd-sheet, [data-cmpl-sheet] { padding: 0 !important; box-sizing: border-box; }
  /* 様式番号・印紙貼付欄(絶対配置)がカード基準で位置決めされるよう relative を維持。
     right の基準を padding 内に収めるため formno/inshi は枠の内側余白に合わせる。 */
  .agds-lp { padding: 0 !important; box-sizing: border-box; position: relative !important; }  /* 余白は@page側 */
  .agds-lp__formno { top: 0; right: 0; }
  .agds-lp__inshi { top: 40px; right: 0; }
  /* 表面=1枚／裏面=1枚に収めるための全体縮小(読める範囲で行間・余白・字を圧縮)。
     署名欄・印紙欄・タイトルが切れないよう過度には縮めない。 */
  .agds-lp { font-size: 9.5pt !important; line-height: 1.32 !important; padding: 0 !important; }  /* 余白は@page側 */
  .agds-lp__title { font-size: 14pt !important; margin: 2px 0 6px !important; }
  .agds-lp__title--back { font-size: 12pt !important; margin: 2px 0 6px !important; }
  .agds-lp__top { min-height: 70px !important; }
  .agds-lp__lead { font-size: 8.5pt !important; margin: 0 0 5px !important; }
  .agds-lp__ki { margin: 2px 0 !important; }
  .agds-lp__info { margin: 0 0 5px !important; }
  .agds-lp__info > div { padding: 0 !important; }
  .agds-lp__sub { margin: 7px 0 3px 1em !important; }
  .agds-lp__pay td, .agds-lp__bank td { padding: 1px 6px !important; font-size: 9pt !important; }
  .agds-lp__note { font-size: 8pt !important; margin: 4px 0 4px 2em !important; line-height: 1.35 !important; }
  .agds-lp__total { margin: 6px 0 6px 2em !important; }
  .agds-lp__paydate { margin: 6px 0 0 !important; }
  .agds-lp__terms { margin: 7px 0 2px !important; font-size: 8.5pt !important; line-height: 1.35 !important; }
  .agds-lp__terms-row { margin-bottom: 2px !important; }
  /* 裏面: 権利条項(3)〜(10)・注2〜注10・署名欄を1枚に */
  .agds-lp__back { margin-top: 8px !important; padding-top: 8px !important; page-break-before: auto !important; break-before: auto !important; }
  .agds-lp--back .agds-lp__rights { font-size: 8.5pt !important; line-height: 1.4 !important; margin: 3px 0 6px !important; }
  .agds-lp--back .agds-lp__rights li { margin-bottom: 1px !important; }
  .agds-lp__notes, .agds-lp__notes2 { font-size: 8pt !important; }
  .agds-lp__notes > div, .agds-lp__notes2 > div { font-size: 8pt !important; line-height: 1.4 !important; margin-bottom: 3px !important; }
  .agds-lp__sign { margin-top: 10px !important; }
  .agds-lp__sign-l { font-size: 9pt !important; }
}
@media print {
  body * { visibility: hidden; }
  .agds-doc, .agds-doc * { visibility: visible; }
  .agds-doc { position: absolute; left: 0; top: 0; width: 100%; max-width: none; margin: 0; border: 0 !important; box-shadow: none !important; }
  /* 画面と同じ見た目に＝赤帯などの背景色を印刷でも出す */
  .agds-doc, .agds-doc * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; color-adjust: exact !important; }
  .agds-sidebar, .agds-topbar, .agds-control, .agds-doc-toolbar, .agds-undo-fab, .agds-autosave-toast, .agds-scrim, .agds-control-fab { display: none !important; }
}

/* 予算書・規則様式: 各シートを A4 で1枚ずつ印刷 */
.agds-print-sheet-jigyo { display: none; }
@media print {
  .agds-shell, .agds-main { display: block !important; width: 100% !important; overflow: visible !important; }
  /* 1ページ目だけ中身が下にズレる原因(実測で確認):
     ①.agds-main の上下パディング(22px) ②見出し/パンくず等のクラス無し要素(63px)。
     印刷は「様式のフォーム」と「議案本文カード」だけを出す＝それ以外の直下要素は場所ごと除去する。 */
  .agds-main { padding: 0 !important; margin: 0 !important; }
  .agds-main > *:not(form):not(.agds-doc) { display: none !important; }
  .agds-sidebar, .agds-topbar, .agds-control, .agds-bd-switcher, [data-cmpl-switcher],
  .agds-fab, .agds-btn, .agds-bd-jigyo__note, .agds-navgroup, .agds-sched-help, .agds-cmpl-warn,
  [data-cmpl-add], [data-agds-bd-lec-add], .agds-lec-preview__bar, .agds-undo-fab, .agds-autosave-toast { display: none !important; }
  /* main直下の見出し/通知カード＋事業名称バー(様式の中身ではないヘッダー)は印刷で消す＝様式本体だけ印刷。
     ただし議案本文(.agds-doc)カードは消さない(議案PDF出力が真っ白になるのを防ぐ) */
  .agds-main > .agds-card:not(.agds-doc), .agds-bd-jigyo { display: none !important; }
  .agds-bd-wrap, .agds-bd-wrap *, [data-cmpl-sheet], [data-cmpl-sheet] *,
  .agds-cmpl-flow, .agds-cmpl-flow * { visibility: visible; }
  /* 画面と同じ見た目に＝背景色を印刷でも出す(財審の行色は別ルールでOFF) */
  .agds-bd-wrap *, [data-cmpl-sheet] * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; color-adjust: exact !important; }
  /* 本体は通常フロー(複数ページの改ページを保つ)。chromeはdisplay:noneでズレ防止。絶対配置は使わない */
  .agds-bd-wrap { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .agds-bd-sheet, [data-cmpl-sheet] { display: block !important; page-break-after: always; break-after: page; }
  .agds-bd-sheet:last-child, [data-cmpl-sheet]:last-child { page-break-after: auto; }
  .agds-bd-wrap input, .agds-bd-wrap textarea, .agds-bd-wrap select,
  [data-cmpl-sheet] input, [data-cmpl-sheet] textarea, [data-cmpl-sheet] select {
    border: 0 !important; background: transparent !important; -webkit-appearance: none; appearance: none; resize: none; }
  /* 編集画面から印刷したときも、プレビューと同じ位置で出るように編集用の枠/余白を完全に消す。
     ※ visibility:hidden の要素は「見えないが場所は残る」ため、様式より上にある編集専用カード
       (予算あり/なしトグル・見積書アップロード等)が中身を下へ押し出していた(display:noneで完全に除去)。 */
  #agds-budget-form > .agds-card, #agds-cmpl-form > .agds-card, #agds-koueki-form > .agds-card { display: none !important; }
  /* 1枚目だけ上に余分な隙間が出るのを防ぐ(2枚目以降は改ページで余白が捨てられるため、先頭だけ残っていた) */
  .agds-bd-wrap, .agds-bd-sheet, .agds-bd-sheet > .agds-card { margin-top: 0 !important; padding-top: 0 !important; }
  .agds-bd-sheet > .agds-card > *:first-child, .agds-bd-wrap > *:first-child { margin-top: 0 !important; }
  .agds-lp { margin-top: 0 !important; }
  /* 講師承諾書: 印刷は「帳票そのもの」だけ。編集用の操作バー・署名済みPDFビューア等は
     場所も含めて完全に除去する(これらが残ると1枚目だけ下にズレる)。 */
  [data-agds-bd-lec] { margin: 0 !important; padding: 0 !important; }
  .agds-lec-preview > *:not(.agds-lec-face):not([data-spdf-doc]) { display: none !important; }
  [data-spdf-doc] { display: block !important; margin: 0 !important; padding: 0 !important; }
  .agds-lec-preview { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
  .agds-lec-face { margin: 0 !important; padding: 0 !important; }
  .agds-lp__edithint, .agds-cmpl-inlinehint, .agds-estup, .agds-bd-showall { display: none !important; }
  .agds-print-duplex { display: block !important; }
  /* 1様式=1ページに収める圧縮（様式3/5等の長い表は自然に複数ページ） */
  .agds-bd-sheet .agds-card, [data-cmpl-sheet] .agds-card { padding: 0 !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; }
  .agds-bd-wrap { font-size: 9pt; }
  .agds-bd-wrap table th, .agds-bd-wrap table td { padding: 1px 4px !important; font-size: 9pt !important; line-height: 1.25 !important; }
  .agds-bd-wrap h3, [data-cmpl-sheet] h3 { font-size: 11pt !important; margin: 0 0 4px !important; }
  .agds-bd-sheet > .agds-card > p, [data-cmpl-sheet] .agds-card > p { font-size: 8pt !important; margin: 2px 0 !important; }
  .agds-bd-sheet { page-break-inside: auto; }
  .agds-lp--back { page-break-before: always; border-top: 0; }
  /* 「この様式だけ印刷」: 表示中のシート以外を隠す */
  body.agds-print-one .agds-bd-sheet:not(.is-active), body.agds-print-one [data-cmpl-sheet]:not(.is-active) { display: none !important; }
  body.agds-print-one .agds-bd-sheet.is-active, body.agds-print-one [data-cmpl-sheet].is-active { page-break-after: auto !important; }
  /* 様式4(見積一覧)は横長 → 印刷時はA4幅(186mm)に収まるよう全体を縮小 */
  .agds-bd-sheet--wide .agds-bd-estwrap { overflow: visible !important; }
  .agds-bd-sheet--wide .agds-bd-est-table { width: 1100px !important; min-width: 1100px !important; table-layout: fixed; zoom: .62; }
  .agds-bd-sheet--wide .agds-bd-est-table th, .agds-bd-sheet--wide .agds-bd-est-table td { white-space: normal !important; word-break: break-word; }
  .agds-bd-sheet--wide .agds-bd-est-table input, .agds-bd-sheet--wide .agds-bd-est-table textarea { min-width: 0 !important; width: 100% !important; }
  /* 様式1(管理表)・財審様式(チェック表)も横長 → 画面と同じ比率のまま縮小してA4幅に収める(ビヨーンさせない) */
  .agds-bd-sheet--wide .agds-bd-estwrap { overflow: visible !important; }
  .agds-f1-table { width: auto !important; table-layout: auto !important; zoom: .72; }
  .agds-f1-table th, .agds-f1-table td { white-space: normal !important; word-break: break-word; }
  .agds-zaishin__table { width: auto !important; table-layout: auto !important; zoom: .66; }
  .agds-zaishin__table th, .agds-zaishin__table td { white-space: nowrap !important; }
  .agds-zaishin__table .agds-zaishin__q { white-space: normal !important; }
}
.agds-print-duplex { display: none; }

/* 日付入力を年月日表示に(カレンダーは維持) */
.agds-dateui { position: relative; display: inline-block; }
.agds-date-native { color: transparent; min-width: 150px; }
.agds-date-native::-webkit-datetime-edit { color: transparent; }
.agds-date-disp { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); pointer-events: none; font: inherit; color: #111; white-space: nowrap; }
.agds-date-disp.is-empty { color: #9aa0a6; }

/* 職務分掌 複数選択ドロップダウン */
.agds-msel { position: relative; display: inline-block; }
.agds-msel__btn { border: 1px solid var(--agds-line); border-radius: 6px; background: #fff; padding: 5px 26px 5px 10px; font: inherit; cursor: pointer; text-align: left; min-width: 240px; max-width: 520px; white-space: normal; line-height: 1.5; position: relative; }
.agds-msel__btn::after { content: "▾"; position: absolute; right: 9px; top: 50%; transform: translateY(-50%); color: var(--agds-sub); }
.agds-msel__panel { position: absolute; z-index: 30; top: 100%; left: 0; margin-top: 3px; background: #fff; border: 1px solid var(--agds-line); border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,.14); padding: 4px; max-height: 260px; overflow: auto; min-width: 280px; }
.agds-msel__opt { display: flex; align-items: center; gap: 7px; padding: 5px 8px; font-weight: 400; white-space: nowrap; border-radius: 5px; cursor: pointer; }
.agds-msel__opt:hover { background: #f3f6f9; }
/* チェックボックスがフォームの全幅指定で伸びてラベルが右に飛ぶのを防ぐ */
.agds-msel__opt input[type="checkbox"] { width: auto; min-width: 0; flex: 0 0 auto; margin: 0; }
.agds-msel__opt span, .agds-msel__opt { justify-content: flex-start; }
/* 公益目的事業審査シート(追加式カード) */
.agds-koueki-card { background: #fff; border: 1px solid var(--agds-line); border-radius: 10px; margin-bottom: 16px; }
.agds-koueki-cardh { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--agds-line); background: #f8fafc; border-radius: 10px 10px 0 0; flex-wrap: wrap; }
.agds-koueki-no { font-weight: 700; }
.agds-koueki-type { padding: 6px 10px; border: 1px solid var(--agds-line); border-radius: 8px; font: inherit; min-width: 220px; }
.agds-koueki-acts { margin-left: auto; display: flex; gap: 6px; }
.agds-koueki-body { padding: 12px 14px; }
.agds-koueki-pick { color: var(--agds-sub); }
.agds-koueki-q { border: 1px solid var(--agds-line); border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; }
.agds-koueki-qh { font-size: .9rem; margin-bottom: 8px; line-height: 1.5; }
.agds-koueki-row { margin: 6px 0; }
.agds-koueki-lbl { font-size: .82rem; color: var(--agds-sub); margin-bottom: 2px; }
.agds-koueki-row textarea, .agds-koueki-num { width: 100%; box-sizing: border-box; border: 1px solid var(--agds-line); border-radius: 6px; padding: 6px 8px; font: inherit; }
.agds-koueki-sh { font-weight: 600; font-size: .88rem; margin: 8px 0 4px; }
.agds-koueki-chans { display: flex; flex-wrap: wrap; gap: 10px; }
.agds-koueki-chans label { display: inline-flex; align-items: center; gap: 5px; font-size: .85rem; }
.agds-koueki-chans input[type="checkbox"] { width: auto; flex: none; }
.agds-koueki-flag { display: flex; gap: 16px; margin-bottom: 6px; }
.agds-koueki-flag label { display: inline-flex; align-items: center; gap: 5px; }
.agds-koueki-flag input[type="checkbox"] { width: auto; flex: none; }
.agds-koueki-hint { cursor: help; color: #1d4ed8; font-size: .8rem; border: 1px solid #bfdbfe; border-radius: 50%; padding: 0 5px; background: #eff6ff; }
.agds-koueki-koeki { display: flex; align-items: center; gap: 6px; }
.agds-koueki-koeki .agds-koueki-lbl { margin: 0; }
.agds-koueki-koeki-pre { font-weight: 700; }
.agds-msel__empty { color: var(--agds-sub); font-size: .85rem; padding: 8px; }

/* ===== 公益目的事業審査シート 公式レイアウト(閲覧/印刷) koueki.xlsx 準拠 ===== */
.agds-kv-wrap { width: 100%; }
.agds-kv { max-width: 190mm; margin: 0 auto 28px; font-family: "ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-size: 10pt; color: #000; page-break-after: always; break-after: page; }
.agds-kv:last-child { page-break-after: auto; break-after: auto; }
.agds-kv__title { text-align: center; font-size: 15pt; font-weight: 700; letter-spacing: .12em; margin: 0 0 2px; }
.agds-kv__subtitle { text-align: center; font-size: 12pt; font-weight: 700; margin: 0 0 8px; }
.agds-kv__meta { width: 100%; border-collapse: collapse; margin-bottom: -1px; table-layout: fixed; }
.agds-kv__meta th, .agds-kv__meta td { border: 1px solid #000; padding: 3px 8px; font-size: 9pt; vertical-align: middle; }
.agds-kv__meta th { background: #f1f5f9; font-weight: 700; white-space: nowrap; text-align: center; }
.agds-kv__body { width: 100%; border-collapse: collapse; table-layout: fixed; }
.agds-kv__body td { border: 1px solid #000; padding: 4px 8px; vertical-align: top; font-size: 9pt; line-height: 1.4; }
/* 列幅: 左ラベル / 設問番号 / 小見出し / 値 */
.agds-kv__c-side { width: 24px; }
.agds-kv__c-qno { width: 26px; }
.agds-kv__c-lbl { width: 110px; }
.agds-kv__c-val { width: auto; }
/* 左端の縦書き結合ラベル */
.agds-kv__side { text-align: center; background: #f1f5f9; font-weight: 700; padding: 2px !important; }
.agds-kv__side span { writing-mode: vertical-rl; text-orientation: upright; white-space: nowrap; display: inline-block; line-height: 1.15; letter-spacing: .02em; }
.agds-kv__side--chg span { color: #b45309; }
.agds-kv__qno { text-align: center; font-weight: 700; background: #fafafa; vertical-align: middle; }
/* 設問見出し行: 設問文 + 右に公益番号ボックス/無有フラグ */
.agds-kv__q { background: #fcfcfd; }
.agds-kv__qrow { display: flex; align-items: flex-start; gap: 10px; }
.agds-kv__qtext { flex: 1 1 auto; line-height: 1.45; font-weight: 600; }
.agds-kv__koeki { flex: 0 0 auto; width: 84px; border: 1px solid #000; text-align: center; font-size: 7.5pt; line-height: 1.2; padding: 2px; background: #fff; }
.agds-kv__koeki span { display: block; }
.agds-kv__koeki b { font-size: 11pt; }
.agds-kv__flag { flex: 0 0 auto; display: flex; gap: 16px; align-items: center; }
.agds-kv__subhead { font-weight: 700; background: #eef2f6; }
.agds-kv__sublbl { background: #f8fafc; font-weight: 600; word-break: break-word; }
.agds-kv__subval { min-height: 1.6em; word-break: break-word; }
.agds-kv__chans { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.agds-kv__chk { white-space: nowrap; }
/* 基準1: 選択公Nの定款目的(全幅行) */
.agds-kv__teikan { background: #f8fafc; line-height: 1.4; }
.agds-kv__teikan b { margin-right: 2px; }
/* 報酬額(金額・右寄せ) */
.agds-kv__num { text-align: right; }
/* 最下部 確認欄(審査側記入・帳票のみ) */
.agds-kv__confirm { width: 100%; border-collapse: collapse; margin-top: -1px; table-layout: fixed; }
.agds-kv__confirm td { border: 1px solid #000; padding: 4px 8px; font-size: 9pt; vertical-align: middle; }
.agds-kv__cf-lbl { background: #f1f5f9; font-weight: 700; }
.agds-kv__cf-seal { text-align: center; white-space: nowrap; }
.agds-kv__cf-head { background: #f1f5f9; font-weight: 700; text-align: center; vertical-align: middle; line-height: 1.5; }
.agds-kv__cf-blank { background: #fff; }
/* A4印刷: 予算書様式と同じ作法。@page A4(用紙側に余白)・操作UI非表示・色/罫線保持・類型ごと改ページ。 */
@media print {
  .agds-bd-h3 { display: none !important; }
  /* 公益審査のシートだけをA4出力。閲覧(.agds-kv-wrap)・編集(.agds-koueki-sheet)のどちらからでも同じ体裁で出す */
  body * { visibility: hidden; }
  .agds-kv-wrap, .agds-kv-wrap *, .agds-koueki-sheet, .agds-koueki-sheet * { visibility: visible; }
  .agds-kv-wrap *, .agds-kv-wrap, .agds-koueki-sheet * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; color-adjust: exact !important; }
  .agds-sidebar, .agds-topbar, .agds-control, .agds-fab, .agds-btn, .agds-undo-fab, .agds-autosave-toast, .agds-scrim, .agds-control-fab { display: none !important; }
  /* 編集画面の操作UI(事業類型セレクトの行・追加ボタン・ヒント欄)は場所ごと除去 */
  .agds-koueki-sheeth, .agds-koueki-hintbox, [data-koueki-add], .agds-koueki-status { display: none !important; }
  .agds-koueki-sheet { margin: 0 !important; padding: 0 !important; border: 0 !important; }
  .agds-kv-wrap { width: 100%; margin: 0; padding: 0; }
  .agds-kv { max-width: none; width: 100%; margin: 0; padding: 0; box-sizing: border-box; font-size: 8.5pt; page-break-after: always; break-after: page; }  /* 余白は@page側 */
  .agds-kv:last-child { page-break-after: auto; break-after: auto; }
  .agds-kv__title { font-size: 13pt; }
  .agds-kv__subtitle { font-size: 11pt; }
  .agds-kv__meta th, .agds-kv__meta td, .agds-kv__body td { font-size: 8pt !important; padding: 2px 5px !important; line-height: 1.3 !important; }
  .agds-kv__koeki b { font-size: 10pt; }
  .agds-kv__body { page-break-inside: auto; }
  .agds-kv__body tr { page-break-inside: avoid; }
  .agds-kv__confirm td { font-size: 8pt !important; padding: 2px 5px !important; }
  .agds-kv__confirm { page-break-inside: avoid; }
}
@page { size: A4; margin: 12mm 10mm; }

/* ソース(資料)パネル */
.agds-src__drop { border: 2px dashed var(--agds-line); border-radius: 10px; padding: 14px 10px; text-align: center; color: var(--agds-sub); font-size: .82rem; }
.agds-src__drop.is-over { border-color: var(--agds-primary); background: #f3f6f9; }
.agds-src__drop span { font-size: .75rem; }
.agds-src__btns { display: flex; gap: 6px; justify-content: center; margin-top: 8px; flex-wrap: wrap; }
.agds-src__list { margin-top: 8px; }
.agds-src__item { display: flex; align-items: center; justify-content: space-between; gap: 6px; border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 8px; margin: 4px 0; cursor: grab; }
.agds-src__item:active { cursor: grabbing; }
.agds-src__nm { font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agds-src__act { display: flex; gap: 4px; flex: 0 0 auto; }
.agds-src__empty { color: var(--agds-sub); font-size: .8rem; margin: 6px 0; }
.agds-tip { position: fixed; z-index: 10001; display: none; background: rgba(17,24,39,.96); color: #fff; font-size: 11px; line-height: 1.5; padding: 4px 8px; border-radius: 6px; max-width: 360px; word-break: break-all; pointer-events: none; box-shadow: 0 2px 8px rgba(0,0,0,.25); }

/* 資料の重複添付(行ごと赤で警告) */
.agds-res-dup { background: #fdecec !important; outline: 2px solid #e03131; outline-offset: -2px; }
.agds-res-dupmsg { color: #c92a2a; font-weight: 700; font-size: .78rem; margin-bottom: 4px; }

/* 予算書: 細目 未指定の警告(細目のある科目1-9) */
.agds-bd-saiwarn { display: inline-block; margin-left: 6px; color: #c2410c; font-size: .74rem; font-weight: 700; white-space: nowrap; }
@media print { .agds-bd-saiwarn { display: none !important; } } /* プレビュー(画面)では出す・実際の印刷/PDFには出さない */

/* 更新履歴(サイドバー版数クリックで表示) */
.agds-sidebar__ver { cursor: pointer; }
.agds-sidebar__ver-i { opacity: .55; font-size: .9em; }
.agds-chlog__body { max-height: 60vh; overflow: auto; text-align: left; }
.agds-chlog__v { margin: 12px 0 2px; font-size: .9rem; color: #1e293b; }
.agds-chlog__v:first-child { margin-top: 0; }
.agds-chlog__d { margin-left: 8px; color: var(--agds-sub); font-size: .78rem; font-weight: 400; }
.agds-chlog__list { margin: 0 0 6px; padding-left: 1.2em; }
.agds-chlog__list li { font-size: .82rem; color: #334155; margin: 2px 0; line-height: 1.55; }

/* 添付済み警告(目立たせる) */
.agds-attach-warn { background: #fff3cd; border: 2px solid #f0ad4e; color: #8a5a00; border-radius: 8px; padding: 10px 12px; margin: 8px 0; font-size: .9rem; line-height: 1.6; font-weight: 600; }
.agds-attach-warn b { color: #b45309; }

/* PDFリンク選択モーダル */
.agds-pdf-modal { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.agds-pdf-modal__box { background: #fff; border-radius: 12px; width: 560px; max-width: 100%; max-height: 85vh; display: flex; flex-direction: column; padding: 16px; }
.agds-pdf-modal__h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.agds-pdf-modal__row { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; }
.agds-pdf-modal__row label { white-space: nowrap; font-size: .85rem; color: var(--agds-sub); }
.agds-pdf-modal__row input { flex: 1; border: 1px solid var(--agds-line); border-radius: 6px; padding: 6px 8px; font: inherit; }
.agds-pdf-modal__bar { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.agds-pdf-modal__note { font-size: .78rem; color: var(--agds-sub); }
.agds-pdf-modal__list { overflow: auto; border-top: 1px solid var(--agds-line); padding-top: 8px; }
.agds-pdf-grp { margin-bottom: 10px; }
.agds-pdf-grp__h { font-weight: 700; font-size: .82rem; color: var(--agds-primary); margin: 4px 0; }
.agds-pdf-item { display: block; width: 100%; text-align: left; border: 1px solid var(--agds-line); border-radius: 6px; background: #fff; padding: 7px 10px; margin: 3px 0; cursor: pointer; font: inherit; }
.agds-pdf-item:hover { background: #f3f6f9; }

/* 独自ファイルピッカー(agdsFilePicker) */
.agds-fp__drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 100%; border: 2px dashed var(--agds-line); border-radius: 10px; background: #fafbfc; padding: 18px 12px; margin-bottom: 12px; cursor: pointer; font: inherit; color: var(--agds-ink, #111); text-align: center; transition: border-color .12s, background-color .12s; }
.agds-fp__drop:hover, .agds-fp__drop.is-over { border-color: var(--agds-primary); background: #f0f7ff; }
.agds-fp__drop.is-busy { cursor: progress; border-color: var(--agds-primary); }
.agds-fp__dropico { font-size: 1.6rem; line-height: 1; }
.agds-fp__browse { color: var(--agds-primary); text-decoration: underline; }
.agds-fp__dropnote { font-size: .74rem; color: var(--agds-sub); }
.agds-fp__sub { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; font-size: .85rem; }
.agds-fp__q { flex: 0 1 220px; border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 8px; font: inherit; font-size: .82rem; }
.agds-fp__item { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; border: 1px solid var(--agds-line); border-radius: 6px; background: #fff; padding: 6px 10px; margin: 3px 0; cursor: pointer; font: inherit; }
.agds-fp__item:hover { background: #f3f6f9; }
.agds-fp__ico { flex: 0 0 auto; font-size: 1.05rem; }
.agds-fp__thumb { flex: 0 0 auto; width: 32px; height: 32px; object-fit: cover; border-radius: 4px; border: 1px solid var(--agds-line); }
.agds-fp__nm { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agds-fp__dt { flex: 0 0 auto; font-size: .74rem; color: var(--agds-sub); }
.agds-fp__pv { flex: 0 0 auto; font-size: .72rem; color: var(--agds-primary); border: 1px solid var(--agds-line); border-radius: 6px; padding: 2px 7px; white-space: nowrap; opacity: 0; transition: opacity .12s; }
.agds-fp__item:hover .agds-fp__pv { opacity: 1; }
.agds-fp__pv:hover { background: #e8f0fa; border-color: var(--agds-primary); }
.agds-fp__chk { flex: 0 0 auto; font-size: 1rem; color: var(--agds-primary); }
.agds-fp__item.is-sel { border-color: var(--agds-primary); background: #f0f7ff; }
.agds-fp__foot { display: flex; align-items: center; justify-content: flex-end; gap: 12px; border-top: 1px solid var(--agds-line); padding-top: 10px; margin-top: 8px; }
.agds-fp__cnt { font-size: .8rem; color: var(--agds-sub); }

/* 戻す/進める: ホバーでショートカット等を即時表示 */
.agds-undo-btn { position: relative; }
.agds-undo-btn[data-tip]::after { content: attr(data-tip); position: absolute; top: calc(100% + 6px); left: 0; background: rgba(17,24,39,.94); color: #fff; font-size: .72rem; line-height: 1.5; padding: 4px 9px; border-radius: 6px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .12s; z-index: 40; }
.agds-undo-btn[data-tip]:hover::after { opacity: 1; }

/* 自動保存トースト */
.agds-autosave-toast { position: fixed; right: 16px; bottom: 16px; background: rgba(17,24,39,.92); color: #fff; font-size: .8rem; padding: 8px 14px; border-radius: 8px; z-index: 9500; opacity: 0; transform: translateY(6px); transition: opacity .18s, transform .18s; pointer-events: none; }
.agds-autosave-toast.is-show { opacity: 1; transform: translateY(0); }

/* 戻す/進める FAB(左中央固定) */
.agds-undo-fab { position: fixed; left: 12px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 10px; z-index: 9000; }
.agds-undo-fab__btn { appearance: none; width: 60px; height: 60px; border-radius: 50%; background: #fff; border: 2px solid var(--agds-primary); color: var(--agds-primary); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0; font: inherit; box-shadow: 0 2px 8px rgba(0,0,0,.14); transition: background-color .12s, color .12s, transform .08s; position: relative; }
.agds-undo-fab__btn:hover:not([disabled]) { background: var(--agds-primary); color: #fff; }
.agds-undo-fab__btn:active:not([disabled]) { transform: scale(.95); }
.agds-undo-fab__btn[disabled] { opacity: .35; cursor: not-allowed; border-color: #ccc; color: #999; }
.agds-undo-fab__ico { font-size: 20px; line-height: 1; }
.agds-undo-fab__lbl { font-size: 10px; font-weight: 600; line-height: 1; }
.agds-undo-fab__count { position: absolute; top: -2px; right: -2px; background: var(--agds-key, #F83929); color: #fff; border-radius: 999px; min-width: 18px; height: 18px; padding: 0 5px; font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
@media (max-width: 1200px) { .agds-undo-fab { left: 8px; } .agds-undo-fab__btn { width: 52px; height: 52px; } }

/* 議案閲覧 本文 */
.agds-doc__body { font-size: 10pt; line-height: normal; }
.agds-doc__body p { margin-block-start: 0; margin-block-end: 0; }
.agds-doc__body table { border-collapse: collapse; }
.agds-doc__body table td, .agds-doc__body table th { border: 1px solid #000; padding: 0px 4px; }
.agds-doc__body img { max-width: 100%; height: auto; }

/* ===== 証憑OCR ===== */
.agds-ocr-launch { border-color: #93c5fd; background: #eff6ff; }
/* 無料版＝あえて地味に（グレーダウン） */
.agds-ocr-launch--free { border-color: #e5e7eb; background: #f3f4f6; }
.agds-ocr-btn--free { background: #9ca3af; color: #fff; opacity: .65; cursor: not-allowed; }
.agds-ocr-btn--free[disabled] { pointer-events: none; }
.agds-ocr-upsell { color: #6b7280; font-size: .82rem; margin: 8px 0 0; line-height: 1.6; }
.agds-ocr-upsell b { color: #4b5563; }
/* AI版＝魅力的に */
.agds-ocr-launch--ai { border-color: #c084fc; background: linear-gradient(135deg,#faf5ff,#eff6ff); }
.agds-ocr-btn--ai { background: linear-gradient(135deg,#7c3aed,#2563eb); border: none; }
.agds-ocr-tier { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .74rem; font-weight: 700; }
.agds-ocr-tier--free { background: #e5e7eb; color: #6b7280; }
.agds-ocr-tier--ai { background: linear-gradient(135deg,#7c3aed,#2563eb); color: #fff; }
.agds-ocr-modal { position: fixed; inset: 0; z-index: 9100; display: flex; align-items: center; justify-content: center; }
.agds-ocr-modal[hidden] { display: none; }
.agds-ocr-modal__bd { position: absolute; inset: 0; background: rgba(15,23,42,.45); }
.agds-ocr-modal__panel { position: relative; width: min(680px, 94vw); max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden; }
.agds-ocr-modal__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--agds-line); }
.agds-ocr-modal__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--agds-sub); padding: 2px 6px; }
.agds-ocr-modal__body { padding: 16px 18px; overflow-y: auto; }
.agds-ocr-drop { border: 2px dashed var(--agds-line); border-radius: 12px; padding: 26px 16px; text-align: center; color: var(--agds-sub); transition: .15s; }
.agds-ocr-drop.is-over { border-color: var(--agds-primary); background: #eff6ff; }
.agds-ocr-drop p { margin: 6px 0; }
.agds-ocr-hint { font-size: .75rem; }
.agds-ocr-pick { margin-top: 12px; }
.agds-ocr-filelist { list-style: none; margin: 6px 0 0; padding: 0; max-height: 240px; overflow-y: auto; border: 1px solid var(--agds-line); border-radius: 8px; }
.agds-ocr-filelist li { border-bottom: 1px solid var(--agds-line); }
.agds-ocr-filelist li:last-child { border-bottom: 0; }
.agds-ocr-filelist button { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 9px 12px; cursor: pointer; font: inherit; font-size: .9rem; }
.agds-ocr-filelist button:hover { background: #eff6ff; }
.agds-ocr-fbill { color: var(--agds-sub); font-size: .78rem; margin-left: 6px; }
.agds-ocr-prog { margin-top: 16px; }
.agds-ocr-prog__bar { height: 8px; background: #eef2f6; border-radius: 6px; overflow: hidden; }
.agds-ocr-prog__bar span { display: block; height: 100%; width: 0; background: var(--agds-primary); transition: width .2s; }
.agds-ocr-prog__txt { font-size: .82rem; color: var(--agds-sub); margin-top: 6px; }
.agds-ocr-confirm { margin-top: 8px; }
.agds-ocr-q { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; border-radius: 8px; padding: 8px 12px; font-size: .9rem; }
.agds-ocr-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.agds-ocr-row label { flex: none; width: 9em; font-size: .85rem; color: var(--agds-sub); }
.agds-ocr-row input { flex: 1; border: 1px solid var(--agds-line); border-radius: 8px; padding: 7px 9px; font: inherit; font-size: .92rem; }
.agds-ocr-row--area { align-items: flex-start; }
.agds-ocr-row--area textarea { flex: 1; border: 1px solid var(--agds-line); border-radius: 8px; padding: 7px 9px; font: inherit; font-size: .88rem; resize: vertical; }
.agds-ocr-rhint { font-size: .75rem; color: #b45309; }
.agds-ocr-method { font-size: .82rem; color: var(--agds-sub); margin-bottom: 8px; }
.agds-ocr-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: .76rem; font-weight: 700; }
.agds-ocr-badge--ok { background: #dcfce7; color: #166534; }
.agds-ocr-badge--ocr { background: #fef3c7; color: #92400e; }
.agds-ocr-sub { font-weight: 700; font-size: .85rem; color: var(--agds-primary); margin: 14px 0 6px; border-bottom: 1px solid var(--agds-line); padding-bottom: 4px; }
.agds-ocr-items { width: 100%; border-collapse: collapse; font-size: .88rem; }
.agds-ocr-items th { text-align: left; font-size: .78rem; color: var(--agds-sub); padding: 2px 4px; }
.agds-ocr-items td { padding: 2px 4px; }
.agds-ocr-items input { width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 7px; font: inherit; font-size: .88rem; }
.agds-ocr-iamt { text-align: right; }
.agds-ocr-idel { border: none; background: none; color: #b91c1c; font-size: 1.1rem; cursor: pointer; line-height: 1; }
.agds-ocr-raw { margin: 10px 0; }
.agds-ocr-raw summary { cursor: pointer; font-size: .82rem; color: var(--agds-primary); }
.agds-ocr-raw pre { white-space: pre-wrap; word-break: break-word; font-size: .8rem; background: #f8fafc; border: 1px solid var(--agds-line); border-radius: 8px; padding: 10px; max-height: 240px; overflow: auto; }
.agds-ocr-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.agds-ocr-note { color: var(--agds-sub); font-size: .75rem; margin: 8px 0 0; }

/* ===== 講師承諾書 プレビュー＋編集ポップアップ ===== */
.agds-lec-preview { border: 1px solid var(--agds-line); border-radius: 10px; padding: 10px; margin-bottom: 14px; background: #fff; }
.agds-lec-preview__bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 4px 8px; border-bottom: 1px dashed var(--agds-line); margin-bottom: 8px; }
/* 背景を塞がないフローティング入力ウィンドウ(承諾書を見ながら・ドラッグ移動可) */
.agds-lec-modal { position: fixed; inset: 0; z-index: 9300; pointer-events: none; }
.agds-lec-modal[hidden] { display: none; }
.agds-lec-modal__bd { display: none; }
.agds-lec-modal__panel { position: fixed; pointer-events: auto; width: min(720px, 94vw); max-height: 86vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.38); overflow: hidden; }
/* モーダル内のグリッドはビューポートでなくパネル幅に合わせて列数を自動調整(右見切れ防止) */
.agds-lec-modal__body .agds-lec-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.agds-lec-modal__head { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; background: #1f2937; color: #fff; cursor: move; user-select: none; }
.agds-lec-modal__head strong { font-size: .95rem; }
.agds-lec-modal__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: #fff; }
.agds-lec-modal__body { padding: 14px 16px; overflow-y: auto; }
.agds-lec-modal__foot { padding: 12px 16px; border-top: 1px solid var(--agds-line); text-align: right; background: #f8fafc; }

/* ===== 規則様式（コンプライアンス） ===== */
.agds-cmpl-flow h3 { font-size: 1.05rem; }
.agds-cmpl-must { background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; }
.agds-cmpl-h { font-weight: 700; color: #991b1b; margin: 0 0 6px; }
.agds-cmpl-must p, .agds-cmpl-cond p { margin: 4px 0; font-size: .92rem; }
.agds-cmpl-q { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; }
.agds-cmpl-sub { color: var(--agds-sub); font-size: .82rem; }
.agds-cmpl-cond p { padding-left: 4px; }
.agds-cmpl-badge { display: inline-block; font-size: .72rem; font-weight: 700; background: #e5e7eb; color: #4b5563; border-radius: 999px; padding: 2px 8px; margin-left: 6px; }
.agds-cmpl-badge--w { background: #ddd6fe; color: #5b21b6; }
.agds-cmpl-warn { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; border-radius: 8px; padding: 8px 12px; font-size: .85rem; margin: 0 0 10px; }
.agds-cmpl-entry { border: 1px solid var(--agds-line); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; background: #fcfcfd; }
.agds-cmpl-entry__head { display: flex; justify-content: space-between; align-items: center; color: var(--agds-sub); font-size: .82rem; margin-bottom: 6px; }
.agds-cmpl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.agds-cmpl-field { display: flex; flex-direction: column; font-size: .82rem; color: var(--agds-sub); }
.agds-cmpl-field--full { grid-column: 1 / -1; }
.agds-cmpl-field input, .agds-cmpl-field textarea { border: 1px solid var(--agds-line); border-radius: 8px; padding: 7px 9px; font: inherit; font-size: .92rem; color: #111; margin-top: 2px; }
.agds-cmpl-num { text-align: right; }
.agds-cmpl-lock { background: #eceff1 !important; color: #5f6368 !important; cursor: not-allowed; }
.agds-lockhint { color: #9aa0a6; font-style: normal; font-size: .72rem; }
/* チェックシート ウィザード */
.agds-cs-modal { position: fixed; inset: 0; z-index: 9300; display: flex; align-items: center; justify-content: center; }
.agds-cs-modal[hidden] { display: none; }
.agds-cs-modal__bd { position: absolute; inset: 0; background: rgba(15,23,42,.45); }
.agds-cs-modal__panel { position: relative; width: min(640px, 94vw); max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden; }
.agds-cs-modal__head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--agds-line); }
.agds-cs-modal__head strong { flex: 1; }
.agds-cs-modal__head [data-cs-prog] { color: var(--agds-sub); font-size: .82rem; }
.agds-cs-modal__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--agds-sub); }
.agds-cs-modal__body { padding: 16px 18px; overflow-y: auto; }
.agds-cs-modal__foot { display: flex; justify-content: space-between; padding: 12px 16px; border-top: 1px solid var(--agds-line); background: #f8fafc; }
.agds-cs-sec { font-size: .78rem; color: var(--agds-primary); font-weight: 700; margin-bottom: 4px; }
.agds-cs-q { font-size: 1rem; font-weight: 600; margin-bottom: 12px; }
.agds-cs-opt { display: flex; gap: 8px; align-items: flex-start; border: 1px solid var(--agds-line); border-radius: 8px; padding: 9px 11px; margin-bottom: 6px; cursor: pointer; font-size: .92rem; }
.agds-cs-opt.is-on { border-color: var(--agds-primary); background: #eff6ff; }
.agds-cs-result { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; border-radius: 8px; padding: 7px 11px; margin: -2px 0 8px 22px; font-size: .85rem; }
.agds-cs-summary { border: 1px solid var(--agds-line); border-radius: 8px; padding: 10px 12px; background: #fcfcfd; }
.agds-cs-summary__h { font-weight: 700; margin-bottom: 6px; }
.agds-cs-summary ul { margin: 0; padding-left: 18px; }
.agds-cs-summary li { margin: 5px 0; font-size: .88rem; }
.agds-cs-sumres { color: #065f46; font-size: .82rem; }
@media (max-width: 750px) { .agds-cmpl-grid { grid-template-columns: 1fr; } }
/* 受付表 */
.agds-uk-head { width: 100%; border-collapse: collapse; font-size: .88rem; margin-bottom: 12px; }
.agds-uk-head th, .agds-uk-head td { border: 1px solid var(--agds-line); padding: 6px 8px; text-align: left; vertical-align: middle; }
.agds-uk-head th { background: #f5f7f9; white-space: nowrap; width: 1%; color: var(--agds-sub); font-weight: 600; }
.agds-uk-head input[type="text"] { width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 5px 7px; font: inherit; }
.agds-uk-head input[type="date"] { border: 1px solid var(--agds-line); border-radius: 6px; padding: 4px 6px; font: inherit; }
.agds-uk-sec { border: 1px solid var(--agds-line); border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; }
.agds-uk-sec__h { font-weight: 700; color: var(--agds-primary); margin-bottom: 6px; }
.agds-uk-chk { display: inline-flex; align-items: center; gap: 5px; font-size: .9rem; }
.agds-uk-row { padding: 3px 0; }
.agds-uk-row .agds-uk-chk { margin-right: 6px; }
.agds-uk-sub { padding: 4px 0 4px 22px; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.agds-uk-cnt input { text-align: right; }
.agds-uk-row input[type="text"] { border: 1px solid var(--agds-line); border-radius: 6px; padding: 4px 7px; font: inherit; min-width: 12em; }
.agds-uk-ta { display: block; font-size: .85rem; color: var(--agds-sub); margin-bottom: 6px; }
.agds-uk-ta textarea { width: 100%; border: 1px solid var(--agds-line); border-radius: 6px; padding: 6px 8px; font: inherit; color: #111; }
.agds-uk-note { color: var(--agds-sub); font-size: .78rem; margin: 6px 0 0; }

/* ===== 議案 新規作成ポップアップ ===== */
.agds-nb-modal { position: fixed; inset: 0; z-index: 9200; display: flex; align-items: center; justify-content: center; }
.agds-nb-modal[hidden] { display: none; }
.agds-nb-modal__bd { position: absolute; inset: 0; background: rgba(15,23,42,.45); }
.agds-nb-modal__panel { position: relative; width: min(560px, 94vw); max-height: 90vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden; }
.agds-nb-modal__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--agds-line); }
.agds-nb-modal__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--agds-sub); padding: 2px 6px; }
.agds-nb-modal__body { padding: 16px 18px; overflow-y: auto; }
.agds-nb-row { margin-bottom: 12px; }
.agds-nb-row > label:first-child { display: block; font-size: .85rem; color: var(--agds-sub); margin-bottom: 4px; }
.agds-nb-row input[type="text"], .agds-nb-row select { width: 100%; border: 1px solid var(--agds-line); border-radius: 8px; padding: 8px 10px; font: inherit; }
.agds-nb-modal__foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; border-top: 1px solid var(--agds-line); padding-top: 14px; }

/* ===== 添付ファイル フローティングプレビュー（背景を塞がない＝右の意見/質問も操作可・ドラッグ移動可） ===== */
.agds-attach-viewer { position: fixed; z-index: 9000; width: min(640px, 80vw); background: #fff; border: 1px solid var(--agds-line); border-radius: 10px; overflow: hidden; box-shadow: 0 16px 50px rgba(0,0,0,.35); display: flex; flex-direction: column; }
.agds-attach-viewer[hidden] { display: none; }
.agds-attach-viewer__bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; background: #1f2937; color: #fff; cursor: move; user-select: none; }
.agds-attach-viewer__name { font-weight: 600; font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agds-attach-viewer__act { display: flex; gap: 12px; align-items: center; white-space: nowrap; }
.agds-attach-viewer__act a { font-size: .82rem; color: #cfe0ff; }
.agds-attach-viewer__act button { border: none; background: none; cursor: pointer; color: #fff; font-size: .85rem; }
.agds-attach-viewer iframe { width: 100%; height: 70vh; border: 0; display: block; background: #fff; }
.agds-attach-viewer__rsz { height: 14px; cursor: ns-resize; background: #f0f2f5; border-top: 1px solid var(--agds-line); text-align: center; color: #9aa0a6; font-size: .7rem; line-height: 14px; }
.agds-attach-viewer__corner { position: absolute; right: 0; bottom: 0; width: 18px; height: 18px; cursor: nwse-resize; background: linear-gradient(135deg, transparent 45%, #9aa0a6 45%, #9aa0a6 55%, transparent 55%, transparent 70%, #9aa0a6 70%, #9aa0a6 80%, transparent 80%); z-index: 3; }
.agds-res-ext { text-decoration: none; font-size: .9rem; }

/* ===== 質問と回答(Q&A)ポップアップ ===== */
/* 資料ポップアップと同様の「可動フロート」: 背景を暗くせず塞がない(意見欄も入力可)。ヘッダードラッグで移動・左右下は画面外OK。 */
.agds-qmodal { position: fixed; inset: 0; z-index: 9000; pointer-events: none; }
.agds-qmodal[hidden] { display: none; }
.agds-qmodal__backdrop { display: none; } /* 背景を塞がない(グレーダウンしない) */
.agds-qmodal__panel { position: fixed; top: 24px; left: 0; right: 0; margin: 0 auto; pointer-events: auto;
  width: min(640px, 92vw); max-height: 86vh; display: flex; flex-direction: column;
  background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.4); overflow: hidden; }
.agds-qmodal__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--agds-line); background: #f8fafc; cursor: move; user-select: none; }
.agds-qmodal__head strong { font-size: 1.05rem; }
.agds-qmodal__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--agds-sub); padding: 2px 6px; }
.agds-qmodal__x:hover { color: #111; }
.agds-qmodal__list { padding: 14px 18px; overflow-y: auto; flex: 1; }
.agds-q-empty { color: var(--agds-sub); font-size: .9rem; text-align: center; padding: 24px 0; }
/* 質問と回答: 諸会議ごとのグループ見出し(意見対応と同じ会議単位の見え方) */
.agds-q-group { margin-bottom: 14px; }
.agds-q-grouphd { font-size: .82rem; font-weight: 700; color: var(--agds-primary); background: #eef4fb; border-radius: 6px; padding: 5px 10px; margin-bottom: 8px; }
.agds-q-item { border: 1px solid var(--agds-line); border-radius: 10px; padding: 12px 14px; margin-bottom: 12px; background: #fcfcfd; }
/* 質問と回答はオンライン閲覧のみ。PDF/印刷には出さない */
@media print { .agds-qmodal, [data-q-open] { display: none !important; } }
.agds-q-row { display: flex; gap: 10px; align-items: flex-start; }
.agds-q-row--a { margin-top: 10px; }
.agds-q-badge { flex: none; width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .8rem; background: #e0e7ff; color: #3730a3; }
.agds-q-badge--a { background: #dcfce7; color: #166534; }
.agds-q-main { flex: 1; min-width: 0; }
.agds-q-text { white-space: pre-wrap; word-break: break-word; font-size: .92rem; line-height: 1.6; }
.agds-q-meta { color: var(--agds-sub); font-size: .75rem; margin-top: 3px; }
.agds-q-pending { margin-top: 8px; margin-left: 34px; color: #b45309; font-size: .8rem; font-weight: 600; }
.agds-q-ansform { margin-top: 10px; margin-left: 34px; }
.agds-q-ansform textarea { width: 100%; border: 1px solid var(--agds-line); border-radius: 8px; padding: 7px 9px; font: inherit; font-size: .9rem; resize: vertical; }
.agds-q-ansform button { margin-top: 6px; }
.agds-qmodal__foot { padding: 14px 18px; border-top: 1px solid var(--agds-line); background: #f8fafc; }
.agds-qmodal__foot textarea { width: 100%; border: 1px solid var(--agds-line); border-radius: 8px; padding: 8px 10px; font: inherit; font-size: .92rem; resize: vertical; margin-bottom: 8px; }
.agds-q-note { color: var(--agds-sub); font-size: .75rem; margin: 6px 0 0; }
.agds-q-closed { padding: 14px 18px; border-top: 1px solid var(--agds-line); color: var(--agds-sub); font-size: .85rem; margin: 0; }

/* ===== 意見/対応 リッチ入力(審議資料方式) ===== */
.agds-fbrich{display:block;}
.agds-fbrich__ed{display:block;min-height:2.2em;padding:.4em .6em;border:1px solid #cbd5e1;border-radius:6px;background:#fff;line-height:1.6;outline:none;}
.agds-fbrich__ed:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15);}
.agds-fbrich__ed:empty:before{content:attr(data-ph);color:#9aa3af;}
.agds-fbrich__ed a{color:#1d4ed8;text-decoration:underline;}
.agds-fbrich-bar{position:absolute;z-index:9999;display:none;gap:2px;padding:3px;background:#1f2937;border-radius:7px;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.agds-fbrich-bar button{min-width:30px;height:28px;padding:0 7px;border:0;border-radius:5px;background:#374151;color:#fff;font-size:13px;line-height:1;cursor:pointer;}
.agds-fbrich-bar button:hover{background:#4b5563;}

/* ===== サイドバー: AI機能トグル＋使用量ゲージ ===== */
.agds-sidebar__ai{margin:10px 14px 4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);}
.agds-ai-toggleform{margin:0 0 8px;}
.agds-ai-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.04);color:#e5e7eb;cursor:pointer;font-size:.82rem;}
.agds-ai-toggle:hover{background:rgba(255,255,255,.09);}
.agds-ai-toggle__sw{position:relative;flex:0 0 auto;width:34px;height:18px;border-radius:999px;background:#4b5563;transition:background .15s;}
.agds-ai-toggle__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s;}
.agds-ai-toggle.is-on .agds-ai-toggle__sw{background:#22c55e;}
.agds-ai-toggle.is-on .agds-ai-toggle__knob{left:18px;}
.agds-ai-toggle__lbl b{font-weight:700;}
.agds-ai-toggle.is-on .agds-ai-toggle__lbl b{color:#86efac;}
.agds-ai-state{font-size:.82rem;color:#cbd5e1;margin-bottom:8px;}
.agds-coedit-toggleform{margin-top:6px;}
.agds-coedit-locked{display:flex;align-items:center;gap:6px;}
.agds-coedit-opt{font-size:.66rem;background:#475569;color:#e2e8f0;border-radius:9px;padding:1px 7px;}
.agds-coedit-badge{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:#334155;background:#f1f5f9;border:1px solid var(--agds-line);border-radius:999px;padding:5px 12px;margin-bottom:8px;}
.agds-coedit-badge .agds-coedit-dot{width:9px;height:9px;border-radius:50%;background:#cbd5e1;}
.agds-coedit-badge.is-on{color:#166534;background:#f0fdf4;border-color:#86efac;}
.agds-coedit-badge.is-on .agds-coedit-dot{background:#22c55e;}
.agds-coedit-badge [data-co-peers]{color:#64748b;font-weight:400;font-size:.78rem;}
/* 同時編集: セル(=セクション)ソフトロック */
.agds-cell-locked{position:relative;background:#fff7ed;outline:2px solid #fdba74;outline-offset:-2px;}
.agds-cell-lockbadge{position:absolute;top:2px;right:2px;z-index:5;font-size:.68rem;font-weight:700;color:#9a3412;background:#ffedd5;border:1px solid #fdba74;border-radius:999px;padding:1px 8px;pointer-events:none;white-space:nowrap;}
.agds-form-locked{opacity:.7;}
.agds-form-locked .mce-content-body,.agds-form-locked .tox-tinymce{filter:grayscale(.15);}
.agds-ai-gauge__head{display:flex;justify-content:space-between;font-size:.72rem;color:#9aa3af;margin-bottom:3px;}
.agds-ai-gauge__bar{height:6px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;}
.agds-ai-gauge__bar>span{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#6366f1);border-radius:999px;}

/* ===== 見積書アップロード(→様式3 AI割り振り・ステップ1) ===== */
.agds-estup{border:1px solid #c7d2fe;background:#f5f7ff;}
.agds-estup__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.agds-estup__title{font-weight:700;display:inline-flex;align-items:center;gap:8px;}
.agds-estup__note{color:var(--agds-sub);font-size:.82rem;margin:6px 0 8px;}
.agds-estup__list{display:flex;flex-wrap:wrap;gap:8px;}
.agds-estup__empty{color:var(--agds-sub);font-size:.82rem;margin:0;}
.agds-estup__item{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--agds-line);border-radius:8px;padding:5px 6px 5px 5px;}
.agds-estup__file{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:inherit;max-width:240px;}
.agds-estup__file img{width:34px;height:34px;object-fit:cover;border-radius:5px;display:block;}
.agds-estup__ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;background:#eef2f7;color:#64748b;font-size:.62rem;font-weight:700;}
.agds-estup__name{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.agds-estup__foot{margin-top:10px;}

/* 見積書AI接続テストの結果表示 */
.agds-estup__foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.agds-estup__warn{color:#b45309;font-size:.8rem;}
.agds-estup__result{margin-top:10px;background:#fff;border:1px solid var(--agds-line);border-radius:8px;padding:10px;}
.agds-estup__muted{color:var(--agds-sub);font-size:.85rem;}
.agds-estup__ok{color:#166534;font-size:.85rem;margin-bottom:8px;}
.agds-estup__err{color:#b91c1c;font-size:.85rem;margin-bottom:6px;}
.agds-estup__raw{max-height:200px;overflow:auto;background:#0f172a;color:#e2e8f0;font-size:.72rem;padding:8px;border-radius:6px;white-space:pre-wrap;}
.agds-estup__tbl{width:100%;border-collapse:collapse;font-size:.82rem;}
.agds-estup__tbl th,.agds-estup__tbl td{border:1px solid var(--agds-line);padding:4px 7px;text-align:left;}
.agds-estup__tbl thead{background:#f5f7f9;}
.agds-estup__tbl--edit input,.agds-estup__tbl--edit select{width:100%;box-sizing:border-box;font-size:.8rem;padding:2px 4px;}
.agds-estup__tbl--edit .agds-estup__aikmk{color:#64748b;font-size:.76rem;}
.agds-estup__cfoot{margin-top:10px;display:flex;gap:8px;align-items:center;}
.agds-estup__vendor{margin:8px 0;padding:8px 10px;border:1px solid var(--agds-line);border-radius:6px;background:#f8fafc;}
.agds-estup__vendor-t{font-size:.78rem;font-weight:700;color:#334155;margin-bottom:6px;}
.agds-estup__vrow{display:flex;flex-wrap:wrap;gap:8px;}
.agds-estup__vrow label{display:flex;flex-direction:column;font-size:.72rem;color:#64748b;gap:2px;flex:1 1 120px;}
.agds-estup__vrow input{font-size:.8rem;padding:2px 4px;}
/* 見積書ファイル ビューア(ポップアップ) */
.agds-filemodal{position:fixed;inset:0;z-index:9000;}
.agds-filemodal[hidden]{display:none;}
.agds-filemodal__bd{position:absolute;inset:0;background:rgba(15,23,42,.55);}
.agds-filemodal__panel{position:absolute;top:3vh;left:50%;transform:translateX(-50%);width:min(900px,94vw);height:92vh;background:#fff;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden;}
.agds-filemodal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--agds-line);background:#f8fafc;}
.agds-filemodal__head strong{font-size:.86rem;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.agds-filemodal__act{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.agds-filemodal__x{border:0;background:transparent;font-size:1.3rem;line-height:1;cursor:pointer;color:#475569;padding:0 4px;}
.agds-filemodal__body{flex:1 1 auto;overflow:auto;background:#525659;display:flex;}
.agds-filemodal__body iframe{flex:1 1 auto;width:100%;height:100%;border:0;}
.agds-filemodal__body img{margin:auto;max-width:100%;max-height:100%;object-fit:contain;}
.agds-bd-enocell{white-space:nowrap;}
.agds-bd-enolink{text-decoration:none;margin-left:3px;cursor:pointer;}

.agds-cmpl-savehint{font-size:.76rem;color:#b45309;margin-left:8px;}

/* 承諾書 ポップアップ編集 */
.agds-cmpl-entry__head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.agds-cmpl-entry__act{display:flex;gap:8px;align-items:center;}
.agds-cmpl-entry--doc .agds-cmpl-doc__label{display:none;}
/* 承諾書/公益 編集ポップアップ = 背景を塞がない可動フロート(ヘッダードラッグで移動・左右下は画面外へ越えられる) */
.agds-cmpl-editbox{position:fixed;inset:0;z-index:9000;pointer-events:none;background:transparent;overflow:visible;padding:0;}
.agds-cmpl-editpanel{position:fixed;top:24px;left:0;right:0;margin:0 auto;pointer-events:auto;background:#fff;max-width:720px;width:min(720px,94vw);max-height:88vh;display:flex;flex-direction:column;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.4);overflow:hidden;}
.agds-cmpl-edithead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--agds-line);background:#f8fafc;font-size:.95rem;cursor:move;user-select:none;flex:0 0 auto;}
.agds-cmpl-editx{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#475569;padding:0 4px;}
.agds-cmpl-editpanel .agds-cmpl-grid,.agds-cmpl-editpanel .agds-koueki-body{padding:16px;flex:1 1 auto;overflow:auto;}
.agds-cmpl-editfoot{padding:10px 14px;border-top:1px solid var(--agds-line);text-align:right;background:#fff;flex:0 0 auto;}

/* ============================================================
 * 公益目的事業審査シート 追加分 (assets/css/main.css)
 * 既存 .agds-kv* 群の末尾(.agds-kv__chk 定義付近)に追記する。
 * モーダル枠は既存 .agds-cmpl-edit*(main.css L1608-1613)を同名流用するため再定義しない。
 * ============================================================ */

/* --- 帳票(.agds-kv)側 --- */
/* 基準1: 選択公Nの定款目的(全幅行) */
.agds-kv__teikan { background: #f8fafc; line-height: 1.4; }
.agds-kv__teikan b { margin-right: 2px; }
/* 報酬額(金額・右寄せ) */
.agds-kv__num { text-align: right; }
/* 最下部 確認欄(審査側記入・帳票のみ) */
.agds-kv__confirm { width: 100%; border-collapse: collapse; margin-top: -1px; table-layout: fixed; }
.agds-kv__confirm td { border: 1px solid #000; padding: 4px 8px; font-size: 9pt; vertical-align: middle; }
.agds-kv__cf-lbl { background: #f1f5f9; font-weight: 700; }
.agds-kv__cf-seal { text-align: center; white-space: nowrap; }
.agds-kv__cf-head { background: #f1f5f9; font-weight: 700; text-align: center; vertical-align: middle; line-height: 1.5; }
.agds-kv__cf-blank { background: #fff; }

/* --- プレビュー主体エディタ(承諾書パターン移植)側 --- */
/* 1シート=1エントリー。ヘッダ(✎/複製/✕)＋隠しモーダル＋プレビュー(.agds-kv)を縦に積む */
.agds-koueki-entry { margin-bottom: 22px; }
.agds-koueki-entry:last-child { margin-bottom: 0; }
.agds-koueki-type-label { color: var(--agds-sub); font-size: .85rem; margin-left: 8px; }
/* プレビュー枠(AJAX差し替え中は refreshDoc が opacity を制御) */
.agds-koueki-doc { margin-top: 8px; transition: opacity .15s ease; }
/* モーダル内カード本体の余白(承諾書 .agds-cmpl-grid の padding:16px に倣う) */
.agds-cmpl-editpanel .agds-koueki-body { padding: 14px; }

/* --- 印刷調整 --- */
/* 既存の @media print { ... } ブロック末尾(.agds-kv__body 系の直後)に追記する */
@media print {
  .agds-kv__confirm td { font-size: 8pt !important; padding: 2px 5px !important; }
  .agds-kv__confirm { page-break-inside: avoid; }
  /* 印刷はプレビュー(.agds-kv)のみ。編集ヘッダ/モーダルは出さない */
  .agds-koueki-cardh, .agds-cmpl-editbox { display: none !important; }
  .agds-koueki-entry { page-break-inside: avoid; }
}
/* 在席プレゼンス(誰がこの画面を見ているか・アバター) */
.agds-presence { position: fixed; top: 8px; right: 12px; z-index: 8000; display: flex; align-items: center; gap: 2px; background: rgba(255,255,255,.96); border: 1px solid var(--agds-line); border-radius: 999px; padding: 3px 10px 3px 12px; box-shadow: 0 2px 10px rgba(0,0,0,.14); font-size: .78rem; }
.agds-presence__lbl { color: var(--agds-sub); margin-right: 6px; white-space: nowrap; }
.agds-presence__av { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; font-size: .7rem; font-weight: 700; margin-left: -6px; border: 2px solid #fff; box-sizing: border-box; }
.agds-presence__av:first-of-type { margin-left: 0; }
@media (max-width: 750px) { .agds-presence__lbl { display: none; } }

/* 議案マーク(議事次第の コ/財/Ｐ 等) */
.agds-agenda__marks { white-space: nowrap; text-align: center; font-size: 11px; }
.agds-mark { display: inline-block; min-width: 2.1em; padding: 0 1px; color: #b0b8c4; font-weight: 400; }
.agds-mark.is-on { color: #1e293b; font-weight: 700; }
button.agds-mark { border: 0; background: transparent; cursor: pointer; border-radius: 4px; line-height: 1.6; }
button.agds-mark:hover { background: #eef2f7; }

/* 議案編集 コンパクトツールバー(戻す/進める・同時編集バッジをインライン化。左の浮きFAB廃止) */
.agds-bill-toolbar { font-size: .9rem; }
.agds-undo-btn { font-size: .95rem; line-height: 1.2; }
.agds-undo-btn[disabled] { opacity: .4; }
.agds-undo-btn .agds-undo-fab__count { position: static; display: inline-block; min-width: auto; width: auto; height: auto; margin: 0; padding: 0 2px; background: transparent; color: inherit; font-size: .82rem; font-weight: 700; box-shadow: none; border: 0; }
.agds-bill-toolbar .agds-coedit-badge { position: static; margin: 0; padding: 2px 9px; font-size: .78rem; }
/* オフライン下書き: 復元バナー(情報)＋オフライン表示バー(警告)＋エディタ未読込注意 */
.agds-offline-restore { border-color: #93c5fd; background: #eff6ff; color: #1e3a8a; }
.agds-offline-bar { border-color: #fcd34d; background: #fffbeb; color: #92400e; font-weight: 600; position: sticky; top: 0; z-index: 25; }
.agds-offline-noeditor { border-color: #fca5a5; background: #fef2f2; color: #991b1b; }
.agds-offline-noeditor code { background: rgba(0,0,0,.06); padding: 0 4px; border-radius: 3px; font-size: .9em; }
/* オフライン差分確認モーダル */
.agds-off-modal { position: fixed; inset: 0; z-index: 9400; display: flex; align-items: center; justify-content: center; }
.agds-off-modal__bd { position: absolute; inset: 0; background: rgba(15,23,42,.45); }
.agds-off-modal__panel { position: relative; width: min(860px, 94vw); max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden; }
.agds-off-modal__head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--agds-line); }
.agds-off-modal__head b { flex: 1; }
.agds-off-modal__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--agds-sub); }
.agds-off-modal__body { padding: 14px 16px; overflow-y: auto; }
.agds-off-modal__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--agds-line); background: #f8fafc; }
.agds-off-diff { border: 1px solid var(--agds-line); border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; }
.agds-off-diff__h { display: flex; gap: 7px; align-items: center; margin-bottom: 8px; cursor: pointer; }
.agds-off-diff__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 640px) { .agds-off-diff__cols { grid-template-columns: 1fr; } }
.agds-off-diff__lbl { font-size: .72rem; color: var(--agds-sub); margin-bottom: 3px; }
.agds-off-diff__box { border: 1px solid var(--agds-line); border-radius: 6px; padding: 7px 9px; background: #fafafa; max-height: 200px; overflow: auto; font-size: .85rem; word-break: break-word; }
.agds-off-diff__box--off { background: #eff6ff; border-color: #93c5fd; }
.agds-off-diff__box table { border-collapse: collapse; }
.agds-off-diff__box td, .agds-off-diff__box th { border: 1px solid #ccc; padding: 2px 4px; }

/* 現在地チップ: 今開いている書類(本文/予算書/規則様式/公益審査)を非リンクで強調 */
.agds-btn--active { background: #334155; color: #fff; border-color: #334155; font-weight: 700; cursor: default; pointer-events: none; }
.agds-btn--active:hover { background: #334155 !important; color: #fff !important; border-color: #334155; filter: none; }
@media print { .agds-bill-toolbar { display: none !important; } }

/* 同時編集: ブロック単位ソフトロックのオーバーレイ(他者が編集中は操作を止める) */
.agds-co-lockov { position: absolute; inset: 0; z-index: 30; background: rgba(148,163,184,.14); border: 2px solid #f59e0b; border-radius: 6px; display: flex; align-items: flex-start; justify-content: flex-end; pointer-events: auto; cursor: not-allowed; }
.agds-co-lockov > span { margin: 6px; background: #fffbeb; color: #92400e; border: 1px solid #fcd34d; border-radius: 999px; padding: 2px 10px; font-size: .78rem; font-weight: 700; box-shadow: 0 1px 4px rgba(0,0,0,.12); }

/* 公益目的事業審査シート: A4外枠(講師承諾書のような印刷体裁) + ラベルセルを実物どおりグレーに */
.agds-kv { background: #fff; border: 1px solid #999; box-shadow: 0 2px 12px rgba(0,0,0,.15); padding: 12mm; box-sizing: border-box; max-width: 200mm; }
.agds-kv__meta th, .agds-kv__qno, .agds-kv__subhead, .agds-kv__cf-lbl { background: #d9dde3 !important; }
.agds-kv__side, .agds-kv__cf-head { background: #ced3da !important; }
.agds-kv__q { background: #eceef2 !important; }
.agds-kv__sublbl, .agds-kv__teikan { background: #e4e8ec !important; }
.agds-kv__org { text-align: right; margin-top: 10px; font-size: 10pt; font-weight: 600; letter-spacing: .04em; }
@media print { .agds-kv { border: 0; box-shadow: none; padding: 6mm 4mm; } }

/* 公益シート インライン編集(帳票の白い欄を直接編集・ポップアップ廃止) */
.agds-koueki-sheet { margin-bottom: 24px; }
.agds-koueki-sheeth { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; padding: 6px 10px; background: #eef2f7; border: 1px solid var(--agds-line); border-radius: 8px; }
.agds-koueki-selwrap { font-size: .92rem; font-weight: 700; }
.agds-koueki-selwrap select { font: inherit; padding: 3px 6px; }
.agds-koueki-sheetacts { margin-left: auto; display: flex; gap: 6px; }
.agds-kv__cell { min-height: 1.6em; outline: none; cursor: text; border-radius: 3px; }
.agds-kv__cell:hover { background: #fffdf0; }
.agds-kv__cell:focus { background: #fffbe6; box-shadow: inset 0 0 0 2px #93c5fd; }
.agds-kv__cell:empty:before { content: 'クリックして入力'; color: #b6bdc7; }
.agds-kv__cellin { width: 94%; border: 1px solid var(--agds-line); border-radius: 4px; padding: 2px 6px; font: inherit; text-align: right; }
.agds-kv__chother { border: 0; border-bottom: 1px solid #888; padding: 0 2px; font: inherit; min-width: 9em; }
.agds-kv__koeki-sel { font-size: 11pt; font-weight: 700; border: 1px solid #888; border-radius: 3px; }
.agds-koueki-sheet .agds-kv__subval { background: #fff; }
.agds-koueki-hintbox { font-size: .82rem; line-height: 1.6; color: #334155; background: #fffbe6; border: 1px solid #fde68a; border-radius: 6px; padding: 8px 10px; min-height: 3em; }
@media print { .agds-koueki-sheeth { display: none !important; } }

.agds-kv__datein { font: inherit; border: 1px solid var(--agds-line); border-radius: 4px; padding: 2px 5px; }

/* 公益 告知方法の「その他（）」= 折り返して伸びる入力欄 */
.agds-kv__chk--other { flex-basis: 100%; }
.agds-kv__chother { display: inline-block; min-width: 9em; max-width: 100%; border: 0; border-bottom: 1px solid #888; padding: 0 3px; font: inherit; white-space: pre-wrap; word-break: break-word; vertical-align: bottom; outline: none; }
.agds-kv__chother:focus { background: #fffbe6; }
.agds-kv__chother:empty:before { content: '内容を記入'; color: #b6bdc7; }

.agds-koueki-status { font-size: .82rem; color: var(--agds-sub); min-width: 8em; text-align: right; }
.agds-koueki-status.ok { color: #166534; }
.agds-koueki-status.err { color: #b91c1c; font-weight: 700; }

/* 公益: 番号ボックスは source では設問文より前(PDFのfloat回り込み用)。Web/編集は flex order で右へ。 */
.agds-kv__koeki { order: 2; }

/* ===== 事業チャット(💬ドロワー) — 社内システムのチャットと同じ操作感 ===== */
.agds-chat-fab { position: fixed; right: 24px; bottom: 92px; z-index: 8900; display: inline-flex; align-items: center; gap: 7px;
  background: #1e293b; color: #fff; border: none; border-radius: 999px; padding: 11px 18px; font-size: .92rem; font-weight: 700;
  box-shadow: 0 8px 24px rgba(0,0,0,.28); cursor: pointer; }
.agds-chat-fab:hover { background: #0f172a; }
.agds-chat-fab__badge { background: #ef4444; color: #fff; border-radius: 999px; min-width: 20px; height: 20px; line-height: 20px; text-align: center; font-size: .74rem; padding: 0 5px; }
.agds-chat-drawer { position: fixed; inset: 0; z-index: 9200; pointer-events: none; }
.agds-chat-drawer[hidden] { display: none; }
.agds-chat-drawer__panel { position: absolute; top: 0; right: 0; height: 100%; width: min(430px, 96vw); pointer-events: auto;
  background: #fff; box-shadow: -14px 0 44px rgba(0,0,0,.28); display: flex; flex-direction: column; }
.agds-chat-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--agds-line); background: #f8fafc; }
.agds-chat-drawer__title { font-weight: 700; font-size: .98rem; display: flex; align-items: center; gap: 8px; min-width: 0; }
.agds-chat-drawer__jigyo { font-weight: 500; font-size: .78rem; color: var(--agds-sub); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
.agds-chat-drawer__acts { display: flex; align-items: center; gap: 6px; }
.agds-chat-drawer__pbtn { border: 1px solid var(--agds-line); background: #fff; border-radius: 999px; padding: 4px 10px; cursor: pointer; font-size: .85rem; }
.agds-chat-drawer__x { border: none; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--agds-sub); padding: 2px 6px; }
.agds-chat-list { flex: 1 1 auto; overflow-y: auto; padding: 14px 14px 6px; background: #f4f6f8; }
.agds-chat-loading { color: #889; font-size: .85rem; text-align: center; margin: 18px 0; }
.agds-chat-msg { margin-bottom: 12px; max-width: 88%; }
.agds-chat-msg--mine { margin-left: auto; text-align: right; }
.agds-chat-msg__name { font-size: .72rem; color: var(--agds-sub); margin: 0 0 2px 2px; text-align: left; }
.agds-chat-msg__bubble { display: inline-block; text-align: left; background: #fff; border: 1px solid var(--agds-line); border-radius: 12px; padding: 8px 12px; font-size: .9rem; line-height: 1.55; word-break: break-word; }
.agds-chat-msg--mine .agds-chat-msg__bubble { background: #dbeafe; border-color: #bfdbfe; }
.agds-chat-msg__deleted { color: #99a; font-size: .82rem; }
.agds-chat-msg__meta { font-size: .7rem; color: #99a; margin-top: 2px; }
.agds-chat-msg__revoke { border: none; background: none; color: #99a; font-size: .7rem; cursor: pointer; text-decoration: underline; padding: 0; }
.agds-chat-msg__revoke:hover { color: #ef4444; }
.agds-chat-msg__img img { max-width: 200px; max-height: 200px; border-radius: 8px; display: block; margin-top: 6px; }
.agds-chat-msg__file { display: inline-block; margin-top: 6px; font-size: .85rem; }
.agds-chat-msg__rx { margin-top: 3px; display: flex; gap: 4px; flex-wrap: wrap; }
.agds-chat-msg--mine .agds-chat-msg__rx { justify-content: flex-end; }
.agds-chat-rx { border: 1px solid var(--agds-line); background: #fff; border-radius: 999px; padding: 1px 8px; font-size: .78rem; cursor: pointer; }
.agds-chat-rx.is-mine { background: #dbeafe; border-color: #93c5fd; }
.agds-chat-rx--add { color: #99a; }
.agds-chat-rxpal { margin-top: 4px; background: #fff; border: 1px solid var(--agds-line); border-radius: 10px; padding: 4px 6px; display: inline-flex; gap: 2px; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.agds-chat-rxpal button { border: none; background: none; font-size: 1.1rem; cursor: pointer; padding: 2px 4px; border-radius: 6px; }
.agds-chat-rxpal button:hover { background: #eef2f6; }
.agds-chat-foot { border-top: 1px solid var(--agds-line); padding: 10px 12px; background: #fff; }
.agds-chat-attachprev { font-size: .8rem; background: #f1f5f9; border: 1px solid var(--agds-line); border-radius: 8px; padding: 5px 9px; margin-bottom: 6px; }
.agds-chat-attachprev button { border: none; background: none; cursor: pointer; color: var(--agds-sub); }
.agds-chat-compose { width: 100%; box-sizing: border-box; border: 1px solid var(--agds-line); border-radius: 10px; padding: 8px 10px; font: inherit; font-size: .9rem; resize: vertical; min-height: 44px; }
.agds-chat-foot__acts { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.agds-chat-attachbtn { border: 1px solid var(--agds-line); background: #fff; border-radius: 8px; padding: 5px 10px; cursor: pointer; }
.agds-chat-err { color: #b91c1c; font-size: .78rem; flex: 1 1 auto; }
.agds-chat-foot__acts .agds-btn { margin-left: auto; }
.agds-chat-people { position: absolute; inset: 0; background: rgba(15,23,42,.25); display: flex; align-items: flex-start; justify-content: center; padding-top: 54px; }
.agds-chat-people[hidden] { display: none; }
.agds-chat-people__panel { width: min(360px, 92%); max-height: 75%; overflow-y: auto; background: #fff; border-radius: 12px; box-shadow: 0 16px 44px rgba(0,0,0,.3); padding: 12px 14px; }
.agds-chat-people__panel header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.agds-chat-people__panel header button { border: none; background: none; font-size: 1.3rem; cursor: pointer; color: var(--agds-sub); }
.agds-chat-people__scope { font-size: .8rem; color: var(--agds-sub); background: #f1f5f9; border-radius: 8px; padding: 6px 9px; margin: 0 0 8px; }
.agds-chat-people__list { list-style: none; margin: 0 0 8px; padding: 0; font-size: .88rem; }
.agds-chat-people__list li { display: flex; align-items: center; gap: 8px; padding: 5px 2px; border-bottom: 1px dashed #eef; }
.agds-chat-people__in { background: #dcfce7; color: #166534; font-size: .7rem; border-radius: 4px; padding: 1px 6px; }
.agds-chat-people__ex { background: #fee2e2; color: #991b1b; font-size: .7rem; border-radius: 4px; padding: 1px 6px; }
.agds-chat-people__clear { margin-left: auto; border: 1px solid var(--agds-line); background: #fff; border-radius: 6px; padding: 2px 8px; font-size: .74rem; cursor: pointer; }
.agds-chat-people__filter { width: 100%; box-sizing: border-box; border: 1px solid var(--agds-line); border-radius: 8px; padding: 6px 9px; font: inherit; font-size: .85rem; margin-bottom: 6px; }
.agds-chat-people__cands { max-height: 200px; overflow-y: auto; }
.agds-chat-people__cand { display: flex; justify-content: space-between; align-items: center; font-size: .86rem; padding: 4px 2px; border-bottom: 1px dashed #eef; }
.agds-chat-people__cand button { border: 1px solid var(--agds-line); background: #fff; border-radius: 6px; padding: 2px 8px; font-size: .74rem; cursor: pointer; margin-left: 4px; }
.agds-chat-people__cand button:hover { background: #eef2f6; }
@media print { .agds-chat-fab, .agds-chat-drawer { display: none !important; } }

/* 事業チャット: サイドバー未読バッジ＋議案一覧の事業バッジ */
.agds-chat-hd { position: relative; margin: 8px 14px 0; }
.agds-chat-hd__btn { width: 100%; display: flex; align-items: center; gap: 7px; background: rgba(255,255,255,.08); color: #e2e8f0;
  border: 1px solid rgba(255,255,255,.14); border-radius: 8px; padding: 7px 10px; font-size: .84rem; font-weight: 600; cursor: pointer; }
.agds-chat-hd__btn:hover { background: rgba(255,255,255,.14); }
.agds-chat-hd__badge { margin-left: auto; background: #ef4444; color: #fff; border-radius: 999px; min-width: 20px; height: 20px; line-height: 20px; text-align: center; font-size: .74rem; padding: 0 6px; }
.agds-chat-hd__dd { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 300; background: #fff; border: 1px solid var(--agds-line); border-radius: 10px; box-shadow: 0 12px 34px rgba(0,0,0,.25); overflow: hidden; }
.agds-chat-hd__dd a { display: flex; align-items: center; gap: 8px; padding: 9px 12px; font-size: .84rem; color: #1e293b; text-decoration: none; border-bottom: 1px solid #eef2f6; }
.agds-chat-hd__dd a:last-child { border-bottom: none; }
.agds-chat-hd__dd a:hover { background: #f1f5f9; }
.agds-chat-hd__n { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agds-chat-hd__c { background: #ef4444; color: #fff; border-radius: 999px; min-width: 18px; height: 18px; line-height: 18px; text-align: center; font-size: .7rem; padding: 0 5px; }
.agds-chat-lbadge { display: inline-block; margin-left: 6px; background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; border-radius: 999px; font-size: .72rem; font-weight: 700; padding: 1px 8px; vertical-align: 1px; }
@media print { .agds-chat-hd, .agds-chat-lbadge { display: none !important; } }

/* 事業チャット: @メンション(本文中の強調・自分宛の強調・入力候補ポップアップ) */
.agds-chat-mention { color: #1d4ed8; font-weight: 700; background: #dbeafe; border-radius: 4px; padding: 0 3px; }
.agds-chat-mention.is-self { background: #fde68a; color: #92400e; }
.agds-chat-msg--meself .agds-chat-msg__bubble { border-color: #fbbf24; box-shadow: 0 0 0 2px rgba(251,191,36,.35); }
.agds-chat-foot { position: relative; }
.agds-chat-mpop { position: absolute; left: 12px; right: 12px; bottom: calc(100% - 2px); z-index: 5; background: #fff; border: 1px solid var(--agds-line); border-radius: 10px; box-shadow: 0 -8px 26px rgba(0,0,0,.18); overflow: hidden; }
.agds-chat-mpop ul { list-style: none; margin: 0; padding: 4px 0; max-height: 200px; overflow-y: auto; }
.agds-chat-mpop li { padding: 7px 13px; font-size: .88rem; cursor: pointer; }
.agds-chat-mpop li:hover, .agds-chat-mpop li.is-hi { background: #eff6ff; }

/* 事業チャット: 楽観的送信(確定前の吹き出しは薄く) */
.agds-chat-msg.is-pending .agds-chat-msg__bubble { opacity: .55; }

/* 意見・質問 受信箱 */
.agds-inbox-cnt { display: inline-block; min-width: 22px; text-align: center; background: #ef4444; color: #fff; border-radius: 999px; font-size: .74rem; font-weight: 700; padding: 1px 7px; vertical-align: 2px; }
.agds-inbox-empty { color: var(--agds-sub); font-size: .86rem; margin: 6px 2px; }
.agds-inbox-table { width: 100%; border-collapse: collapse; font-size: .87rem; }
.agds-inbox-table tr { border-top: 1px solid var(--agds-line); cursor: pointer; }
.agds-inbox-table tr:hover { background: #f1f5f9; }
.agds-inbox-table td { padding: 8px 10px; vertical-align: top; }
.agds-inbox-t { font-weight: 600; width: 26%; }
.agds-inbox-by { color: var(--agds-sub); white-space: nowrap; width: 12%; }
.agds-inbox-at { color: var(--agds-sub); white-space: nowrap; width: 14%; font-size: .78rem; }
.agds-inbox-st { white-space: nowrap; width: 20%; }
.agds-inbox-ok { color: #166534; font-size: .8rem; }
.agds-inbox-wait { color: #b45309; font-size: .8rem; font-weight: 600; }

/* 記載ヒント(原本コメント集)モーダル */
.agds-hints-modal { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.agds-hints-modal[hidden] { display: none; }
.agds-hints-modal__box { background: #fff; border-radius: 12px; width: 760px; max-width: 100%; max-height: 86vh; display: flex; flex-direction: column; padding: 16px; }
.agds-hints-modal__list { overflow: auto; border-top: 1px solid var(--agds-line); padding-top: 8px; }
.agds-hint-row { border: 1px solid var(--agds-line); border-radius: 8px; padding: 7px 10px; margin: 0 0 6px; background: #fafbfc; font-size: .82rem; }
.agds-hint-row__a { font-weight: 600; color: #374151; font-size: .76rem; margin-bottom: 2px; }
.agds-hint-row__t { color: #111; }

/* 記載ヒントの欄横マーカー(Excelコメント三角) */
.agds-hint-host { position: relative; }
.agds-hint-mark { position: absolute; top: 0; right: 0; width: 0; height: 0; border-style: solid; border-width: 0 11px 11px 0; border-color: transparent #f59e0b transparent transparent; cursor: help; z-index: 2; }
.agds-hint-mark:hover, .agds-hint-mark:focus { border-color: transparent #d97706 transparent transparent; outline: none; }
.agds-hint-pop { position: fixed; z-index: 11000; background: #fffbeb; border: 1px solid #f59e0b; border-radius: 8px; padding: 8px 11px; font-size: .78rem; line-height: 1.55; color: #78350f; box-shadow: 0 6px 20px rgba(0,0,0,.18); white-space: pre-line; display: none; max-height: 50vh; overflow: auto; }
@media print { .agds-hint-mark { display: none !important; } }

/* コンプラチェックシートの設問注記(#33/#34) */
.agds-cs__note { font-size: .76rem; color: #92400e; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; padding: 4px 8px; margin-top: 4px; font-weight: 400; }

/* 署名・押印済みPDFスロット(#46/#47) */
.agds-cmpl-spdf { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; padding: 6px 10px; border: 1px dashed var(--agds-line); border-radius: 8px; background: #fafbfc; font-size: .8rem; }
.agds-cmpl-spdf__lbl { font-weight: 600; color: #374151; }
.agds-cmpl-spdf__link { color: var(--agds-primary); }
.agds-cmpl-spdf__none { color: var(--agds-sub); }
@media print { .agds-cmpl-spdf { display: none !important; } }

/* 署名済みPDF ⇄ 入力帳票 切替(#46/#47) */
.agds-spdf-bar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 10px 0 6px; }
.agds-spdf-bar .agds-btn.is-on, [data-cmpl-spdf] [data-spdf-show].is-on { background: var(--agds-primary); color: #fff; border-color: var(--agds-primary); }
.agds-spdf-pdf iframe { width: 100%; height: 78vh; border: 1px solid var(--agds-line); border-radius: 8px; background: #fff; }
@media print {
  .agds-spdf-bar, .agds-spdf-pdf { display: none !important; }
  [data-spdf-doc][hidden], .agds-cmpl-doc[hidden] { display: block !important; } /* 印刷は常に入力帳票 */
}

/* 操作マニュアル(#7) */
.agds-man__bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.agds-man__q { flex: 1 1 260px; border: 1px solid var(--agds-line); border-radius: 8px; padding: 8px 10px; font: inherit; }
.agds-man__roles { display: flex; gap: 6px; flex-wrap: wrap; }
.agds-man__roles .agds-btn.is-on { background: var(--agds-primary); color: #fff; border-color: var(--agds-primary); }
.agds-man__sec[hidden] { display: none; }
.agds-man__sum { cursor: pointer; display: flex; align-items: center; gap: 8px; font-size: .95rem; }
.agds-man__badge { flex: 0 0 auto; font-size: .68rem; padding: 2px 7px; border-radius: 999px; background: #eef2f7; color: #475569; white-space: nowrap; }
.agds-man__badge--committee { background: #dbeafe; color: #1e40af; }
.agds-man__badge--office { background: #fef3c7; color: #92400e; }
.agds-man__badge--shinsa { background: #dcfce7; color: #166534; }
.agds-man__body { margin-top: 10px; font-size: .88rem; line-height: 1.75; color: #1f2937; }
.agds-man__body p { margin: 0 0 8px; }
.agds-man__ul { margin: 0 0 8px; padding-left: 1.2em; }
.agds-man__ul li { margin: 3px 0; }
@media print { .agds-man__bar { display: none !important; } .agds-man__sec { break-inside: avoid; } }

/* 本文エディタ: ツールバーの上部追従(長い項目でも操作できる)。議案ツールバー(z-index:20)より前へ。
   ※ 親に overflow:hidden があると sticky は効かない(.agds-doc の overflow を外している理由) */
/* 本文エディタ: 文字を選択したときに出る小さなツールバー(quickbars)。長い項目でもカーソルの近くで
   太字・文字色などが使える(上部固定バーとの重なり問題を根本回避)。 */
.tox .tox-toolbar__overflow, .tox .tox-pop__dialog { z-index: 30; }
@media print { .tox-editor-header, .tox-pop { display: none !important; } }
@media print { .tox-editor-header { display: none !important; } }

/* 様式4の印刷向き(縦/横) */
.agds-f4-orient { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--agds-sub); margin: 0 0 8px; }
.agds-f4-orient select { font: inherit; padding: 3px 6px; border: 1px solid var(--agds-line); border-radius: 6px; }
@page agdsf4 { size: A4 landscape; margin: 10mm 12mm; }
@media print {
  .agds-f4-orient { display: none !important; }
  /* 全様式印刷: 横が選ばれていれば様式4のページだけ横向き(Chrome/Edge対応のnamed page) */
  body.agds-f4-landscape .agds-f4-sheet { page: agdsf4; }
  body.agds-f4-landscape .agds-f4-sheet .agds-bd-estwrap { overflow: visible !important; }
}

/* 仮メールゲート: 貴会メール設定までシステムを使わせない全画面モーダル */
.agds-mailgate {
  position: fixed; inset: 0; z-index: 13000;
  background: rgba(15, 23, 42, .72); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.agds-mailgate__card {
  background: #fff; border-radius: 16px; padding: 34px 32px;
  width: 100%; max-width: 520px; box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.agds-mailgate__card h2 { margin: 0 0 12px; font-size: 1.2rem; }
.agds-mailgate__card p { font-size: .88rem; line-height: 1.7; color: #374151; }
.agds-mailgate__card label { display: block; font-size: .8rem; font-weight: 700; color: #374151; margin: 14px 0 4px; }
.agds-mailgate__card input[type="email"] {
  width: 100%; box-sizing: border-box; border: 1px solid #d1d5db; border-radius: 8px;
  padding: 10px 12px; font-size: 15px;
}
.agds-mailgate__card input[type="email"]:focus { border-color: #0070c4; outline: none; box-shadow: 0 0 0 3px rgba(0,112,196,.15); }
.agds-mailgate__card button { margin-top: 18px; }
.agds-mailgate__err { background: #fef2f2; border: 1px solid #f87171; color: #991b1b; border-radius: 8px; padding: 8px 12px; font-size: .84rem; margin: 10px 0 0; }
.agds-mailgate__note { font-size: .76rem !important; color: #6b7280 !important; margin-top: 12px; }
.agds-mailgate__logout { display: block; text-align: center; margin-top: 10px; font-size: .8rem; color: #6b7280; }

/* ログイン画面のバージョン表示 */
.agds-login-page { position: relative; }
.agds-login-ver { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; font-size: 11px; color: rgba(255,255,255,.75); }
