@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent: #1279b1;--accent-hover: #0e6a9c;--accent-text: #1279b1;--accent-soft: rgba(18, 121, 177, .08);--accent-ring: rgba(18, 121, 177, .28);--bg: #f5f6f8;--panel: #ffffff;--surface: #f8f9fa;--surface-hover: #f1f3f5;--border: #e6e8eb;--border-strong: #d5d9de;--text: #15181c;--text-2: #4d5560;--text-3: #8a929c;--danger: #c0352b;--danger-soft: rgba(192, 53, 43, .08);--success: #1f8a5a;--preview-bg: #e9ebee;--paper-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .08);--overlay: rgba(15, 18, 22, .32);--shadow-pop: 0 12px 32px rgba(16, 24, 40, .14), 0 2px 6px rgba(16, 24, 40, .06);--radius: 8px;--radius-sm: 6px;--font: "Inter Variable", "Segoe UI", system-ui, -apple-system, sans-serif;color-scheme:light}:root[data-theme=dark]{--accent: #1279b1;--accent-hover: #1786c2;--accent-text: #5bb2e0;--accent-soft: rgba(91, 178, 224, .1);--accent-ring: rgba(91, 178, 224, .32);--bg: #0f1114;--panel: #15181b;--surface: #1a1d21;--surface-hover: #212429;--border: #25292e;--border-strong: #343940;--text: #e7e9ec;--text-2: #a3aab3;--text-3: #6c747e;--danger: #ec6a5e;--danger-soft: rgba(236, 106, 94, .1);--success: #4cc38a;--preview-bg: #0b0d0f;--paper-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 30px rgba(0, 0, 0, .45);--overlay: rgba(0, 0, 0, .55);--shadow-pop: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3);color-scheme:dark}.theme-anim,.theme-anim *,.theme-anim *:before,.theme-anim *:after{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,fill .3s ease!important}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:13.5px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.app{display:grid;grid-template-rows:56px 1fr;height:100%}.workspace{display:grid;grid-template-columns:minmax(400px,460px) 1fr;min-height:0}.panel{min-height:0;overflow-y:auto;background:var(--panel);border-right:1px solid var(--border);scrollbar-gutter:stable}@media(min-width:1600px){.workspace{grid-template-columns:500px 1fr}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;background:var(--panel);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo{height:26px;width:auto}:root[data-theme=dark] .brand-logo{filter:brightness(1.35) saturate(.9)}.brand-name{font-size:14px;font-weight:600;letter-spacing:-.01em;padding-left:10px;border-left:1px solid var(--border-strong)}.save-status{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:12px;color:var(--text-3);white-space:nowrap}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.save-status.is-saved .save-dot{background:var(--success)}.save-status.is-saving .save-dot{background:var(--accent-text);animation:pulse 1s ease-in-out infinite}.save-status.is-error{color:var(--danger)}.save-status.is-error .save-dot{background:var(--danger)}@keyframes pulse{50%{opacity:.35}}.topbar-actions{display:flex;align-items:center;gap:4px}.topbar-sep{width:1px;height:20px;margin:0 6px;background:var(--border)}.topbar-actions .btn.primary{margin-left:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius);font-size:13px;font-weight:500;white-space:nowrap;background:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:disabled{cursor:default;opacity:.7}.btn.ghost{color:var(--text-2)}.btn.ghost:hover{color:var(--text);background:var(--surface-hover)}.btn.primary{padding:0 16px;color:#fff;background:var(--accent);box-shadow:0 1px 2px #1279b140}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.primary:active:not(:disabled){transform:translateY(.5px)}.btn.secondary{color:var(--text);background:var(--panel);border-color:var(--border-strong)}.btn.secondary:hover{background:var(--surface-hover)}.btn.danger{color:#fff;background:var(--danger)}.btn.danger:hover{filter:brightness(.94)}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:var(--radius);color:var(--text-2);background:none;transition:background-color .15s ease,color .15s ease}.icon-btn.sm{width:28px;height:28px;border-radius:var(--radius-sm)}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.icon-btn.is-active{color:var(--accent-text);background:var(--accent-soft)}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.icon-btn:disabled{cursor:default;opacity:.35}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editor{padding:8px 24px 48px}.section{padding:20px 0 22px;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:13px;font-weight:600;letter-spacing:-.005em}.section-desc{margin-top:2px;font-size:12px;color:var(--text-3)}.section-count{min-width:22px;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:500;text-align:center;color:var(--text-2);background:var(--surface-hover)}.section-body{display:flex;flex-direction:column;gap:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12px;font-weight:500;color:var(--text-2)}.field-required{color:var(--text-3)}.field-hint,.field-error{font-size:11.5px;color:var(--text-3)}.field-error{color:var(--danger)}.input{width:100%;height:36px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);font-size:13.5px;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--text-3);opacity:.8}.input:hover{border-color:color-mix(in srgb,var(--border-strong) 60%,var(--text-3))}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.has-error .input,.input-wrap.is-invalid .input{border-color:var(--danger)}.has-error .input:focus,.input-wrap.is-invalid .input:focus{box-shadow:0 0 0 3px var(--danger-soft)}.textarea{min-height:36px;padding:8px 11px;line-height:1.45;resize:none;overflow:hidden}.input[type=date]{padding-right:8px}.input-wrap{position:relative}.input-number{font-variant-numeric:tabular-nums}.input-wrap:has(.input-suffix) .input{padding-right:52px}.input-suffix{position:absolute;top:50%;right:11px;transform:translateY(-50%);font-size:11.5px;font-weight:500;color:var(--text-3);pointer-events:none}.computed{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 11px;border:1px dashed var(--border-strong);border-radius:var(--radius);font-weight:600;font-variant-numeric:tabular-nums;background:var(--surface)}.computed span{font-size:11.5px;font-weight:500;color:var(--text-3)}.toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-text{display:flex;flex-direction:column}.toggle-label{font-weight:500}.toggle-desc{font-size:12px;color:var(--text-3)}.toggle-track{flex:none;position:relative;width:32px;height:18px;border-radius:999px;background:var(--border-strong);transition:background-color .18s ease}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .18s ease}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(14px)}.toggle input:focus-visible+.toggle-track{box-shadow:0 0 0 3px var(--accent-ring)}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;border-radius:var(--radius);background:var(--surface-hover)}.segmented button{height:28px;padding:0 8px;border:0;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;color:var(--text-2);background:none;transition:background-color .15s ease,color .15s ease}.segmented button:hover{color:var(--text)}.segmented button.is-active{color:var(--text);background:var(--panel);box-shadow:0 1px 2px #10182814,0 0 0 1px var(--border)}.lines{display:flex;flex-direction:column;gap:12px}.line{display:flex;flex-direction:column;gap:14px;padding:12px 14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);transition:border-color .15s ease,opacity .15s ease,box-shadow .15s ease}.line:focus-within{border-color:var(--border-strong)}.line.is-dragging{opacity:.45}.line.is-drop-target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.line .input{background:var(--panel)}.line-head{display:flex;align-items:center;gap:6px;margin:-2px -6px -4px}.line-grip{display:grid;place-items:center;width:22px;height:28px;border-radius:var(--radius-sm);color:var(--text-3);cursor:grab}.line-grip:hover{color:var(--text-2);background:var(--surface-hover)}.line-title{flex:1;font-size:12.5px;font-weight:600;color:var(--text-2)}.line-actions{display:flex;gap:1px}.add-line{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border:1px dashed var(--border-strong);border-radius:10px;font-size:13px;font-weight:500;color:var(--text-2);background:none;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.add-line:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.total-row{display:flex;align-items:baseline;justify-content:space-between;padding:12px 2px 0;border-top:1px solid var(--border);font-weight:500;color:var(--text-2)}.total-row strong{font-size:16px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.total-row strong span{font-size:12px;font-weight:500;color:var(--text-3)}.words-preview{padding:10px 12px;border-radius:var(--radius);font-size:13px;color:var(--text-2);background:var(--surface);border:1px solid var(--border)}.preview{display:grid;grid-template-rows:44px 1fr;min-width:0;min-height:0;background:var(--preview-bg)}.preview-bar{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--preview-bg) 70%,var(--panel))}.preview-meta{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}.dot-sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.zoom{display:flex;align-items:center;gap:2px}.zoom-value{min-width:48px;font-size:12px;font-variant-numeric:tabular-nums;text-align:center;color:var(--text-2)}.preview-viewport{min-height:0;overflow:auto}.preview-pages{display:flex;flex-direction:column;align-items:center;width:max-content;min-width:100%}.sheet{flex:none;position:relative;overflow:hidden;background:#fff;box-shadow:var(--paper-shadow)}.sheet-inner{position:absolute;top:0;left:0;transform-origin:0 0}.paper{position:relative;overflow:hidden;background:#fff;color:#000;font-kerning:none;font-feature-settings:"kern" 0;text-rendering:geometricPrecision;user-select:none}.paper-text{position:absolute;white-space:pre}.paper-rect{position:absolute;background:#000}.paper-image{position:absolute;display:block}.toasts{position:fixed;bottom:24px;left:50%;z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:480px;padding:9px 14px;border:1px solid var(--border);border-radius:10px;font-size:13px;color:var(--text);background:var(--panel);box-shadow:var(--shadow-pop);animation:toast-in .2s ease-out}.toast.is-success svg{color:var(--success)}.toast.is-error svg{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.dialog-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:var(--overlay);animation:fade-in .15s ease-out}.dialog{width:min(420px,calc(100vw - 32px));padding:22px 22px 18px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-pop);animation:dialog-in .18s ease-out}.dialog h2{font-size:15px;font-weight:600}.dialog p{margin-top:6px;color:var(--text-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px) scale(.99)}}.small-screen{display:none}@media(max-width:1023px){.app,.toasts,.dialog-backdrop{display:none}.small-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;padding:32px;text-align:center;color:var(--text-2)}.small-screen h1{font-size:16px;font-weight:600;color:var(--text)}.small-screen p{max-width:340px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.badge{min-width:18px;padding:0 5px;border-radius:999px;font-size:11px;font-weight:600;line-height:17px;text-align:center;color:var(--accent-text);background:var(--accent-soft)}.btn.sm{height:28px;padding:0 9px;gap:6px;font-size:12.5px;border-radius:var(--radius-sm)}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:31;display:grid;grid-template-rows:auto auto 1fr;width:min(480px,100vw);border-left:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-pop);transform:translate(100%);visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s linear .24s}.drawer.is-open{transform:none;visibility:visible;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 16px 14px 22px}.drawer-head h2{font-size:15px;font-weight:600}.drawer-head p{margin-top:2px;font-size:12px;color:var(--text-3)}.drawer-search{position:relative;padding:0 22px 14px;border-bottom:1px solid var(--border)}.drawer-search svg{position:absolute;top:11px;left:33px;color:var(--text-3);pointer-events:none}.drawer-search .input{padding-left:34px}.drawer-body{min-height:0;overflow-y:auto}.history-list{margin:0;padding:6px 0;list-style:none}.history-item{display:flex;flex-direction:column;gap:10px;margin:0 10px;padding:12px 12px 10px;border-radius:10px;transition:background-color .15s ease}.history-item+.history-item{border-top:1px solid var(--border)}.history-item:hover{background:var(--surface)}.history-item:hover+.history-item{border-top-color:transparent}.history-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.history-client{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.history-total{flex:none;font-weight:600;font-variant-numeric:tabular-nums}.history-total span{font-size:11px;font-weight:500;color:var(--text-3)}.history-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:12.5px;color:var(--text-2)}.history-actions{display:flex;align-items:center;gap:2px;margin-left:-9px}.history-actions .push{margin-left:auto}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:64px 32px;text-align:center;color:var(--text-3)}.empty p{font-weight:500;color:var(--text-2)}.empty span{font-size:12px}.app.is-focus{grid-template-rows:0 1fr}.app.is-focus .topbar,.app.is-focus .panel{visibility:hidden;overflow:hidden;border:0}.app.is-focus .workspace{grid-template-columns:0 1fr}.back-btn{margin-left:-8px;color:var(--text)}.zoom-meta{margin-right:10px}.zoom .btn.primary{margin-left:8px}.qr{position:relative}.qr-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:25;display:flex;flex-direction:column;align-items:center;width:248px;padding:18px 18px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-pop);animation:dialog-in .16s ease-out}.qr-code{width:180px;height:180px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.qr-code svg{display:block;width:100%;height:100%}.qr-title{margin-top:12px;font-size:13px;font-weight:600;text-align:center}.qr-url{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin-top:4px;padding:3px 8px;border:0;border-radius:var(--radius-sm);font-size:12px;color:var(--accent-text);background:none}.qr-url span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.qr-url:hover{background:var(--accent-soft)}.qr-note{margin-top:8px;font-size:11.5px;line-height:1.4;text-align:center;color:var(--text-3)}:root{--scrollbar-thumb: color-mix(in srgb, var(--text-3) 45%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--text-3) 75%, transparent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{border-radius:999px;background:var(--scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-button{display:none}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}.case-toggle{position:relative;display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 9px 0 7px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-2);cursor:pointer;user-select:none;transition:background-color .15s ease,color .15s ease}.input.is-uppercase{text-transform:uppercase}.input.is-uppercase::placeholder{text-transform:none}.case-toggle{position:relative;display:inline-flex;align-items:center;gap:7px;height:26px;margin:-4px -6px -4px 0;padding:0 8px 0 7px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-2);cursor:pointer;user-select:none;transition:background-color .15s ease,color .15s ease}.case-toggle:hover{color:var(--text);background:var(--surface-hover)}.case-toggle input{position:absolute;opacity:0;pointer-events:none}.case-box{position:relative;width:14px;height:14px;border:1px solid var(--border-strong);border-radius:4px;background:var(--panel);transition:background-color .15s ease,border-color .15s ease}.case-toggle.is-on .case-box{border-color:var(--accent);background:var(--accent)}.case-toggle.is-on .case-box:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.case-toggle input:focus-visible+.case-box{box-shadow:0 0 0 3px var(--accent-ring)}.grid-3{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}.chip{height:26px;padding:0 10px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:500;color:var(--text-2);background:var(--panel);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.chip:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.chip.is-active{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft)}.chip:disabled{cursor:default;opacity:.5}.numero-mode .segmented{padding:2px}.numero-mode .segmented button{height:24px;padding:0 10px;font-size:12px}.input.is-readonly{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);border-style:dashed;cursor:default}.input.is-readonly:focus{border-color:var(--border-strong);box-shadow:none}.splash{display:grid;place-items:center;height:100%;color:var(--text-3)}.login{display:grid;place-items:center;height:100%;padding:24px;background:var(--bg);overflow-y:auto}.login-card{display:flex;flex-direction:column;gap:14px;width:min(380px,100%);padding:32px 32px 24px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 1px 2px #1018280a,0 12px 32px #1018280f}.login-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:10px;text-align:center}.login-logo{width:64px;height:auto;margin-bottom:6px}:root[data-theme=dark] .login-logo{filter:brightness(1.35) saturate(.9)}.login-card h1{font-size:19px;font-weight:600;letter-spacing:-.015em}.login-sub{font-size:13px;color:var(--text-3)}.login-msg{padding:9px 11px;border-radius:var(--radius);font-size:12.5px;color:var(--text-2);background:var(--surface);border:1px solid var(--border)}.login-msg.is-error{color:var(--danger);background:var(--danger-soft);border-color:transparent}.login-submit{height:38px;margin-top:4px}.user-menu{position:relative;margin-left:6px}.avatar{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:50%;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--accent-text);background:var(--accent-soft);transition:box-shadow .15s ease}.avatar:hover,.avatar.is-active{box-shadow:0 0 0 3px var(--accent-ring)}.user-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:25;width:240px;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-pop);animation:dialog-in .16s ease-out}.user-email{display:flex;flex-direction:column;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.user-email span{font-size:11.5px;color:var(--text-3)}.user-email strong{overflow:hidden;font-size:13px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.user-item{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border:0;border-radius:var(--radius);font-size:13px;color:var(--text-2);background:none;text-align:left}.user-item:hover{color:var(--danger);background:var(--danger-soft)}.history-author{display:flex;align-items:center;gap:9px;margin-top:8px}.author-badge{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--text-2);background:var(--surface-hover);border:1px solid var(--border)}.author-badge.is-me{color:var(--accent-text);background:var(--accent-soft);border-color:transparent}.author-text{display:flex;flex-direction:column;min-width:0;font-size:12px;line-height:1.35;color:var(--text-2)}.author-text strong{font-weight:600;color:var(--text)}.author-text>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.author-when{font-size:11.5px;color:var(--text-3)}
