:root{--bg:#f4f6fb;--panel:#fff;--text:#172033;--muted:#6e7890;--line:#e3e8f2;--primary:#5b4df5;--primary2:#4338ca;--danger:#c93434;--warning:#9a6500;--shadow:0 14px 40px rgba(24,32,60,.10)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}label{display:block;font-weight:700;font-size:14px;margin:12px 0 6px}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus{border-color:#a9a1ff;box-shadow:0 0 0 3px rgba(91,77,245,.10)}
.primary,.secondary,.ghost,.danger-btn,.panel-head button{border:0;border-radius:10px;padding:10px 14px}.primary{background:var(--primary);color:#fff;width:100%;font-weight:800}.primary:hover{background:var(--primary2)}.secondary{background:#eef0ff;color:#3f35bb;margin-top:9px}.ghost{background:transparent;color:var(--text)}.danger-btn{background:#fff0f0;color:var(--danger);padding:8px 11px}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.danger-text{color:var(--danger)}
.auth-body{display:grid;place-items:center;padding:24px;min-height:100vh;background:radial-gradient(circle at 70% 20%,#e9e7ff,transparent 35%),var(--bg)}.auth-card,.unlock-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.auth-card h1,.unlock-card h2{margin-top:0}.alert{padding:11px 13px;border-radius:10px;margin:12px 0;font-size:13px}.warning{background:#fff7df;color:#7a5200}.danger{background:#fff0f0;color:#9c2222}.top-warning{background:#fff0c9;color:#765000;padding:8px 16px;text-align:center;font-size:13px}
.app-body{height:100vh;overflow:hidden}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:900}.top-actions{display:flex;gap:5px;align-items:center}.top-actions form{margin:0}.unlock-wrap{height:calc(100vh - 58px);display:grid;place-items:center;padding:20px}.workspace{height:calc(100vh - 58px);display:grid;grid-template-columns:220px 220px 280px minmax(360px,1fr);direction:rtl}.panel{background:var(--panel);border-left:1px solid var(--line);overflow:auto}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.panel-head h3{font-size:14px;margin:0}.panel-head button{background:#f0efff;color:#473dd0;font-size:18px;padding:5px 10px}.list{padding:7px}.list-row{display:flex;align-items:center;gap:6px;border-radius:10px;padding:7px;margin:2px 0}.list-row:hover{background:#f5f6fa}.list-row.active{background:#eceaff;color:#382ebd}.list-main{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px;border:0;background:transparent;text-align:right;color:inherit}.mini-btn{border:0;background:transparent;color:#9aa2b5;border-radius:7px;padding:4px 6px}.mini-btn:hover{background:#fff;color:#5b4df5}.mini-btn.del:hover{color:var(--danger)}.search-wrap{padding:10px;border-bottom:1px solid var(--line)}.search-wrap input{padding:9px 10px;font-size:13px}
.editor-panel{background:#fff;min-width:0;display:flex}.empty-state{margin:auto;color:var(--muted);padding:20px;text-align:center}.editor{display:flex;flex-direction:column;flex:1;min-width:0}.editor-head{padding:16px 20px 10px;border-bottom:1px solid var(--line)}.title-input{border:0;box-shadow:none!important;font-size:24px;font-weight:800;padding:8px 0;border-radius:0}.editor-tools{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.note-area{flex:1;border:0;border-radius:0;resize:none;box-shadow:none!important;padding:22px;font-size:16px;line-height:1.9;direction:rtl}
.modal{position:fixed;inset:0;background:rgba(15,20,35,.45);display:grid;place-items:center;padding:20px;z-index:20}.modal-card{position:relative;width:min(560px,100%);max-height:85vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:var(--shadow)}.modal-close{position:absolute;left:12px;top:10px;border:0;background:transparent;font-size:26px;color:#7c8496}.modal-card h3{margin-top:0}.recovery-key{direction:ltr;text-align:left;word-break:break-all;background:#101827;color:#d9f9e1;padding:14px;border-radius:10px;font-family:Consolas,monospace;font-size:13px}.toast{position:fixed;bottom:18px;left:18px;background:#172033;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);z-index:30}.settings-grid{display:grid;gap:18px}.settings-box{border:1px solid var(--line);border-radius:12px;padding:14px}.settings-box h4{margin:0 0 8px}
@media(max-width:1050px){.workspace{grid-template-columns:170px 170px 230px minmax(320px,1fr)}}
@media(max-width:780px){.app-body{overflow:auto}.workspace{height:auto;min-height:calc(100vh - 58px);grid-template-columns:1fr;display:block}.panel{border-left:0;border-bottom:1px solid var(--line);max-height:180px}.editor-panel{min-height:60vh}.topbar{position:sticky;top:0;z-index:10}.brand{font-size:13px}.ghost{padding:7px 8px;font-size:12px}}
/* V2 — 2FA */
.top-security-notice{background:#e8fff1;color:#17643a;padding:8px 16px;text-align:center;font-size:13px;border-bottom:1px solid #c9efd8}
.security-badge{display:inline-flex;align-items:center;justify-content:center;background:#eef0ff;color:#4338ca;border:1px solid #d8d5ff;border-radius:999px;font-weight:900;font-size:12px;padding:5px 9px;margin-bottom:8px}
.ltr-input{direction:ltr;text-align:left;letter-spacing:.04em}.otp-input{font-family:Consolas,"Courier New",monospace;font-size:20px;letter-spacing:.18em;text-align:center}.full-btn{width:100%;margin-top:9px}
.security-box{border-color:#d8d5ff;background:#fbfbff}.settings-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-title-row h4{margin:0}.status-pill{font-size:11px;font-weight:900;border-radius:999px;padding:5px 9px}.status-pill.on{background:#e7f8ed;color:#17683a}.status-pill.off{background:#f2f3f7;color:#697186}
.mfa-setup{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.qr-wrap{display:grid;place-items:center;margin:10px auto}.qr-svg{background:#fff;border:1px solid var(--line);padding:8px;border-radius:12px;max-width:280px}.qr-svg svg{display:block;width:100%;height:auto;max-width:260px}.center-text{text-align:center}.totp-secret{direction:ltr;text-align:center;word-break:break-all;font-family:Consolas,"Courier New",monospace;background:#f5f6fa;border:1px solid var(--line);border-radius:10px;padding:11px;margin:10px 0;font-size:14px;letter-spacing:.08em}
.recovery-codes{direction:ltr;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.recovery-codes code{display:block;background:#101827;color:#d9f9e1;padding:9px 10px;border-radius:8px;text-align:center;font-family:Consolas,"Courier New",monospace;font-size:12px;user-select:all}
@media(max-width:520px){.recovery-codes{grid-template-columns:1fr}.qr-svg{max-width:240px}}
.version-badge{font-size:10px;background:#eceaff;color:#4a3fd0;border-radius:999px;padding:3px 7px;margin-right:5px}.sync-pill{font-size:11px;border-radius:999px;padding:5px 9px;background:#edf8ee;color:#2d6b36}.sync-pill.offline{background:#fff4d8;color:#8b5b00}.sync-pill.working{background:#eaf2ff;color:#315f9e}.sync-pill.danger{background:#fff0f0;color:#a12727}.sync-pill.ok{background:#edf8ee;color:#2d6b36}.editor-buttons{display:flex;gap:6px;align-items:center}.compact{padding:7px 10px!important;margin-top:0!important}.auto-width{width:auto!important}.attachment-zone{border-top:1px solid var(--line);padding:10px 18px 14px;max-height:190px;overflow:auto;background:#fbfcff}.attachment-zone.dragover{background:#f0efff;outline:2px dashed #8f85ff;outline-offset:-5px}.attachment-title{font-weight:800;font-size:13px;margin-bottom:7px}.attachment-list{display:flex;flex-direction:column;gap:5px}.attachment-row{display:flex;gap:7px;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#fff}.attachment-info{min-width:0;flex:1;display:flex;flex-direction:column}.attachment-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row,.history-row,.device-row{display:flex;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin:8px 0}.trash-row>div:first-child,.history-row>div:first-child,.device-info{flex:1;min-width:0}.device-row.revoked{opacity:.55;background:#f7f7f8}.device-top{display:flex;align-items:center;gap:12px;justify-content:space-between}.device-top p{flex:1}.history-row strong,.trash-row strong,.device-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-actions{display:flex;gap:8px;margin-bottom:10px}.preview-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0}.preview-text{white-space:pre-wrap;margin-top:5px;max-height:90px;overflow:hidden}.wide-modal{width:min(820px,100%)!important}.top-security-notice{background:#eaf7ff;color:#245675;padding:7px 14px;text-align:center;font-size:12px}.full-btn{width:100%;margin-top:9px}.settings-title-row{display:flex;align-items:center;justify-content:space-between}.status-pill{font-size:11px;padding:4px 8px;border-radius:999px}.status-pill.on{background:#e7f6ea;color:#26713a}.status-pill.off{background:#f2f3f6;color:#70798c}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-box{border:1px solid var(--line);border-radius:13px;padding:14px}.settings-box h4{margin:0 0 7px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;direction:ltr}.recovery-codes code,.totp-secret,.recovery-key{display:block;background:#f4f5f8;border:1px solid var(--line);border-radius:9px;padding:9px;direction:ltr;text-align:center;word-break:break-all}.qr-wrap{display:grid;place-items:center;padding:10px}.center-text{text-align:center}.ltr-input{direction:ltr;text-align:left}.otp-input{letter-spacing:2px}.security-badge{display:inline-block;background:#eceaff;color:#4a3fd0;border-radius:999px;padding:5px 10px;font-weight:900}
@media(max-width:1050px){.workspace{grid-template-columns:170px 170px 230px minmax(320px,1fr)}}
@media(max-width:780px){.app-body{overflow:auto}.topbar{height:auto;min-height:58px;align-items:flex-start;gap:8px;padding:10px;flex-direction:column}.top-actions{width:100%;overflow:auto}.workspace{height:auto;min-height:calc(100vh - 100px);display:grid;grid-template-columns:1fr 1fr}.pages-panel{grid-column:1/3;max-height:220px}.editor-panel{grid-column:1/3;min-height:60vh}.settings-grid{grid-template-columns:1fr}.attachment-row,.trash-row,.history-row,.device-row{flex-wrap:wrap}.device-top{align-items:stretch;flex-direction:column}}

/* V9.1 RC1 — Rich Text Editor (CSP-safe: formatting uses classes, not inline styles) */
.rich-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 16px;background:#f8f9fc;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3;min-height:54px}
.rich-tool-group{display:inline-flex;align-items:center;gap:5px;padding-left:9px;border-left:1px solid var(--line)}
.rich-tool-group:last-of-type{border-left:0}.rich-tool-btn,.rich-tool-select{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:15px}.rich-tool-btn{min-width:40px;padding:6px 10px;font-weight:700;line-height:1}.rich-tool-btn:hover,.rich-tool-select:hover{border-color:#b8b2ff;background:#f2f1ff}.rich-tool-btn:focus-visible,.rich-tool-select:focus-visible{outline:2px solid #aea7ff;outline-offset:1px}.rich-tool-select{width:auto;max-width:155px;padding:5px 10px}.rich-color-select{max-width:125px}.rich-tool-strong{font-weight:900}.rich-tool-italic{font-style:italic}.rich-tool-underline{text-decoration:underline}.rich-toolbar-note{font-size:11px;color:var(--muted);margin-right:auto;white-space:nowrap}
.rich-note-area{min-height:0;overflow:auto;white-space:normal;word-break:break-word;cursor:text;outline:none!important}.rich-note-area:focus{box-shadow:inset 0 0 0 2px rgba(91,77,245,.08)!important}.rich-note-area:empty::before{content:attr(data-placeholder);color:#9aa2b5;pointer-events:none}.rich-note-area p{margin:.2em 0 .75em}.rich-note-area h1{font-size:1.75em;margin:.35em 0 .6em}.rich-note-area h2{font-size:1.45em;margin:.35em 0 .6em}.rich-note-area h3{font-size:1.2em;margin:.35em 0 .55em}.rich-note-area blockquote{margin:.7em 0;padding:7px 12px;border-right:3px solid #c7c3ff;background:#fafaff;color:#4b5563}.rich-note-area ul,.rich-note-area ol{padding-right:28px}.rich-note-area a{color:#315ec8;text-decoration:underline}.rich-note-area .rt-align-right{text-align:right}.rich-note-area .rt-align-center{text-align:center}.rich-note-area .rt-align-left{text-align:left}.rich-note-area .rt-align-justify{text-align:justify}
.rich-note-area .rt-fg-black{color:#111827}.rich-note-area .rt-fg-red{color:#dc2626}.rich-note-area .rt-fg-orange{color:#ea580c}.rich-note-area .rt-fg-green{color:#16a34a}.rich-note-area .rt-fg-blue{color:#2563eb}.rich-note-area .rt-fg-purple{color:#7c3aed}.rich-note-area .rt-fg-gray{color:#6b7280}
.rich-note-area .rt-bg-yellow{background-color:#fef08a}.rich-note-area .rt-bg-green{background-color:#bbf7d0}.rich-note-area .rt-bg-cyan{background-color:#bae6fd}.rich-note-area .rt-bg-pink{background-color:#fbcfe8}.rich-note-area .rt-bg-orange{background-color:#fed7aa}.rich-note-area .rt-bg-gray{background-color:#e5e7eb}
@media(max-width:780px){.rich-toolbar{position:static;padding:9px;gap:6px;min-height:0}.rich-tool-group{padding-left:6px;gap:4px}.rich-tool-btn,.rich-tool-select{height:38px;font-size:14px}.rich-tool-btn{min-width:38px;padding:5px 8px}.rich-tool-select{max-width:125px}.rich-color-select{max-width:112px}.rich-toolbar-note{display:none}.rich-note-area{min-height:320px}}


/* V9.1 RC3 — visual text/highlight color palettes */
.rich-color-tools{overflow:visible}.rich-color-picker{position:relative;display:inline-flex}.rich-color-trigger{position:relative;display:inline-flex;flex-direction:column;gap:2px;align-items:center;justify-content:center}.rich-color-letter{font-weight:900;font-size:17px;line-height:14px}.rich-highlight-icon{font-size:16px;line-height:14px}.rich-color-indicator{display:block;width:22px;height:5px;border-radius:3px;border:1px solid rgba(17,24,39,.16)}
.rich-color-palette{position:absolute;top:calc(100% + 7px);right:0;z-index:30;display:grid;grid-template-columns:repeat(4,30px);gap:7px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 10px 30px rgba(17,24,39,.16);min-width:157px}.rich-color-palette[hidden]{display:none!important}
.rich-swatch{width:30px;height:30px;padding:0;border:1px solid rgba(17,24,39,.22);border-radius:7px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}.rich-swatch:hover{transform:scale(1.08);border-color:#5b4df5;box-shadow:0 0 0 2px rgba(91,77,245,.14)}.rich-swatch:focus-visible{outline:2px solid #5b4df5;outline-offset:2px}
.rt-swatch-fg-black{background:#111827}.rt-swatch-fg-red{background:#dc2626}.rt-swatch-fg-orange{background:#ea580c}.rt-swatch-fg-green{background:#16a34a}.rt-swatch-fg-blue{background:#2563eb}.rt-swatch-fg-purple{background:#7c3aed}.rt-swatch-fg-gray{background:#6b7280}
.rt-swatch-bg-yellow{background:#fef08a}.rt-swatch-bg-green{background:#bbf7d0}.rt-swatch-bg-cyan{background:#bae6fd}.rt-swatch-bg-pink{background:#fbcfe8}.rt-swatch-bg-orange{background:#fed7aa}.rt-swatch-bg-gray{background:#e5e7eb}
@media(max-width:780px){.rich-color-palette{right:auto;left:0;grid-template-columns:repeat(4,28px);min-width:149px}.rich-swatch{width:28px;height:28px}.rich-color-indicator{width:20px}}
