/* ぱんまる — 上品さ×祝祭感。毎日ひらきたくなるトーン。 */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* 和モダン：生成り×藍×若竹×山吹（落ち着いた和風・少し明るめ） */
  --bg:#f8f3e8; --card:#fffdf7; --ink:#33303a; --sub:#8a8478;
  --line:#e9e1d1; --navy:#43648f; --navy2:#5a7ba4;
  --gold:#d5a520; --gold-soft:#f2e7c6;
  --today:#d95f6e; --week:#e0913a; --month:#4f9e7a; --far:#9aa0b0;
  --accent:#5a9c7c;
}
body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic UI",system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.7;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
b{font-weight:800}

/* ---------- topbar ---------- */
.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:linear-gradient(105deg,var(--navy),var(--navy2));color:#fff;
  padding:11px 20px;box-shadow:0 2px 14px rgba(47,42,99,.22);position:sticky;top:0;z-index:50}
.brand{font-size:20px;font-weight:800;letter-spacing:.3px;display:flex;align-items:center;gap:7px;white-space:nowrap}
.brand .logo{font-size:22px}
.brand b{color:var(--gold-soft)}
.brand .tag{font-size:11px;background:rgba(255,255,255,.16);padding:2px 9px;border-radius:20px;font-weight:600;letter-spacing:.5px}
.menubtn{margin-left:auto;background:rgba(255,255,255,.18);color:#fff;border:none;cursor:pointer;
  padding:9px 18px;border-radius:22px;font-size:15px;font-weight:700;font-family:inherit;
  display:inline-flex;align-items:center;gap:6px;transition:.15s;white-space:nowrap}
.menubtn:hover{background:rgba(255,255,255,.3)}
.menubtn .mb-ic{font-size:16px;line-height:1}
.menu-overlay{position:fixed;inset:0;background:rgba(20,24,30,.18);z-index:60}
.menu-overlay[hidden]{display:none}
.drawer{position:absolute;top:calc(100% + 6px);right:14px;z-index:70;
  background:#fff;border-radius:16px;box-shadow:0 14px 44px rgba(30,25,60,.28);
  border:1px solid rgba(0,0,0,.06);padding:8px;min-width:236px;
  display:flex;flex-direction:column;gap:2px;animation:drawerIn .14s ease}
.drawer[hidden]{display:none}
@keyframes drawerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.drawer a{display:flex;align-items:center;gap:11px;padding:13px 16px;border-radius:12px;
  font-size:16px;font-weight:600;color:#33403a;transition:.12s;white-space:nowrap}
.drawer a:hover{background:#eef4f0}
.drawer a.on{background:var(--gold);color:#3a2f00}
.drawer .dr-sep{height:1px;background:rgba(0,0,0,.08);margin:5px 10px}
.drawer .dr-logout{color:#9a5a5a;font-weight:600;font-size:15px}

.wrap{max-width:1080px;margin:0 auto;padding:26px 20px 70px}

/* ---------- hero ---------- */
.hero{background:linear-gradient(120deg,#3f5c86,#52859a 52%,#66a189);color:#fff;
  border-radius:22px;padding:22px 26px;position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(60,50,130,.28);
  display:flex;align-items:center;gap:16px}
.herotext{flex:1;min-width:0}
.hero h1{font-size:26px;margin-bottom:4px}
.hero p{opacity:.9;font-size:14px}
.hero .greet{font-size:14px;opacity:.85;margin-bottom:2px}

/* ---------- section ---------- */
.sec-h{display:flex;align-items:center;gap:9px;margin:30px 0 14px;font-size:18px;font-weight:800}
.sec-h .ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,#ecdcac,#c6ddcb);font-size:18px;box-shadow:0 2px 6px rgba(120,150,120,.22)}
.sec-h .cnt{font-size:12px;color:var(--sub);font-weight:600;background:#efeadf;padding:2px 10px;border-radius:20px}
.muted{color:var(--sub)}
.empty{background:var(--card);border:1.5px dashed var(--line);border-radius:16px;padding:26px;text-align:center;color:var(--sub)}
.empty .big{font-size:34px;display:block;margin-bottom:6px}

/* ---------- KPI row ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.kpi{background:var(--card);border-radius:16px;padding:15px 16px;box-shadow:0 3px 12px rgba(60,50,110,.07);border:1px solid var(--line)}
.kpi .n{font-size:26px;font-weight:800;line-height:1.1}
.kpi .l{font-size:12px;color:var(--sub);margin-top:3px}
.kpi .ic{font-size:18px}

/* ---------- birthday cards ---------- */
.bcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.bcard{background:var(--card);border-radius:18px;padding:16px;box-shadow:0 4px 16px rgba(60,50,110,.09);
  border:1px solid var(--line);position:relative;overflow:hidden;transition:.15s}
.bcard:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(60,50,110,.15)}
.bcard .ava{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:27px;
  background:linear-gradient(135deg,#eef4ec,#f7f0e2)}
.bcard .nm{font-weight:800;font-size:16px;margin-top:9px}
.bcard .rel{font-size:12px;color:var(--sub)}
.bcard .md{font-size:13px;margin-top:6px;color:var(--navy);font-weight:700}
.bcard .cd{position:absolute;right:12px;top:12px;text-align:center;border-radius:14px;padding:6px 8px;color:#fff;min-width:52px}
.bcard .cd .d{font-size:20px;font-weight:800;line-height:1}
.bcard .cd .u{font-size:9px;opacity:.9}
.cd.today{background:linear-gradient(135deg,#d95f6e,#c74f60)}
.cd.week{background:linear-gradient(135deg,#e0913a,#cf7d28)}
.cd.month{background:linear-gradient(135deg,#4f9e7a,#3f8a68)}
.cd.far{background:linear-gradient(135deg,#9aa0b0,#828aa0)}
.bcard .age{font-size:11px;color:var(--gold);font-weight:700;margin-top:3px}
.bcard.istoday{border:2px solid var(--today);background:linear-gradient(180deg,#fff,#fff6f9)}

/* today banner */
.todaybanner{background:linear-gradient(120deg,#d95f6e,#e0913a);color:#fff;border-radius:18px;
  padding:18px 22px;margin-bottom:6px;box-shadow:0 8px 24px rgba(230,90,120,.3)}
.todaybanner h3{font-size:18px;margin-bottom:4px}
.todaybanner .names{font-size:15px;font-weight:700}

/* ---------- notif pills ---------- */
.notifs{display:flex;flex-direction:column;gap:9px}
.notif{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);
  border-left:5px solid var(--accent);border-radius:13px;padding:11px 14px}
.notif.k-day0{border-left-color:var(--today)}
.notif.k-week1{border-left-color:var(--week)}
.notif.k-month1{border-left-color:var(--month)}
.notif .em{font-size:22px}
.notif .tx{flex:1}
.notif .tx b{font-size:15px}
.notif .tx .w{font-size:12px;color:var(--sub)}
.notif .x{background:#f1eee7;border:none;border-radius:10px;padding:6px 10px;font-size:12px;color:var(--sub);cursor:pointer}
.notif .go{background:var(--navy);color:#fff;border-radius:10px;padding:6px 12px;font-size:12px;font-weight:700}

/* ---------- auto-run strip ---------- */
.autocard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:16px}
.autohead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.autohead .t{font-weight:800}
.runbtn{background:linear-gradient(120deg,var(--navy),var(--accent));color:#fff;border:none;border-radius:22px;
  padding:9px 18px;font-weight:700;cursor:pointer;font-size:14px}
.runbtn:disabled{opacity:.6;cursor:default}
.runlog{display:flex;gap:8px;overflow-x:auto;margin-top:12px;padding-bottom:4px}
.runpill{flex:0 0 auto;background:#f4f1ea;border-radius:20px;padding:5px 12px;font-size:12px;color:var(--sub);white-space:nowrap}
.runpill .dot{color:var(--month)}
#runmsg{margin-top:10px;font-size:13px;color:var(--month);font-weight:700;min-height:18px}

/* ---------- buttons / forms ---------- */
.btn{display:inline-block;background:var(--navy);color:#fff;border:none;border-radius:12px;padding:10px 18px;
  font-weight:700;cursor:pointer;font-size:14px}
.btn:hover{background:var(--navy2)}
.btn.gold{background:var(--gold);color:#3a2f00}
.btn.ghost{background:#f1eee7;color:var(--ink)}
.btn.sm{padding:7px 13px;font-size:13px;border-radius:10px}
.btn.locate{background:#4f9e7f;color:#fff;font-weight:700}
.btn.amazon{background:#ff9900;color:#3a2600}
.btn.rakuten{background:#bf0000;color:#fff}
.btn.danger{background:#e05555}
form.card,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 3px 12px rgba(60,50,110,.06)}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:12px;color:var(--sub);font-weight:700;margin-bottom:5px}
input[type=text],input[type=password],input[type=number],select,textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;font-size:15px;
  font-family:inherit;background:#fffdf9}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{min-height:70px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
details.addbox{margin-top:14px}
details.addbox>summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none;
  background:var(--card);border:1.5px dashed var(--accent);border-radius:14px;padding:12px 16px}
details.addbox>summary::-webkit-details-marker{display:none}
details.addbox[open]>summary{border-style:solid;margin-bottom:12px}

/* ---------- people grid ---------- */
.relgroup{margin-top:22px}
.relgroup h3{font-size:15px;margin-bottom:10px;color:var(--navy);display:flex;align-items:center;gap:7px}
.relgroup h3 .b{font-size:11px;background:#efeadf;color:var(--sub);padding:1px 9px;border-radius:18px}

/* ---------- gift cards ---------- */
.gifts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:6px}
.gift{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 3px 12px rgba(60,50,110,.07)}
.gift .cat{font-size:11px;color:var(--month);font-weight:700}
.gift .tt{font-weight:800;font-size:15px;margin:3px 0}
.gift .rs{font-size:13px;color:var(--sub);margin-bottom:6px}
.gift .pr{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:9px}
.gift .lk{display:flex;gap:7px}
.gift .lk a{flex:1;text-align:center}
/* 楽天の実在商品カード */
.prods{margin:8px 0 10px;display:flex;flex-direction:column;gap:8px}
.prod{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.prod:hover{box-shadow:0 4px 14px rgba(60,50,110,.13);transform:translateY(-1px)}
.prod-img{width:60px;height:60px;object-fit:cover;border-radius:9px;flex:0 0 auto;background:#f3f0ea}
.prod-b{min-width:0;flex:1}
.prod-nm{font-size:12.5px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod-meta{display:flex;align-items:baseline;gap:8px;margin-top:2px;flex-wrap:wrap}
.prod-pr{font-size:14px;font-weight:800;color:#bf0000}
.prod-rv{font-size:11px;color:var(--gold);font-weight:700}
.prod-shop{font-size:10.5px;color:var(--sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-note{font-size:10.5px;color:var(--sub)}

/* ---------- chat ---------- */
.chatwrap{display:flex;flex-direction:column;height:calc(100vh - 150px);min-height:440px}
.chatlog{flex:1;overflow-y:auto;padding:8px 2px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:80%;padding:11px 15px;border-radius:16px;font-size:14.5px;white-space:pre-wrap;word-break:break-word}
.msg.user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:5px}
.msg.assistant{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:5px}
.msg.assistant{padding-left:14px}
.msg.assistant:before{content:"";display:inline-block;width:22px;height:22px;vertical-align:-5px;
  margin-right:6px;background:url("panmaru/wave.png") center/contain no-repeat}
.proposal{align-self:flex-start;max-width:88%;background:linear-gradient(135deg,#fff6f9,#f3ecff);
  border:1.5px solid var(--accent);border-radius:16px;padding:14px}
.proposal h4{font-size:14px;margin-bottom:8px;color:var(--navy)}
.proposal .pc{background:#fff;border-radius:11px;padding:9px 12px;font-size:13px;margin-bottom:8px;border:1px solid var(--line)}
.proposal .pc b{font-size:14px}
.chatbar{display:flex;gap:9px;padding-top:12px}
.chatbar input{flex:1}
.hint{font-size:12px;color:var(--sub);margin-bottom:10px}
.exs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.ex{background:#efeadf;border:none;border-radius:16px;padding:6px 12px;font-size:12px;cursor:pointer;color:var(--navy)}

/* ---------- misc ---------- */
.err{background:#fdecec;color:#c0392b;border-radius:11px;padding:10px 14px;margin-bottom:12px;font-size:14px}
.ok{background:#e8f7f0;color:#1f8b6b;border-radius:11px;padding:10px 14px;margin-bottom:12px;font-size:14px}
.backlink{font-size:13px;color:var(--sub);margin-bottom:14px;display:inline-block}
.tagline{display:inline-block;font-size:11px;padding:2px 9px;border-radius:16px;font-weight:700}
.tagline.g{background:var(--gold-soft);color:#7a5c10}
.pmeta{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;margin:10px 0}
.pmeta b{color:var(--navy)}

/* ---------- login ---------- */
.loginbg{min-height:100vh;display:grid;place-items:center;padding:20px;
  background:linear-gradient(135deg,#3f5c86,#52859a 55%,#66a189)}
.loginbox{background:var(--card);border-radius:24px;padding:32px 30px 34px;width:100%;max-width:360px;
  text-align:center;box-shadow:0 20px 50px rgba(20,15,50,.35)}
.loginlogo{width:130px;height:auto;margin:0 auto 4px;display:block}
.loginbox h1{font-size:26px;margin-bottom:2px}
.loginbox h1 b{color:var(--accent)}
.loginbox .sub{font-size:12.5px;color:var(--sub);margin-bottom:20px}
.loginbox form{display:flex;flex-direction:column;gap:11px}
.loginbox input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;
  font-size:15px;font-family:inherit;background:#fffdf9;text-align:left}
.loginbox input:focus{outline:none;border-color:var(--accent)}
.loginbox button{background:linear-gradient(120deg,var(--navy),var(--accent));color:#fff;border:none;
  border-radius:12px;padding:12px;font-weight:800;font-size:15px;cursor:pointer;margin-top:4px}

/* ---------- panmaru character ---------- */
.brand img.logo{height:32px;width:auto;vertical-align:middle;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}
.brand .bname{white-space:nowrap}
.heropan{flex:0 0 auto;height:150px;width:auto;align-self:flex-end;margin-bottom:-16px;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.3))}
.empty img.panimg{width:118px;height:auto;margin:0 auto 6px;display:block}
.autohead .t img{height:30px;vertical-align:-9px;margin-right:3px}

/* ---------- 行きたい場所 ---------- */
.addtabs{display:flex;gap:8px;margin:6px 0 12px;flex-wrap:wrap}
.atab{background:#efeadf;border:none;border-radius:20px;padding:9px 16px;font-size:14px;font-weight:700;
  cursor:pointer;color:var(--navy)}
.atab.on{background:var(--navy);color:#fff}
.apanel{margin-bottom:8px}
.pmsg{font-size:13px;color:var(--month);font-weight:700;margin-top:10px;min-height:16px}
.pmsg .prev,.pmsg img.prev{max-width:160px;border-radius:12px;margin-top:8px;display:block}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0 10px}
.filters .chip{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:6px 13px;
  font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.filters .chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.fsep{flex:0 0 1px;height:20px;background:var(--line);margin:0 4px}
.prefgroup{margin-top:20px}
.pref-h{font-size:16px;margin-bottom:10px;color:var(--navy);display:flex;align-items:center;gap:8px}
.pref-h .b{font-size:11px;background:#efeadf;color:var(--sub);padding:1px 9px;border-radius:18px;font-weight:600}
.countrygroup{margin-top:26px;padding-top:6px;border-top:2px solid #e6ded0}
.countrygroup:first-of-type{border-top:none;margin-top:14px}
.countrygroup .prefgroup{margin-top:12px;margin-left:4px}
.country-h{font-size:19px;font-weight:800;margin:6px 0 4px;color:var(--navy);display:flex;align-items:center;gap:9px;letter-spacing:.02em}
.country-h .cb{font-size:12px;background:var(--navy);color:#fff;padding:2px 11px;border-radius:18px;font-weight:700}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 3px 12px rgba(60,50,110,.07);display:flex;flex-direction:column}
.pcard.isvisited{opacity:.72}
.pc-thumb{width:100%;height:150px;object-fit:cover}
.pc-body{padding:13px 15px}
.pc-name{font-weight:800;font-size:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pc-emoji{font-size:20px}
.vbadge{font-size:11px;background:#e8f7f0;color:#1f8b6b;padding:1px 8px;border-radius:12px;font-weight:700}
.pc-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:6px 0}
.chip.cat{background:var(--gold-soft);color:#7a5c10;font-size:12px;padding:2px 10px;border-radius:14px;font-weight:700}
.pc-city{font-size:12px;color:var(--sub)}
.srcbadge{font-size:12px}
.pc-addr{font-size:12px;color:var(--sub);margin:2px 0}
.pc-notes{font-size:13px;color:var(--ink);margin:4px 0;line-height:1.5}
.pc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;align-items:center}
.pc-edit{display:none;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.confirm{margin-top:14px;background:linear-gradient(135deg,#f3ecff,#fff6f9);border:1.5px solid var(--accent);
  border-radius:14px;padding:14px}
.confirm h4{font-size:14px;margin-bottom:10px;color:var(--navy)}
.cfrow{display:flex;gap:6px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:9px;margin-bottom:8px;align-items:center}
.cfrow input[type=text],.cfrow input:not([type]){flex:1;min-width:90px;padding:7px 9px;font-size:13px}
.cfck{font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;display:flex;align-items:center;gap:3px}
.cf-name{flex:1 1 130px!important;font-weight:700}

/* ---------- 今日の一手（毎朝ブリーフィング） ---------- */
.briefcard{background:linear-gradient(120deg,#fffdf6,#fff6ec);border:1.5px solid var(--gold-soft);
  border-radius:18px;padding:16px 18px;margin-bottom:18px;box-shadow:0 4px 16px rgba(201,164,76,.10)}
.bc-h{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);font-size:15px}
.bc-h img{height:30px}
.bc-refresh{margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:4px 12px;font-size:12px;color:var(--sub);cursor:pointer;font-weight:700;white-space:nowrap}
.bc-body{margin-top:8px;line-height:1.75;white-space:pre-wrap;color:var(--ink);font-size:14.5px}

/* ---------- ぱんまるハブ：エージェント・カード ---------- */
.agentgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.agentcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:16px 16px 14px;box-shadow:0 4px 16px rgba(60,50,110,.08);transition:.15s;overflow:hidden;display:block}
.agentcard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(60,50,110,.16)}
.agentcard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px}
.agentcard.a-gold:before{background:linear-gradient(180deg,#d5a520,#ecc95e)}
.agentcard.a-teal:before{background:linear-gradient(180deg,#4f9e9a,#79c3bc)}
.agentcard.a-navy:before{background:linear-gradient(180deg,#43648f,#7089ac)}
.agentcard.a-plum:before{background:linear-gradient(180deg,#8a6fa8,#b199c8)}
.ag-top{display:flex;justify-content:space-between;align-items:flex-start}
.ag-emoji{font-size:30px}
.ag-pan{height:52px;opacity:.95}
.ag-title{font-size:16px;font-weight:800;margin-top:6px;color:var(--navy)}
.ag-desc{font-size:12.5px;color:var(--sub);margin-top:3px;min-height:34px;line-height:1.45}
.ag-stats{display:flex;gap:14px;margin-top:10px}
.ag-stat b{font-size:20px;font-weight:800;color:var(--ink)}
.ag-stat span{font-size:11px;color:var(--sub);margin-left:3px}
.ag-go{margin-top:10px;font-size:12px;font-weight:700;color:var(--accent)}

/* ---------- 今日の注目（2カラム） ---------- */
.focusgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;align-items:start}
.focuscol{min-width:0}
.bcards.mini{grid-template-columns:1fr 1fr}
.empty.sm{padding:18px;font-size:13px}
.empty.sm .panimg{height:52px}
.morelink{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:var(--accent)}
.placemini{display:flex;flex-direction:column;gap:8px}
.pmrow{display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);
  border-radius:13px;padding:9px 11px;transition:.12s}
.pmrow:hover{border-color:var(--accent);background:#faf8ff}
.pm-thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:0 0 auto}
.pm-emoji{width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,#eafaf7,#e9f0ff);
  display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.pm-name{font-weight:700;font-size:14px;color:var(--ink)}
.pm-meta{font-size:12px;color:var(--sub)}

/* ---------- 接待・会食アシスト ---------- */
.settaiform .row3{margin-bottom:12px}
.sub-h{font-size:14px;font-weight:800;color:var(--navy);margin:16px 0 8px;display:flex;align-items:center;gap:6px}
.planhead h3{font-size:17px;color:var(--navy);margin-bottom:4px}
.picks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick{background:linear-gradient(135deg,#fbf7ef,#fff);border:1px solid var(--line);border-radius:13px;padding:12px}
.pick-t{font-weight:800;font-size:14.5px;color:var(--ink)}
.pick-m{font-size:12px;color:var(--sub);margin-top:2px}
.pick-w{font-size:13px;margin-top:6px;line-height:1.55}
.frombadge{font-size:10.5px;font-weight:700;background:var(--month);color:#fff;border-radius:20px;padding:2px 8px;margin-left:4px;vertical-align:middle}
.frombadge.gen{background:#b7b1cf}
.tipnote{background:#fff8e8;border:1px solid var(--gold-soft);border-radius:11px;padding:10px 12px;font-size:12.5px;color:#7a5f16;margin-top:8px}
.msgdraft{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px}
.md-body{font-size:14px;line-height:1.7;color:var(--ink);margin-bottom:10px}
.tips{margin:0;padding-left:20px}
.tips li{font-size:13.5px;margin:5px 0;line-height:1.5}
.planlist{display:flex;flex-direction:column;gap:8px}
.planitem{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:4px 14px}
.planitem summary{cursor:pointer;padding:10px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ptag{font-size:11px;font-weight:700;background:var(--navy);color:#fff;border-radius:20px;padding:2px 9px}
.ptag.ghost{background:#efeadf;color:var(--sub)}
.planbody .sub-h:first-child{margin-top:4px}

/* ---------- 記念日・贈り物履歴・メッセージ ---------- */
.msgctrl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.msgctrl select{flex:0 1 220px}
#msgout{margin-top:10px}
.occlist,.gloglist{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.occrow,.glogrow{display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:10px 13px}
.occrow .oc-em{font-size:22px;flex:0 0 auto}
.occrow .oc-body,.glogrow>div:first-child{flex:1;min-width:0}
.oc-days{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--month);
  border-radius:20px;padding:1px 9px;margin-left:6px}
.occrow form,.glogrow form{flex:0 0 auto}

/* ---------- 行きたい場所の深掘り（訪問記録・県別導線） ---------- */
.pref-settai{font-size:12px;font-weight:700;color:var(--navy);background:var(--gold-soft);
  border:1px solid var(--gold);border-radius:20px;padding:3px 11px;margin-left:8px;white-space:nowrap}
.pref-settai:hover{background:var(--gold);color:#3a2f00}
.visitrec{background:#eef7ee;border:1px solid #cfe6cf;border-radius:10px;padding:7px 10px;margin:6px 0;font-size:13px;color:#2c6b34}
.visitrec .stars{color:var(--gold);margin-left:6px;letter-spacing:1px}
.visitrec .vr{color:var(--ink);font-size:13px;margin-top:3px}
.visitform{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.vphoto{display:block;margin-top:8px;width:100%;max-width:260px;border-radius:10px;border:1px solid var(--line)}

/* ---------- ミニCRM：連絡記録・ご無沙汰 ---------- */
.contactcard{margin-top:16px}
.cc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.gonebadge{color:#fff;background:var(--today);border-radius:20px;padding:1px 9px;font-size:12px;font-weight:700}
.cform{display:none;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.clog{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.clogrow{display:flex;align-items:center;gap:9px;font-size:13px;padding:7px 10px;background:#faf8f2;border:1px solid var(--line);border-radius:10px}
.cl-date{font-weight:700;color:var(--navy);white-space:nowrap}
.cl-ch{font-size:11px;background:var(--gold-soft);color:#6b551d;border-radius:12px;padding:1px 8px;white-space:nowrap}
.cl-note{flex:1;min-width:0;color:var(--ink)}
.cl-del{margin-left:auto}
.cl-x{border:none;background:#efeadf;color:var(--sub);border-radius:8px;width:22px;height:22px;cursor:pointer;font-size:13px}
.gonecard .cd.far{background:linear-gradient(135deg,#c98a8a,#b46a6a)}

/* ---------- 出張プランナー・おすすめ ---------- */
.tripboard{margin-top:14px}
.tb-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.tb-head h3{font-size:17px;color:var(--navy)}
.tripmap{width:100%;max-width:640px;border-radius:14px;border:1px solid var(--line);display:block;margin-bottom:12px}
.triplist{display:flex;flex-direction:column;gap:7px}
.triprow{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.triprow.isvisited{opacity:.72}
.tr-em{font-size:22px;flex:0 0 auto}
.tr-body{flex:1;min-width:0}
.tr-name{font-size:14px}
.tr-meta{font-size:12px;color:var(--sub)}
.tr-btns{display:flex;gap:5px;flex:0 0 auto}
.km-badge{flex:0 0 auto;min-width:52px;text-align:center;font-weight:800;font-size:13px;color:#fff;background:linear-gradient(135deg,#4f9e7a,#3f8a68);border-radius:10px;padding:5px 6px}
.osusume{background:linear-gradient(120deg,#fffdf6,#fff6ec);border:1px solid var(--gold-soft);border-radius:14px;padding:12px 14px;margin-bottom:14px}
.os-h{font-weight:800;color:var(--navy);font-size:14px;margin-bottom:8px}
.os-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.oscard{flex:0 0 auto;width:170px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.os-rate{font-weight:800;color:#e0932f;font-size:15px}
.os-name{font-weight:700;font-size:13.5px;margin-top:3px;line-height:1.4}
.os-meta{font-size:12px;color:var(--sub);margin-top:2px}

/* ---------- Googleマップ店情報 ---------- */
.ginfo{display:flex;gap:11px;margin:8px 0;background:#f7fbff;border:1px solid #dbe8f5;border-radius:12px;padding:9px}
.gmap{width:150px;height:90px;object-fit:cover;border-radius:9px;flex:0 0 auto}
.ginfo-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.grate{font-weight:800;color:#e0932f}
.gph{font-size:13px}
.ghours summary{cursor:pointer;font-size:12px;color:var(--accent);font-weight:700}
.gh-body{white-space:pre-wrap;font-size:12px;color:var(--sub);margin-top:4px;line-height:1.6}

/* ---------- 法要・節目 ---------- */
.mstone{font-size:11px;font-weight:700;background:linear-gradient(120deg,#f6d879,#e8b84b);color:#5a4200;border-radius:12px;padding:1px 8px}
.houyou{margin-top:5px;font-size:12.5px;color:#5b6b4a;background:#f0f5ea;border:1px solid #dbe8cf;border-radius:9px;padding:5px 9px}

/* ---------- 季節の贈答 ---------- */
.seasontabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.stab{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 16px;font-weight:700;font-size:14px;color:var(--sub)}
.stab.on{background:var(--gold);color:#3a2f00;border-color:var(--gold)}
.yearsel{margin-left:auto;padding:6px 10px;border-radius:10px;border:1px solid var(--line)}
.seasonprog{background:var(--gold-soft);border-radius:12px;padding:9px 14px;font-size:14px;margin-bottom:12px;color:#6b551d}
.slist{display:flex;flex-direction:column;gap:8px}
.srow{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 13px}
.srow.s-done{background:#eef7ee;border-color:#cfe6cf}
.srow.s-todo{border-color:var(--gold)}
.s-em{font-size:22px;flex:0 0 auto}
.s-body{flex:1;min-width:0}
.s-name{font-size:14px}
.s-item{margin-top:5px;width:100%;max-width:320px;padding:5px 9px;font-size:13px}
.s-btns{display:flex;gap:5px;flex:0 0 auto}
.sbtn{border:1px solid var(--line);background:#faf8f2;border-radius:9px;padding:5px 10px;font-size:12px;cursor:pointer;color:var(--sub);white-space:nowrap}
.sbtn.todo.on{background:var(--gold);color:#3a2f00;border-color:var(--gold)}
.sbtn.done.on{background:var(--month);color:#fff;border-color:var(--month)}
.sbtn.none.on{background:#e6e2d8;color:var(--ink)}

/* ---------- 用途タグ（シーン別） ---------- */
.scenechips{display:flex;flex-wrap:wrap;gap:7px}
.scenechk{display:inline-flex;align-items:center;gap:4px;font-size:13px;background:#faf8f2;border:1px solid var(--line);
  border-radius:20px;padding:4px 11px;cursor:pointer}
.scenechk input{accent-color:var(--accent)}
.scenetag{font-size:11px;background:#efe9ff;color:var(--accent);border:1px solid #ddd4fb;border-radius:12px;padding:1px 8px;font-weight:700}
.chip.scene.on{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ---------- 案内文管理 ---------- */
.n-due{background:linear-gradient(135deg,#fff3f1,#fff8ee);border:1.5px solid #f0c9c0;border-radius:16px;padding:13px 16px;margin:4px 0 16px}
.n-due .dh{font-weight:800;color:#b4442e;font-size:14px;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.n-due .drow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;padding:6px 0;border-top:1px dashed #f0d5cd}
.n-due .dd{font-weight:800;color:#b4442e;white-space:nowrap}
.n-due a.go{margin-left:auto;font-size:12px;font-weight:700;color:var(--navy)}
.ncards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.ncard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px 16px 14px;box-shadow:0 4px 16px rgba(60,50,110,.08);overflow:hidden}
.ncard.arch{opacity:.66}
.ncard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#8a6fa8,#b199c8)}
.ncard.soon:before{background:linear-gradient(180deg,#e0663f,#f0a03f)}
.ncard.arch:before{background:var(--line)}
.nc-top{display:flex;gap:11px;align-items:flex-start}
.nc-badge{flex:0 0 auto;width:58px;text-align:center;background:linear-gradient(135deg,#f3ecff,#fff0f6);border:1px solid #e7dcf3;border-radius:12px;padding:7px 4px}
.nc-badge .d{font-size:22px;font-weight:800;color:var(--navy);line-height:1}
.nc-badge .u{font-size:10px;color:var(--sub);margin-top:3px}
.nc-badge.today{background:linear-gradient(135deg,#ffe3e0,#fff0e8);border-color:#f2b8ad}
.nc-badge.today .d{color:#c0392b}
.nc-badge.none{background:#f2efe8;border-color:var(--line)}
.nc-badge.none .d{font-size:15px;color:var(--sub);padding-top:5px}
.nc-h{min-width:0;flex:1}
.nc-cat{font-size:11px;font-weight:700;color:#7a5c10;background:var(--gold-soft);padding:1px 9px;border-radius:12px;display:inline-block}
.nc-title{font-weight:800;font-size:15.5px;color:var(--ink);margin:5px 0 2px;line-height:1.4}
.nc-org{font-size:12px;color:var(--sub)}
.nc-sum{font-size:12.5px;color:var(--navy);background:#f6f3ff;border-radius:10px;padding:6px 10px;margin:9px 0 4px;line-height:1.5}
.nc-rows{margin-top:6px}
.nc-row{display:flex;gap:7px;font-size:13px;padding:2px 0;align-items:baseline}
.nc-row .k{flex:0 0 auto;font-size:12px}
.nc-row.alert{color:#b4442e;font-weight:700}
.nc-rsvp{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:10px 0 2px}
.nc-rsvp .lb{font-size:12px;color:var(--sub);margin-right:2px}
.rsvpbtn{border:1px solid var(--line);background:#faf8f2;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;color:var(--navy)}
.rsvpbtn.on.yes{background:#2fa39a;color:#fff;border-color:#2fa39a}
.rsvpbtn.on.no{background:#c0392b;color:#fff;border-color:#c0392b}
.rsvpbtn.on.maybe{background:var(--gold);color:#3a2f00;border-color:var(--gold)}
.nc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}
.nc-map{width:100%;height:130px;object-fit:cover;border-radius:12px;margin-top:8px;border:1px solid var(--line);display:block}
.nc-edit{display:none;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.nc-raw{margin-top:8px}
.nc-raw>summary{cursor:pointer;font-size:12px;color:var(--sub);font-weight:700;list-style:none}
.nc-raw .rb{font-size:12px;color:var(--ink);white-space:pre-wrap;background:#faf8f2;border-radius:10px;padding:9px 11px;margin-top:6px;line-height:1.6}
.groupsec{margin-top:20px}
.groupsec>h3{font-size:15px;color:var(--navy);margin-bottom:11px;display:flex;align-items:center;gap:7px}
.groupsec>h3 .b{font-size:11px;background:#efeadf;color:var(--sub);padding:1px 9px;border-radius:18px;font-weight:600}
.cf-full{flex:1 1 100%!important}
.nc-reply{margin-top:4px}
.travelbox{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.travelbox .tv{background:#eef6ff;border:1px solid #d5e6f7;border-radius:12px;padding:6px 12px;font-size:13px}
.travelbox .tv b{color:var(--navy)}
.travelbox .leaveby{font-size:12px;color:#b4442e;font-weight:700}
/* 主催者の紐付け */
.nc-host{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 2px}
.nc-host select{width:auto;flex:1;min-width:150px;padding:7px 10px;font-size:13px}
.nc-hostchip{background:#eaf7f2;border:1px solid #bfe6d6;color:#1f7a5c;border-radius:14px;padding:4px 11px;font-size:13px;font-weight:700}
.hostx{background:none;border:none;color:var(--sub);cursor:pointer;font-size:13px;padding:2px 4px}
.hostednotices{display:flex;flex-direction:column;gap:8px}
.hn-row{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 12px;transition:.12s}
.hn-row:hover{border-color:var(--accent);background:#faf8ff}
.hn-em{font-size:20px;flex:0 0 auto}
.hn-body{font-size:14px;min-width:0}
.hn-body .muted{font-size:12px;display:block}
/* 会食の同席者 */
.guestline{font-size:13px;font-weight:700;color:var(--navy);background:#f6f3ff;border-radius:10px;padding:6px 11px;margin:2px 0 8px;display:inline-block}
.guestchips{max-height:132px;overflow-y:auto}
/* 会費まとめ */
.feesum{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:4px 0 14px}
.feesum>summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:14px;list-style:none}
.feesum>summary b{color:var(--gold)}
.feebody{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}
.feerow{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px}
.feerow .fo{flex:1;min-width:0;font-weight:700}
.feerow .ft{font-weight:800;color:var(--navy);white-space:nowrap}
.confirm+.confirm{margin-top:10px}
.donechip{font-weight:700;color:#1f7a5c;background:#eaf7f2;border:1px solid #bfe6d6;border-radius:12px;padding:8px 12px;font-size:13px}

/* ---------- 下書きボックス（出欠返信・御礼） ---------- */
.draftbox{margin-top:10px;background:linear-gradient(135deg,#f3ecff,#fff6f9);border:1.5px solid var(--accent);border-radius:14px;padding:12px 14px}
.draftbox .dh{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:7px}
.draftbox .db{white-space:pre-wrap;font-size:14px;line-height:1.7;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:9px}
.planextra{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.schedrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.schedrow label{font-size:13px;font-weight:700;color:var(--navy)}
.schedrow input[type=date]{width:auto;padding:8px 10px;font-size:13px}
.schedrow input[type=text]{width:90px;padding:8px 10px;font-size:13px}
.schok{font-size:12px;color:var(--gold);font-weight:700}

/* ---------- responsive ---------- */
@media(max-width:1040px){
  .agentgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .topbar{padding:10px 14px}
  .drawer{right:8px;min-width:214px}
  .kpis{grid-template-columns:1fr 1fr}
  .hero{padding:16px 15px;gap:8px}
  .heropan{height:84px;margin-bottom:-12px}
  .row3{grid-template-columns:1fr}
  .hero h1{font-size:16px;line-height:1.3;white-space:nowrap}
  .hero .greet{font-size:12px}
  .hero p{font-size:12.5px}
  .msg{max-width:90%}
  .agentgrid{grid-template-columns:1fr}
  .focusgrid{grid-template-columns:1fr;gap:14px}
  .picks{grid-template-columns:1fr}
  .ag-pan{height:44px}
  .ncards{grid-template-columns:1fr}
}

/* ===== 📝 メモ（大項目/中項目＋写真） ＋ ぱんまるの記憶 ===== */
.agentcard.a-sage:before{background:linear-gradient(180deg,#5a9c7c,#88c2a2)}
.mm-crumb{font-size:13px;color:var(--sub);margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mm-crumb a{color:var(--navy);font-weight:700;text-decoration:none}
.mm-crumb .sep{color:#c9c2b4}
.mm-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.mm-form{margin-bottom:16px}
.mm-folders{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:18px}
.mm-folder{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:13px 15px;text-decoration:none;color:var(--ink);box-shadow:0 3px 12px rgba(60,50,110,.06);transition:.15s}
.mm-folder:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(60,50,110,.13)}
.mm-folder .fi{font-size:22px;flex:0 0 auto}
.mm-folder .fn{font-weight:800;font-size:15.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-folder .fc{font-size:11.5px;color:var(--sub);flex:0 0 auto}
.mm-folder .fg{font-size:12px;color:var(--navy);font-weight:700;flex:0 0 auto}
.mm-lbl{font-size:12px;font-weight:800;color:#8a6a3a;letter-spacing:.4px;margin:6px 0 10px}
.mm-memos{display:flex;flex-direction:column;gap:12px}
.mm-memo{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px 16px;box-shadow:0 3px 12px rgba(60,50,110,.06)}
.mm-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.mm-title{font-weight:800;font-size:15.5px;color:var(--ink)}
.mm-title.muted{font-weight:600}
.mm-date{font-size:11.5px;color:var(--sub);flex:0 0 auto;white-space:nowrap}
.mm-body{white-space:pre-wrap;word-break:break-word;font-size:14.5px;color:#3a3550;line-height:1.7;margin-top:6px}
.mm-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mm-photos img{width:94px;height:94px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.mm-tools{display:flex;gap:14px;align-items:center;margin-top:11px;flex-wrap:wrap}
.lnk{background:none;border:none;padding:0;font:inherit;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer}
.lnk:hover{text-decoration:underline}
.lnk.del{color:#c0392b}
.mm-edit{margin-top:12px;border-top:1px dashed var(--line);padding-top:13px}
.mm-catseg{display:flex;gap:8px}
.mm-catbtn{flex:1;padding:11px 8px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:14px;font-weight:700;cursor:pointer;transition:.12s;font-family:inherit}
.mm-catbtn:hover{border-color:var(--navy)}
.mm-catbtn.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 2px 7px rgba(67,100,143,.28)}
.mm-editphotos{display:flex;flex-wrap:wrap;gap:9px}
.mm-delph{position:relative;display:inline-block;cursor:pointer}
.mm-delph img{width:72px;height:72px;object-fit:cover;border-radius:9px;border:1px solid var(--line);display:block}
.mm-delph input{position:absolute;top:4px;left:4px;width:18px;height:18px}
.mm-delph span{position:absolute;bottom:0;left:0;right:0;font-size:10px;text-align:center;color:#fff;background:rgba(192,57,43,.82);border-radius:0 0 9px 9px;padding:1px 0;opacity:0;transition:.1s}
.mm-delph input:checked ~ img{outline:2px solid #c0392b;opacity:.55}
.mm-delph input:checked ~ span{opacity:1}
@media(max-width:640px){ .mm-folders{grid-template-columns:1fr} }

/* 📝 メモ 使い方のイメージ box */
.mm-help{background:#fbf8f2;border:1px solid #ece3d0;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.mm-help-t{font-size:13px;font-weight:800;color:#8a6a3a;margin-bottom:8px}
.mm-help-r{font-size:14.5px;color:#3a3550;line-height:1.95;display:flex;align-items:baseline;gap:9px}
.mm-help-i{font-size:16px;flex:0 0 auto}
.mm-help-r b{color:var(--navy)}
.mm-help-note{font-size:12.5px;color:var(--sub);margin-top:9px;line-height:1.65}

/* 📁 一覧から直接✏️で改名 */
.mm-folders{align-items:start}
.mm-folder-cell{min-width:0}
.mm-folder{display:flex;align-items:stretch;gap:0;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 12px rgba(60,50,110,.06);transition:.15s;overflow:hidden}
.mm-folder:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(60,50,110,.13)}
.mm-folder-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:13px 15px;text-decoration:none;color:var(--ink)}
.mm-ren-btn{flex:0 0 auto;border:none;border-left:1px solid var(--line);background:#faf7f0;color:#8a6a3a;font-size:15px;padding:0 15px;cursor:pointer}
.mm-ren-btn:hover{background:#f1e9db}
.mm-ren-form{display:flex;gap:7px;align-items:center;margin:8px 0 2px;padding:10px 12px;background:#fbf8f2;border:1px solid #ece3d0;border-radius:12px;flex-wrap:wrap}
.mm-ren-form input[name=name]{flex:1;min-width:130px;padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;font-size:15px;box-sizing:border-box}
.mm-ren-form .btn{padding:9px 15px;font-size:13.5px;border-radius:9px}

/* 💡 メモへのぱんまるの提案 */
.lnk.sug{color:#8a5a1a;font-weight:800}
.mm-sug{white-space:pre-wrap;word-break:break-word;background:#fbf7ef;border:1px solid #ecdfc4;border-radius:12px;padding:13px 15px;margin-top:11px;font-size:14px;color:#3a3320;line-height:1.75}

/* 🏠 ホーム＝カテゴリ束ハブ（ナビは固定・機能はここに集約） */
.ag-group{margin-bottom:18px}
.ag-grouphead{font-size:12.5px;font-weight:800;color:#8a6a3a;letter-spacing:.04em;margin:16px 0 9px;display:flex;align-items:center;gap:7px;border-bottom:1px dashed #e7ddc9;padding-bottom:6px}
.ag-grouphead .gic{font-size:15px}
.agentcard.a-rose:before{background:linear-gradient(180deg,#d95f6e,#e8a0aa)}
.agentcard.a-cocoa:before{background:linear-gradient(180deg,#a5805a,#c9aa7e)}

/* 💬 相談＝正面玄関（ホームの話しかけバー＋相談画面の多彩な例） */
.talkbar{display:flex;align-items:center;gap:13px;background:linear-gradient(120deg,#6d5f96,#8a7ab2);color:#fff;border-radius:16px;padding:14px 18px;margin:14px 0 4px;text-decoration:none;box-shadow:0 6px 18px rgba(109,95,150,.3);transition:.15s}
.talkbar:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(47,42,99,.3)}
.talkbar .tb-ic{font-size:26px;flex:0 0 auto}
.talkbar .tb-tx{flex:1;display:flex;flex-direction:column;line-height:1.4;min-width:0}
.talkbar .tb-tx b{font-size:16px;font-weight:800}
.talkbar .tb-sub{font-size:11.5px;color:#cfc9f0;margin-top:2px}
.talkbar .tb-go{flex:0 0 auto;background:rgba(255,255,255,.16);border-radius:20px;padding:7px 14px;font-size:13px;font-weight:800;white-space:nowrap}
.exs-label{font-size:12px;font-weight:700;color:#8a7c62;margin:2px 0 7px}
@media(max-width:560px){ .talkbar .tb-go{display:none} }

/* 🔔 メモのリマインド */
.mm-remind{display:inline-block;margin-top:8px;font-size:12px;font-weight:800;color:#2f7a2f;background:#eaf6ea;border:1px solid #cbe6cb;border-radius:8px;padding:3px 10px}
.mm-remind.soon{color:#c0392b;background:#fdece9;border-color:#f2c9c1}
.mm-remrow{display:flex;gap:7px;flex-wrap:wrap}
.mm-remrow input[type=date]{flex:1;min-width:140px}
.mm-remrow input{padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;font-size:15px;box-sizing:border-box}
.mm-hint2{font-size:11.5px;color:var(--sub);margin-top:5px;line-height:1.6}

/* 🔎 メモ検索・ピン留め */
.mm-search{display:flex;gap:7px;align-items:center;margin-bottom:14px}
.mm-search input[type=search]{flex:1;padding:10px 13px;border:1.5px solid var(--line);border-radius:11px;font-size:15px;box-sizing:border-box}
.mm-search-clear{color:var(--sub);font-size:12.5px;text-decoration:none;white-space:nowrap}
.mm-searchhead{font-size:13px;color:#5a4e38;margin-bottom:12px;font-weight:700}
.mm-fchip{font-size:11px;font-weight:700;color:#7a6a52;background:#f3ede1;border:1px solid #e3d8c2;border-radius:7px;padding:1px 7px;vertical-align:middle;margin-left:6px}

/* ===== 📝 メモ 新デザイン（タブ/項目インライン/ファイル/ライトボックス）2026-07-14 ===== */
.mm-tabs{display:flex;gap:8px;margin:4px 0 16px}
.mm-tabs a{flex:1;text-align:center;padding:11px 8px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--sub);font-weight:800;text-decoration:none;font-size:15px}
.mm-tabs a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.mm-tabs a .tc{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;border-radius:20px;background:rgba(0,0,0,.09);font-size:12px}
.mm-tabs a.on .tc{background:rgba(255,255,255,.25)}
.mm-folder2{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:13px 15px;margin-bottom:14px;box-shadow:0 3px 12px rgba(60,50,110,.05)}
.mm-folder2-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mm-folder2-head .fi{font-size:18px}
.mm-folder2-head .fn{font-size:16px;font-weight:800}
.mm-folder2-head .fc{font-size:12px;color:var(--sub);background:#efeadf;padding:2px 9px;border-radius:20px;font-weight:700}
.mm-folder2-act{margin-left:auto;display:flex;gap:12px;align-items:center}
.mm-files{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.mm-file{display:inline-flex;align-items:center;gap:6px;background:#f6f1e6;border:1px solid var(--line);border-radius:10px;padding:5px 8px;text-decoration:none;color:var(--ink);font-size:12.5px;max-width:220px}
.mm-file-thumb{width:34px;height:34px;object-fit:cover;border-radius:6px;cursor:pointer}
.mm-file-ic{font-size:18px}
.mm-file-nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-weight:600}
.mm-file-del{display:inline}
.mm-file-del button{background:none;border:none;color:#b56;font-weight:900;cursor:pointer;font-size:15px;padding:0 2px;line-height:1}
.mm-inlineform{background:#faf7f0;border:1px dashed var(--line);border-radius:12px;padding:11px 12px;margin:10px 0;display:flex;flex-direction:column;gap:8px}
.mm-inlineform input[type=text],.mm-inlineform input:not([type]),.mm-inlineform textarea,.mm-inlineform select{padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit;width:100%}
.mm-inlineform .mm-remrow{display:flex;gap:8px}
.mm-mini{font-size:12px;color:var(--sub);font-weight:700}
.mm-emptyfolder{color:var(--sub);font-size:13px;padding:8px 2px}
.mm-lbl{font-weight:800;font-size:14px;margin:16px 0 8px;color:var(--sub)}
/* 写真タップで一時拡大（ライトボックス） */
.lb{display:none;position:fixed;inset:0;z-index:9999;background:rgba(12,10,8,.86);align-items:center;justify-content:center;padding:16px;cursor:zoom-out}
.lb img{max-width:96vw;max-height:92vh;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.5)}

/* 大項目（グループ内の入れ物）— 中に項目カードが入る 2026-07-14 */
.mm-group{background:linear-gradient(180deg,#f4eee1,#fbf8f2);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin-bottom:16px}
.mm-group-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.mm-group-head .gi{font-size:20px}
.mm-group-head .gn{font-size:18px;font-weight:800}
.mm-group-act{margin-left:auto;display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.mm-group .mm-folder2{box-shadow:0 2px 8px rgba(60,50,110,.06)}

/* ファイル選択ボタンを通常ボタン（アップロード）と同じ大きさ・見た目に 2026-07-14 */
input[type=file]{font-size:14px;line-height:1.6}
input[type=file]::file-selector-button{
  background:var(--navy);color:#fff;border:none;border-radius:11px;
  padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;margin-right:12px;
  font-family:inherit}
input[type=file]::file-selector-button:hover{background:var(--navy2)}
input[type=file]::-webkit-file-upload-button{
  background:var(--navy);color:#fff;border:none;border-radius:11px;
  padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;margin-right:12px;
  font-family:inherit}

/* ===== ✅ タスク & 📓 ノート分割 2026-07-14 ===== */
.note-done{background:var(--bamboo-l,#e7f1ea);background:#e9f5ee;border:1px solid #cfe6d8;color:#1f6b44;border-radius:12px;padding:12px 15px;margin-bottom:14px;font-size:14px;line-height:1.7}
.notebox{border:1.5px solid var(--gold-soft)}
.notebox .nb-h{font-size:16px;font-weight:800;margin-bottom:4px}
.tk-addrow{display:flex;gap:8px;flex-wrap:wrap}
.tk-addrow input[name=title]{flex:1;min-width:180px}
.tk-addrow select{width:auto}
.tk-list{display:flex;flex-direction:column;gap:8px}
.tk-item{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
.tk-check{width:30px;height:30px;flex:0 0 auto;border-radius:50%;border:2px solid var(--month);background:#fff;color:var(--month);font-weight:900;font-size:15px;cursor:pointer;line-height:1;display:grid;place-items:center}
.tk-check:hover{background:var(--month);color:#fff}
.tk-title{flex:1;font-size:15px;font-weight:600}
.tk-title.done{text-decoration:line-through;color:var(--sub);font-weight:500}
.tk-cat{font-size:11px;font-weight:800;padding:2px 9px;border-radius:20px;white-space:nowrap}
.tk-cat.work{background:#e7ecff;color:#3a49a8}
.tk-cat.private{background:#ffeede;color:#a8632a}
.tk-del-f{display:inline}
.tk-del{background:none;border:none;color:#c0392b;cursor:pointer;font-size:15px;padding:0 2px}
.tk-doneitem{background:#f7f5ef;opacity:.85}
.tk-donemark{color:var(--month);font-weight:900}
.dash-tasks{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-top:14px;box-shadow:0 3px 12px rgba(60,50,110,.05)}
.dash-tasks .dt-h{display:flex;align-items:center;gap:9px;font-weight:800;margin-bottom:8px}
.dash-tasks .dt-more{margin-left:auto;font-size:12.5px;color:var(--navy);font-weight:700}
.dt-row{display:flex;align-items:center;gap:11px;padding:7px 2px;border-top:1px dashed var(--line)}
.dt-row .dt-title{flex:1;font-size:14.5px}

/* ===== 🧠 記憶：削除2択（表示だけ消す / 記憶ごと消す）2026-07-14 ===== */
.mem-list{display:flex;flex-direction:column;gap:9px}
.mem-item{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px 14px}
.mem-top{display:flex;align-items:center;gap:11px}
.mem-top .em{font-size:20px}
.mem-top .tx{flex:1;font-size:14.5px}
.mem-top .tx .w{font-size:11px;color:var(--sub);margin-top:2px}
.mem-top form{display:inline}
.mem-del{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.mem-del-q{font-size:13px;font-weight:700;color:var(--sub);margin-bottom:8px}
.mem-del-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mem-del-btns form{display:inline}
.mem-sub{display:block;font-size:10px;opacity:.85;font-weight:600;margin-top:1px}

/* サブ見出し（ホーム「これから」内の小分け）2026-07-14 */
.sub-lbl{font-size:13.5px;font-weight:800;color:#5c6b58;margin:16px 0 9px;display:flex;align-items:center;gap:8px}
.sub-lbl .cnt{font-size:11.5px;color:var(--sub);font-weight:600;background:#eae3d4;padding:2px 9px;border-radius:20px}
/* メモ：メール作成風の追記ボタン・添付ファイル削除リスト（pan42） */
.lnk.add{color:var(--accent)}
.mm-delfiles{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.mm-delfile{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);background:#f6f1e6;border:1px solid var(--line);border-radius:9px;padding:5px 8px;cursor:pointer}
.mm-files{align-items:center}
/* メール風メモ：件名は大きく目立たせる（pan43） */
.mm-subject{font-size:18px;font-weight:700;padding:12px 13px;width:100%;box-sizing:border-box}
.mm-subject::placeholder{font-weight:600;color:#b6ad98}
/* 会話型メモ入力ページ（pan44） */
.mn-intro{display:flex;gap:12px;align-items:center;padding:14px}
.mn-panda{width:54px;height:54px;object-fit:contain;flex:0 0 auto}
.mn-sub{font-size:12.5px;color:var(--sub);line-height:1.6}
.mn-log{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.mn-row{display:flex;gap:7px;align-items:flex-end;max-width:100%}
.mn-row.me{justify-content:flex-end}
.mn-ic{flex:0 0 auto;font-size:20px;line-height:1}
.mn-bubble{padding:10px 13px;border-radius:15px;font-size:14.5px;line-height:1.7;max-width:80%;white-space:pre-wrap;word-break:break-word}
.mn-row.pan .mn-bubble{background:#fff;border:1.5px solid var(--line);border-bottom-left-radius:5px;color:var(--ink)}
.mn-row.me .mn-bubble{background:linear-gradient(120deg,#6d5f96,#8a7ab2);color:#fff;border-bottom-right-radius:5px}
.mn-draft{padding:15px;border:1.5px solid var(--accent);margin-bottom:14px}
.mn-draft-h{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:10px}
.mn-inputbar{position:sticky;bottom:0;display:flex;gap:8px;align-items:flex-end;background:var(--bg);padding:10px 0 14px}
.mn-inputbar textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font-size:15px;font-family:inherit;box-sizing:border-box;line-height:1.5;max-height:160px}
.mn-inputbar .btn{flex:0 0 auto;align-self:stretch}
.mn-foot{text-align:center;margin:6px 0 20px}
/* 会話型メモ入力の🎙️音声入力ボタン（pan45） */
.mn-inputbar .btn.mic{flex:0 0 auto;padding:11px 13px;background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.mn-inputbar .btn.mic.rec{background:#d95f6e;border-color:#d95f6e;color:#fff;animation:micpulse 1s infinite}
@keyframes micpulse{0%,100%{opacity:1}50%{opacity:.55}}
.mn-michint{font-size:11.5px;color:var(--sub);text-align:center;margin:-6px 0 14px}
/* 相談（受付）の音声ボタン・確認カード入力（pan46） */
.chatbar .btn.mic{flex:0 0 auto;padding:10px 12px;background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.chatbar .btn.mic.rec{background:#d95f6e;border-color:#d95f6e;color:#fff;animation:micpulse 1s infinite}
.proposal .ac-in{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:9px;padding:9px 11px;font-size:14.5px;font-family:inherit;margin-bottom:8px}
.proposal .ac-in.ac-sub{font-size:16px;font-weight:700}
