/* automation — Blush workspace. Presentation only; existing form and JS hooks stay intact. */
:root {
  --bg: #fff7fa; --panel: #fff; --text: #392936; --muted: #806b78;
  --line: #f0dfe7; --line-strong: #dfbacb; --soft: #fff0f6; --soft-2: #fffbfd;
  --input-bg: #fff; --input-border: #d8bfcb;
  --primary: #c82e73; --primary-hover: #ad225e; --primary-pressed: #921c50;
  --primary-soft: #ffe5ef; --primary-text: #a7205b; --focus-ring: #f7c8dc;
  --row-hover: #fff5f9; --dark: #392936; --radius: 20px;
  --success: #22765a; --success-soft: #edf9f2;
}
html,body,.app-shell,.app-main { background: var(--bg); }
body { color: var(--text); letter-spacing: .015em; }
::selection { background:#ffc9df; color:#6b2146; }
button,a,input,textarea,select,summary { touch-action:manipulation; }
:focus-visible { outline:3px solid #af235f; outline-offset:4px; }
.hime-wordmark { display:inline-flex; align-items:center; gap:2px; font-family:Arial,sans-serif; font-size:28px; font-weight:900; letter-spacing:-1.4px; color:#41283a; white-space:nowrap; }
.hime-wordmark>span { color:var(--primary); }
.hime-wordmark i { width:7px; height:7px; margin:0 0 14px 4px; background:#f17bae; border-radius:50%; }
.nav-icon { width:19px; height:19px; flex:0 0 19px; }
.app-main { margin-left:0; }
.app-main main { max-width:1320px; width:100%; margin:0 auto; padding:0 40px 56px; background:transparent; }
.workspace-heading { display:flex; align-items:center; gap:16px; max-width:1320px; margin:0 auto; padding:29px 40px 24px; font-size:12px; }
.workspace-heading>span:first-child { color:var(--muted); }
.workspace-heading>strong { padding-left:16px; border-left:1px solid var(--line-strong); font-size:13px; }
.workspace-account { margin-left:auto; color:var(--muted); max-width:40%; overflow-wrap:anywhere; }
@media(min-width:901px) {
 .desktop-sidebar { position:relative; inset:auto; width:100%; overflow:visible; display:grid; grid-template-columns:210px 200px minmax(0,1fr); align-items:center; border:0; border-bottom:1px solid var(--line); padding:16px max(32px,calc((100vw - 1240px)/2)) 0; background:#fff; }
 .sidebar-brand { min-height:68px; padding:0 26px 0 0; border:0; }
 .desktop-sidebar .service-switch { padding:0 24px 0 0; }
 .desktop-sidebar .service-switch label { margin:0 0 3px; color:var(--muted); font-size:10px; }
 .desktop-sidebar .service-switch select { min-height:38px; height:38px; border:1px solid var(--line); border-radius:10px; font-size:13px; }
 .desktop-sidebar .logged-in-account { grid-column:3; grid-row:1; padding:0 0 0 24px; margin:0; border:0; border-left:1px solid var(--line); min-width:0; }
 .desktop-sidebar .logged-in-account-head { flex-direction:row; align-items:center; gap:10px; }
 .desktop-sidebar .logged-in-account-head strong { width:auto; font-size:13px; }
 .desktop-sidebar .logged-in-account-meta { display:flex; flex-wrap:wrap; column-gap:14px; row-gap:1px; margin-top:5px; }
 .desktop-sidebar .logged-in-account-meta span,.desktop-sidebar .logged-in-account-meta a { font-size:10px; }
 .sidebar-nav { grid-column:1/-1; grid-row:2; flex-direction:row; gap:5px; padding:15px 0 0; }
 .sidebar-nav .nav-link { min-height:50px; padding:0 17px; border-radius:12px 12px 0 0; font-size:13px; font-weight:600; color:var(--muted); border-bottom:3px solid transparent; }
 .sidebar-nav .nav-link.active { color:var(--primary-text); background:var(--primary-soft); border-bottom-color:var(--primary); }
 .sidebar-nav .nav-link:hover { color:var(--primary-text); background:#fff2f7; }
 .sidebar-nav .logout-link { margin-left:auto; }
 .desktop-sidebar:has(.sidebar-brand + .sidebar-nav) { grid-template-columns:210px 1fr; }
 .desktop-sidebar:has(.sidebar-brand + .sidebar-nav) .logged-in-account { grid-column:2; }
}
.panel,.card,.capacity-card,.daily-send-capacity-card,.admin-kpi,.service-usage-card { border:1px solid var(--line); border-radius:20px; box-shadow:0 5px 24px #7b345407; background:#fff; }
.panel { padding:26px; margin-bottom:22px; }
.panel h1 { font-size:23px; letter-spacing:-.04em; color:var(--text); }
.panel h2,.panel-head h2 { font-size:17px; color:var(--text); }
.panel-head { margin-bottom:20px; }
.hero { min-height:232px; margin:0; padding:32px; border:1px solid #ffd1e4; border-radius:24px; background:#ffe2ee; box-shadow:none; }
.hero::after { width:280px; height:280px; right:-75px; bottom:-140px; border:40px solid #ffc0d9; background:transparent; opacity:.65; }
.hero::before { content:""; width:65px; height:65px; border:15px solid #ffb4d1; position:absolute; right:32px; top:28px; border-radius:50%; opacity:.5; }
.hero>div { max-width:92%; }
.hero .eyebrow { border:0; background:#fff9fc; color:#a8235c; min-height:25px; font-size:10px; letter-spacing:.15em; margin-bottom:14px; }
.hero h1 { font-size:32px; color:#6b2546; letter-spacing:-.05em; }
.hero p { color:#82536b; font-size:13px; max-width:480px; }
.home-contract-meta { margin-top:20px; gap:6px; }
.home-contract-meta>span { background:#fff8fc; border:0; color:#8b3c60; font-size:11px; padding:4px 9px; }
.stats { gap:12px; margin:0; }
.stats>div { padding:20px; border:1px solid var(--line); border-radius:18px; box-shadow:none; }
.stats>div::before { top:20px; left:auto; right:16px; width:7px; height:7px; background:#f38db9; border-radius:50%; }
.stats>div:nth-child(2)::before { background:#72b99d; }
.stats>div:nth-child(3)::before { background:#d3a066; }
.stats span { font-size:11px; color:var(--muted); }
.stats b { font-size:32px; color:#533747; font-weight:750; }
.stats .home-plan-name { font-size:21px; }
.daily-send-capacity-card { padding:25px; border-top:4px solid #eb84af; margin:0 0 22px; }
.daily-send-capacity-card>div:first-child>span { color:var(--muted); font-size:12px; }
.daily-send-capacity-card>div:first-child strong { color:var(--primary-text); font-size:28px; }
.daily-send-capacity-copy b { color:var(--text); }
.daily-send-capacity-track { background:#fde5ef; height:9px; border-radius:9px; }
.daily-send-capacity-track>span,.bulk-progress-bar { background:#e34b90; border-radius:9px; }
.daily-send-capacity-card small { color:var(--muted); line-height:1.8; }
@media(min-width:1101px) {
 .app-main main:has(>.hero) { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:22px; align-items:start; }
 .app-main main:has(>.hero)>* { min-width:0; margin:0; }
 .app-main main:has(>.hero)>.hero { grid-column:1; height:100%; }
 .app-main main:has(>.hero)>.stats { grid-column:2; align-self:stretch; grid-template-columns:1fr 1fr; }
 .app-main main:has(>.hero)>.stats>div:last-child { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; min-height:84px; padding-right:32px; }
 .app-main main:has(>.hero)>.daily-send-capacity-card { grid-column:1; display:flex; flex-direction:column; align-items:stretch; gap:15px; }
 .app-main main:has(>.hero)>.panel { grid-column:2; align-self:stretch; }
 .app-main main:has(>.hero)>.notice,.app-main main:has(>.hero)>.flash { grid-column:1/-1; }
}
@media(max-width:1100px) { .app-main main>.hero,.app-main main>.stats { margin-bottom:20px; } }
button,.btn,.button-link { border-radius:11px; box-shadow:none; font-weight:650; }
button:not(.secondary):not(.danger):not(:disabled),.btn:not(.secondary):not(.danger),.button-link { background:var(--primary); border-color:var(--primary); }
button:not(.secondary):not(.danger):not(:disabled):hover,.btn:not(.secondary):not(.danger):hover { background:var(--primary-hover); border-color:var(--primary-hover); }
button.secondary,.btn.secondary { background:#fff; color:var(--primary-text); border-color:#e8bed0; }
button.danger,.btn.danger { color:#b02d43; border-color:#f0c2ca; background:#fff3f4; }
button:disabled,.btn[aria-disabled=true] { opacity:.5; cursor:not-allowed; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea { border-radius:10px; border-color:var(--input-border); }
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
input[type=checkbox],input[type=radio],progress { accent-color:var(--primary); }
.text-link,.admin-login-link { color:var(--primary-text); }
.table-wrap { border:1px solid var(--line); border-radius:14px; scrollbar-color:#dba9bf #fff6fa; }
table { border-collapse:collapse; }
thead th,.cast-table th,.stats+.panel thead th { color:#8b6278; background:#fff3f8; border-color:var(--line); font-size:11px; font-weight:700; }
tbody td { border-color:#f4e8ee; }
tbody tr:hover { background:var(--row-hover); }
.compact-history-head { padding:0 0 16px; }
.compact-history-head h2 { font-size:16px; }
.notice,.flash.info,.diag { border-color:#edc8d8; background:#fff0f6; color:#843755; border-radius:14px; }
.capacity-card { border-left:4px solid #ed8ab5; background:#fff; }
.settings-panel { max-width:100%; }
.settings-section { background:#fffbfd; padding:22px; border:1px solid var(--line); border-radius:16px; }
.settings-form { gap:20px; }
.cast-list-head,.cast-bulk-status-bar { gap:16px; }
.cast-bulk-status-bar { background:#fff5f9; border-color:var(--line); border-radius:12px; }
.collapsible-form-panel>summary { border-radius:18px; background:#fff; }
.schedule-send-btn { border-color:#e6abc5; color:var(--primary-text)!important; }
.schedule-send-btn:hover { background:var(--primary-soft); }
@media(min-width:768px) {
 .app-main main:has(.send-cast-table) { max-width:1600px; padding-left:32px; padding-right:32px; margin:auto; }
 .send-cast-table { min-width:1240px; }
}
/* A spacious, two-column sign-in screen; the original form is untouched. */
.guest-shell { min-height:100vh; background:radial-gradient(ellipse at 15% 20%,#ffe2ef,transparent 60%),#fff7fa; display:grid; align-items:center; }
.guest-shell .app-main { background:transparent; width:100%; }
.guest-shell main { max-width:1040px; margin:0 auto; padding:48px 24px; }
.login-card { position:relative; max-width:none; width:100%; padding:66px 56px 60px calc(50% + 40px); min-height:560px; background:#fff; border-radius:28px; box-shadow:0 24px 80px #9c386016; overflow:hidden; }
.login-card::before { content:"automation\A\A毎日の運用を、\Aもっと心地よく。\A\Aミテネ・オキニトーク 統合管理"; white-space:pre-wrap; position:absolute; inset:0 50% 0 0; padding:88px 40px; font-size:27px; font-weight:750; line-height:1.7; letter-spacing:-.04em; color:#843352; background:radial-gradient(circle at 10% 95%,#ffc3dc 0 100px,transparent 101px),radial-gradient(circle at 110% 0,#ffd1e3 0 145px,transparent 146px),#ffe6f0; }
.login-brand { align-items:flex-start; margin-bottom:28px; gap:8px; }
.login-brand strong { font-size:24px; color:#66334a; }
.login-brand .brand-mark { display:none; }
.login-brand span:last-child { font-size:12px; color:var(--muted); }
.login-card .stack-form>button { margin-top:8px; min-height:48px; }
.login-card input { min-height:48px; }
.login-card .field-help { font-size:11px; line-height:1.8; }
.upgrade-shell { max-width:960px; margin:40px auto; }
@media(max-width:900px) {
 .desktop-sidebar { display:none; }
 .site-header { background:#fff; border-bottom:1px solid var(--line); }
 .header-inner { min-height:72px; padding:12px 22px; }
 .hime-wordmark { font-size:25px; }
 .mobile-menu-button { border-radius:12px; background:var(--primary-soft); border-color:var(--line); }
 .mobile-menu-button span { background:var(--primary-text); }
 .mobile-drawer { background:#fffafd; }
 .drawer-head { padding:22px; border-color:var(--line); }
 .drawer-nav .nav-link { border-radius:12px; margin-bottom:5px; }
 .drawer-nav .nav-link.active { background:var(--primary-soft); color:var(--primary-text); }
 .app-main main { padding:0 22px 40px; }
 .workspace-heading { padding:22px; gap:10px; }
 .workspace-account { display:none; }
 .hero { padding:28px; }
 .guest-shell main { padding:28px 20px; }
 .login-card { padding:44px 32px 44px calc(45% + 28px); }
 .login-card::before { right:55%; padding:72px 28px; font-size:23px; }
}
@media(max-width:600px) {
 .app-main main { padding:0 14px 32px; }
 .workspace-heading { padding:20px 16px 16px; font-size:10px; }
 .workspace-heading>strong { font-size:12px; }
 .hero { padding:25px; border-radius:20px; min-height:210px; }
 .hero h1 { font-size:27px; }
 .hero>div { max-width:100%; }
 .hero p { font-size:12px; }
 .hero::before { right:12px; top:12px; opacity:.25; }
 .hero::after { opacity:.35; }
 .stats { grid-template-columns:1fr 1fr; gap:10px; }
 .stats>div { padding:17px; min-height:100px; }
 .stats>div:last-child { grid-column:1/-1; min-height:70px; flex-direction:row; align-items:center; justify-content:space-between; padding-right:30px; }
 .stats b { font-size:27px; }
 .stats span { font-size:10px; }
 .stats .home-plan-name { font-size:19px; }
 .panel { padding:19px 16px; border-radius:17px; margin-bottom:16px; }
 .panel h1 { font-size:21px; }
 .daily-send-capacity-card { padding:22px; border-radius:17px; }
 .settings-section { padding:18px 14px; }
 .login-card { padding:35px 26px; min-height:0; border-radius:23px; }
 .login-card::before { display:none; }
 .guest-shell main { padding:28px 18px; }
 .login-brand { margin-bottom:24px; }
 .guest-shell .app-main main { padding:24px 18px; }
 .upgrade-shell { margin:20px 14px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
/* Keep contrasting labels on the legacy controls with custom class names. */
button:not(.secondary):not(.danger):not(:disabled),.btn:not(.secondary):not(.danger),.button-link { color:#fff; }
button.cast-bulk-off:not(:disabled),button.automation-tour-skip:not(:disabled),button.automation-tour-welcome-skip:not(:disabled) { background:#fff; color:var(--primary-text); border-color:var(--line-strong); }
button.cast-bulk-off:not(:disabled):hover,button.automation-tour-skip:not(:disabled):hover,button.automation-tour-welcome-skip:not(:disabled):hover { background:var(--primary-soft); color:var(--primary-text); }
.sidebar-nav .nav-link.active::before { display:none; }
@media(min-width:1000px) {
 .settings-form { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .settings-form>.settings-section { margin:0; height:100%; }
 .settings-form>button { grid-column:1/-1; justify-self:start; width:auto; min-width:180px; }
}
