:root{--bg:#f3fff7;--surface:#fff;--app-bg:#f6f7f9;--text:#5a6472;--text-strong:#1f2937;--border:#d7dee8;--accent:#25d366;--accent-strong:#18b957;--danger:oklch(from var(--accent) l c 28deg);--danger-strong:oklch(from var(--accent-strong) l c 28deg);--muted:#8b95a5;--shadow:0 16px 48px #0d1a2624;--shadow-soft:0 8px 24px #0d1a2614;--sans:system-ui, "Segoe UI", Roboto, Arial, sans-serif;font:16px/145% var(--sans);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg:#0b1220;--surface:#0f172a;--app-bg:#0b1220;--text:#cbd5e1;--text-strong:#f1f5f9;--border:#94a3b838;--muted:#94a3b8;--shadow:0 16px 48px #0000008c;--shadow-soft:0 8px 24px #00000059}:root[data-theme=contrast]{--bg:#000;--surface:#000;--app-bg:#000;--text:#fff;--text-strong:#fff;--border:#ffffffb3;--muted:#fffc;--shadow:none;--shadow-soft:none}body{min-height:100svh;margin:0}#root{min-height:100svh}.auth-page{grid-template-rows:1fr auto;place-items:center;min-height:100svh;padding:56px 20px 32px;display:grid;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";filter:blur();z-index:0;background:#25d3662e;border-radius:999px;width:420px;height:420px;position:absolute}.auth-page:before{top:40px;left:-140px}.auth-page:after{bottom:140px;right:-160px}.auth-card{background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow);z-index:1;border-radius:18px;padding:36px 34px 28px}.brand{justify-content:center;margin-bottom:16px;display:flex}.brand svg{max-width:260px;height:auto}.title{text-align:center;color:var(--accent-strong);letter-spacing:-.6px;margin:0;font-size:34px;font-weight:750}.subtitle{text-align:center;color:var(--muted);margin:10px 0 22px;font-size:14px}.form{gap:16px;display:grid}.field{gap:8px;display:grid}.label{color:var(--text-strong);font-size:13px;font-weight:650}.control{border:2px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:38px 1fr 38px;align-items:center;padding:2px 6px;transition:border-color .15s,box-shadow .15s;display:grid}.control:focus-within{border-color:#25d366a6;box-shadow:0 0 0 4px #25d3661f}.leading{color:var(--muted);place-items:center;display:grid}.trailing{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.trailing:hover{background:#1f29370f}.control input{font:inherit;color:var(--text-strong);background:0 0;border:0;outline:none;padding:12px 8px}.control input::placeholder{color:#a3abb8}.field-error .control{border-color:#dc26268c}.hint{color:#b91c1c;font-size:12px}.row{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.checkbox{color:var(--text);align-items:center;gap:10px;font-size:13px;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.link{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:650;text-decoration:none}.link:hover{text-decoration:underline}.status{border-radius:12px;padding:10px 12px;font-size:13px}.status.success{color:#0f5132;background:#25d3661f}.status.error{color:#7f1d1d;background:#dc26261a}.primary{background:var(--accent);color:#fff;width:100%;box-shadow:var(--shadow-soft);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding:14px 16px;font-size:14px;font-weight:750;display:inline-flex}.primary:disabled{opacity:.75;cursor:not-allowed}.primary:hover:not(:disabled){background:var(--accent-strong)}.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text-strong);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding:12px 16px;font-size:14px;font-weight:750;display:inline-flex}.secondary:disabled{opacity:.7;cursor:not-allowed}.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--border) 18%, var(--surface))}.secondary.danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));color:color-mix(in srgb, var(--danger-strong) 88%, var(--text-strong))}.secondary.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.card-footer{text-align:center;color:var(--text);margin-top:18px;font-size:13px}.bottom{z-index:1;justify-items:center;gap:10px;margin-top:22px;display:grid}.social{color:var(--muted);gap:14px;display:inline-flex}.social-btn{width:34px;height:34px;color:inherit;border-radius:999px;place-items:center;text-decoration:none;display:grid}.social-btn:hover{background:#1f29370f}.copyright{color:var(--muted);font-size:12px}@media (width<=480px){.auth-card{padding:28px 18px 22px}.title{font-size:28px}}.app-shell{background:var(--app-bg);min-height:100svh;display:flex}.app-content{flex-direction:column;flex:auto;min-width:0;padding:28px;display:flex}.sidebar{background:var(--surface);border-right:1px solid #d7dee8e6;flex:none;grid-template-rows:auto 1fr auto;gap:16px;width:280px;padding:20px;transition:width .18s,padding .18s;display:grid;position:relative}.sidebar.collapsed{width:76px;padding:16px 12px}.sidebar-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-logo{align-items:center;min-width:0;display:flex}.sidebar-logo svg{width:190px;height:auto}.sidebar.collapsed .sidebar-logo{display:none}.sidebar-toggle{background:var(--surface);width:32px;height:32px;color:var(--text-strong);cursor:pointer;border:1px solid #d7dee8f2;border-radius:10px;place-items:center;font-weight:900;display:grid;position:static}:root[data-theme=dark] .sidebar-toggle{border-color:#94a3b838}.sidebar-toggle:hover{background:#1f29370d}:root[data-theme=dark] .sidebar-toggle:hover{background:#94a3b81f}.nav{align-content:start;gap:8px;display:grid}.nav-item{height:44px;color:var(--text-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-family:inherit;font-size:15px;font-weight:700;line-height:1;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:flex}.sidebar.collapsed .nav-item{justify-content:center;gap:0;width:44px;margin:0 auto;padding:0}.nav-icon{color:currentColor;place-items:center;display:grid}.nav-sep{background:#d7dee8e6;height:1px;margin:6px 2px}.sidebar.collapsed .nav{justify-items:center}.sidebar.collapsed .nav-sep{width:44px;margin:10px auto}.sidebar.collapsed .nav-item .nav-label{opacity:0;pointer-events:none;width:0;overflow:hidden}.nav-label{white-space:nowrap;opacity:1;line-height:1;transition:opacity .15s}.nav-item:hover{background:#1f29370d}.nav-item.active{color:var(--accent-strong);background:#25d3661f;border-color:#25d3662e}.sidebar-bottom{padding-top:8px}.sidebar-bottom .profile{gap:10px;display:grid}.sidebar-bottom .profile-main{grid-template-columns:40px 1fr;align-items:center;gap:10px;display:grid}.sidebar-bottom .avatar{width:40px;height:40px;color:var(--accent-strong);background:#25d36629;border-radius:999px;place-items:center;font-weight:900;display:grid}.sidebar-bottom .profile-email{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.sidebar-bottom .profile-role{color:var(--muted);margin-top:2px;font-size:12px;font-weight:700}.sidebar-bottom .disconnect{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.sidebar-bottom .disconnect:hover{background:#dc26260f;border-color:#dc26261f}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .profile-text,.sidebar.collapsed .disconnect .nav-label{display:none}.sidebar.collapsed .profile-main{grid-template-columns:1fr;justify-items:center}.sidebar.collapsed .disconnect{justify-content:center;gap:0;width:44px;height:44px;margin:0 auto;padding:0}.modal-overlay{z-index:50;background:#00000061;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(820px,100% - 24px);box-shadow:var(--shadow);border:1px solid #d7dee8e6;border-radius:18px;overflow:hidden}:root[data-theme=dark] .modal{border-color:#94a3b82e}.modal-header{justify-content:space-between;align-items:center;padding:18px 18px 12px;display:flex}.modal-title{color:var(--text-strong);letter-spacing:-.3px;font-weight:900}.modal-close{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;font-size:22px;line-height:1;display:grid}.modal-close:hover{color:var(--text-strong);background:#1f29370f}:root[data-theme=dark] .modal-close:hover{background:#94a3b81f}.modal-tabs{background:#1f29370d;border-radius:14px;gap:6px;margin:0 18px;padding:6px;display:inline-flex}:root[data-theme=dark] .modal-tabs{background:#94a3b81f}.modal-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:8px 12px;font-weight:800}.modal-tab.active{background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-soft)}.modal-body{padding:14px 18px 18px}.settings-section{gap:12px;display:grid}.settings-section-title{color:var(--text-strong);align-items:center;gap:10px;font-weight:900;display:inline-flex}.settings-row{grid-template-columns:1fr auto;align-items:center;gap:16px;display:grid}.settings-row-label{color:var(--text-strong);font-weight:800}.settings-row-left .theme-picker{margin-top:8px}.integration-list{gap:10px;display:grid}.integration-item{background:#1f293705;border:1px solid #d7dee8e6;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}:root[data-theme=dark] .integration-item{background:#94a3b80f;border-color:#94a3b82e}.integration-left{align-items:center;gap:10px;min-width:0;display:inline-flex}.integration-icon{width:34px;height:34px;color:var(--accent-strong);background:#25d3661f;border-radius:12px;flex:none;place-items:center;display:grid}.integration-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-weight:900;overflow:hidden}.integration-cta{height:38px;color:var(--accent-strong);cursor:pointer;white-space:nowrap;background:#25d3661f;border:1px solid #25d36638;border-radius:999px;padding:0 14px;font-weight:900}.integration-cta:hover{background:#25d3662e;border-color:#25d36652}@media (width<=560px){.integration-item{flex-direction:column;align-items:stretch}.integration-cta{width:100%}}.settings-divider{background:#d7dee8e6;height:1px;margin:16px 0}:root[data-theme=dark] .settings-divider{background:#94a3b82e}.theme-picker{background:#1f29370d;border-radius:14px;gap:6px;padding:6px;display:inline-flex}:root[data-theme=dark] .theme-picker{background:#94a3b81f}.theme-pill{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:8px 12px;font-weight:850}.theme-pill.active{background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow-soft)}@media (width<=720px){.settings-row{grid-template-columns:1fr;align-items:start}.modal-tabs,.theme-picker{width:fit-content}}.page{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:16px;padding:20px}.page-title{color:var(--text-strong);letter-spacing:-.3px;margin:0;font-size:22px}.page-subtitle{color:var(--muted);margin:6px 0 0;font-size:13px}.kanban-page{flex-direction:column;flex:auto;min-height:0;padding:18px;display:flex}.kanban-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.kanban-metrics{gap:10px;display:inline-flex}.kanban-metric{background:#1f293705;border:1px solid #d7dee8e6;border-radius:14px;gap:4px;min-width:96px;padding:10px 12px;display:grid}:root[data-theme=dark] .kanban-metric{background:#94a3b80f;border-color:#94a3b82e}.kanban-metric-label{color:var(--muted);font-size:12px;font-weight:750}.kanban-metric-value{color:var(--text-strong);letter-spacing:-.3px;font-size:18px;font-weight:950}.kanban-empty{color:var(--muted);margin:14px 0 0;font-size:13px}.kanban-board{scroll-snap-type:x proximity;flex:auto;grid-auto-columns:minmax(280px,320px);grid-auto-flow:column;align-items:stretch;gap:12px;min-height:0;margin-top:16px;padding-bottom:10px;display:grid;overflow:auto hidden}.kanban-column{scroll-snap-align:start;background:0 0;border:1px solid #d7dee8e6;border-radius:16px;grid-template-rows:auto 1fr;min-height:0;display:grid;position:relative;overflow:hidden}.kanban-column:before{content:"";background:var(--kanban-bg,#1f293705);filter:hue-rotate(var(--kanban-hue,0deg));z-index:0;position:absolute;inset:0}.kanban-column>*{z-index:1;position:relative}.kanban-column[data-kanban-color=default]{--kanban-hue:0deg;--kanban-bg:#1f293705}.kanban-column[data-kanban-color=neutral-1]{--kanban-hue:0deg;--kanban-bg:color-mix(in srgb, var(--border) 28%, var(--surface))}.kanban-column[data-kanban-color=h0]{--kanban-hue:0deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column[data-kanban-color=h40]{--kanban-hue:40deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column[data-kanban-color=h80]{--kanban-hue:80deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column[data-kanban-color=h140]{--kanban-hue:140deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column[data-kanban-color=h200]{--kanban-hue:200deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column[data-kanban-color=h260]{--kanban-hue:260deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column[data-kanban-color=h310]{--kanban-hue:310deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-column-title-clickable{cursor:pointer}.kanban-column-title-draggable{cursor:grab}.kanban-column-title-draggable:active{cursor:grabbing}.kanban-column[data-dragging=true]{opacity:.75}.kanban-column-title-clickable:focus{outline:none}.kanban-column-title-clickable:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:3px;border-radius:10px}:root[data-theme=dark] .kanban-column{background:0 0;border-color:#94a3b82e}:root[data-theme=dark] .kanban-column[data-kanban-color=default]{--kanban-hue:0deg;--kanban-bg:#94a3b80f}:root[data-theme=dark] .kanban-column[data-kanban-color=neutral-1]{--kanban-hue:0deg;--kanban-bg:color-mix(in srgb, var(--border) 14%, var(--surface))}:root[data-theme=dark] .kanban-column[data-kanban-color=h0],:root[data-theme=dark] .kanban-column[data-kanban-color=h40],:root[data-theme=dark] .kanban-column[data-kanban-color=h80],:root[data-theme=dark] .kanban-column[data-kanban-color=h140],:root[data-theme=dark] .kanban-column[data-kanban-color=h200],:root[data-theme=dark] .kanban-column[data-kanban-color=h260],:root[data-theme=dark] .kanban-column[data-kanban-color=h310]{--kanban-bg:color-mix(in srgb, var(--accent) 10%, var(--surface))}.kanban-column-header{border-bottom:1px solid #d7dee8e6;justify-content:space-between;align-items:center;gap:10px;padding:12px 12px 10px;display:flex}:root[data-theme=dark] .kanban-column-header{border-bottom-color:#94a3b82e}.kanban-column-title{color:var(--text-strong);letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;font-weight:950;overflow:hidden}.kanban-column-count{color:var(--muted);background:#1f29370d;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}:root[data-theme=dark] .kanban-column-count{background:#94a3b81f}.kanban-column-body{align-content:start;gap:10px;min-height:0;padding:10px;display:grid;overflow:auto}.kanban-color-grid{grid-template-columns:repeat(5,44px);gap:10px;display:grid}.kanban-color-swatch{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;width:44px;height:34px;position:relative;overflow:hidden}.kanban-color-swatch:before{content:"";background:var(--kanban-bg,#1f293705);filter:hue-rotate(var(--kanban-hue,0deg));position:absolute;inset:0}.kanban-color-swatch[data-kanban-color=default]{--kanban-hue:0deg;--kanban-bg:#1f293705}.kanban-color-swatch[data-kanban-color=neutral-1]{--kanban-hue:0deg;--kanban-bg:color-mix(in srgb, var(--border) 28%, var(--surface))}.kanban-color-swatch[data-kanban-color=h0]{--kanban-hue:0deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch[data-kanban-color=h40]{--kanban-hue:40deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch[data-kanban-color=h80]{--kanban-hue:80deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch[data-kanban-color=h140]{--kanban-hue:140deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch[data-kanban-color=h200]{--kanban-hue:200deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch[data-kanban-color=h260]{--kanban-hue:260deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch[data-kanban-color=h310]{--kanban-hue:310deg;--kanban-bg:color-mix(in srgb, var(--accent) 16%, var(--surface))}.kanban-color-swatch.is-selected{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent)}:root[data-theme=dark] .kanban-color-swatch{background:0 0;border-color:#94a3b838}:root[data-theme=dark] .kanban-color-swatch:before{background:#94a3b80f}:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=neutral-1]{--kanban-hue:0deg;--kanban-bg:color-mix(in srgb, var(--border) 14%, var(--surface))}:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h0],:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h40],:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h80],:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h140],:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h200],:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h260],:root[data-theme=dark] .kanban-color-swatch[data-kanban-color=h310]{--kanban-bg:color-mix(in srgb, var(--accent) 10%, var(--surface))}.kanban-column-empty{text-align:center;color:var(--muted);padding:16px 10px;font-size:13px}.kanban-card{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:14px;gap:8px;padding:12px;display:grid}:root[data-theme=dark] .kanban-card{border-color:#94a3b82e}.kanban-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.kanban-card-title{color:var(--text-strong);letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;font-weight:950;overflow:hidden}.kanban-card-meta{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:800}.kanban-card-subtitle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.kanban-card-body{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:13px}.kanban-card-body-muted{color:var(--muted)}@media (width<=720px){.kanban-board{grid-auto-columns:minmax(260px,300px)}}.clients-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.clients-header-left{min-width:240px}.client-actions-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;font-size:22px;line-height:1;display:grid}.client-actions-button:hover{color:var(--text-strong);background:#1f29370f}:root[data-theme=dark] .client-actions-button:hover{background:#94a3b81f}.client-menu{background:var(--surface);min-width:160px;box-shadow:var(--shadow-soft);z-index:20;border:1px solid #d7dee8e6;border-radius:14px;gap:4px;padding:6px;display:grid;position:absolute;top:40px;right:0}:root[data-theme=dark] .client-menu{border-color:#94a3b82e}.client-menu-item{cursor:pointer;color:var(--text-strong);text-align:left;background:0 0;border:0;border-radius:12px;padding:10px;font-family:inherit;font-weight:850}.client-menu-item:hover{background:#1f29370f}:root[data-theme=dark] .client-menu-item:hover{background:#94a3b81f}.client-menu-item.danger{color:#dc2626}.client-card{cursor:pointer}.client-card:hover{background:#1f293705}:root[data-theme=dark] .client-card:hover{background:#94a3b80f}.templates-list{gap:10px;margin-top:10px;display:grid}.template-row{text-align:left;cursor:pointer;background:#1f293705;border:1px solid #d7dee8e6;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px;font-family:inherit;display:grid}:root[data-theme=dark] .template-row{background:#94a3b80f;border-color:#94a3b82e}.template-row:hover{background:#1f29370d}:root[data-theme=dark] .template-row:hover{background:#94a3b81f}.template-row:disabled{opacity:.6;cursor:not-allowed}.template-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-weight:900;overflow:hidden}.template-language{color:var(--muted);white-space:nowrap;background:#1f29370d;border-radius:999px;padding:6px 10px;font-weight:900}.template-status{white-space:nowrap;color:var(--muted);background:#1f293705;border:1px solid #d7dee8e6;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}:root[data-theme=dark] .template-status{background:#94a3b80f;border-color:#94a3b82e}.template-status.approved{color:#0f5132;background:#25d3661f;border-color:#25d36638}.template-status.pending{color:var(--text-strong);background:#1f29370f}.template-status.rejected{color:#7f1d1d;background:#dc26261a;border-color:#dc262629}.template-status.paused,.template-status.disabled{color:var(--muted);background:#1f29370a}.template-builder-modal{width:min(1020px,100% - 24px)}.template-builder{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start;gap:16px;display:grid}@media (width<=1080px){.template-builder{grid-template-columns:1fr}}.template-builder-left{gap:12px;display:grid}.template-builder-subhead{color:var(--muted);margin:0;font-size:13px}.template-builder-subhead-strong{color:var(--text-strong);font-weight:800}.template-builder-card{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:16px;gap:12px;padding:12px;display:grid}:root[data-theme=dark] .template-builder-card{border-color:#94a3b82e}.template-builder-card-title{color:var(--text-strong);margin-bottom:0;font-weight:900}.template-builder-grid{grid-template-columns:minmax(0,1fr) 240px;gap:10px;display:grid}.template-builder-grid-equal{grid-template-columns:1fr 1fr}@media (width<=720px){.template-builder-grid{grid-template-columns:1fr}}.template-builder-buttons{gap:10px;margin-top:8px;display:grid}.template-builder-buttons-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.template-builder-buttons-list{gap:10px;display:grid}.template-builder-button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.template-builder-button-row input,.template-builder-button-row select{width:auto}.template-builder-card input,.template-builder-card textarea,.template-builder-card select{box-sizing:border-box;border:2px solid var(--border);background:var(--surface);width:100%;color:var(--text-strong);font:inherit;border-radius:12px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.template-builder-card label.page-subtitle{margin:0}.template-builder-card label.page-subtitle:not(.template-field-label){display:block}.template-field-label{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.template-builder-grid>div{gap:6px;min-width:0;display:grid}.template-builder-card>div{min-width:0}.template-builder-card textarea{resize:vertical;min-height:120px}.template-builder-card input::placeholder,.template-builder-card textarea::placeholder{color:#a3abb8}.template-builder-card input:focus,.template-builder-card textarea:focus,.template-builder-card select:focus{border-color:#25d366a6;outline:none;box-shadow:0 0 0 4px #25d3661f}:root[data-theme=dark] .template-builder-card input,:root[data-theme=dark] .template-builder-card textarea,:root[data-theme=dark] .template-builder-card select{border-color:#94a3b838}.template-preview-panel{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:16px;overflow:hidden}:root[data-theme=dark] .template-preview-panel{border-color:#94a3b82e}.template-preview-header{color:var(--text-strong);border-bottom:1px solid #d7dee8e6;padding:12px;font-weight:900}:root[data-theme=dark] .template-preview-header{border-bottom-color:#94a3b82e}.template-preview-chat{justify-items:start;padding:14px}.template-preview-bubble{background:var(--surface);width:min(280px,100%);max-width:280px;box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:14px;gap:6px;padding:10px;display:grid}:root[data-theme=dark] .template-preview-bubble{border-color:#94a3b82e}.template-preview-header-text{color:var(--text-strong);margin-bottom:6px;font-weight:900}.template-preview-body{color:var(--text);white-space:pre-wrap;font-size:13px}.template-preview-footer{color:var(--muted);margin-top:8px;font-size:12px}.template-preview-buttons{border-top:1px solid #d7dee8e6;margin-top:10px;display:grid}:root[data-theme=dark] .template-preview-buttons{border-top-color:#94a3b82e}.template-preview-button{color:var(--accent-strong);border-bottom:1px solid #d7dee8e6;justify-content:center;align-items:center;gap:8px;padding:10px 8px;font-weight:900;display:flex}:root[data-theme=dark] .template-preview-button{border-bottom-color:#94a3b82e}.template-preview-button svg{color:currentColor;opacity:.95}.template-preview-time{color:var(--muted);justify-self:end;margin-top:6px;font-size:11px}.chat-modal{width:min(520px,100% - 24px)}.chat-window{background:var(--app-bg);border:1px solid #d7dee8e6;border-radius:16px;align-content:start;align-items:start;gap:10px;height:min(60svh,560px);padding:14px;display:grid;overflow:auto}.chat-empty{color:var(--muted);text-align:center;place-items:center;margin:0;padding:22px 14px;font-size:13px;display:grid}:root[data-theme=dark] .chat-window{background:var(--app-bg);border-color:#94a3b82e}.chat-row{padding-bottom:10px;display:flex}.chat-row.incoming{justify-content:flex-start}.chat-row.outgoing{justify-content:flex-end}.chat-bubble{background:var(--surface);max-width:85%;box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:16px;gap:6px;padding:10px 12px;display:grid;position:relative}.chat-bubble.chat-bubble-menu-open{z-index:5}.chat-message-menu{z-index:60;background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:14px;gap:8px;padding:8px;display:grid}.chat-message-menu-floating{position:fixed}:root[data-theme=dark] .chat-message-menu{border-color:#94a3b82e}.chat-message-menu-reactions{align-items:center;gap:6px;display:flex}.chat-message-menu-emoji{cursor:pointer;background:#1f293705;border:1px solid #d7dee8e6;border-radius:999px;place-items:center;width:32px;height:32px;font-size:16px;line-height:1;display:grid}.chat-message-menu-emoji:hover:not(:disabled){background:#25d3661a;border-color:#25d36638}:root[data-theme=dark] .chat-message-menu-emoji{background:#94a3b80f;border-color:#94a3b82e}.chat-message-menu-btn{color:var(--text-strong);cursor:pointer;text-align:left;background:#1f293705;border:1px solid #d7dee8e6;border-radius:12px;padding:8px 10px;font-weight:750}.chat-message-menu-btn:hover:not(:disabled){background:#1f29370f}:root[data-theme=dark] .chat-message-menu-btn{background:#94a3b80f;border-color:#94a3b82e}.chat-reply-chip{background:#25d36614;border:1px solid #d7dee8e6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.chat-reply-body{flex:auto;gap:2px;min-width:0;display:grid}.chat-reply-title{color:var(--muted);font-size:12px;font-weight:750}.chat-reply-preview{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chat-reply-remove{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:grid}.chat-reply-remove:hover{color:var(--text-strong);background:#1f29370f}:root[data-theme=dark] .chat-reply-chip{background:#25d3661f;border-color:#94a3b82e}:root[data-theme=dark] .chat-reply-remove:hover{background:#94a3b81f}:root[data-theme=dark] .chat-bubble{border-color:#94a3b82e}.chat-bubble.outgoing{background:#25d3661a;border-color:#25d36638}.chat-content{color:var(--text-strong);white-space:pre-wrap;word-break:break-word}.chat-meta{color:var(--muted);justify-self:end;font-size:11px}.chat-media{gap:8px;display:grid}.chat-media-link{display:block}.chat-media-image{object-fit:cover;background:var(--surface);border:1px solid #d7dee8e6;border-radius:14px;width:100%;height:auto;max-height:320px;display:block}:root[data-theme=dark] .chat-media-image{border-color:#94a3b82e}.chat-caption{color:var(--text-strong);white-space:pre-wrap;word-break:break-word;font-size:13px}.chat-media-audio{width:clamp(220px,70vw,380px);max-width:100%;display:block}.chat-media-video{width:100%}.chat-reactions{z-index:2;align-items:center;gap:6px;display:inline-flex;position:absolute;bottom:-12px;right:10px}.chat-row.incoming .chat-reactions{left:10px;right:auto}.chat-reaction-pill{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid #d7dee8e6;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:13px;line-height:1;display:inline-flex}:root[data-theme=dark] .chat-reaction-pill{border-color:#94a3b82e}.chat-reaction-only{align-items:center;gap:8px;display:inline-flex}.chat-reaction-emoji{font-size:16px;line-height:1}.chat-reaction-label{color:var(--muted);font-size:12px;font-weight:650}.chat-file-link{color:var(--accent-strong);word-break:break-word;font-weight:800;text-decoration:none}.chat-file-link:hover{text-decoration:underline}.chat-composer{gap:10px;margin-top:12px;display:grid}.chat-hint{color:var(--muted);background:#1f293705;border:1px solid #d7dee8e6;border-radius:12px;margin:0;padding:10px 12px;font-size:13px}:root[data-theme=dark] .chat-hint{background:#94a3b80f;border-color:#94a3b82e}.chat-composer-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.chat-action-wrap{position:relative}.chat-action-menu{background:var(--surface);min-width:200px;box-shadow:var(--shadow-soft);z-index:60;border:1px solid #d7dee8e6;border-radius:14px;gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0}:root[data-theme=dark] .chat-action-menu{border-color:#94a3b82e}.chat-action-menu-item{cursor:pointer;color:var(--text-strong);text-align:left;background:0 0;border:0;border-radius:12px;padding:10px;font-family:inherit;font-weight:850}.chat-action-menu-item:hover:not(:disabled){background:#1f29370f}:root[data-theme=dark] .chat-action-menu-item:hover:not(:disabled){background:#94a3b81f}.chat-action-menu-item:disabled{opacity:.65;cursor:not-allowed}.chat-action-btn{border:2px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;border-radius:12px;place-items:center;display:grid}.chat-action-btn:hover:not(:disabled){color:var(--text-strong);background:#1f29370f}:root[data-theme=dark] .chat-action-btn:hover:not(:disabled){background:#94a3b81f}.chat-action-btn:disabled{opacity:.7;cursor:not-allowed}.chat-action-btn svg{width:18px;height:18px}.chat-attachment-chip{color:var(--muted);background:#1f293705;border:1px solid #d7dee8e6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.chat-attachment-body{flex:auto;min-width:0}.chat-attachment-audio{width:100%}:root[data-theme=dark] .chat-attachment-chip{background:#94a3b80f;border-color:#94a3b82e}.chat-attachment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-attachment-remove{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:grid}.chat-attachment-remove:hover{color:var(--text-strong);background:#1f29370f}:root[data-theme=dark] .chat-attachment-remove:hover{background:#94a3b81f}.chat-capture{background:#1f293705;border:1px solid #d7dee8e6;border-radius:14px;gap:10px;padding:12px;display:grid}:root[data-theme=dark] .chat-capture{background:#94a3b80f;border-color:#94a3b82e}.chat-capture-title{color:var(--text-strong);font-size:13px;font-weight:900}.chat-capture-preview{object-fit:cover;background:#000;border:1px solid #d7dee8e6;border-radius:14px;width:100%;height:220px}:root[data-theme=dark] .chat-capture-preview{border-color:#94a3b82e}.chat-capture-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-capture-recording{color:var(--text-strong);align-items:center;gap:10px;font-size:13px;font-weight:850;display:inline-flex}.chat-capture-dot{background:#dc2626;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 4px #dc26261f}.chat-capture-primary{width:fit-content;height:44px;margin-top:0;padding:0 16px}.chat-send-btn{justify-self:end;width:fit-content;height:44px;margin-top:0;padding:0 16px}.chat-input{border:2px solid var(--border);background:var(--surface);width:auto;min-width:0;height:44px;color:var(--text-strong);font:inherit;border-radius:12px;outline:none;padding:0 12px}.chat-input:focus{border-color:#25d366a6;box-shadow:0 0 0 4px #25d3661f}.chat-input:disabled{opacity:.75;cursor:not-allowed}:root[data-theme=dark] .template-language{background:#94a3b81f}@media (width<=860px){.app-shell{flex-direction:column}.sidebar{border-bottom:1px solid #d7dee8e6;border-right:none;width:100%}.sidebar.collapsed{width:100%}.sidebar-toggle{position:static;transform:none}.nav{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:column}}
