:root{
  color-scheme:dark;
  --bg:#121212;
  --panel:#1a1a1a;
  --panel2:#1f1f1f;
  --border:#333;
  --text:#f5f5f5;
  --muted:#8f8f8f;
  --accent:#00a8b0;
  --accent2:#e82e60;
  --danger:#a33;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}

.login-view{min-height:100vh;display:grid;place-items:center;padding:20px}
.pin-card{width:min(320px,100%);text-align:center}
.pin-title{font-size:1.35rem;font-weight:700;margin-bottom:18px}
.pin-dots{height:26px;display:flex;justify-content:center;gap:10px;margin-bottom:16px}
.pin-dot{width:12px;height:12px;border-radius:50%;border:1px solid #666;background:transparent}
.pin-dot.filled{background:var(--accent);border-color:var(--accent)}
.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pin-key{min-height:48px;border:1px solid #3a3a3a;border-radius:9px;background:#242424;color:#fff;font-weight:700;font-size:1.05rem}
.pin-key:active{background:#333}
.pin-key.secondary{color:#bbb;font-weight:600}
.login-msg{min-height:24px;color:#d6a0a0;font-size:.9rem;margin-top:10px}

.work-header{position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid #292929;padding:5px 7px}
.group-row{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
.group-btn{min-width:44px;padding:7px 10px;border-radius:7px;border:1px solid #444;background:#2b2b2b;color:#ddd;font-size:1rem;font-weight:700}
.group-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}
.resident-row{display:flex;gap:5px;overflow-x:auto;white-space:nowrap;padding-top:6px;padding-bottom:1px;scrollbar-width:thin}
.resident-btn{flex:0 0 auto;min-width:43px;padding:6px 9px;border-radius:7px;border:1px solid #3a3a3a;background:#242424;color:#bbb;font-size:.92rem;font-weight:700}
.resident-btn.active{background:var(--accent2);border-color:var(--accent2);color:#fff}
.resident-code{display:inline-flex;align-items:flex-start;white-space:nowrap}
.resident-mark{font-size:.58em;line-height:1;position:relative;top:-.12em;margin-left:0;font-weight:700;text-transform:lowercase}
.phrase-area{padding:8px;max-width:760px;margin:0 auto 52px}
.hint{text-align:center;color:#777;padding:30px 10px;font-size:.95rem}
.resident-title{color:var(--accent2);font-size:.95rem;font-weight:700;padding-bottom:4px;margin-bottom:6px;border-bottom:1px solid #2d2d2d}
.phrase-btn{display:block;width:100%;text-align:left;padding:8px 10px;margin:0 0 5px;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:#fff;font-size:.91rem;line-height:1.2}
.phrase-btn:active{background:#2d2d2d;border-color:var(--accent)}
.lock-btn{position:fixed;right:10px;bottom:10px;border:1px solid #444;border-radius:8px;background:#242424;color:#bbb;padding:7px 10px;font-size:.82rem;z-index:15}
.toast{visibility:hidden;opacity:0;position:fixed;z-index:50;left:50%;bottom:25px;transform:translateX(-50%);padding:9px 14px;border-radius:7px;background:var(--accent);color:#fff;font-size:.92rem;font-weight:700;transition:opacity .12s ease}
.toast.show{visibility:visible;opacity:1}

.oma-work-grid{display:grid;grid-template-columns:1fr;gap:10px}
.oma-work-column{border:1px solid #303030;border-radius:9px;background:#181818;padding:8px}
.oma-work-column h2{font-size:1rem;margin:0 0 7px;color:#ddd}
.oma-note{border-top:1px solid #2c2c2c;padding:7px 0}
.oma-note:first-of-type{border-top:0}
.oma-note-title{font-weight:700;font-size:.9rem;margin-bottom:4px}
.oma-copy-btn{width:100%;text-align:left;border:1px solid #363636;border-radius:7px;background:#202020;color:#fff;padding:8px;line-height:1.25;white-space:pre-wrap}
.oma-copy-mini{border:1px solid #3a3a3a;border-radius:7px;background:#242424;color:#ddd;padding:6px 9px}
.oma-link{display:inline-block;margin-top:6px;color:#83dce0;text-decoration:none;font-weight:700;font-size:.9rem}
.oma-empty{color:#777;font-size:.86rem;padding:6px 0}

/* Admin */
.admin-page{padding:18px;max-width:1350px;margin:0 auto}
.admin-top{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.admin-top h1{font-size:1.35rem;margin:0}
.admin-actions{display:flex;gap:7px;flex-wrap:wrap}
.small-btn{border:1px solid #3a3a3a;border-radius:7px;background:#262626;color:#eee;padding:7px 10px;cursor:pointer}
.small-btn.danger{border-color:#633;color:#f0b3b3}
.small-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.small-btn:disabled{opacity:.4;cursor:default}
.admin-tabs{display:flex;gap:7px;margin:0 0 14px;flex-wrap:wrap}
.admin-tab{border:1px solid #3a3a3a;border-radius:8px;background:#242424;color:#bbb;padding:8px 12px;font-weight:700}
.admin-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.admin-grid{display:grid;grid-template-columns:minmax(580px,1.25fr) minmax(360px,.75fr);gap:14px;align-items:start}
.board{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));gap:9px}
.column{border:1px solid #303030;border-radius:9px;background:#181818;min-height:260px;padding:7px}
.column h2{font-size:1rem;margin:2px 0 7px;color:#ccc;text-align:center}
.dropzone{min-height:210px}
.res-card{border:1px solid #3b3b3b;background:#242424;border-radius:7px;padding:8px;margin-bottom:6px;cursor:grab;user-select:none}
.res-card.dragging{opacity:.45}
.res-card.selected{border-color:var(--accent2)}
.res-main{font-weight:700}
.res-meta{font-size:.76rem;color:#888;margin-top:2px}
.editor{border:1px solid #303030;border-radius:9px;background:#181818;padding:10px;position:sticky;top:10px}
.editor h2{font-size:1rem;margin:0 0 8px}
.editor textarea,.editor input,.editor select,.single-panel textarea,.single-panel input,.single-panel select,.oma-admin-column textarea,.oma-admin-column input,.oma-admin-column select{width:100%;background:#222;color:#fff;border:1px solid #3a3a3a;border-radius:7px;padding:8px}
.editor textarea,.single-panel textarea,.oma-admin-column textarea{min-height:76px;resize:vertical}
.add-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:10px}
.phrase-edit-list{display:flex;flex-direction:column;gap:6px}
.phrase-edit{border:1px solid #333;border-radius:7px;padding:7px;background:#202020}
.phrase-edit.inactive{opacity:.5}
.phrase-edit textarea{min-height:54px;width:100%;background:#222;color:#fff;border:1px solid #3a3a3a;border-radius:7px;padding:8px;resize:vertical}
.phrase-controls{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.settings-panel{margin-top:14px;border-top:1px solid #303030;padding-top:12px}
.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;align-items:end}
.status{min-height:22px;color:#aaa;font-size:.86rem;margin-top:6px}
.search{margin-bottom:8px}
.resident-label-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end;margin-bottom:8px}
.resident-place-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:end;margin-bottom:10px}
.copy-target-row{margin-bottom:9px}
.single-panel{border:1px solid #303030;border-radius:9px;background:#181818;padding:10px;max-width:900px}
.bank-toolbar{display:grid;grid-template-columns:1fr minmax(180px,280px);gap:8px;margin-bottom:8px}
.wide-add{margin-bottom:10px}
.compact-hint{padding:14px}
.oma-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:10px;align-items:start}
.oma-admin-column{border:1px solid #303030;border-radius:9px;background:#181818;padding:8px}
.oma-column-title-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:8px}
.oma-add-box{display:grid;gap:6px;border-bottom:1px solid #303030;padding-bottom:9px;margin-bottom:9px}
.oma-edit{display:grid;gap:6px;border:1px solid #333;border-radius:7px;padding:7px;background:#202020;margin-bottom:7px}

@media(min-width:700px){.oma-work-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.admin-grid{grid-template-columns:1fr}.editor{position:static}.board{grid-template-columns:repeat(2,minmax(140px,1fr))}.oma-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.admin-page{padding:10px}.bank-toolbar{grid-template-columns:1fr}.add-row,.resident-label-row,.resident-place-row,.settings-row{grid-template-columns:1fr}.board{grid-template-columns:1fr 1fr}}


/* AI translator */
.translate-fab{position:fixed;left:10px;bottom:10px;z-index:16;width:48px;height:48px;border:1px solid #3b3b3b;border-radius:50%;background:#147a80;color:#fff;font-size:1.35rem;box-shadow:0 3px 12px rgba(0,0,0,.35)}
.translator-panel{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center;padding:10px}
.translator-card{width:min(720px,100%);max-height:94vh;overflow:auto;background:#171717;border:1px solid #3a3a3a;border-radius:14px;padding:12px;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.translator-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:1.05rem}
.translator-close{border:0;background:transparent;color:#bbb;font-size:1.7rem;line-height:1;padding:0 4px}
.mic-btn{width:100%;min-height:52px;border:1px solid #3d5557;border-radius:10px;background:#203638;color:#fff;font-weight:800;margin-bottom:8px}
.mic-btn.recording{background:#9b2636;border-color:#c13a4e}
.translator-source,.translator-result{width:100%;min-height:105px;background:#202020;color:#fff;border:1px solid #3a3a3a;border-radius:9px;padding:9px;resize:vertical;line-height:1.3}
.translator-result{min-height:115px;margin-top:8px;background:#161d1d;border-color:#315053}
.translator-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.translator-action{flex:1 1 120px;border:1px solid #414141;border-radius:8px;background:#282828;color:#eee;padding:8px 10px;font-weight:700}
.translator-action.primary{background:#087f87;border-color:#087f87;color:#fff}
.translator-action:disabled{opacity:.45}
.translator-status{min-height:24px;padding-top:7px;color:#aaa;font-size:.88rem}
.copy-result-btn{width:100%;margin-top:8px;border:1px solid #087f87;border-radius:9px;background:#087f87;color:#fff;padding:10px;font-weight:800}
.copy-result-btn:disabled{opacity:.35}
.provider-label{text-align:right;color:#777;font-size:.76rem;margin-top:4px}
@media(min-width:720px){.translator-panel{align-items:center}.translator-card{padding:16px}}

/* v3.4 mobile-first light workspace */
:root{
  color-scheme:light;
  --bg:#f5f6f7;
  --panel:#ffffff;
  --panel2:#ffffff;
  --border:#d8dde3;
  --text:#1c2430;
  --muted:#667085;
  --accent:#008c95;
  --accent2:#c52f5d;
  --danger:#b42318;
}
html,body{background:var(--bg);color:var(--text);min-height:100%}
.work-view{min-height:100vh;background:#fff}
.work-header{background:#fff;border-bottom:1px solid #dfe3e8;padding:8px 10px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.group-row{gap:8px}
.group-btn{min-width:58px;padding:10px 15px;border-radius:10px;border:1px solid #cfd5dc;background:#f6f7f9;color:#344054;font-size:1.08rem}
.group-btn.active{background:#0f9aa3;border-color:#0f9aa3;color:#fff}
.resident-row{gap:8px;padding-top:9px;padding-bottom:4px}
.resident-btn{min-width:86px;max-width:170px;padding:9px 12px;border-radius:10px;border:1px solid #d7dce2;background:#fff;color:#344054;font-size:1rem;white-space:normal;line-height:1.15;text-align:center}
.resident-btn.active{background:#c52f5d;border-color:#c52f5d;color:#fff}
.resident-code{display:inline-flex;gap:5px;align-items:baseline;white-space:normal}
.resident-mark{font-size:.92em;position:static;margin:0;text-transform:none;font-weight:700}
.phrase-area{padding:12px 12px 90px;max-width:1180px;margin:0 auto;background:#fff}
.resident-title{color:#b42352;font-size:1.25rem;padding:6px 2px 10px;margin-bottom:10px;border-bottom:2px solid #eceff2}
.section-block{margin:0 0 12px;border:1px solid #dfe3e8;border-radius:13px;overflow:hidden;background:#fff}
.section-head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 13px;border:0;border-bottom:1px solid #e7eaee;background:#f7f9fb;color:#202936;text-align:left;font-weight:800;font-size:1.03rem}
.section-head .section-icon{font-size:1.18rem;width:26px;text-align:center}
.section-head .section-count{margin-left:auto;color:#7a8492;font-size:.82rem;font-weight:700}
.section-body{padding:8px}
.section-block.collapsed .section-body{display:none}
.section-block.collapsed .section-head{border-bottom:0}
.phrase-btn{padding:12px 13px;margin:0 0 7px;border-radius:10px;border:1px solid #d8dde3;background:#fff;color:#1f2937;font-size:1.03rem;line-height:1.32;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.phrase-btn:last-child{margin-bottom:0}
.phrase-btn:active{background:#f0fbfc;border-color:#0f9aa3}
.hint{color:#7b8490;font-size:1rem}
.lock-btn{background:#fff;color:#475467;border-color:#d0d5dd;box-shadow:0 1px 5px rgba(0,0,0,.08)}
.translate-fab{width:62px;height:62px;border-radius:50%;font-size:1.7rem;box-shadow:0 4px 18px rgba(0,0,0,.2)}

.translator-panel{position:fixed;inset:0;z-index:80;background:#fff;overflow:auto;padding:0}
.translator-card{min-height:100vh;width:100%;max-width:none;margin:0;padding:0 12px 22px;background:#fff;color:#1f2937;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:10px}
.translator-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e4e7ec;padding:10px 0 9px;font-size:1.15rem}
.translator-head-actions{display:flex;align-items:center;gap:6px}
.translator-mini,.translator-close{min-width:42px;height:40px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;font-weight:800}
.translator-close{font-size:1.45rem}
.translator-pane{border:1px solid #dfe3e8;border-radius:12px;background:#fff;padding:9px}
.pane-title,.pane-title-row{font-weight:800;color:#344054;font-size:.92rem;margin-bottom:6px}
.pane-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.translator-source,.translator-result,.translator-final{width:100%;border:1px solid #cfd5dc;border-radius:9px;background:#fff;color:#111827;padding:10px;font-size:var(--translator-font-size,1.04rem);line-height:1.35;resize:vertical}
.translator-source{min-height:118px}
.translator-result{min-height:145px}
.translator-final{min-height:145px}
.mic-btn{width:100%;margin-top:8px;min-height:50px;border-radius:10px;border:0;background:#d92d20;color:#fff;font-weight:800;font-size:1.03rem}
.mic-btn.recording{background:#7a271a}
.provider-tabs{display:flex;gap:7px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:thin}
.provider-tab{flex:0 0 auto;border:1px solid #cfd5dc;border-radius:999px;background:#fff;color:#344054;padding:8px 12px;font-weight:800}
.provider-tab.active{background:#0f9aa3;border-color:#0f9aa3;color:#fff}
.provider-tab.future{opacity:.45}
.translator-actions.compact{display:flex;gap:8px;flex-wrap:wrap}
.translator-action{border:1px solid #cfd5dc;border-radius:9px;background:#fff;color:#344054;padding:9px 12px;font-weight:700}
.translator-action.primary{background:#0f9aa3;border-color:#0f9aa3;color:#fff}
.copy-result-btn{width:100%;min-height:50px;border:0;border-radius:10px;background:#0f9aa3;color:#fff;font-weight:900;font-size:1.05rem}
.copy-result-btn:disabled,.translator-action:disabled{opacity:.45}
.translator-status{min-height:21px;color:#667085;font-size:.9rem}
.provider-label{margin:0;color:#667085;font-size:.86rem;font-weight:700}

/* Admin: use the screen instead of a narrow right column */
.admin-page{max-width:1600px;padding:16px;background:#fff;color:#1f2937}
.admin-top,.admin-tabs{background:#fff}
.admin-tab,.small-btn{background:#fff;color:#344054;border-color:#cfd5dc}
.admin-tab.active,.small-btn.primary{background:#0f9aa3;border-color:#0f9aa3;color:#fff}
.admin-grid{grid-template-columns:minmax(320px,.72fr) minmax(560px,1.28fr);gap:18px}
.board{grid-template-columns:repeat(4,minmax(145px,1fr));gap:10px}
.column,.editor,.single-panel,.oma-admin-column{background:#fff;border-color:#dfe3e8}
.column{min-height:220px}
.res-card{background:#f8fafb;border-color:#d7dce2;padding:10px;border-radius:10px}
.res-main{font-size:1.03rem}
.editor{position:static;max-height:none;padding:14px}
.editor textarea,.editor input,.editor select,.single-panel textarea,.single-panel input,.single-panel select,.oma-admin-column textarea,.oma-admin-column input,.oma-admin-column select{background:#fff;color:#1f2937;border-color:#cfd5dc}
.phrase-edit{background:#fff;border-color:#dfe3e8;padding:8px;border-radius:10px}
.phrase-edit textarea{background:#fff;color:#1f2937;border-color:#cfd5dc;min-height:62px;font-size:1rem}
.phrase-controls{gap:6px}
.settings-panel{border-top-color:#e4e7ec}
.oma-work-column{background:#fff;border-color:#dfe3e8}
.oma-copy-btn,.oma-copy-mini{background:#fff;color:#1f2937;border-color:#d0d5dd}

@media (max-width:900px){
  .phrase-area{max-width:none;padding:9px 7px 88px}
  .resident-btn{min-width:96px;font-size:1.02rem}
  .phrase-btn{font-size:1.05rem;padding:13px 12px}
  .section-head{font-size:1.02rem;padding:12px}
  .admin-page{padding:10px}
  .admin-grid{grid-template-columns:1fr}
  .board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .work-header{padding:7px 6px}
  .group-row{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}
  .group-btn{min-width:58px;padding:10px 12px}
  .resident-row{padding-top:7px}
  .resident-btn{min-width:105px;max-width:155px;padding:10px 10px}
  .phrase-area{padding:7px 5px 88px}
  .resident-title{font-size:1.18rem}
  .phrase-btn{font-size:1.08rem;line-height:1.34;padding:14px 12px}
  .translator-card{padding:0 7px 18px;gap:8px}
  .translator-source{min-height:108px}
  .translator-result,.translator-final{min-height:132px}
  .provider-tabs{gap:6px}
  .provider-tab{padding:8px 11px}
  .board{grid-template-columns:1fr 1fr}
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap}
}
.phrase-drag{font-size:.8rem;font-weight:800;color:#667085;cursor:grab;padding:2px 3px 6px;user-select:none}
.phrase-edit.dragging{opacity:.45}
.phrase-edit.drag-over{outline:2px solid #0f9aa3;outline-offset:2px}
@media (pointer:coarse){.phrase-drag{padding:8px 4px;font-size:.9rem}}


/* v3.5 readability + quick edit */
body{font-weight:500}
.work-view,.phrase-area,.translator-card{font-weight:500}
.group-btn,.resident-btn,.section-head,.phrase-btn,.translator-action,.copy-result-btn,.mic-btn{font-weight:650}
.resident-mark{font-weight:750}
.phrase-btn{font-weight:560}
.translator-source,.translator-result,.translator-final{font-weight:520}
.mic-btn{background:#f3b3ad;color:#6b211d;border:1px solid #e59a93;box-shadow:none}
.mic-btn.recording{background:#e88880;color:#521814}
.translate-fab{background:#0f9aa3}
.edit-fab{position:fixed;z-index:40;left:68px;bottom:16px;width:48px;height:48px;border:1px solid #cfd5dc;border-radius:50%;background:#fff;color:#344054;font-size:1.25rem;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.16)}
.edit-fab.active{background:#fff0f5;color:#a92350;border-color:#d65a83}
.edit-mode-badge{margin-left:10px;padding:4px 8px;border-radius:999px;background:#fff0f5;color:#a92350;font-size:.72rem;font-weight:800}
.phrase-edit-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;margin-bottom:7px;border:1px solid #d8dde3;border-radius:10px;background:#fff}
.phrase-edit-row.dragging{opacity:.55}.phrase-edit-row.drag-over{outline:2px solid #0f9aa3}
.phrase-drag-handle{font-size:1.3rem;color:#667085;cursor:grab;touch-action:none;text-align:center}
.phrase-edit-text{font-size:1.03rem;line-height:1.32;font-weight:560;color:#1f2937}
.phrase-inline-actions{display:flex;gap:4px;align-items:center}
.phrase-icon-btn,.phrase-save-btn{min-width:36px;min-height:36px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;color:#344054;font-weight:800}
.phrase-icon-btn:disabled{opacity:.3}
.phrase-inline-input{width:100%;min-height:70px;border:1px solid #9aa4b2;border-radius:8px;padding:8px;font:inherit;font-size:1rem;line-height:1.3;resize:vertical}
.phrase-save-btn{background:#0f9aa3;color:#fff;border-color:#0f9aa3;padding:0 9px}

/* Admin: use full width instead of a narrow right rail */
.admin-grid{grid-template-columns:1fr!important}
.editor{position:static!important;width:100%}
.board{grid-template-columns:repeat(4,minmax(160px,1fr))}
.phrase-edit-list{max-width:none}
.phrase-edit{padding:9px;border-radius:10px}
.phrase-edit textarea{min-height:58px;font-weight:560;font-size:1rem}
.phrase-controls{gap:5px;flex-wrap:wrap}
.small-btn{font-weight:650}
.res-main{text-transform:none}

@media(max-width:700px){
  .edit-fab{left:64px;bottom:12px;width:46px;height:46px}
  .phrase-edit-row{grid-template-columns:28px minmax(0,1fr);align-items:start}
  .phrase-inline-actions{grid-column:2;justify-content:flex-end}
  .board{grid-template-columns:repeat(2,minmax(135px,1fr))}
  .resident-btn{max-width:none}
}

/* v3.6 full DomaCare skeleton + movable phrases */
.empty-section .section-head{background:#fbfcfd;color:#5d6673}
.empty-section .section-body{display:none}
.edit-mode-badge + *{}
.phrase-section-select{max-width:260px;min-height:36px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;color:#344054;padding:5px 7px;font-weight:650}
.section-add-btn{width:100%;min-height:38px;border:1px dashed #9aa4b2;border-radius:9px;background:#fafbfc;color:#475467;font-weight:750;margin-top:4px}
.section-body[data-section]{min-height:8px}
.phrase-inline-input{user-select:text!important;-webkit-user-select:text!important;cursor:text}
.phrase-edit-row{user-select:text;-webkit-user-select:text}
.phrase-drag-handle{user-select:none;-webkit-user-select:none}
@media(max-width:720px){
  .phrase-section-select{max-width:100%;width:100%;font-size:.92rem}
  .phrase-inline-actions{width:100%;display:grid;grid-template-columns:1fr auto auto auto}
  .phrase-edit-row{grid-template-columns:30px minmax(0,1fr)}
  .phrase-inline-actions{grid-column:2}
}


/* v3.7 quick auto-lock control in normal eHoiva */
.lock-controls{position:fixed;right:14px;bottom:14px;z-index:42;display:flex;align-items:center;gap:7px;padding:6px;border:1px solid #d7dde5;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 3px 12px rgba(0,0,0,.12)}
.lock-delay-label{font-size:.78rem;font-weight:750;color:#667085;padding-left:4px}
.lock-delay-select{min-height:38px;border:1px solid #cfd5dc;border-radius:8px;background:#fff;color:#344054;padding:5px 8px;font-weight:700;font-size:.9rem}
.lock-controls .lock-btn{position:static;margin:0;min-height:38px;padding:7px 11px;border-radius:8px;font-weight:750}
@media(max-width:520px){
  .lock-controls{right:7px;bottom:8px;gap:5px;padding:5px}
  .lock-delay-label{display:none}
  .lock-delay-select{min-height:40px;font-size:.9rem;padding:5px 7px}
  .lock-controls .lock-btn{min-height:40px;padding:7px 10px}
}

/* v3.8 editable DomaCare tree */
.tree-resident-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tree-edit-toolbar{display:flex;align-items:center;gap:6px;margin-left:auto}
.tiny-action{min-width:32px;min-height:30px;padding:4px 7px;border:1px solid #cfd5dc;border-radius:7px;background:#fff;color:#475467;font-weight:750;font-size:.82rem;line-height:1}
.tiny-action.primary{background:#0f9aa3;color:#fff;border-color:#0f9aa3}.tiny-action.danger-soft{color:#a23a35;background:#fff7f6;border-color:#e5b9b4}
.tree-section{border-left:4px solid var(--node-color,#7b8794)}
.tree-node{margin:6px 0 6px calc(min(var(--depth),5) * 9px);border:1px solid #e0e4e9;border-radius:10px;background:#fff;overflow:hidden}
.tree-node-head{display:flex;align-items:center;gap:5px;min-height:44px;background:#fbfcfd;border-bottom:1px solid #eef1f4}
.tree-section>.tree-node-head{background:#f7f9fb}
.tree-node-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#202936;padding:10px 10px;text-align:left;font:inherit;font-weight:700;cursor:pointer}
.tree-section>.tree-node-head>.tree-node-toggle{font-weight:820;font-size:1.03rem}
.tree-arrow{width:14px;flex:0 0 14px;color:#7b8490;font-size:1.18rem;transition:transform .12s ease}.open>.tree-node-head .tree-arrow{transform:rotate(90deg)}
.tree-node-title{min-width:0;overflow-wrap:anywhere}.tree-node-actions{display:flex;align-items:center;gap:3px;padding-right:6px;flex-wrap:nowrap}.tree-handle{cursor:grab;user-select:none;-webkit-user-select:none;color:#667085;font-weight:900;font-size:1.1rem;padding:7px 4px}.tree-node-body{padding:7px}.collapsed>.tree-node-body{display:none}.collapsed>.tree-node-head{border-bottom:0}
.tree-node-head.drag-over{outline:2px solid #0f9aa3;outline-offset:-2px;background:#eefbfc}
.tree-more-menu{display:flex;justify-content:flex-end;gap:5px;padding:5px 8px;background:#fafbfc;border-bottom:1px solid #e7eaee}.tree-more-menu button{border:1px solid #cfd5dc;border-radius:7px;background:#fff;padding:5px 8px;color:#475467;font-size:.82rem;font-weight:700}
.node-editor-open{display:grid!important;grid-template-columns:minmax(150px,1fr) 52px 42px minmax(150px,.7fr) auto auto;gap:5px;padding:6px;background:#fff}
.tree-edit-title,.tree-edit-icon,.tree-edit-parent{min-height:35px;border:1px solid #aeb7c3;border-radius:7px;background:#fff;color:#1f2937;padding:5px 7px;font:inherit}.tree-edit-icon{text-align:center;padding:4px}.tree-edit-color{width:38px;height:35px;border:1px solid #cfd5dc;border-radius:7px;padding:2px;background:#fff}
.tree-empty-leaf{font-size:.78rem;color:#98a2b3;padding:4px 8px;font-style:italic}
.phrase-tree-edit{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:6px;align-items:start;margin:0 0 6px;padding:6px;border:1px solid #d8dde3;border-radius:9px;background:#fff}.phrase-tree-edit.dragging{opacity:.5}.phrase-tree-text{width:100%;min-height:58px;border:1px solid #aeb7c3;border-radius:7px;padding:8px;background:#fff;color:#1f2937;font:inherit;font-weight:560;line-height:1.32;resize:vertical;user-select:text!important;-webkit-user-select:text!important}.phrase-tree-actions{display:flex;align-items:center;gap:4px}.phrase-node-select{max-width:210px;min-height:32px;border:1px solid #cfd5dc;border-radius:7px;background:#fff;color:#475467;padding:4px 6px;font-size:.82rem}
.tree-archive-panel{margin:0 0 10px;padding:8px;border:1px solid #d9dee5;border-radius:10px;background:#fbfcfd}.tree-archive-title{font-weight:800;margin-bottom:5px}.archive-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 3px;border-top:1px solid #eceff2}.archive-row:first-of-type{border-top:0}
@media(max-width:720px){.tree-node-actions{gap:2px}.tree-node-actions .tiny-action{min-width:30px;padding:4px 5px}.node-editor-open{grid-template-columns:minmax(0,1fr) 46px 38px}.tree-edit-parent{grid-column:1/-1}.node-editor-open>.tiny-action{min-height:34px}.phrase-tree-edit{grid-template-columns:24px minmax(0,1fr)}.phrase-tree-actions{grid-column:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto}.phrase-node-select{max-width:none;width:100%}.tree-node{margin-left:calc(min(var(--depth),4) * 5px)}.tree-section>.tree-node-head>.tree-node-toggle{font-size:1rem}.tree-node-toggle{padding:10px 7px}.tree-node-body{padding:6px 5px}}
.tree-edit-type{min-height:35px;border:1px solid #aeb7c3;border-radius:7px;background:#fff;color:#1f2937;padding:5px 7px;font:inherit}
.tree-check{flex:0 0 30px;width:30px;height:30px;border:1px solid #98a2b3;border-radius:6px;background:#fff;color:#344054;font-size:1.15rem;font-weight:900;line-height:1}.tree-check.checked{background:#e9f8f4;border-color:#4d9b83;color:#25705b}
.node-editor-open{grid-template-columns:minmax(150px,1fr) 52px 42px 96px minmax(150px,.7fr) auto auto}
@media(max-width:720px){.node-editor-open{grid-template-columns:minmax(0,1fr) 46px 38px 88px}.tree-edit-parent{grid-column:1/-1}}
.ai-prompt-panel{max-width:none}.ai-prompt-panel label{display:block;font-weight:750;margin:10px 0}.ai-prompt-textarea{display:block;width:100%;min-height:300px;margin-top:5px;border:1px solid #cfd5dc;border-radius:9px;padding:10px;background:#fff;color:#1f2937;font:inherit;line-height:1.35;resize:vertical}.ai-prompt-textarea.small{min-height:100px}

/* v3.9 PIN2 recovery + variable PIN length */
.recovery-link{margin-top:12px;border:0;background:transparent;color:#667085;text-decoration:underline;font-size:.82rem;padding:5px 8px;cursor:pointer}
.recovery-panel{position:fixed;inset:0;z-index:90;background:rgba(15,23,42,.34);display:flex;align-items:center;justify-content:center;padding:16px}
.recovery-card{width:min(390px,100%);background:#fff;color:#1f2937;border:1px solid #d0d5dd;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.22);padding:16px}
.recovery-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:1.05rem}
.recovery-close{border:0;background:transparent;font-size:1.6rem;line-height:1;color:#667085;padding:2px 6px;cursor:pointer}
.recovery-card label{display:block;font-weight:700;font-size:.9rem;margin:10px 0}
.recovery-card input{display:block;width:100%;margin-top:5px;border:1px solid #cfd5dc;border-radius:9px;padding:10px 11px;font:inherit;background:#fff;color:#1f2937}
.recovery-save{width:100%;margin-top:8px;min-height:44px;border:1px solid #176b6d;border-radius:9px;background:#1f7a7d;color:#fff;font-weight:800;font-size:1rem}

/* v3.10 calm interface + simple direct tree editing */
:root{
  --accent:#678a8b;
  --accent2:#6f858c;
  --danger:#806563;
}
html,body,button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
body{font-weight:400}
.work-view,.phrase-area,.translator-card{font-weight:400}
.group-btn,.resident-btn,.phrase-btn,.translator-action,.copy-result-btn,.mic-btn{font-weight:600}
.group-btn.active{background:#678a8b;border-color:#678a8b;color:#fff}
.resident-btn{font-weight:600;color:#34454d}
.resident-btn.active{background:#e8eeee;border-color:#9fb2b3;color:#26373d;box-shadow:inset 0 0 0 1px #c2cecf}
.resident-mark{font-weight:600}
.resident-title{color:#44565e;font-size:1.16rem;font-weight:600;border-bottom:1px solid #e2e6e9;padding-bottom:7px}

.section-block{margin:0 0 7px;border-radius:10px;border-color:#e0e4e7;box-shadow:none}
.tree-section{border-left:2px solid #d4dadd!important}
.tree-node{margin:5px 0 5px calc(min(var(--depth),6) * 10px);border-color:#e3e7ea;border-radius:9px;box-shadow:none}
.tree-node-head{min-height:46px;background:#fafbfc;border-bottom-color:#edf0f2}
.tree-section>.tree-node-head{background:#f8f9fa}
.tree-node-toggle{gap:7px;padding:8px 10px;color:#28363d;font-weight:550;font-size:1.04rem}
.tree-section>.tree-node-head>.tree-node-toggle{font-weight:600;font-size:1.08rem}
.tree-node-title{line-height:1.22}
.section-head .section-icon,.section-icon{width:23px;font-size:1.02rem;filter:grayscale(.8);opacity:.7}
.section-head .section-count,.section-count{font-weight:500;color:#879197}
.tree-arrow{color:#8a949a;font-size:1.05rem}
.tree-node-body{padding:6px 7px}
.tree-empty-leaf{font-style:normal;color:#9aa2a7;font-size:.8rem}

.edit-fab{background:#fff;color:#4c5c63;border-color:#cfd6d9}
.edit-fab.active{background:#edf2f1;color:#3f6464;border-color:#9fb4b3}
.edit-mode-badge{background:#eef2f2;color:#54696d;font-size:.78rem;font-weight:600}
.tree-edit-toolbar{gap:5px}
.tiny-action{border-color:#d1d7da;background:#fff;color:#485961;font-weight:600;font-size:.82rem;box-shadow:none}
.tiny-action.primary{background:#6f8f90;border-color:#6f8f90;color:#fff}
.tiny-action.danger-soft{background:#f7f5f4;border-color:#d8cfcc;color:#725e5b}
.tree-node-actions{gap:5px;padding-right:7px}
.tree-handle{padding:8px 6px;color:#738087;font-weight:700;font-size:1.15rem;touch-action:none;cursor:grab}
.tree-handle:active,.tree-handle.touch-drag-active{cursor:grabbing;background:#eef2f2;border-radius:7px}
.tree-menu-btn{min-width:58px;padding:5px 8px}
.tree-more-menu{justify-content:flex-start;gap:6px;flex-wrap:wrap;padding:7px 9px;background:#f7f8f9;border-bottom:1px solid #e5e8ea}
.tree-more-menu button{border-color:#d1d7da;background:#fff;color:#43535a;font-weight:550;font-size:.85rem;padding:6px 9px}
.tree-more-menu .archive-action{color:#725e5b;background:#f8f6f5;border-color:#d8cfcc}
.tree-node-head.drop-before{box-shadow:inset 0 3px 0 #7c9999}
.tree-node-head.drop-after{box-shadow:inset 0 -3px 0 #7c9999}
.tree-node-head.drop-inside{outline:2px solid #9cb1b1;outline-offset:-2px;background:#f1f5f4}
.dragging{opacity:.5}

.phrase-btn{font-weight:400;color:#26343b;border-color:#dfe4e7;box-shadow:none}
.phrase-tree-edit{grid-template-columns:26px minmax(0,1fr) auto;border-color:#dfe4e7;border-radius:8px;padding:6px}
.phrase-tree-text{font-weight:400;color:#26343b;border-color:#cfd6da}
.phrase-tree-actions{gap:5px}
.phrase-drag-handle{color:#79868c;font-weight:700;cursor:grab;touch-action:none}

.tree-check{border-color:#aeb9bd;color:#56666d;background:#fff;font-weight:700}
.tree-check.checked{background:#eaf0ee;border-color:#88a69c;color:#486f63}
.tree-archive-panel{background:#f8f9fa;border-color:#dfe3e6}
.tree-archive-title{font-weight:600;color:#4c5d64}

/* AI screen: no hidden provider buttons, no red accents */
.mic-btn{background:#8a9da1;color:#fff;border:1px solid #829498;font-weight:600}
.mic-btn.recording{background:#687d81;color:#fff}
.provider-tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:7px;padding:2px 0 4px}
.provider-tab{flex:1 1 115px;min-width:100px;font-weight:600;border-radius:9px;padding:8px 10px}
.provider-tab.active{background:#708f90;border-color:#708f90;color:#fff}
.translator-action{font-weight:600}
.translator-action.primary,.copy-result-btn{background:#708f90;border-color:#708f90;color:#fff}
.pane-title,.pane-title-row{font-weight:600}
.translator-mini,.translator-close{font-weight:600}

.lock-controls{box-shadow:0 2px 8px rgba(0,0,0,.08);border-color:#d9dee1}
.lock-delay-label,.lock-delay-select,.lock-controls .lock-btn{font-weight:600}

.recovery-link{color:#596a71}
.recovery-head,.recovery-card label{font-weight:600}
.recovery-save{background:#708f90;border-color:#708f90;font-weight:600}

.security-row{align-items:end;flex-wrap:wrap}
.security-row label{min-width:150px}

@media(max-width:720px){
  .tree-node{margin-left:calc(min(var(--depth),5) * 6px)}
  .tree-node-toggle{font-size:1rem;padding:8px 7px}
  .tree-section>.tree-node-head>.tree-node-toggle{font-size:1.04rem}
  .tree-node-actions{gap:3px;padding-right:4px}
  .tree-menu-btn{min-width:52px;padding:5px 6px;font-size:.78rem}
  .phrase-tree-edit{grid-template-columns:24px minmax(0,1fr)}
  .phrase-tree-actions{grid-column:2;justify-content:flex-end}
  .provider-tab{flex:1 1 calc(50% - 7px);min-width:0}
}
.translate-fab{background:#6f8f90;border-color:#6f8f90;box-shadow:0 3px 12px rgba(0,0,0,.14)}
.small-btn.danger{border-color:#d8cfcc;color:#725e5b;background:#f8f6f5}

/* v3.11 routine phrases: one-click single copy + multi-select bundle */
.section-block{margin-bottom:6px;border-radius:9px}
.tree-node-head{min-height:40px}
.tree-node-toggle{padding:7px 9px;font-size:1.06rem;font-weight:500}
.tree-section>.tree-node-head>.tree-node-toggle{font-size:1.1rem;font-weight:520}
.tree-node-title{font-weight:inherit}
.tree-section{border-left:2px solid #d8dddf!important}
.section-head .section-icon,.section-icon{filter:grayscale(1);opacity:.58}
.resident-title{font-weight:520;color:#4b5b61}
.group-btn,.resident-btn{font-weight:550}
.resident-btn.active{background:#edf1f1;border-color:#aebcbd;color:#26373d;box-shadow:none}

.phrase-choice-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px;align-items:stretch;margin:6px 0}
.phrase-select-check{width:38px;min-height:42px;border:1px solid #d3dade;border-radius:8px;background:#fff;color:#7b878c;font-size:1.12rem;font-weight:600;cursor:pointer}
.phrase-select-check.selected{background:#edf3f1;border-color:#9eb1aa;color:#48675d}
.phrase-choice-row .phrase-btn{margin:0;min-height:42px;text-align:left;font-size:1.05rem;line-height:1.32;font-weight:400;padding:9px 11px;background:#fff}
.selected-copy-bar{display:flex;align-items:center;gap:7px;justify-content:flex-end;padding:8px 3px 3px;border-top:1px solid #edf0f2;margin-top:7px}
.selected-copy-btn,.selected-clear-btn{min-height:38px;border-radius:8px;border:1px solid #cbd4d7;background:#fff;color:#3f5158;padding:7px 11px;font:inherit;font-size:.9rem;font-weight:550}
.selected-copy-btn{background:#738f8f;border-color:#738f8f;color:#fff}
.selected-clear-btn{min-width:70px}

/* Keep editing controls calm and compact. */
.tree-more-menu{background:#fafbfb;padding:6px 8px}
.tree-more-menu button,.tiny-action,.tree-menu-btn{font-weight:500}
.edit-mode-badge{font-weight:500;background:#f1f4f4;color:#5c6b70}
.tree-handle{color:#879196}

@media(max-width:720px){
  .tree-node-head{min-height:39px}
  .tree-node-toggle{padding:7px 6px;font-size:1.02rem}
  .tree-section>.tree-node-head>.tree-node-toggle{font-size:1.06rem}
  .phrase-choice-row{grid-template-columns:36px minmax(0,1fr);gap:5px}
  .phrase-select-check{width:36px;min-height:42px}
  .selected-copy-bar{justify-content:stretch}
  .selected-copy-btn{flex:1}
}

/* v3.12 direct editing + reliable pointer reordering + full-color icons */
.section-head .section-icon,.section-icon{
  filter:none!important;
  opacity:1!important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:1.14rem;
}
.tree-node-toggle{font-weight:500}
.tree-section>.tree-node-head>.tree-node-toggle{font-weight:540}
.drag-help{font-size:.78rem;color:#738087;white-space:nowrap}
.tree-handle{
  min-width:36px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:8px;
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
}
.tree-handle:hover{background:#f1f4f4;border-color:#d7dedf}
.tree-handle.touch-drag-active{background:#e7eeee;border-color:#aebfc0;box-shadow:0 2px 7px rgba(0,0,0,.08)}
.quick-add-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:6px;
  align-items:stretch;
  margin:7px 0 3px;
  padding:7px;
  border:1px dashed #cbd4d7;
  border-radius:9px;
  background:#fbfcfc;
}
.quick-add-input{
  width:100%;
  min-height:40px;
  max-height:120px;
  resize:vertical;
  border:1px solid #bfc9cd;
  border-radius:8px;
  background:#fff;
  color:#26343b;
  padding:8px 10px;
  font:inherit;
  font-size:1rem;
  line-height:1.3;
  outline:none;
}
.quick-add-input:focus{border-color:#839fa0;box-shadow:0 0 0 2px rgba(111,143,144,.12)}
.quick-add-save,.quick-add-child{min-height:40px;white-space:nowrap}
@media(max-width:720px){
  .drag-help{display:none}
  .quick-add-row{grid-template-columns:1fr 1fr}
  .quick-add-input{grid-column:1/-1;min-height:44px}
  .quick-add-save,.quick-add-child{width:100%}
}
/* v3.17: explicit quick-add only and reliable drag handle */
.tree-handle { touch-action: none; user-select: none; -webkit-user-select: none; }
.quick-add-close { min-width: 42px; font-size: 22px; line-height: 1; }

/* v3.19: reorder-only drag; explicit nesting; close must always stay visible */
.quick-add-row{position:relative}
.quick-add-close{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;min-width:92px!important}


/* v3.20: bookmark-style insertion marker. Drag only reorders siblings. */
.tree-node-head{position:relative}
.tree-node-head.drop-before,.tree-node-head.drop-after{box-shadow:none!important;outline:none!important;background:#f8faf9!important}
.tree-node-head.drop-before::before,.tree-node-head.drop-after::after{
  content:"";position:absolute;left:10px;right:10px;height:4px;border-radius:4px;background:#6f9391;z-index:20;pointer-events:none;
}
.tree-node-head.drop-before::before{top:-5px}
.tree-node-head.drop-after::after{bottom:-5px}
.tree-node-head.drop-before::after,.tree-node-head.drop-after::before{
  content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#6f9391;left:6px;z-index:21;pointer-events:none;
}
.tree-node-head.drop-before::after{top:-7px}
.tree-node-head.drop-after::before{bottom:-7px}

/* v3.21: short AI dialogue + safer resident-specific editing */
.tree-edit-toolbar{flex-wrap:wrap;justify-content:flex-end}
.tree-more-menu .danger-action{color:#725e5b;background:#f8f6f5;border-color:#d8cfcc}
.ai-dialog-log{max-height:28vh;overflow:auto;border:1px solid #e1e5e8;border-radius:11px;background:#f7f8f8;padding:8px;display:flex;flex-direction:column;gap:7px}
.ai-dialog-empty{color:#778087;font-size:.9rem;padding:4px 2px}
.ai-dialog-message{max-width:94%;border-radius:10px;padding:7px 9px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-dialog-message.user{align-self:flex-end;background:#eef3f3;border:1px solid #d5e0e0}
.ai-dialog-message.assistant{align-self:flex-start;background:#fff;border:1px solid #dfe4e7}
.ai-dialog-who{font-size:.74rem;color:#778087;margin-bottom:3px}
.ai-dialog-text{font-size:var(--translator-font-size,1.04rem);color:#26343b}
.ai-save-phrase-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.ai-save-phrase-row select{min-width:0;border:1px solid #cfd5dc;border-radius:9px;background:#fff;color:#344054;padding:9px 10px;font:inherit}
@media(max-width:720px){
  .ai-dialog-log{max-height:24vh}
  .ai-save-phrase-row{grid-template-columns:1fr}
  .ai-save-phrase-row .translator-action{width:100%}
  .tree-edit-toolbar{width:100%;margin-left:0;justify-content:flex-start}
}

/* v3.22: whole-resident text composer + AI history */
.history-fab{
  position:fixed;z-index:40;left:82px;bottom:20px;width:42px;height:42px;
  border:1px solid #cfd6d9;border-radius:50%;background:#f7f8f8;color:#4f6268;
  font-size:1.05rem;box-shadow:0 3px 10px rgba(0,0,0,.11)
}
.history-fab:active{transform:translateY(1px)}
.edit-fab{left:132px}

.resident-composer{
  margin:14px 0 88px;padding:12px;border:1px solid #d7dddf;border-radius:12px;background:#f8faf9;
}
.resident-composer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#3d5057;margin-bottom:4px}
.resident-composer-head strong{font-size:1.05rem;font-weight:600}
.resident-composer-head span{font-size:.82rem;color:#6c797f}
.resident-composer-hint{font-size:.82rem;color:#77848a;margin:0 0 8px}
.resident-composer-text{
  width:100%;min-height:160px;resize:vertical;border:1px solid #c7d0d3;border-radius:10px;background:#fff;
  color:#26343b;padding:10px 11px;font:inherit;font-size:1.03rem;line-height:1.42;outline:none
}
.resident-composer-text:focus{border-color:#92a8a9;box-shadow:0 0 0 2px rgba(111,143,144,.10)}
.resident-composer-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
.resident-composer-actions .selected-copy-btn,.resident-composer-actions .selected-clear-btn{min-height:42px}

.main-ai-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}
.main-ai-actions .translator-action{width:100%;min-width:0}

.history-panel{position:fixed;inset:0;z-index:85;background:#fff;overflow:auto;padding:0}
.history-card{width:min(920px,100%);margin:0 auto;padding:12px 14px 80px;display:flex;flex-direction:column;gap:10px}
.history-head{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0 10px;border-bottom:1px solid #e2e6e8}
.history-head strong{font-size:1.18rem;font-weight:600;color:#34464d}
.history-head-actions{display:flex;align-items:center;gap:7px}
.history-clear-all{width:auto!important;height:38px!important;padding:0 10px!important;font-size:.88rem!important}
.history-note{font-size:.84rem;color:#748087}
.history-list{display:flex;flex-direction:column;gap:8px}
.history-empty{padding:18px 8px;color:#78848a;text-align:center;border:1px dashed #d5dcde;border-radius:10px}
.history-item{border:1px solid #d9dfe1;border-radius:10px;background:#fff;overflow:hidden}
.history-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;padding:10px 11px;background:#f8f9f9;color:#35474e}
.history-summary-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.97rem}
.history-summary-date{font-size:.78rem;color:#7b878c;white-space:nowrap}
.history-body{padding:9px;display:flex;flex-direction:column;gap:7px;background:#fff}
.history-message{border:1px solid #e0e5e7;border-radius:9px;padding:8px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:start}
.history-message.user{background:#f2f5f5}
.history-message.assistant{background:#fff}
.history-message-meta{grid-column:1/-1;font-size:.74rem;color:#7a878c}
.history-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.38;color:#2c3d44}
.history-copy-btn{align-self:end;border:1px solid #ccd5d8;border-radius:7px;background:#f7f9f9;color:#42565e;padding:6px 8px;font:inherit;font-size:.82rem}
.history-item-actions{display:flex;justify-content:flex-end;padding-top:3px}

@media(max-width:720px){
  .history-fab{left:70px;bottom:14px;width:40px;height:40px}
  .edit-fab{left:116px!important;bottom:12px}
  .resident-composer{margin-left:2px;margin-right:2px;padding:10px}
  .resident-composer-text{min-height:150px;font-size:1rem}
  .resident-composer-actions{display:grid;grid-template-columns:1fr auto}
  .main-ai-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .history-card{padding:8px 8px 70px}
  .history-summary{grid-template-columns:minmax(0,1fr);gap:3px}
  .history-summary-date{justify-self:start}
  .history-message{grid-template-columns:1fr}
  .history-copy-btn{justify-self:start}
}


/* v3.23 mobile clarity: visible resident editing, labelled history, simple AI navigation */
.edit-fab{display:none!important}
.tree-resident-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.resident-title-main{min-width:0}
.resident-edit-btn{border:1px solid #cbd4d7;border-radius:9px;background:#f7f9f9;color:#42565d;padding:7px 10px;font:inherit;font-size:.88rem;font-weight:600;white-space:nowrap}
.resident-edit-btn.active{background:#eaf0ef;border-color:#9fb4b3;color:#35585a}
.tree-edit-toolbar{grid-column:1/-1}
.history-fab{left:80px;bottom:15px;width:auto;min-width:92px;height:42px;padding:0 12px;border-radius:999px;font-size:.92rem;font-weight:600}
.translator-head{gap:8px}
.translator-head-left{display:flex;align-items:center;gap:9px;min-width:0}
.translator-head-left strong{white-space:nowrap}
.translator-back,.translator-history-btn{height:38px;border:1px solid #cfd6d9;border-radius:9px;background:#f7f9f9;color:#40555d;padding:0 9px;font:inherit;font-size:.88rem;font-weight:600;white-space:nowrap}
.translator-history-btn{background:#fff}
.ai-save-phrase-box{border-top:1px solid #e2e7e8;margin-top:10px;padding-top:10px}
.ai-save-phrase-title{font-size:.9rem;font-weight:600;color:#40535b;margin-bottom:3px}
.ai-save-phrase-resident{font-size:.8rem;color:#748087;margin-bottom:7px}
@media(max-width:720px){
  .history-fab{left:78px;bottom:14px;min-width:88px;height:40px;padding:0 10px}
  .tree-resident-title{grid-template-columns:minmax(0,1fr) auto}
  .resident-edit-btn{padding:7px 8px;font-size:.84rem}
  .translator-head{align-items:flex-start;flex-wrap:wrap}
  .translator-head-left{width:100%;justify-content:space-between}
  .translator-head-actions{width:100%;justify-content:flex-end;gap:5px}
  .translator-back{order:-1}
  .translator-history-btn{margin-right:auto}
  .translator-mini,.translator-close{min-width:38px;height:36px}
  .ai-save-phrase-box{padding-top:9px}
}


/* v3.24: AI page navigation must stay visible on phones */
.translator-head{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  z-index:100;
  min-height:54px;
  margin:0 !important;
  padding:7px 10px !important;
  background:#fff;
  border-bottom:1px solid #dfe5e7;
  box-shadow:0 2px 7px rgba(0,0,0,.06);
}
.translator-card{padding-top:66px !important;}
.translator-back{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  visibility:visible !important;
  opacity:1 !important;
}
@media(max-width:720px){
  .translator-head{
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:6px !important;
  }
  .translator-head-left{
    display:flex !important;
    width:auto !important;
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-start !important;
  }
  .translator-head-left strong{display:none;}
  .translator-head-actions{
    display:flex !important;
    width:auto !important;
    flex:0 0 auto;
    justify-content:flex-end !important;
    gap:4px !important;
  }
  .translator-back{
    order:0 !important;
    font-size:.92rem !important;
    padding:0 10px !important;
    max-width:48vw;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .translator-history-btn{margin-right:0 !important;}
  .translator-mini{display:none !important;}
  .translator-close{display:inline-flex !important;align-items:center;justify-content:center;}
  .translator-card{padding-top:62px !important;}
}
