:root{--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-size-base: 15px;--font-size-small: 13px;--font-size-h1: 24px;--font-size-h2: 19px;--line-height: 1.5;--color-bg-app: #f5f6f8;--color-bg-surface: #ffffff;--color-bg-sidebar: #eef0f4;--color-bg-input: #ffffff;--color-text: #1b1f27;--color-text-muted: #5d6573;--color-border: #d9dde4;--color-border-strong: #b9bfca;--color-accent: #2b5fd9;--color-accent-hover: #234fb8;--color-on-accent: #ffffff;--color-danger: #c33a32;--color-danger-bg: #fdecea;--color-success: #1d7a46;--color-success-bg: #e6f4ec;--color-focus: #2b5fd9;--color-online: #1fa463;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgb(16 24 40 / 6%), 0 4px 16px rgb(16 24 40 / 6%);--avatar-radius: 50%;--topbar-bg: var(--color-bg-surface);--topbar-fg: var(--color-text);--topbar-border: var(--color-border);--chat-head-bg: var(--color-bg-surface);--chat-head-fg: var(--color-text);--chat-bg: var(--color-bg-app);--composer-bg: var(--color-bg-surface);--bubble-mine-bg: var(--color-accent);--bubble-mine-fg: var(--color-on-accent);--bubble-mine-border: transparent;--bubble-theirs-bg: var(--color-bg-surface);--bubble-theirs-fg: var(--color-text);--bubble-theirs-border: var(--color-border);--bubble-radius: var(--radius-md);--bubble-tail-radius: var(--radius-sm);--sender-mine: var(--color-accent);--sender-theirs: var(--color-text-muted);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--control-height: 44px;--motion-fast: .12s;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme-mode=light]){--color-bg-app: #12151b;--color-bg-surface: #1b1f27;--color-bg-sidebar: #161a21;--color-bg-input: #12151b;--color-text: #e8eaee;--color-text-muted: #9aa2b1;--color-border: #2c323d;--color-border-strong: #424a58;--color-accent: #6f96f0;--color-accent-hover: #8aaaf3;--color-on-accent: #0d1117;--color-danger: #f0857d;--color-danger-bg: #3a1d1b;--color-success: #6fcf97;--color-success-bg: #16301f;--color-focus: #8aaaf3;--shadow-card: 0 1px 2px rgb(0 0 0 / 40%), 0 4px 16px rgb(0 0 0 / 30%);color-scheme:dark}}:root[data-theme-mode=dark]{--color-bg-app: #12151b;--color-bg-surface: #1b1f27;--color-bg-sidebar: #161a21;--color-bg-input: #12151b;--color-text: #e8eaee;--color-text-muted: #9aa2b1;--color-border: #2c323d;--color-border-strong: #424a58;--color-accent: #6f96f0;--color-accent-hover: #8aaaf3;--color-on-accent: #0d1117;--color-danger: #f0857d;--color-danger-bg: #3a1d1b;--color-success: #6fcf97;--color-success-bg: #16301f;--color-focus: #8aaaf3;--shadow-card: 0 1px 2px rgb(0 0 0 / 40%), 0 4px 16px rgb(0 0 0 / 30%);color-scheme:dark}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--color-bg-app);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height);-webkit-font-smoothing:antialiased}a{color:var(--color-accent)}h1{font-size:var(--font-size-h1);margin:var(--space-4) 0 var(--space-1)}h2{font-size:var(--font-size-h2);margin:0 0 var(--space-2)}.muted{color:var(--color-text-muted)}.small{font-size:var(--font-size-small)}.center{text-align:center}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-weight:600;font-size:var(--font-size-small)}.field input{height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);font:inherit}.field input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:var(--font-size-small);margin:0}.field-hint{color:var(--color-text-muted);font-size:var(--font-size-small);margin:0}.btn{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;transition:background var(--motion-fast)}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{width:100%;background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn-danger{background:var(--color-bg-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn-link{background:none;color:var(--color-accent);padding:0;min-height:auto;font-weight:500;margin-top:var(--space-3)}form .btn-link{display:block;margin-inline:auto}.form-error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-4);font-size:var(--font-size-small)}.notice{background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-4);font-size:var(--font-size-small)}.resend{margin:calc(var(--space-2) * -1) 0 var(--space-4);font-size:var(--font-size-small)}.resend .btn-link{margin:0;display:inline}.resend .form-error{margin-bottom:var(--space-2)}.badge{display:inline-block;font-size:12px;font-weight:600;padding:1px var(--space-2);border-radius:999px;background:var(--color-success-bg);color:var(--color-success);vertical-align:middle}.auth-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4)}.auth-card{width:100%;max-width:400px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6) var(--space-5)}.auth-card>.muted{margin:0 0 var(--space-5)}.auth-footer{margin-top:var(--space-4);color:var(--color-text-muted)}.brand{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:17px}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--topbar-bg);color:var(--topbar-fg);border-bottom:1px solid var(--topbar-border)}.topbar-user{display:flex;align-items:center;gap:var(--space-2)}.topbar-name{font-weight:600}.avatar{width:32px;height:32px;border-radius:var(--avatar-radius);display:inline-grid;place-items:center;background:var(--color-accent);color:var(--color-on-accent);font-weight:700}.settings{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);width:100%;max-width:960px;margin:0 auto;gap:var(--space-5);padding:var(--space-5) var(--space-4);align-content:start;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:var(--space-1)}.settings-nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;min-height:var(--control-height);display:flex;align-items:center}.settings-nav a.active{background:var(--color-bg-sidebar);font-weight:600;color:var(--color-accent)}.settings-body{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5)}.narrow{max-width:420px}.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-5)}.facts dt{color:var(--color-text-muted)}.facts dd{margin:0}.device-list{list-style:none;padding:0;margin:0}.device{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.device-name{font-weight:600}.device-actions{display:flex;gap:var(--space-2);flex-shrink:0}@media (max-width: 720px){.settings{grid-template-columns:1fr;padding:var(--space-3);gap:var(--space-3)}.settings-nav{flex-direction:row;overflow-x:auto}.settings-nav a{white-space:nowrap}.settings-body{padding:var(--space-4)}.topbar-name{display:none}.device{flex-direction:column;align-items:stretch}.device-actions .btn{flex:1}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.segmented{display:flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:3px;margin:0 0 var(--space-4);gap:3px}.segmented label{flex:1;text-align:center;min-height:calc(var(--control-height) - 8px);display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;font-weight:600;font-size:var(--font-size-small);color:var(--color-text-muted)}.segmented label.on{background:var(--color-accent);color:var(--color-on-accent)}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.contact-list{list-style:none;padding:0;margin:0}.contact-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.contact-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.contact-editor{margin-top:var(--space-4)}.row-actions{display:flex;gap:var(--space-2)}.row-actions .btn-primary{width:auto;flex:1}.chat-shell{height:100dvh;display:flex;flex-direction:column}.chat-account-link{display:flex;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none}.chat-body{flex:1;min-height:0;display:grid;grid-template-columns:340px minmax(0,1fr)}.chat-side{display:flex;flex-direction:column;min-height:0;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border)}.chat-main{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--color-bg-surface)}.chat-search{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.chat-search-input{width:100%;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);font:inherit}.chat-note{margin:var(--space-2) 0 0;padding:0 var(--space-1)}.chat-side>.chat-note{padding:var(--space-3)}.chat-note-error{color:var(--color-danger)}.chat-list,.chat-results{list-style:none;margin:0;padding:0}.chat-list{flex:1;overflow-y:auto}.chat-results{margin-top:var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.chat-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-2) var(--space-3);border:0;background:none;color:var(--color-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.chat-item:hover:not(:disabled),.chat-item.active{background:var(--color-bg-surface)}.chat-item.active{box-shadow:inset 3px 0 0 var(--color-accent)}.chat-item:disabled{opacity:.6;cursor:progress}.chat-item .avatar{flex-shrink:0}.chat-item-text{flex:1;min-width:0;display:flex;flex-direction:column}.chat-item-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-preview{font-size:var(--font-size-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex-shrink:0}.chat-unread{min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-accent);color:var(--color-on-accent);font-size:12px;font-weight:700;text-align:center}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center}.chat-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--chat-head-bg);color:var(--chat-head-fg);border-bottom:1px solid var(--color-border)}.chat-head-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.chat-back{display:none;min-width:var(--control-height);min-height:var(--control-height);align-items:center;justify-content:center;margin-left:calc(var(--space-3) * -1);font-size:20px;text-decoration:none}.chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--chat-bg)}.chat-older{align-self:center;margin-top:0}.chat-empty-thread{margin:auto;text-align:center}.chat-msg{display:flex;flex-direction:column;max-width:min(75%,560px);gap:2px}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-msg.theirs{align-self:flex-start;align-items:flex-start}.chat-bubble{padding:var(--space-2) var(--space-3);border-radius:var(--bubble-radius);white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg.mine .chat-bubble{background:var(--bubble-mine-bg);color:var(--bubble-mine-fg);border:1px solid var(--bubble-mine-border);border-bottom-right-radius:var(--bubble-tail-radius)}.chat-msg.theirs .chat-bubble{background:var(--bubble-theirs-bg);color:var(--bubble-theirs-fg);border:1px solid var(--bubble-theirs-border);border-bottom-left-radius:var(--bubble-tail-radius)}.chat-sender{display:none}.chat-time{padding:0 var(--space-1)}.chat-composer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--composer-bg)}.chat-composer .chat-note{margin:0 0 var(--space-2)}.chat-composer-row{display:flex;align-items:flex-end;gap:var(--space-2)}.chat-composer textarea{flex:1;min-height:var(--control-height);max-height:160px;padding:10px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text);font:inherit;resize:none;field-sizing:content}.chat-composer .btn-primary{width:auto}@media (max-width: 720px){.chat-body{grid-template-columns:minmax(0,1fr)}.chat-body.has-active .chat-side,.chat-body:not(.has-active) .chat-main{display:none}.chat-back{display:inline-flex}.chat-side{border-right:0}.chat-msg{max-width:88%}}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.mine,:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.theirs{align-self:stretch;align-items:flex-start;max-width:100%;gap:0}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.mine .chat-bubble,:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.theirs .chat-bubble{padding:0;border:0;border-radius:0;background:transparent}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.mine .chat-bubble{color:var(--bubble-mine-fg)}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.theirs .chat-bubble{color:var(--bubble-theirs-fg)}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-sender{display:inline;font-weight:700}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.mine .chat-sender{color:var(--sender-mine)}:is([data-chat-style=line],[data-chat-style=stacked]) .chat-msg.theirs .chat-sender{color:var(--sender-theirs)}[data-chat-style=line] .chat-messages{gap:2px}[data-chat-style=line] .chat-msg{display:block}[data-chat-style=line] .chat-sender:after{content:":";margin-right:var(--space-1)}[data-chat-style=line] .chat-msg .chat-bubble{display:inline}[data-chat-style=line] .chat-msg .chat-time{display:inline;margin-left:var(--space-2);padding:0}[data-chat-style=stacked] .chat-messages{gap:0}[data-chat-style=stacked] .chat-sender{display:block;font-weight:600;font-size:var(--font-size-small)}[data-chat-style=stacked] .chat-sender:after{content:" nói:";font-weight:400}[data-chat-style=stacked] .chat-msg .chat-bubble,[data-chat-style=stacked] .chat-msg .chat-time{padding-left:var(--space-4)}[data-chat-style=stacked] .chat-msg+.chat-msg{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dotted var(--color-border-strong)}:root[data-theme] .topbar .avatar{box-shadow:0 0 0 2px var(--topbar-fg)}.theme-select{min-height:36px;max-width:14rem;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-small)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.theme-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.theme-card:hover{border-color:var(--color-border-strong)}.theme-card.on{border-color:var(--color-accent)}.theme-card-name{font-weight:600;margin-top:var(--space-1)}.theme-preview{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-small);line-height:var(--line-height);color:var(--color-text);background:var(--chat-bg)}.tp-bar{padding:var(--space-1) var(--space-2);background:var(--topbar-bg);color:var(--topbar-fg);border-bottom:1px solid var(--topbar-border);font-weight:700}.tp-msgs{display:flex;flex-direction:column;gap:6px;padding:var(--space-2);background:var(--chat-bg)}.tp-msgs .chat-msg{max-width:85%}
