#systemReminderCenterHost {
  min-width:0;
  min-height:0;
  flex:1 1 0;
  overflow:hidden;
}
.reminder-center {
  --rem-ink:#20352c;
  --rem-muted:#667a70;
  --rem-line:#d5e0da;
  --rem-surface:#ffffff;
  --rem-soft:#f3f7f5;
  --rem-green:#176b4a;
  --rem-blue:#376b91;
  --rem-rust:#b45a35;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  gap:7px;
  color:var(--rem-ink);
}
.reminder-center-summary {
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 12px;
  border-left:4px solid var(--rem-green);
  background:linear-gradient(90deg,#edf6f1 0,#f8faf9 52%,#f1f5f7 100%);
}
.reminder-center-summary span { color:var(--rem-green); font-size:11px; font-weight:800; }
.reminder-center-summary h3 { margin:1px 0 0; font-size:15px; }
.reminder-center-summary p { display:none; }
.reminder-center-counters { display:flex; gap:7px; flex:none; }
.reminder-center-counters span {
  min-width:64px;
  padding:4px 7px;
  border:1px solid rgba(23,107,74,.2);
  border-radius:4px;
  background:rgba(255,255,255,.74);
  color:var(--rem-muted);
  text-align:center;
}
.reminder-center-counters b { display:block; color:var(--rem-ink); font:800 16px Bahnschrift,"Microsoft YaHei",sans-serif; }
.reminder-center-toolbar { height:34px; min-height:34px; box-sizing:border-box; display:flex; align-items:center; justify-content:flex-end; gap:5px; padding:3px 6px; }
.reminder-center-toolbar label { position:relative; width:min(360px,42vw); height:28px; margin-right:auto; }
.reminder-center-toolbar label i { position:absolute; top:6px; left:8px; width:14px; height:14px; color:#71847b; }
.reminder-center-toolbar input { box-sizing:border-box; width:100%; height:28px; padding:0 8px 0 28px; border:1px solid #becdc5; border-radius:3px; background:#fff; color:var(--rem-ink); font-size:11px; }
.reminder-center-toolbar .factory-button { min-height:28px; height:28px; padding:0 8px; font-size:11px; }
.reminder-center-toolbar .factory-button svg { width:13px; height:13px; }
.reminder-center-layout { min-height:0; display:grid; grid-template-columns:280px minmax(0,1fr); overflow:hidden; border:1px solid var(--rem-line); background:#fff; }
.reminder-rule-list { min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px; border-right:1px solid var(--rem-line); background:#f5f8f6; }
.reminder-rule-item { width:100%; min-height:62px; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:8px; margin-bottom:5px; padding:8px; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--rem-ink); text-align:left; cursor:pointer; }
.reminder-rule-item:hover { border-color:#c4d5cc; background:#fff; }
.reminder-rule-item.is-active { border-color:#8fb9a5; background:#fff; box-shadow:inset 3px 0 var(--rem-green); }
.reminder-rule-priority { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#e8efeb; color:#496359; font:800 11px Bahnschrift,Arial,sans-serif; }
.reminder-rule-copy { min-width:0; }
.reminder-rule-copy b,.reminder-rule-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reminder-rule-copy b { font-size:12px; }
.reminder-rule-copy small { margin-top:4px; color:var(--rem-muted); font-size:10px; }
.reminder-rule-item .factory-status { padding:3px 5px; font-size:9px; }
.reminder-editor-host { min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; background:#fff; }
.reminder-editor-empty,.reminder-center-empty { min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:var(--rem-muted); text-align:center; }
.reminder-editor-empty i,.reminder-center-empty i { width:30px; height:30px; color:#8ba399; }
.reminder-editor-empty b,.reminder-center-empty b { color:var(--rem-ink); }
.reminder-rule-editor > header { position:sticky; top:0; z-index:4; min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; border-bottom:1px solid var(--rem-line); background:rgba(255,255,255,.96); }
.reminder-rule-editor > header span { color:var(--rem-muted); font-size:10px; }
.reminder-rule-editor > header h3 { max-width:660px; margin:2px 0 0; overflow:hidden; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.reminder-rule-editor > header > div:last-child { display:flex; gap:6px; }
.reminder-editor-section { padding:13px 15px; border-bottom:1px solid #e2e9e5; }
.reminder-editor-section > h4,.reminder-section-heading h4 { margin:0 0 10px; font-size:13px; }
.reminder-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.reminder-form-grid label { min-width:0; color:#51695e; font-size:11px; font-weight:700; }
.reminder-form-grid label > span { display:block; margin-bottom:5px; }
.reminder-form-grid .reminder-template-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.reminder-form-grid .reminder-template-heading > span { min-width:0; }
.reminder-form-grid .reminder-template-heading select { width:auto; min-width:112px; min-height:26px; padding:3px 26px 3px 8px; border-color:#b8c9c0; background:#f7faf8; color:#315748; font-size:11px; font-weight:700; }
.reminder-form-grid input,.reminder-form-grid select,.reminder-form-grid textarea,.reminder-section-heading select { box-sizing:border-box; width:100%; min-width:0; min-height:34px; padding:6px 8px; border:1px solid #c4d2cb; border-radius:3px; background:#fff; color:var(--rem-ink); font:12px "Microsoft YaHei",Arial,sans-serif; }
.reminder-form-grid textarea { resize:vertical; line-height:1.5; }
.reminder-form-grid .span-2 { grid-column:span 2; }
.reminder-form-grid .reminder-switch { min-height:45px; display:flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid #d4dfd9; border-radius:3px; background:var(--rem-soft); }
.reminder-switch input { width:17px; min-height:17px; margin:0; accent-color:var(--rem-green); }
.reminder-switch span { margin:0!important; }
.reminder-switch b,.reminder-switch small { display:block; }
.reminder-switch small { margin-top:2px; color:var(--rem-muted); font-weight:400; }
.reminder-scope-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:9px; }
.reminder-scope-choice label { display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid #d3dfd8; border-radius:4px; background:#f8faf9; cursor:pointer; }
.reminder-scope-choice label:has(input:checked) { border-color:#7eaf97; background:#edf7f1; }
.reminder-scope-choice input { width:16px; height:16px; margin:0; accent-color:var(--rem-green); }
.reminder-scope-choice b,.reminder-scope-choice small { display:block; }
.reminder-scope-choice b { font-size:12px; }
.reminder-scope-choice small { margin-top:2px; color:var(--rem-muted); font-size:10px; }
.reminder-scope-choice.compact label { min-height:34px; padding:5px 9px; }
.reminder-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.reminder-process-grid label { display:flex; align-items:center; gap:6px; min-width:0; padding:6px 8px; border:1px solid #dbe4df; border-radius:3px; font-size:11px; }
.reminder-process-grid input { accent-color:var(--rem-green); }
.reminder-process-grid[data-muted="true"],.reminder-device-list[data-muted="true"] { opacity:.42; pointer-events:none; }
.reminder-device-list { max-height:210px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:auto; padding:8px; border:1px solid #d8e2dd; background:#fafcfb; }
.reminder-device-group { min-width:0; }
.reminder-device-group > b { display:block; margin-bottom:5px; color:var(--rem-blue); font-size:10px; }
.reminder-device-group label { display:flex; align-items:center; gap:7px; margin-bottom:4px; padding:5px 7px; border:1px solid #dde5e1; border-radius:3px; background:#fff; cursor:pointer; }
.reminder-device-group input { accent-color:var(--rem-green); }
.reminder-device-group span { min-width:0; }
.reminder-device-group strong,.reminder-device-group small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reminder-device-group strong { font-size:11px; }
.reminder-device-group small { margin-top:2px; color:var(--rem-muted); font-size:9px; }
.reminder-center-empty-inline { padding:14px; color:var(--rem-muted); font-size:11px; }
.reminder-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.reminder-section-heading > div { display:flex; align-items:center; gap:12px; }
.reminder-section-heading h4 { margin:0; }
.reminder-section-heading label { display:flex; align-items:center; gap:5px; color:var(--rem-muted); font-size:10px; }
.reminder-section-heading select { width:105px; min-height:29px; padding:3px 6px; }
#reminderConditionRows { display:grid; gap:5px; }
.reminder-condition-row { display:grid; grid-template-columns:minmax(150px,1fr) 110px minmax(160px,1.3fr) 32px; gap:6px; }
.reminder-condition-row input,.reminder-condition-row select,.reminder-media-actions input { box-sizing:border-box; min-width:0; height:33px; padding:0 8px; border:1px solid #c6d3cc; border-radius:3px; background:#fff; color:var(--rem-ink); font-size:11px; }
.reminder-media-actions { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; gap:6px; margin-top:9px; }
.reminder-media-actions label { cursor:pointer; }
.reminder-media-list { display:flex; gap:5px; overflow:auto; margin-top:7px; }
.reminder-media-list > span { min-width:180px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:6px; padding:5px 7px; border:1px solid #d8e1dc; border-radius:3px; background:#f7faf8; font-size:10px; }
.reminder-media-list em { overflow:hidden; color:var(--rem-muted); font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.reminder-media-list button { border:0; background:transparent; color:#af4939; font-size:16px; cursor:pointer; }
.reminder-media-list small { padding:5px; color:var(--rem-muted); }
.reminder-test-strip { display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,260px) auto; align-items:center; gap:8px; padding:11px 15px; border-bottom:1px solid #d8e2dd; background:#f0f5f7; }
.reminder-test-strip b,.reminder-test-strip span { display:block; }
.reminder-test-strip b { font-size:12px; }
.reminder-test-strip span { margin-top:2px; color:var(--rem-muted); font-size:10px; }
.reminder-test-strip input { box-sizing:border-box; width:100%; height:34px; padding:0 8px; border:1px solid #b9cbd2; border-radius:3px; }
.reminder-test-strip output { grid-column:1/-1; min-height:0; color:var(--rem-blue); font-size:11px; }
.reminder-test-strip output[data-hit="yes"] { color:var(--rem-green); }
.reminder-test-strip output[data-hit="no"] { color:var(--rem-rust); }
.reminder-voice-settings { display:grid; grid-template-columns:minmax(180px,1.1fr) minmax(220px,1fr) auto auto; align-items:end; gap:9px; padding:7px 10px; border:1px solid #c9d8d0; background:#fff; }
.reminder-voice-copy span,.reminder-voice-copy b,.reminder-voice-copy small { display:block; }
.reminder-voice-copy span { color:var(--rem-green); font-size:10px; font-weight:800; }
.reminder-voice-copy b { margin-top:1px; font-size:12px; }
.reminder-voice-copy small { display:none; }
.reminder-voice-settings label > span,.reminder-voice-mode > span { display:block; margin-bottom:3px; color:var(--rem-muted); font-size:9px; font-weight:700; }
.reminder-voice-settings label { position:relative; }
.reminder-voice-settings output { position:absolute; right:0; top:0; color:var(--rem-green); font-size:11px; font-weight:800; }
.reminder-voice-settings input[type="range"] { width:100%; accent-color:var(--rem-green); }
.reminder-voice-mode > div { display:flex; height:28px; border:1px solid #b9cbd2; border-radius:3px; overflow:hidden; }
.reminder-voice-mode button { padding:0 10px; border:0; border-right:1px solid #d4dfda; background:#fff; color:#52665c; cursor:pointer; }
.reminder-voice-mode button:last-child { border-right:0; }
.reminder-voice-mode button.is-active { background:#17613f; color:#fff; }
.reminder-voice-actions { display:flex; gap:7px; }
.reminder-voice-advanced { grid-column:1/-1; display:flex; align-items:center; gap:8px; padding-top:6px; border-top:1px solid #e1e9e5; }
.reminder-voice-advanced > label { min-width:105px; }
.reminder-voice-advanced input[type="number"],.reminder-voice-advanced select { box-sizing:border-box; width:100%; height:27px; border:1px solid #b9cbd2; border-radius:3px; background:#fff; }
.reminder-voice-check { display:flex; align-items:center; gap:7px; min-height:27px; }
.reminder-voice-check > span { margin:0!important; }
.reminder-voice-test-group { display:flex; align-items:center; gap:5px; margin-left:auto; }
.reminder-voice-test-group > span { color:var(--rem-muted); font-size:10px; font-weight:700; }
.reminder-voice-test-group button { height:26px; padding:0 7px; border:1px solid #b9cbd2; border-radius:3px; background:#fff; color:#36594a; cursor:pointer; }
.reminder-rule-editor > footer { position:sticky; bottom:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; border-top:1px solid var(--rem-line); background:rgba(255,255,255,.96); }
.reminder-rule-editor > footer > span { color:var(--rem-muted); font-size:10px; }
.reminder-hit-log { min-height:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--rem-line); background:#fff; }
.reminder-hit-log > .factory-table-scroll { min-height:0; flex:1 1 auto; overflow:auto; }
.reminder-hit-log > header { display:flex; align-items:center; justify-content:space-between; padding:9px 11px; border-bottom:1px solid var(--rem-line); background:#f7f9f8; }
.reminder-hit-log header b,.reminder-hit-log header span { display:block; }
.reminder-hit-log header b { font-size:12px; }
.reminder-hit-log header span { margin-top:2px; color:var(--rem-muted); font-size:10px; }
.reminder-log-table small { display:block; margin-top:2px; color:var(--rem-muted); font-size:9px; }
.reminder-log-empty { padding:28px; color:var(--rem-muted); text-align:center; font-size:11px; }
@media(max-width:1280px) {
  .reminder-voice-settings { grid-template-columns:1fr 1fr; }
  .reminder-center-layout { grid-template-columns:235px minmax(0,1fr); }
  .reminder-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reminder-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reminder-device-list { grid-template-columns:1fr; }
  .reminder-condition-row { grid-template-columns:minmax(100px,1fr) 100px minmax(120px,1.2fr) 32px; }
  .reminder-test-strip { grid-template-columns:1fr; }
  .reminder-media-actions { grid-template-columns:auto minmax(120px,1fr) auto; }
}
@media(max-width:760px) {
  .reminder-voice-settings { grid-template-columns:1fr; }
  .reminder-voice-advanced { align-items:stretch; flex-direction:column; }
  .reminder-voice-test-group { flex-wrap:wrap; margin-left:0; }
  .reminder-center-summary { align-items:flex-start; flex-direction:column; }
  .reminder-center-counters { width:100%; }
  .reminder-center-counters span { flex:1; min-width:0; }
  .reminder-center-layout { display:block; }
  .reminder-rule-list { max-height:250px; border-right:0; border-bottom:1px solid var(--rem-line); }
  .reminder-process-grid,.reminder-device-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reminder-condition-row { grid-template-columns:1fr 100px 32px; }
  .reminder-condition-row [data-value] { grid-column:1/3; }
  .reminder-test-strip { grid-template-columns:1fr; }
  .reminder-media-actions { grid-template-columns:1fr; }
}
