/* 案A（磨き直し）の配色と部品。最後に読み込み、元のCSSの色・形を上書きする。 */

:root{
  --bg:#f6f6f4; --surface:#fff; --surface-2:#f1f1ef; --surface-3:#ebebe8;
  --line:#e6e5e1; --line-2:#d9d8d3;
  --ink:#121212; --ink-2:#4a4a48; --ink-3:#8a8a86;
  --red:#e0141e; --red-ink:#c8101a; --red-soft:#fdecec; --red-line:#f5c2c4;
  --side:#0e0e0e; --side-ink:#f4f4f2; --side-dim:#8d8d89;
  --ok:#1d7a46; --ok-soft:#e7f4ec; --warn:#9a6a00; --warn-soft:#fbf3dc;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 6px 24px -12px rgba(0,0,0,.12);
  color:var(--ink); background:var(--bg); color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0b0b0b; --surface:#151515; --surface-2:#1c1c1c; --surface-3:#232323;
  --line:#262626; --line-2:#333;
  --ink:#f3f3f1; --ink-2:#b9b9b5; --ink-3:#7c7c78;
  --red:#ff2d37; --red-ink:#ff5a62; --red-soft:#2a1213; --red-line:#5a1e21;
  --side:#000; --side-ink:#f4f4f2; --side-dim:#77776f;
  --ok:#5fd394; --ok-soft:#12261b; --warn:#f0c560; --warn-soft:#2a2310;
  --shadow:0 1px 0 rgba(255,255,255,.03),0 10px 30px -16px rgba(0,0,0,.8);
  color-scheme:dark;
}
body{background:var(--bg);color:var(--ink);transition:background .25s,color .25s}
a{color:var(--red-ink)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.num{font-feature-settings:"tnum" 1;letter-spacing:-.01em}
.icon-sprite{position:absolute}

/* 左メニュー */
.sidebar{background:var(--side);border-right:0;padding:22px 14px 20px}
.brand{padding:4px 8px 26px;gap:11px}
.brand strong{color:var(--side-ink);font-size:15px;letter-spacing:.06em}
.brand small{color:var(--side-dim);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.brand-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.side-nav{gap:2px}
.nav-item{position:relative;color:var(--side-dim);padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:600;gap:11px;transition:color .15s,background .15s}
.nav-item:hover{background:rgba(255,255,255,.05);color:var(--side-ink)}
.nav-item.active{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--red)}
.nav-icon{width:17px;height:17px;display:grid;place-items:center}
.nav-icon svg{width:17px;height:17px}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding:16px 8px 0;color:var(--side-dim)}
.sidebar-footer #side-user{color:var(--side-ink)}
.demo-chip{background:rgba(255,255,255,.1);color:var(--side-ink)}
.text-button{color:var(--side-dim)}
.text-button:hover{color:var(--side-ink)}

/* 上の帯 */
.topbar{height:64px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;padding:0 36px}
.topbar-right{color:var(--ink-3);gap:16px}
.topbar-right #top-user{color:var(--ink);border-left:1px solid var(--line);padding-left:16px}
.mobile-brand .brand-logo{width:30px;height:30px}
.theme-toggle{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;flex:none;transition:border-color .15s,color .15s}
.theme-toggle:hover{border-color:var(--ink-3);color:var(--ink)}
.theme-toggle svg{width:17px;height:17px}
:root:not([data-theme="dark"]) .theme-toggle .icon-sun{display:none}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:none}

/* 見出しとボタン */
.eyebrow{color:var(--red-ink);letter-spacing:.18em;font-size:11px}
.page-heading h1{font-size:28px;letter-spacing:-.01em}
.page-heading p{color:var(--ink-3)}
.section-heading h2{font-size:15px;font-weight:800;letter-spacing:0}
.section-heading span{color:var(--ink-3);font-size:12px}
.section-heading a,.link-button{color:var(--ink-2);font-weight:700}
.section-heading a:hover,.link-button:hover{color:var(--red-ink)}
.button{border-radius:9px;font-weight:700}
.button.primary{background:var(--ink);color:var(--bg);transition:background .15s}
.button.primary:hover{background:var(--red)}
.button.secondary{background:var(--surface);color:var(--ink-2);border-color:var(--line-2)}
.button.secondary:hover{border-color:var(--ink-3);color:var(--ink)}
.button.danger{background:var(--surface);color:var(--red-ink);border-color:var(--red-line)}

/* 件数の枠 */
.summary-grid{gap:12px}
.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-height:0;padding:16px 18px}
.summary-card label{color:var(--ink-3);font-size:11.5px;font-weight:600}
.summary-card strong{font-size:28px;font-weight:800;margin-top:6px;letter-spacing:-.01em;font-feature-settings:"tnum" 1}
.summary-card small{color:var(--ink-3);font-size:13px;font-weight:600}
.summary-card.accent{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.summary-card.accent label,.summary-card.accent small{color:inherit;opacity:.65}
:root[data-theme="dark"] .summary-card.accent{background:var(--red);border-color:var(--red);color:#fff}

/* 枠と一覧の行 */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.panel-title{border-bottom:1px solid var(--line)}
.release-row{border-bottom:0;border-top:1px solid var(--line);padding:16px 18px;gap:18px;transition:background .15s}
.release-row:first-child{border-top:0}
.release-row:hover{background:var(--surface-2)}
.release-row.with-lead{grid-template-columns:150px 60px minmax(0,1fr) auto}
.release-row h3{font-size:14px;font-weight:600;color:var(--ink-2);margin:4px 0 0;line-height:1.5}
.release-row p{color:var(--ink-3);font-size:11.5px}
.release-row .seller-line{color:var(--ink);font-size:12px;font-weight:800;margin:0 0 4px}
.release-row .seller-line::before{background:var(--red)}
.release-row .badges{margin-top:7px;order:3}
.release-row>div:not(.row-lead):not(.row-right):not(.quick-marks){display:flex;flex-direction:column;min-width:0}
.release-row .seller-line{order:1}
.release-row h3{order:2}
.release-row>div>p:not(.seller-line){order:4;margin-top:6px}
.row-lead{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;min-width:0;padding:0 16px 0 0;align-self:stretch;justify-content:center;gap:1px;text-align:left}
.row-lead b{font-size:19px;font-weight:800;color:var(--ink);line-height:1.25;white-space:nowrap;order:2}
.row-lead small{color:var(--ink-3);font-size:11px;line-height:1.5;white-space:nowrap}
.row-lead small:first-of-type{order:1;font-weight:700;letter-spacing:.04em}
.row-lead small:last-of-type{order:3;font-weight:600}
.row-lead{display:flex;flex-direction:column}
.release-row.today-row{box-shadow:inset 3px 0 0 var(--red)}
.release-row.today-row .row-lead b{color:var(--red-ink)}
.row-thumb{width:60px;height:60px;border-radius:10px;border:1px solid var(--line);padding:4px}
.row-right strong{color:var(--ink)}
.row-right small{color:var(--ink-3)}

/* これからの予定 */
.date-square{background:var(--surface-2);color:var(--ink);border-radius:9px}
.date-square b{font-feature-settings:"tnum" 1}
.deadline-item strong{color:var(--ink)}
.deadline-item p{color:var(--ink-3)}

/* 印 */
.badge{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);border-radius:5px;font-size:11px;padding:2px 8px}
.badge.blue{background:var(--surface-2);color:var(--ink-2)}
.badge.green{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.badge.amber{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.badge.gray{background:var(--surface-2);color:var(--ink-3)}
.badge.must{background:var(--red);color:#fff;border-color:var(--red)}
.badge.pick{background:transparent;color:var(--red-ink);border-color:var(--red-line)}
.mark-button{border:1px solid var(--line);background:var(--surface);color:var(--ink-3);border-radius:9px;width:36px;height:36px}
.mark-button:hover{background:var(--surface-2);border-color:var(--ink-3);color:var(--ink)}
.mark-fav.on{background:var(--ink);border-color:var(--ink);color:#ffd23f}
:root[data-theme="dark"] .mark-fav.on{background:#2b2408;border-color:#6b5512;color:#ffd23f}
.mark-applied.on{background:var(--red);border-color:var(--red);color:#fff}

/* 必ず応募 */
.must-apply{border:1px solid var(--red-line);background:var(--red-soft);border-radius:16px;box-shadow:none}
.must-apply-head h2{color:var(--red-ink);font-size:15px;letter-spacing:0;display:flex;align-items:center;gap:8px}
.must-apply-head h2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}
.must-apply-head span{color:var(--ink-3)}
.must-apply .panel{border-color:var(--red-line)}

/* 切り替えタブ */
.tabs{border-bottom:1px solid var(--line);gap:2px}
.tabs button{color:var(--ink-3);font-size:13px;border-bottom:2px solid transparent;padding:10px 14px}
.tabs button:hover{color:var(--ink)}
.tabs button.active{color:var(--ink);border-color:var(--red)}
.kind-toggle.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* 入力欄 */
.field label{color:var(--ink-3)}
.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line-2);color:var(--ink);border-radius:8px}
.field input::placeholder{color:var(--ink-3)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.filter-advanced{border-top:1px solid var(--line)}
.filter-advanced summary,.finished-favorites summary,.region-card summary,.notification-history summary{color:var(--ink-2)}
.filter-chip{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:99px}
.filter-chip:hover{background:var(--surface-3)}
.results-head{color:var(--ink-3)}
.empty{color:var(--ink-3)}
.note{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:10px}
.area-toggle{color:var(--ink-2)}
.area-selection-count{color:var(--ink)!important}
.notification-time-preview{color:var(--ink)}
.draft-status,.offline-note,.notification-time-legacy{color:var(--ink-3)}

/* カレンダー */
.calendar-grid{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.calendar-weekday{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--ink-3)}
.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-day.muted{background:var(--surface-2);color:var(--ink-3)}
.calendar-day.today{background:var(--red-soft)}
.calendar-day.selected{background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--red)}
.calendar-event{background:var(--red-soft);color:var(--red-ink);border-radius:5px}
.calendar-event.result{background:var(--warn-soft);color:var(--warn)}
.calendar-event.release{background:var(--ok-soft);color:var(--ok)}
.calendar-count{color:var(--red-ink)}
.calendar-more,.calendar-month-count,.calendar-agenda-main small{color:var(--ink-3)}
.calendar-agenda-row{background:var(--surface);border-bottom:1px solid var(--line);color:var(--ink)}
.calendar-agenda-row:hover{background:var(--surface-2)}

/* 設定・管理 */
.settings-card h3,.admin-grid h2{border-color:var(--line)}
.settings-card .card-actions{border-top:1px solid var(--line)}
.settings-card .webhook-field small{color:var(--ink-3)}
.category-row{border-bottom:1px solid var(--line)}
.category-row input{background:var(--surface);border:1px solid var(--line-2);color:var(--ink)}
.audit-list{color:var(--ink-3)}
.audit-list div{border-bottom:1px solid var(--line)}
.product-row{background:var(--surface);border:1px solid var(--line);border-radius:11px}
.product-row small{color:var(--ink-3)}
.meta-fetch{background:var(--surface-2);border:1px dashed var(--line-2);border-radius:12px}
.meta-fetch>label{color:var(--ink)}
.meta-fetch-row input,.meta-fetch textarea{background:var(--surface);border:1px solid var(--line-2);color:var(--ink)}
.meta-fetch-note,.candidate-note{color:var(--ink-3)}
.candidate{background:var(--surface);border:1px solid var(--line)}
.candidate.failed{border-color:var(--red-line);background:var(--red-soft)}
.candidate.failed p{color:var(--red-ink)}
.amazon-section{border-top:1px solid var(--line)}
.finished-favorites{border-top:1px solid var(--line)}

/* 画面に重ねるもの */
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px}
dialog::backdrop{background:rgba(0,0,0,.55)}
.close-button{background:var(--surface-2);color:var(--ink-2)}
.detail-meta div{background:var(--surface-2);border-radius:10px}
.detail-meta dt{color:var(--ink-3)}
.detail-state{border-top:1px solid var(--line)}
.toast{background:var(--ink);color:var(--bg)}
.connection-banner{background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--line)}

/* ログイン画面 */
.login-screen{background:var(--bg)}
.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.login-panel .brand-logo{width:52px;height:52px;margin-bottom:26px;display:block}
.login-panel h1{font-size:32px;letter-spacing:-.02em}
.login-copy{color:var(--ink-2)}
.demo-notice{background:var(--surface-2);color:var(--ink-2);border-radius:9px}
.login-small{color:var(--ink-3)}

/* スマホ */
.bottom-nav{background:var(--side);border-top:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(0,0,0,.35)}
.bottom-nav button{color:var(--side-dim);border-radius:10px;padding:7px 2px 6px;min-width:0;flex:1}
.bottom-nav button span{display:grid;place-items:center;font-size:0;line-height:1;margin-bottom:2px}
.bottom-nav button span svg{width:19px;height:19px}
.bottom-nav button:hover{background:rgba(255,255,255,.05)}
.bottom-nav button.active{color:#fff;background:rgba(255,255,255,.08)}
.bottom-nav button.active span svg{color:var(--red)}
@media(max-width:760px){
  .topbar{padding:0 16px;height:56px}
  .release-row.with-lead{grid-template-columns:52px minmax(0,1fr);position:relative}
  .release-row.with-lead>.row-lead{grid-column:1/-1;flex-direction:row;align-items:baseline;gap:8px;border-right:0;padding:0 86px 9px 0}
  .row-lead b{font-size:15px}
  .row-lead small:last-of-type{margin-left:auto}
  .release-row .quick-marks{position:absolute;top:10px;right:14px;grid-column:auto;justify-content:flex-end}
  .mark-button{width:34px;height:34px;font-size:16px}
  .release-row .badges{flex-wrap:nowrap;overflow-x:auto;border-top:1px solid var(--line);padding-top:9px;margin-top:9px;scrollbar-width:none}
  .release-row h3{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .summary-card{padding:13px 14px}
  .summary-card strong{font-size:23px}
  .page-heading h1{font-size:23px}
  .calendar-day.today{background:var(--red-soft)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
