/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{--bg0: #e8eef4;--bg1: #f4f7fb;--bg2: #ffffff;--bg3: #dce4ee;--line: #c8d2de;--text: #12161e;--muted: #5a6a7c;--accent: #0b7f8c;--accent-strong: #086570;--accent-dim: color-mix(in srgb, var(--accent) 12%, transparent);--warn: #b7791f;--danger: #c23b45;--ok: #1f8a5b;--nav-w: 200px;--header-h: 52px;--dock-h: auto;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--control-h: 36px;--control-h-lg: 40px;--font: "Sora", "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--type-xs: .72rem;--type-sm: .8125rem;--type-md: .9375rem;--type-lg: 1.125rem;--type-xl: 1.5rem;--leading: 1.45;--radius: 10px;--radius-sm: 8px;--radius-pill: 999px;--shadow: 0 8px 24px color-mix(in srgb, #1a2a3a 7%, transparent);--shadow-sm: 0 1px 4px color-mix(in srgb, #1a2a3a 6%, transparent);--focus: 0 0 0 3px var(--accent-dim)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:radial-gradient(900px 520px at 8% -10%,#c9e8ec 0%,transparent 55%),radial-gradient(700px 480px at 100% 0%,#d5dff0 0%,transparent 50%),radial-gradient(600px 400px at 80% 100%,#e4efe8 0%,transparent 45%),var(--bg0);color:var(--text);font-family:var(--font);color-scheme:light}body{min-height:100dvh;overscroll-behavior-y:auto}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:multiply}#root{position:relative;z-index:1}button,input,textarea{font:inherit}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:1rem}.auth input{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg2);color:var(--text);padding:.75rem .9rem;box-shadow:var(--shadow-sm)}.auth{max-width:420px;width:100%;padding:1.4rem;border-radius:var(--radius);background:color-mix(in srgb,var(--bg2) 90%,transparent);border:1px solid var(--line);box-shadow:var(--shadow)}.auth .composer{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}.auth-alt{margin-top:1rem;font-size:.85rem;color:var(--muted)}.auth-alt summary{cursor:pointer;-webkit-user-select:none;user-select:none}.auth-alt .composer{margin-top:.6rem}.app-shell{display:grid;grid-template-columns:var(--nav-w) 1fr;grid-template-rows:var(--header-h) 1fr auto;height:100dvh;overflow:hidden}.app-header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--header-h);padding:0 var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--bg2) 88%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.header-left{display:flex;align-items:baseline;gap:.75rem}.header-tag{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.header-center{flex:1;text-align:center}.header-clock{color:var(--muted);font-size:.85rem;font-family:var(--mono)}.header-right button.ghost,.header-right label.ghost{min-height:32px;padding:0 var(--space-3);font-size:var(--type-xs)}.brand{font-size:1.28rem;font-weight:700;letter-spacing:-.03em;color:var(--text);background:linear-gradient(120deg,var(--text) 35%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.sub{color:var(--muted);font-size:.88rem;line-height:1.45}.app-nav{grid-row:2 / 4;display:flex;flex-direction:column;gap:2px;padding:var(--space-2);border-right:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--bg2) 70%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto;min-height:0}.nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.nav-item:hover{background:var(--bg2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent-strong);font-weight:600}.nav-icon{font-size:.95rem;width:1.2rem;text-align:center}.nav-label{flex:1;font-size:.88rem;font-weight:500}.nav-badge{background:var(--warn);color:#fff;font-size:.68rem;font-weight:700;padding:.12rem .4rem;border-radius:7px;min-width:1.1rem;text-align:center}.app-main{grid-row:2;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-3);min-height:0;display:flex;flex-direction:column;width:100%}.app-main>.page,.app-main>.chat-page{flex:1;min-height:0}.page{width:100%;max-width:none}.page.page-narrow{max-width:720px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4);animation:rise-in .35s ease both}.page-head h1{margin:0 0 var(--space-1);font-size:var(--type-xl);font-weight:700;letter-spacing:-.03em;line-height:1.2}.page-head>.sub{flex:1 1 100%;margin:0}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.command-dock{grid-column:2;grid-row:3;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--bg2) 92%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);padding:var(--space-2) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));z-index:40}.dock-inner{width:100%;max-width:none}.dock-quick{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.45rem}.chip{border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:var(--radius-sm);min-height:28px;padding:0 var(--space-3);font-size:var(--type-xs);font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.chip:hover{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,white)}.dock-row{display:flex;gap:.55rem;align-items:flex-end}.dock-input{flex:1;min-height:var(--control-h-lg);max-height:88px;resize:none;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg2);color:var(--text);padding:.55rem .85rem;line-height:1.4;overflow-y:auto;font-size:var(--type-md)}.dock-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:var(--focus)}.dock-actions{display:flex;gap:.4rem;flex-shrink:0}.dock-btn{padding:0 var(--space-4);min-height:var(--control-h-lg)}.dock-btn.send{font-weight:600}.mic-btn{min-width:40px;padding-inline:.55rem}.mic-btn.mic-listening{color:#fff;background:var(--danger, #c44);border-color:transparent;animation:mic-pulse 1.2s ease-in-out infinite}@keyframes mic-pulse{0%,to{opacity:1}50%{opacity:.72}}.panel{background:color-mix(in srgb,var(--bg2) 94%,transparent);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.panel h2{margin:0 0 .75rem;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.stat-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-3);width:100%}.panel-span{grid-column:1 / -1}.pairing-panel{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--bg1))}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:var(--space-3);margin-bottom:var(--space-4);width:100%}.stat-card.warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))}.stat-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.stat-value{font-size:1.35rem;font-weight:700;font-family:var(--mono)}.stat-hint{font-size:.72rem;color:var(--muted);margin-top:.2rem}.home-brief{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-4)}.app-main>.page.home-dash{flex:1 0 auto;min-height:min-content}.home-dash{display:flex;flex-direction:column;gap:var(--space-4)}.home-dash>.page-head{flex-shrink:0;margin-bottom:0}.home-dash-body{display:flex;flex-direction:column;gap:var(--space-4)}.hub-global-strip{margin:0 0 var(--space-3);padding:var(--space-2);background:color-mix(in srgb,var(--panel, #fff) 88%,var(--bg, #e8eef4));border:1px solid color-mix(in srgb,var(--border, #c5d0de) 80%,transparent);border-radius:var(--radius-md, 12px);overflow-x:auto;flex-wrap:nowrap}.hub-global-strip .tab{flex:0 0 auto}.home-zone-tabs .tab{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:auto;padding:var(--space-2) var(--space-3);line-height:1.2}.home-zone-hint{font-size:var(--type-xs, .7rem);font-weight:500;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-zone-tabs .tab.active .home-zone-hint{color:color-mix(in srgb,var(--accent-strong) 80%,var(--muted))}.server-pick-tabs{flex-shrink:0;width:100%;max-width:100%;margin:0}.server-pick-tab-row{display:inline-flex;align-items:center;gap:6px}.server-pick-dot{width:8px;height:8px;border-radius:999px;background:var(--muted);flex-shrink:0}.server-pick-dot.ok{background:var(--ok)}.server-pick-dot.warn{background:var(--warn)}.server-pick-dot.fail{background:var(--danger)}.server-pick-tab-alert:not(.active){color:var(--danger)}.server-kpi-grid.home-kpi-grid{flex-shrink:0;grid-template-columns:repeat(8,minmax(0,1fr))}.home-kpi-btn{cursor:pointer;text-align:left;font:inherit;color:inherit}.home-kpi-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.home-bars{display:flex;flex-direction:column;gap:var(--space-2)}.home-bar-row{display:grid;grid-template-columns:88px 1fr 52px;gap:var(--space-2);align-items:center}.home-bar-label{font-size:var(--type-xs, .72rem);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-bar-track{height:8px;border-radius:999px;background:var(--bg2, #eee);overflow:hidden}.home-bar-fill{height:100%;border-radius:999px;background:var(--accent)}.home-bar-value{font-size:var(--type-xs, .72rem);font-family:var(--mono);text-align:right}.home-server-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}@media(max-width:1200px){.server-kpi-grid.home-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.server-kpi-grid.home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-bar-row{grid-template-columns:64px 1fr 44px}}.home-brief-head h1{font-size:clamp(1.6rem,2.5vw,2rem)}.home-actions{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.15rem}.home-actions>button{flex:0 0 auto;white-space:nowrap}.home-attention{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 6%,var(--bg1))}.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.home-section-head h2{margin:0}.home-link{min-height:28px;padding:.2rem .55rem;font-size:.78rem}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);width:100%}.home-row{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:transparent;color:inherit;padding:.55rem .15rem;cursor:pointer;border-radius:0}.home-row:last-child{border-bottom:0}.home-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.home-row.warn .home-row-title{color:var(--warn)}.home-row-title{font-size:.92rem;font-weight:550;line-height:1.35}.home-agent-spend{margin:0 0 .55rem}.home-pill{display:inline-block;margin-bottom:.55rem;padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--bg1));font-size:.82rem;color:var(--text)}.home-system-mini{margin-top:.15rem}.home-system-bar{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;width:100%;align-items:center;justify-content:flex-start;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg2) 80%,transparent);color:var(--muted);font-size:.82rem;font-family:var(--mono);cursor:pointer;text-align:left}.home-system-bar:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--text)}.home-system-bar .ok{color:var(--accent-strong, var(--accent));font-weight:600}.home-system-bar .warn-dot{color:var(--warn);font-weight:600}@media(max-width:900px){.home-grid{grid-template-columns:1fr}.home-system-bar{gap:.45rem .85rem;font-size:.75rem}}.chat-page{max-width:none;height:100%;min-height:0;display:flex;flex-direction:column}.chat-page .page-head,.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.chat-new-btn{display:inline-flex;align-items:center;flex-shrink:0;min-height:40px;padding:.45rem .85rem}.chat-item-new{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.feed-end{height:1px;width:100%;flex-shrink:0}.chat-layout{display:grid;grid-template-columns:240px 1fr;gap:.75rem;flex:1;min-height:0}.chat-layout.chat-layout-live{grid-template-columns:minmax(180px,220px) minmax(0,1.1fr) minmax(260px,.95fr)}.chats-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-feed-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:.75rem}.activity-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:.65rem .75rem;gap:var(--space-2)}.activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-shrink:0}.activity-head h2{margin:0;font-size:var(--type-md, 1rem)}.activity-tabs{width:100%;max-width:100%;margin:0;flex-shrink:0}.activity-console{flex:1;min-height:0;overflow:auto;background:#0f1419;color:#d7e0ea;border-radius:var(--radius-sm);padding:var(--space-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.4}.activity-line{margin:0 0 .35rem;white-space:pre-wrap;word-break:break-word}.activity-line.cmd{color:#7dd3c0}.activity-line.err{color:#f0a0a0}.activity-line.out{color:#d7e0ea}.activity-empty{padding:var(--space-3)}.activity-actions{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-2)}.activity-action{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--bg2, #f6f7f8)}.activity-action-top{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:.2rem}.activity-pill{display:inline-block;font-size:.65rem;font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:var(--accent-strong, var(--accent));background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:6px;padding:1px 6px}.activity-pill.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.activity-pill.completed{color:var(--ok)}.activity-preview{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-2)}.activity-preview-bar{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-xs)}.activity-iframe{flex:1;min-height:220px;width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.feed{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding-right:.15rem}.empty-state{padding:2rem 1rem;text-align:center;color:var(--muted)}.msg{border-left:3px solid var(--accent);padding:.8rem .95rem .65rem;background:var(--bg2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.93rem;line-height:1.5;box-shadow:var(--shadow-sm);border:1px solid var(--line);border-left-width:3px}.msg.system{border-left-color:var(--warn)}.msg.user{border-left-color:#3b82b0;background:linear-gradient(135deg,#f7fbff,var(--bg2))}.msg-plain{white-space:pre-wrap}.msg-rich{white-space:normal;line-height:1.55;color:var(--text)}.msg-rich .md-h{margin:.55rem 0 .4rem;font-size:1.05rem;font-weight:650;color:var(--text)}.msg-rich h1.md-h{font-size:1.2rem}.msg-rich h2.md-h{font-size:1.08rem}.msg-rich h3.md-h,.msg-rich h4.md-h{font-size:1rem;color:var(--accent-strong)}.msg-rich .md-p{margin:.4rem 0}.msg-rich .md-kv{margin:.3rem 0}.msg-rich .md-k,.msg-rich .md-v{color:var(--text)}.msg-rich .md-ul,.msg-rich .md-ol{margin:.35rem 0 .45rem;padding-left:1.25rem}.msg-rich .md-ul li,.msg-rich .md-ol li{margin:.25rem 0}.msg-rich .md-quote{margin:.5rem 0;padding:.45rem .75rem;border-left:3px solid color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--muted)}.msg-rich .md-hr{border:0;border-top:1px solid var(--line);margin:.75rem 0}.msg-rich .md-table-wrap{overflow-x:auto;margin:.55rem 0 .75rem;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:8px}.msg-rich .md-table{width:100%;border-collapse:collapse;font-size:.9rem}.msg-rich .md-table th,.msg-rich .md-table td{padding:.45rem .65rem;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);vertical-align:top}.msg-rich .md-table th{font-weight:650;background:color-mix(in srgb,var(--bg2, #f6f7f8) 88%,transparent);white-space:nowrap}.msg-rich .md-table tr:last-child td{border-bottom:0}.msg-rich .md-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg2, #f8fafc) 55%,transparent)}.msg-rich .md-inline{font-family:var(--mono);font-size:.86em;background:color-mix(in srgb,var(--bg0) 70%,transparent);padding:.1rem .35rem;border-radius:5px}.msg-rich .md-code{margin:.5rem 0;padding:.65rem .75rem;overflow:auto;border-radius:8px;background:var(--bg0);border:1px solid var(--line);font-family:var(--mono);font-size:.82rem;line-height:1.45;white-space:pre}.msg-rich strong{color:var(--text);font-weight:650}.msg-rich a{color:var(--accent-strong)}.ops-section .msg-rich,.ops-detail .msg-rich,.hub-agent-brief .msg-rich,.implement-status .msg-rich{font-size:.95rem}.rich-text.ops-error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:var(--radius);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--danger) 6%,transparent)}.speak-btn{margin-top:.45rem;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:.25rem .55rem;font-size:.75rem;cursor:pointer}.speak-btn:hover,.speak-btn.active,button.speak-on{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--accent-dim)}.metrics{white-space:pre-wrap;font-family:var(--mono);font-size:.85rem;line-height:1.45}.metric-bars{display:grid;gap:.55rem}.metric-row{display:grid;grid-template-columns:70px 1fr auto;gap:.5rem;align-items:center;font-size:.85rem}.bar-track{height:6px;background:var(--bg0);border-radius:999px;overflow:hidden}.bar{height:6px;background:var(--bg0);border-radius:999px;overflow:hidden;margin-top:var(--space-2)}.bar>span{display:block;height:100%;background:var(--accent);border-radius:999px}.bar.danger>span{background:var(--danger)}.bar.warn>span{background:var(--warn)}.bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s}.bar-fill.danger{background:var(--danger)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--line)}.data-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.data-table tr.row-warn td{color:var(--warn)}.mono{font-family:var(--mono);font-size:.88em}.list{display:grid;gap:.55rem}.list.compact{gap:.35rem}.item{display:grid;gap:.25rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2);box-shadow:var(--shadow-sm)}.item .meta{color:var(--muted);font-size:.78rem;font-family:var(--mono)}.chats-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.chats-head h2{margin:0;font-size:.82rem}.chats-head .meta{margin-right:auto;font-size:.72rem}.chats-list{flex:1;overflow-y:auto;min-height:0;align-content:flex-start}.chat-item{display:grid;gap:.2rem;text-align:left;width:100%;height:fit-content;align-self:start;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2);color:var(--text);padding:.55rem .65rem;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.chat-item:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 6%,white)}.chat-item.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 10%,white)}.chat-title{font-size:.86rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.def-list{display:grid;grid-template-columns:130px 1fr;gap:.45rem 1rem;margin:0;font-size:.9rem}.def-list dt{color:var(--muted);margin:0}.def-list dd{margin:0}.path-list{margin:0;padding-left:1rem}.project-card .project-head{display:flex;align-items:center;gap:.5rem}.project-path{margin:.25rem 0;font-size:.82rem;color:var(--muted)}.project-summary{margin:.35rem 0 0;font-size:.88rem;color:var(--text)}.episode-title{font-weight:600;margin-bottom:.25rem}.badge{display:inline-block;font-size:.72rem;padding:.15rem .45rem;border-radius:7px;background:var(--bg1);border:1px solid var(--line);color:var(--muted)}.badge-btn{color:var(--warn)!important;border-color:color-mix(in srgb,var(--warn) 40%,var(--line))!important}.approval-toggle{display:grid;gap:.25rem;width:100%;text-align:left;background:transparent;border:0;padding:0;color:inherit;cursor:pointer}.approval-title{font-weight:600}.approval-cmd{font-family:var(--mono);font-size:.86rem;color:var(--warn);white-space:pre-wrap;word-break:break-word}.approval-detail{display:grid;gap:.55rem;margin:.55rem 0;padding:.7rem;border-radius:8px;background:color-mix(in srgb,var(--warn) 10%,var(--bg0));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line))}.approval-detail pre,.approval-detail p{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-word;font-size:.86rem}.item.approval.open{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.attachment-strip{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.4rem}.attachment-chip{position:relative;display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg0)}.attachment-chip img{display:block;max-width:80px;max-height:56px;object-fit:cover}.attachment-chip button{position:absolute;top:2px;right:2px;width:1.1rem;height:1.1rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--bg0) 85%,black);color:var(--text);cursor:pointer;font-size:.7rem}.msg-images{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem}.msg-images img{max-width:min(100%,420px);max-height:280px;border-radius:8px;border:1px solid var(--line);object-fit:contain;background:var(--bg0)}.row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}button.primary,button.ghost,button.danger,button.ok,label.ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);border-radius:var(--radius-sm);border:1px solid var(--line);padding:0 var(--space-4);cursor:pointer;background:var(--bg2);color:var(--text);font-weight:550;font-size:var(--type-sm);line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}button.primary:hover,button.ghost:hover,button.danger:hover,button.ok:hover,label.ghost:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}button.primary{background:var(--accent);border-color:transparent;color:#fff}button.primary:hover{background:var(--accent-strong);border-color:transparent}button.ok{background:color-mix(in srgb,var(--ok) 12%,var(--bg2));border-color:color-mix(in srgb,var(--ok) 35%,var(--line));color:var(--ok)}button.danger{background:color-mix(in srgb,var(--danger) 10%,var(--bg2));border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger)}button:disabled,button.primary:disabled,button.ghost:disabled{opacity:.5;cursor:not-allowed}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);background:var(--bg1);border:1px solid var(--line);border-radius:var(--radius);width:fit-content;max-width:100%;margin-bottom:var(--space-4)}.tab{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 var(--space-3);border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:550;font-size:var(--type-sm);cursor:pointer}.tab:hover{color:var(--text);background:color-mix(in srgb,var(--bg2) 70%,transparent)}.tab.active{background:var(--bg2);color:var(--text);box-shadow:var(--shadow-sm)}.toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.toolbar .dock-input{flex:1;min-width:10rem;min-height:var(--control-h);max-height:var(--control-h);padding:0 var(--space-3)}.composer{display:grid;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%;display:inline-block;margin-right:.35rem;background:var(--danger)}.status-dot.on{background:var(--ok)}.alert{margin:.75rem 0 0;padding:.5rem .65rem;border-radius:8px;background:color-mix(in srgb,var(--warn) 15%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line));color:var(--warn);font-size:.85rem}.banner.error{background:color-mix(in srgb,var(--danger) 15%,transparent);border:1px solid color-mix(in srgb,var(--danger) 40%,var(--line));color:var(--danger);padding:.55rem .75rem;border-radius:8px;margin-bottom:.75rem;font-size:.88rem}@media(max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-rows:48px minmax(0,1fr) auto auto}.app-header{padding:0 .65rem;gap:.4rem}.header-tag,.header-center{display:none}.header-right .ghost{padding:.35rem .5rem;font-size:.78rem}.hide-sm{display:none!important}.brand{font-size:1.05rem}.app-main{grid-row:2;grid-column:1;padding:.65rem .75rem .35rem}.command-dock{grid-row:3;grid-column:1;padding:.45rem .65rem .5rem}.dock-quick{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.35rem;margin-bottom:.4rem;-webkit-overflow-scrolling:touch}.dock-quick .chip{flex-shrink:0}.app-nav{grid-row:4;grid-column:1;flex-direction:row;justify-content:flex-start;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;border-right:none;border-top:1px solid var(--line);border-bottom:none;padding:.25rem .2rem calc(.3rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg1) 96%,transparent);-webkit-overflow-scrolling:touch}.nav-item{flex:0 0 auto;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;min-width:4.4rem;padding:.35rem;border-radius:8px}.nav-label{display:block;font-size:.62rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.nav-icon{font-size:1rem;width:auto}.nav-badge{position:absolute;top:.1rem;right:.15rem}.nav-item{position:relative}.chat-layout,.chat-layout.chat-layout-live{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.activity-panel{max-height:42dvh}.chats-panel{max-height:110px;padding:.45rem .55rem}.chats-head{display:none}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-new-btn{flex-shrink:0}.hide-mobile-inline{display:none!important}.chats-list{display:flex;flex-direction:row;gap:.4rem;overflow-x:auto}.chat-item{min-width:140px;max-width:180px;flex-shrink:0}.chat-item .meta{font-size:.68rem}.chat-page .page-head h1{font-size:1.15rem}.panel-grid{grid-template-columns:1fr}.page-head{margin-bottom:.75rem}.page-head h1{font-size:1.25rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.def-list{grid-template-columns:96px 1fr}.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.tab{flex-shrink:0}}@media(min-width:901px)and (max-width:1200px){.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid>.panel-span{grid-column:1 / -1}}@media(min-width:1201px){.panel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel-grid>.panel-span{grid-column:1 / -1}}.pairing-box{margin:.5rem 0 .85rem;padding:.75rem .9rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--bg0))}.pairing-code{font-family:var(--mono);font-size:1.6rem;letter-spacing:.18em;font-weight:700;margin:.35rem 0;color:var(--text)}.work-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-2);align-items:stretch}.work-form .dock-input{min-height:var(--control-h);width:100%}.work-form select.dock-input,select.dock-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;color-scheme:light}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.cal-head{margin-bottom:.4rem;text-align:center}.cal-cell{min-height:5.2rem;text-align:left;border:1px solid var(--line);background:var(--bg2);color:var(--text);border-radius:var(--radius-sm);padding:.35rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;box-shadow:var(--shadow-sm);transition:border-color .15s,transform .15s}.cal-cell.empty{border-color:transparent;background:transparent;cursor:default;min-height:0}.cal-cell:not(.empty):hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.cal-cell.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg2))}.folder-picker{width:min(560px,100%);max-height:min(78dvh,640px)}.folder-picker-list{max-height:min(48dvh,380px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2)}.folder-picker-item{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .7rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.folder-picker-item:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,var(--bg2))}.folder-picker-item:disabled{opacity:.55;cursor:default}.folder-picker-badge{flex:0 0 auto;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .35rem;border-radius:4px;background:var(--bg3);color:var(--muted)}.folder-picker-badge.dir{background:color-mix(in srgb,var(--accent) 20%,var(--bg2));color:var(--text)}.day-dialog{width:min(520px,100%);max-height:min(85dvh,720px);overflow:auto}.cal-day{font-size:.8rem;color:var(--muted)}.cal-chip{font-size:.68rem;line-height:1.2;padding:.15rem .25rem;border-radius:4px;background:var(--bg3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip.reminder{background:color-mix(in srgb,var(--warn) 25%,var(--bg2))}.memory-profile-pre{margin:0;max-height:min(42dvh,420px);overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--mono, ui-monospace, monospace);font-size:.78rem;line-height:1.45;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg2);color:var(--text)}.cal-chip.task{background:color-mix(in srgb,var(--accent) 22%,var(--bg2))}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1rem}.dialog{width:min(920px,100%);max-height:min(82dvh,720px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.notes-dialog{width:min(520px,100%);max-height:min(80dvh,640px);overflow:auto}.notes-dialog-label{display:block;font-size:var(--type-xs, .8rem);color:var(--muted);margin-bottom:var(--space-1)}.notes-dialog-input{width:100%;min-height:10rem;resize:vertical;box-sizing:border-box;font:inherit;line-height:1.45;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2, #f6f7f8);color:var(--text)}.notes-dialog-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.file-search-layout{display:grid;grid-template-columns:minmax(12rem,.9fr) minmax(14rem,1.2fr);gap:.75rem;min-height:0;flex:1;overflow:hidden}.file-search-list{overflow:auto;max-height:min(52dvh,420px);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2)}.file-search-item{display:block;width:100%;text-align:left;padding:.55rem .7rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.file-search-item:hover,.file-search-item.active{background:color-mix(in srgb,var(--accent) 14%,var(--bg2))}.file-search-preview{overflow:auto;max-height:min(52dvh,420px);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2);padding:.65rem}.file-search-code{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--mono, ui-monospace, monospace);font-size:.78rem;line-height:1.45;color:var(--text)}@media(max-width:900px){.file-search-layout{grid-template-columns:1fr}.file-search-list,.file-search-preview{max-height:28dvh}}@media(max-width:900px){.cal-cell{min-height:3.6rem;padding:.25rem}.cal-chip{display:none}}.mail-page{display:flex;flex-direction:column;gap:0;min-height:0;flex:1;max-width:none}.hub-mail{display:flex;flex-direction:column;gap:.65rem;min-height:0;flex:1 1 auto;max-width:none}.hub-mail-head{align-items:flex-start;gap:.75rem;flex-wrap:wrap}.hub-mail .mail-layout{min-height:28rem;max-height:min(70dvh,720px)}.hub-mail-empty{max-width:40rem}.hub-clienti{display:flex;flex-direction:column;gap:.85rem;min-height:0}.hub-clienti-empty{max-width:40rem}.hub-clienti-toolbar{display:flex;flex-direction:column;gap:.75rem}.hub-clienti-filters{display:flex;flex-wrap:wrap;gap:.5rem}.hub-clienti-filters input[type=search]{flex:1 1 14rem;min-width:10rem}.hub-clienti-filters select{min-width:8rem}.hub-clienti-layout{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:.85rem;min-height:0;align-items:start}.hub-clienti-list{max-height:min(70dvh,720px);overflow:auto;padding:0}.hub-clienti-list ul{list-style:none;margin:0;padding:0}.hub-clienti-row{width:100%;text-align:left;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:transparent;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;color:inherit}.hub-clienti-row:hover{background:color-mix(in srgb,var(--accent, #1f7a5c) 8%,transparent)}.hub-clienti-row.active{background:color-mix(in srgb,var(--accent, #1f7a5c) 14%,transparent)}.hub-clienti-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-clienti-row-stats{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.75rem;color:var(--muted)}.hub-clienti-status{text-transform:uppercase;letter-spacing:.03em;font-weight:700}.hub-clienti-status-vip{color:#a16207}.hub-clienti-status-blocked{color:#b91c1c}.hub-clienti-status-archived{color:var(--muted)}.hub-clienti-detail{min-height:28rem;display:flex;flex-direction:column;gap:1.1rem}.hub-clienti-profile{display:flex;flex-direction:column;gap:.85rem;padding-bottom:.85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.hub-clienti-profile-main{display:flex;flex-direction:column;gap:.35rem}.hub-clienti-profile-badges{display:flex;flex-wrap:wrap;gap:.35rem}.hub-clienti-badge{font-size:.72rem;font-weight:650;letter-spacing:.02em;padding:.18rem .5rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--bg, #f8fafc) 70%,#fff)}.hub-clienti-badge-vip{color:#92400e;border-color:color-mix(in srgb,#d97706 40%,transparent);background:color-mix(in srgb,#f59e0b 14%,#fff)}.hub-clienti-badge-blocked{color:#991b1b;border-color:color-mix(in srgb,#dc2626 35%,transparent);background:color-mix(in srgb,#ef4444 12%,#fff)}.hub-clienti-badge-archived{color:var(--muted)}.hub-clienti-badge-ok{color:#166534;border-color:color-mix(in srgb,#16a34a 35%,transparent);background:color-mix(in srgb,#22c55e 12%,#fff)}.hub-clienti-badge-muted{color:var(--muted)}.hub-clienti-profile-meta{margin:0}.hub-clienti-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.hub-clienti-kpi>div{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:color-mix(in srgb,var(--bg, #f8fafc) 72%,#fff)}.hub-clienti-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.hub-clienti-card{border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:10px;padding:.85rem .95rem;background:color-mix(in srgb,var(--bg, #f8fafc) 55%,#fff);min-width:0}.hub-clienti-card h4,.hub-clienti-activity-head h4,.hub-clienti-pane-title{margin:0 0 .55rem;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.hub-clienti-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.hub-clienti-card-head h4{margin:0}.hub-clienti-card-notes{grid-column:1 / -1}.hub-clienti-notes-preview{margin:0;white-space:pre-wrap;font-size:.9rem;line-height:1.45;max-height:4.8rem;overflow:hidden}.hub-clienti-dl{margin:0;display:flex;flex-direction:column;gap:.55rem}.hub-clienti-dl dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650}.hub-clienti-dl dd{margin:.1rem 0 0;font-size:.92rem;word-break:break-word}.hub-clienti-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.hub-clienti-tag{font-size:.72rem;padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent, #1f7a5c) 12%,transparent)}.hub-clienti-addr{margin:0;white-space:pre-wrap;font-family:inherit;font-size:.88rem;line-height:1.4}.hub-clienti-activity{border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:10px;padding:.85rem .95rem 1rem;background:color-mix(in srgb,#0f766e 4%,#fff)}.hub-clienti-activity-head{margin-bottom:.7rem}.hub-clienti-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.hub-clienti-activity-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;padding:.7rem .75rem;border-radius:9px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:#fff;color:inherit;cursor:pointer;min-width:0}.hub-clienti-activity-btn:hover{border-color:color-mix(in srgb,#0f766e 45%,var(--line));background:color-mix(in srgb,#0f766e 6%,#fff)}.hub-clienti-activity-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650}.hub-clienti-activity-btn strong{font-size:1.25rem;line-height:1.1}.hub-clienti-modal{width:min(480px,100%);max-height:min(84dvh,720px);overflow:auto;padding:1rem 1.1rem 1.15rem}.hub-clienti-modal-wide{width:min(860px,100%)}.hub-clienti-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.hub-clienti-modal-body{display:flex;flex-direction:column;gap:.65rem}.hub-clienti-field-label{margin:0 0 .35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650}.hub-clienti-modal-textarea{width:100%;resize:vertical;min-height:7rem}.hub-clienti-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.35rem}.hub-clienti-modal-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1rem}.hub-clienti-modal-pane{min-width:0;padding:.75rem;border-radius:9px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:color-mix(in srgb,var(--bg, #f8fafc) 70%,#fff)}.hub-clienti-ticket-form{display:grid;gap:.45rem}.hub-clienti-ticket-form textarea{width:100%;resize:vertical}.hub-clienti-ticket-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;max-height:min(48dvh,420px);overflow:auto}.hub-clienti-ticket-list li{display:flex;flex-direction:column;gap:.15rem;padding-bottom:.45rem;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.hub-clienti-status-btn{border:1px solid var(--line);background:var(--bg2, #fff);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;cursor:pointer}.hub-clienti-status-btn.active{border-color:var(--accent, #1f7a5c);background:color-mix(in srgb,var(--accent, #1f7a5c) 14%,transparent);font-weight:650}.hub-clienti-mail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.hub-clienti-mail-list li{display:flex;flex-direction:column;gap:.1rem;padding-bottom:.45rem;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}@media(max-width:900px){.hub-clienti-layout{grid-template-columns:1fr}.hub-clienti-list{max-height:40dvh}.hub-clienti-sections,.hub-clienti-kpi,.hub-clienti-activity-grid,.hub-clienti-modal-split{grid-template-columns:1fr}}.hub-tickets{display:flex;flex-direction:column;gap:.85rem;min-height:0}.hub-tickets-empty{max-width:40rem}.hub-tickets-toolbar{display:flex;flex-direction:column;gap:.75rem}.hub-tickets-filters{display:flex;flex-wrap:wrap;gap:.5rem}.hub-tickets-filters input[type=search]{flex:1 1 14rem;min-width:10rem}.hub-tickets-filters select{min-width:8rem}.hub-tickets-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.hub-tickets-kpi-chip{display:flex;flex-direction:column;gap:.1rem;align-items:flex-start;text-align:left;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--bg, #f8fafc) 80%,#fff);border-radius:8px;padding:.55rem .65rem;cursor:pointer;color:inherit}.hub-tickets-kpi-chip.active{border-color:var(--accent, #1f7a5c);background:color-mix(in srgb,var(--accent, #1f7a5c) 12%,transparent)}.hub-tickets-kpi>div{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border-radius:8px;background:color-mix(in srgb,var(--bg, #f8fafc) 80%,#fff)}.hub-tickets-layout{display:grid;grid-template-columns:minmax(16rem,24rem) minmax(0,1fr);gap:.85rem;min-height:0;align-items:start}.hub-tickets-list{max-height:min(70dvh,720px);overflow:auto;padding:0}.hub-tickets-list ul{list-style:none;margin:0;padding:0}.hub-tickets-row{width:100%;text-align:left;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);background:transparent;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.2rem;cursor:pointer;color:inherit}.hub-tickets-row:hover{background:color-mix(in srgb,var(--accent, #1f7a5c) 8%,transparent)}.hub-tickets-row.active{background:color-mix(in srgb,var(--accent, #1f7a5c) 14%,transparent)}.hub-tickets-row-top{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.hub-tickets-row-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-tickets-row-meta{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-tickets-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;flex-shrink:0}.hub-tickets-status-open{color:#b45309}.hub-tickets-status-in_progress{color:#1d4ed8}.hub-tickets-status-waiting{color:#7c3aed}.hub-tickets-status-resolved{color:#15803d}.hub-tickets-status-closed{color:var(--muted)}.hub-tickets-detail{min-height:28rem;display:flex;flex-direction:column;gap:1rem}.hub-tickets-detail-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.hub-tickets-body h4{margin:0 0 .45rem}.hub-tickets-body textarea{width:100%;resize:vertical}.hub-tickets-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hub-tickets-order-select{display:block;width:100%;margin-top:.2rem;font-size:.86rem;font-weight:600}.hub-tickets-message{white-space:pre-wrap;padding:.75rem .9rem;border-radius:10px;background:color-mix(in srgb,var(--bg, #f8fafc) 80%,#fff);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);min-height:4.5rem;line-height:1.45}.hub-tickets-timeline{display:flex;flex-direction:column;gap:.55rem;max-height:18rem;overflow:auto;padding-right:.15rem}.hub-tickets-update{border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:8px;padding:.55rem .7rem;background:color-mix(in srgb,var(--bg, #f8fafc) 88%,#fff)}.hub-tickets-update header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.3rem;font-size:.75rem;color:var(--muted, #64748b)}.hub-tickets-update-kind{font-weight:700;text-transform:uppercase;letter-spacing:.03em}.hub-tickets-update p{margin:0;white-space:pre-wrap;line-height:1.4}.hub-tickets-update-status{border-left:3px solid #1d4ed8}.hub-tickets-update-email{border-left:3px solid #1f7a5c}.hub-tickets-update-note{border-left:3px solid #b45309}.hub-tickets-actions{flex-wrap:wrap}@media(max-width:900px){.hub-tickets-layout{grid-template-columns:1fr}.hub-tickets-list{max-height:40dvh}.hub-tickets-kpi,.hub-tickets-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.hub-catalog-toolbar{margin-bottom:.85rem}.hub-catalog-title-row{margin-top:.75rem}.hub-catalog-field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.hub-catalog-field>span:first-child{color:var(--muted, #6b7280);font-size:.78rem}.hub-catalog-field input{width:100%}.hub-catalog-layout{display:grid;grid-template-columns:minmax(13rem,16rem) minmax(0,1fr) minmax(16rem,20rem);gap:.85rem;align-items:start}.hub-catalog-layout-variants{grid-template-columns:minmax(12rem,15rem) minmax(0,1fr) minmax(22rem,28rem)}.hub-catalog-panel{padding:0;overflow:hidden;min-width:0}.hub-catalog-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding:.7rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.hub-catalog-check-list,.hub-catalog-price-list{list-style:none;margin:0;padding:0;max-height:min(62dvh,640px);overflow:auto}.hub-catalog-check{display:flex;gap:.55rem;align-items:flex-start;padding:.55rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent);cursor:pointer}.hub-catalog-check-title{display:block;font-size:.9rem}.hub-catalog-search{padding:.55rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.hub-catalog-search input{width:100%}.hub-catalog-product-grid{list-style:none;margin:0;padding:.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.45rem;max-height:min(62dvh,640px);overflow:auto;align-content:start}.hub-catalog-product-li{min-width:0}.hub-catalog-product{display:block;padding:.45rem .5rem;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:8px;background:transparent;cursor:pointer}.hub-catalog-product.active{border-color:color-mix(in srgb,#0f766e 45%,var(--line));background:color-mix(in srgb,#0f766e 8%,#fff)}.hub-catalog-product-main{display:grid;grid-template-columns:auto 3rem minmax(0,1fr);gap:.5rem;align-items:center;cursor:pointer;min-width:0}.hub-catalog-expand-btn{display:none}.hub-catalog-product img,.hub-catalog-product-ph{width:3rem;height:3rem;object-fit:cover;border-radius:6px;background:#f3f4f6;display:block}.hub-catalog-product-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-catalog-product-title{font-size:.86rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-catalog-product-prices{font-size:.75rem}.hub-catalog-listino{min-width:0}.hub-catalog-listino-block{display:flex;flex-direction:column;gap:.55rem}.hub-catalog-listino-variants{display:flex;flex-direction:column;gap:.75rem;margin-top:.15rem}.hub-catalog-listino-product{border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:8px;background:color-mix(in srgb,#0f766e 4%,#fff);padding:.55rem .65rem .65rem}.hub-catalog-listino-product-title{font-size:.86rem;font-weight:650;line-height:1.3;margin-bottom:.45rem;overflow-wrap:anywhere}.hub-catalog-variant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.hub-catalog-variant-item{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .55rem;border-radius:7px;background:#fff;border:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.hub-catalog-variant-head{display:flex;flex-direction:column;gap:.12rem;min-width:0}.hub-catalog-variant-head strong{font-size:.88rem;font-weight:650;line-height:1.25;overflow-wrap:anywhere}.hub-catalog-variant-head .meta{font-size:.75rem;line-height:1.3;white-space:normal}.hub-catalog-variant-edit{display:flex;align-items:center;gap:.4rem}.hub-catalog-variant-edit .hub-catalog-price-input{flex:1;min-width:0}.hub-catalog-variant-edit .hub-catalog-price-input input{width:100%;min-width:4.5rem;max-width:9rem}.hub-catalog-price-list>li{padding:.65rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.hub-catalog-price-input{display:flex;align-items:center;gap:.35rem;min-width:0}.hub-catalog-price-input input{flex:1;min-width:0}.hub-catalog-warn{padding:.65rem .85rem .85rem;color:#b45309}.hub-catalog-empty{padding:1.1rem 1.2rem}@media(max-width:1100px){.hub-catalog-layout,.hub-catalog-layout-variants{grid-template-columns:1fr}.hub-catalog-check-list,.hub-catalog-price-list,.hub-catalog-product-grid{max-height:36dvh}}.mail-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(260px,340px) minmax(0,1fr);gap:var(--space-3);flex:1;min-height:0}.mail-accounts{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);min-height:0;overflow:auto;background:color-mix(in srgb,var(--bg2) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius)}.mail-accounts h3{margin:var(--space-3) 0 var(--space-1);font-size:var(--type-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.mail-accounts h3:first-child{margin-top:0}.mail-acc,.mail-folder{text-align:left;border:0;background:transparent;padding:.55rem 2rem .55rem .7rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);display:flex;flex-direction:column;gap:2px;position:relative;min-width:0;width:100%}.mail-acc.active,.mail-folder.active{background:var(--accent-dim);color:var(--accent-strong)}.mail-acc-label{font-weight:600;font-size:var(--type-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-acc .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-xs);color:var(--muted)}.mail-folder{flex-direction:row;align-items:center;gap:.35rem}.mail-folder-label{font-size:var(--type-sm);font-weight:500;line-height:1.35;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-folder-depth{display:inline-block;width:calc(var(--depth, 0) * .7rem);flex-shrink:0}.mail-badge{position:absolute;top:50%;right:var(--space-2);transform:translateY(-50%);background:var(--accent);color:#fff;border-radius:var(--radius-pill);font-size:.65rem;font-weight:700;min-width:1.15rem;text-align:center;padding:.1rem .3rem}.mail-list,.mail-read{min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:var(--space-3)}.mail-msg-list{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-3);overflow:auto;min-height:0;flex:1}.mail-msg{text-align:left;border:0;background:transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer;color:inherit;width:100%;min-width:0}.mail-msg:hover{background:var(--bg1)}.mail-msg.active{background:var(--accent-dim)}.mail-msg.unseen .mail-msg-subj{font-weight:700;color:var(--text)}.mail-msg-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--type-xs);color:var(--muted)}.mail-msg-top strong{font-size:var(--type-sm);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mail-msg-top .meta{flex-shrink:0;font-family:var(--font);font-size:var(--type-xs)}.mail-msg-subj{margin:2px 0;font-size:var(--type-sm);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-msg .meta{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font);font-size:var(--type-xs);line-height:1.35}.mail-read{overflow:auto}.mail-read-head h2,.panel .mail-read-head h2{margin:0 0 var(--space-1);font-size:var(--type-lg);text-transform:none;letter-spacing:-.02em;color:var(--text);font-weight:650}.mail-body,.mail-body-text{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);font-size:var(--type-md);line-height:var(--leading);overflow-wrap:anywhere}.mail-body-text{white-space:pre-wrap;font-family:var(--font)}.mail-triage{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:var(--radius-sm)}.mail-compose-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#12161e 45%,transparent);display:grid;place-items:center;z-index:40;padding:var(--space-4)}.mail-compose{width:min(560px,100%);display:flex;flex-direction:column;gap:var(--space-2)}.mail-compose--with-draft{width:min(980px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;max-height:min(90dvh,820px);overflow:auto}.mail-compose-col{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.mail-compose-draft{padding:.15rem 0 .15rem .85rem;border-left:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.mail-compose-draft-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mail-compose-draft-body{min-height:14rem;background:color-mix(in srgb,#0f766e 5%,#fff)}.mail-compose-body{min-height:10rem;resize:vertical}.mail-attach{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;margin-top:.35rem;position:relative;width:100%}.mail-attach-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem}.mail-attach-btn{cursor:pointer;margin:0}.mail-attach-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.mail-attach-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;width:100%}.mail-attach-chip{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem;border:1px solid color-mix(in srgb,var(--accent, #0f766e) 35%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent, #0f766e) 8%,#fff);font-size:var(--type-sm)}.mail-attach-icon{flex-shrink:0}.mail-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;color:var(--fg, #111827)}.mail-attach-size{flex-shrink:0}.mail-attach-remove{padding:0 .4rem;min-width:1.6rem;line-height:1.2;flex-shrink:0}@media(max-width:820px){.mail-compose--with-draft{grid-template-columns:1fr}.mail-compose-draft{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding-top:.85rem}}.row-gap{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}@media(max-width:980px){.mail-layout{grid-template-columns:1fr;flex:none}.mail-accounts{flex-direction:column;max-height:min(36dvh,320px);overflow:auto}.mail-accounts h3{width:100%}.mail-acc,.mail-folder{width:100%;max-width:none}.mail-list,.mail-read{max-height:42dvh}}.mail-empty{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2)}.mail-empty-banner{margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--text);line-height:var(--leading)}.proposals-page{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.proposals-page .proposals-project-tabs{margin-bottom:0}.proposals-page .tabs+.tabs{margin-top:calc(var(--space-2) * -1)}.proposals-page .proposals-status-bar{align-items:center}.proposals-page .proposals-status-bar .tabs{margin-bottom:0}.proposals-split{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.3fr);gap:var(--space-3);min-height:55dvh}.proposals-list{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;overflow:auto}.proposals-item{text-align:left;border:1px solid var(--border, var(--line));background:var(--panel, var(--bg-elevated, #fff));border-radius:var(--radius);padding:var(--space-3);cursor:pointer;color:inherit;font:inherit}.proposals-item.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border, var(--line)));background:color-mix(in srgb,var(--accent) 8%,transparent)}.proposals-item-title{font-weight:600;margin-bottom:var(--space-1)}.proposals-split .mail-list,.proposals-split .mail-read{max-height:none}.sev-high{color:var(--danger);font-weight:600}.sev-medium,.sev-mid{color:var(--warn)}.sev-low{color:var(--muted)}@media(max-width:900px){.proposals-split{grid-template-columns:1fr}}.ops-page{display:flex;flex-direction:column;gap:var(--space-4)}.ops-orchestrator{display:flex;flex-direction:column;gap:var(--space-3)}.ops-alerts{display:flex;flex-direction:column;gap:var(--space-2)}.ops-alert{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:var(--type-sm, .9rem)}.ops-alert.ok{border-color:color-mix(in srgb,var(--ok, #1a7f4b) 40%,var(--line));background:color-mix(in srgb,var(--ok, #1a7f4b) 8%,transparent)}.ops-alert.warn{border-color:color-mix(in srgb,var(--warn, #c47b00) 45%,var(--line));background:color-mix(in srgb,var(--warn, #c47b00) 10%,transparent)}.ops-alert.fail{border-color:color-mix(in srgb,var(--danger, #c0392b) 45%,var(--line));background:color-mix(in srgb,var(--danger, #c0392b) 10%,transparent)}.ops-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-2)}.ops-service-card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);background:var(--bg1, #fff)}.ops-service-card.ok{border-color:color-mix(in srgb,var(--ok, #1a7f4b) 35%,var(--line))}.ops-service-card.fail{border-color:color-mix(in srgb,var(--danger, #c0392b) 45%,var(--line))}.ops-service-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.ops-service-card .meta{margin:0}.ops-cron-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ops-cron-chip{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-width:140px}.ops-cron-chip.overdue{border-color:color-mix(in srgb,var(--warn, #c47b00) 50%,var(--line));background:color-mix(in srgb,var(--warn, #c47b00) 8%,transparent)}.ops-compact-panel{margin:0}.ops-jobs-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.ops-jobs-head h2,.ops-filter-tabs{margin:0}.ops-split{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.4fr);gap:var(--space-3);align-items:start;min-height:0}.ops-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:min(70dvh,820px);overflow:auto;padding-right:2px}.ops-item{text-align:left;border:1px solid var(--line);background:var(--bg1, #fff);border-radius:var(--radius);padding:var(--space-3);cursor:pointer;color:inherit;font:inherit}.ops-item-actions{margin-top:var(--space-2);flex-wrap:wrap}.ops-item-actions .ghost,.ops-item-actions .primary{font-size:var(--type-xs, .75rem);padding:.25rem .55rem}.ops-item.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent)}.ops-item-title{font-weight:600;margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ops-item-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.ops-cat-pill{display:inline-block;font-size:var(--type-xs, .68rem);font-weight:650;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-strong, var(--accent));background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:6px;padding:1px 7px}.ops-category-tabs{width:100%}.repos-page,.hub-projects-page{display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.repo-avatar{border-radius:999px;flex-shrink:0}.repo-accounts-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.repo-split{margin-top:0}.servers-page .form-grid .form-span,.repos-page .form-grid .form-span,.hub-projects-page .form-grid .form-span{grid-column:1 / -1}.repos-page .form-grid,.hub-projects-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);width:100%}.repos-page .form-grid label,.hub-projects-page .form-grid label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--type-xs, .8rem);color:var(--muted);min-width:0}.repos-page .form-grid input,.hub-projects-page .form-grid input,.hub-projects-page .form-grid select,.hub-projects-page .form-grid textarea{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:var(--control-h);background:var(--bg1, #fff);width:100%;max-width:100%;box-sizing:border-box}.hub-projects-page .form-grid textarea{min-height:4.5rem;resize:vertical;line-height:1.4}.hub-projects-page .ops-detail{display:flex;flex-direction:column;gap:var(--space-3)}.hub-projects-page .ops-detail>.tabs{margin:0;flex-shrink:0}.hub-projects-page .ops-section{margin-top:0}.hub-projects-page .hub-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.hub-projects-page .hub-create-panel{margin-bottom:var(--space-4)}.hub-projects-page .hub-section{display:flex;flex-direction:column;gap:var(--space-4)}.hub-projects-page .hub-dash-kpi{margin-bottom:0}.hub-projects-page .hub-eco-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.hub-projects-page .hub-eco-error{color:var(--danger, #b33)}.hub-projects-page .hub-eco-head{display:flex;flex-direction:column;gap:var(--space-3)}.hub-projects-page .hub-eco-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;position:relative}.hub-projects-page .hub-eco-range{flex-shrink:0;width:auto}.hub-eco .hub-eco-custom-wrap{position:relative}.hub-eco .hub-eco-custom-popover{position:absolute;top:calc(100% + .35rem);left:0;z-index:20;display:flex;align-items:flex-end;gap:.45rem;flex-wrap:wrap;padding:.75rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg2, #fff);box-shadow:0 10px 28px #0f172a1f;min-width:17rem}.hub-eco .hub-eco-custom-popover--in-range{left:auto;right:0}.hub-eco .hub-eco-date-field{display:flex;flex-direction:column;gap:.15rem;font-size:.72rem}.hub-eco .hub-eco-date-field input[type=date]{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2, #fff);min-height:30px;padding:0 .45rem}.hub-eco .hub-eco-custom-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--bg2));color:var(--accent-strong, var(--accent))}.hub-projects-page .hub-eco-badges{display:flex;gap:.4rem;flex-wrap:wrap}.hub-projects-page .hub-eco-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;border:1px solid var(--line);background:var(--bg2)}.hub-projects-page .hub-eco-badge-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.hub-projects-page .hub-eco-badge--ok .hub-eco-badge-dot{background:var(--ok, #1f8a5b)}.hub-projects-page .hub-eco-badge--warn .hub-eco-badge-dot{background:var(--warn, #b7791f)}.hub-projects-page .hub-eco-badge--off .hub-eco-badge-dot{background:var(--muted, #999);opacity:.5}.hub-projects-page .hub-eco-badge--ok{border-color:color-mix(in srgb,var(--ok) 30%,var(--line))}.hub-projects-page .hub-eco-badge--warn{border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}.hub-projects-page .hub-eco-badge-name{white-space:nowrap}.hub-projects-page .hub-eco-badge-detail{color:var(--muted);font-weight:500}.hub-projects-page .hub-eco-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.hub-projects-page .hub-eco-kpi-row--primary{margin-top:0}.hub-projects-page .hub-eco-kpi{border:1px solid var(--line);border-radius:var(--radius);padding:.8rem .85rem .7rem;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 4%,#fff),var(--bg2, #fff));transition:border-color .15s,box-shadow .15s}.hub-projects-page .hub-eco-kpi:hover{box-shadow:var(--shadow-sm)}.hub-projects-page .hub-eco-kpi.ok{border-color:color-mix(in srgb,var(--ok, #1a7f4b) 30%,var(--line));border-left:3px solid var(--ok, #1a7f4b)}.hub-projects-page .hub-eco-kpi.warn{border-color:color-mix(in srgb,var(--warn, #c47b00) 40%,var(--line));border-left:3px solid var(--warn, #c47b00);background:color-mix(in srgb,var(--warn, #c47b00) 5%,#fff)}.hub-projects-page .hub-eco-kpi.danger{border-color:color-mix(in srgb,var(--danger, #c23b45) 35%,var(--line));border-left:3px solid var(--danger, #c23b45);background:color-mix(in srgb,var(--danger) 4%,#fff)}.hub-projects-page .hub-eco-kpi.muted{opacity:.7}.hub-projects-page .hub-eco-kpi-header{display:flex;align-items:center;gap:.35rem}.hub-projects-page .hub-eco-kpi-icon{font-size:.85rem;line-height:1}.hub-projects-page .hub-eco-kpi-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:650}.hub-projects-page .hub-eco-kpi-value{font-size:1.35rem;font-weight:700;margin-top:.25rem;line-height:1.1}.hub-projects-page .hub-eco-kpi-footer{margin-top:.3rem;display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted);min-height:1rem}.hub-projects-page .hub-eco-kpi-delta{font-weight:600;color:var(--ok)}.hub-projects-page .hub-eco-kpi-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-eco .hub-eco-funnel-alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:stretch;min-height:22rem}.hub-eco .hub-eco-funnel-section,.hub-eco .hub-eco-alerts-section{padding:.75rem .9rem .85rem;display:flex;flex-direction:column;min-height:22rem}.hub-eco .hub-eco-alerts-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem;overflow-y:auto;flex:1 1 auto;min-height:0;max-height:none}.hub-eco .hub-eco-alerts-item{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .65rem;border-radius:8px;font-size:.82rem;line-height:1.35;border:1px solid var(--line);background:var(--bg2, #fff)}.hub-eco .hub-eco-alerts-sev{flex-shrink:0;width:1.15rem;height:1.15rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;margin-top:.1rem}.hub-eco .hub-eco-alerts-item--high{border-color:color-mix(in srgb,var(--danger, #c23b45) 35%,var(--line));background:color-mix(in srgb,var(--danger, #c23b45) 8%,#fff)}.hub-eco .hub-eco-alerts-item--high .hub-eco-alerts-sev{background:var(--danger, #c23b45);color:#fff}.hub-eco .hub-eco-alerts-item--medium{border-color:color-mix(in srgb,var(--warn, #f59e0b) 35%,var(--line));background:color-mix(in srgb,var(--warn, #f59e0b) 8%,#fff)}.hub-eco .hub-eco-alerts-item--medium .hub-eco-alerts-sev{background:var(--warn, #f59e0b);color:#1f2937}.hub-eco .hub-eco-alerts-item--low,.hub-eco .hub-eco-alerts-item--info{border-color:color-mix(in srgb,#6366f1 25%,var(--line));background:color-mix(in srgb,#6366f1 6%,#fff)}.hub-eco .hub-eco-alerts-item--low .hub-eco-alerts-sev,.hub-eco .hub-eco-alerts-item--info .hub-eco-alerts-sev{background:#6366f1;color:#fff}.hub-eco .hub-eco-funnel{display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;gap:.1rem;margin-top:.35rem;width:100%;flex:1 1 auto;min-height:16.5rem;padding:0}.hub-eco .hub-eco-funnel-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0;max-width:none;width:auto;position:relative}.hub-eco .hub-eco-funnel-track{width:100%;max-width:5.25rem;flex:1 1 auto;min-height:13.5rem;height:auto;display:flex;align-items:flex-end;justify-content:center}.hub-eco .hub-eco-funnel-bar{width:100%;min-height:1rem;border-radius:12px 12px 6px 6px;box-shadow:inset 0 1px #ffffff38,0 4px 10px color-mix(in srgb,#0f172a 12%,transparent);transition:height .28s ease}.hub-eco .hub-eco-funnel-value{font-size:1.12rem;font-weight:750;white-space:nowrap;color:var(--text);line-height:1.1;letter-spacing:-.015em}.hub-eco .hub-eco-funnel-label{font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:center;line-height:1.2;max-width:100%;white-space:normal;min-height:2rem;display:flex;align-items:flex-start;justify-content:center}.hub-eco .hub-eco-funnel-bridge{flex:0 0 auto;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;width:3rem;margin-bottom:2.35rem;z-index:2}.hub-eco .hub-eco-funnel-bridge-rail{display:flex;align-items:center;width:100%;gap:0}.hub-eco .hub-eco-funnel-bridge-stem{flex:1 1 auto;height:2px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent, #1f7a5c) 15%,transparent),color-mix(in srgb,var(--accent, #1f7a5c) 55%,var(--line)))}.hub-eco .hub-eco-funnel-bridge-stem:last-child{background:linear-gradient(90deg,color-mix(in srgb,var(--accent, #1f7a5c) 55%,var(--line)),color-mix(in srgb,var(--accent, #1f7a5c) 15%,transparent))}.hub-eco .hub-eco-funnel-bridge-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:.15rem;padding:.28rem .45rem .28rem .28rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent, #1f7a5c) 35%,var(--line));background:linear-gradient(165deg,color-mix(in srgb,var(--accent, #1f7a5c) 14%,#fff),#fff 70%);box-shadow:0 4px 12px color-mix(in srgb,#0f172a 10%,transparent);color:color-mix(in srgb,var(--accent, #1f7a5c) 75%,#0f172a);font-size:.72rem;font-weight:750;line-height:1;white-space:nowrap}.hub-eco .hub-eco-funnel-bridge-chip strong{font-weight:750;letter-spacing:-.01em}.hub-eco .hub-eco-funnel-bridge-chevron{width:.55rem;height:.95rem;color:color-mix(in srgb,var(--accent, #1f7a5c) 80%,#64748b);flex-shrink:0}.hub-eco .hub-eco-funnel-bridge-hint{font-size:.58rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);opacity:.9}@media(max-width:720px){.hub-eco .hub-eco-funnel-alerts,.hub-eco .hub-eco-funnel-section,.hub-eco .hub-eco-alerts-section{min-height:0}.hub-eco .hub-eco-funnel{overflow-x:auto;justify-content:flex-start;gap:.1rem;padding-bottom:.25rem;min-height:14rem}.hub-eco .hub-eco-funnel-col{flex:0 0 5rem;min-width:5rem}.hub-eco .hub-eco-funnel-track{max-width:3.4rem;min-height:11rem}.hub-eco .hub-eco-funnel-value{font-size:.95rem}.hub-eco .hub-eco-funnel-bridge{width:2.6rem;margin-bottom:2rem}.hub-eco .hub-eco-funnel-bridge-chip{font-size:.64rem;padding:.22rem .35rem .22rem .2rem}.hub-eco .hub-eco-funnel-bridge-hint{display:none}}.hub-projects-page .hub-eco-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.hub-projects-page .hub-eco-orders-gender,.hub-projects-page .hub-eco-orders-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:stretch}.hub-projects-page .hub-eco-orders-gender>.hub-card,.hub-projects-page .hub-eco-orders-products>.hub-card{display:flex;flex-direction:column;min-height:0;height:100%}.hub-projects-page .hub-eco-chart-card{display:flex;flex-direction:column;min-height:16.5rem}.hub-projects-page .hub-eco-mid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.hub-projects-page .hub-eco-area-chart{width:100%;height:12.5rem;margin-top:0;border-radius:6px;display:block}.hub-projects-page .hub-eco-spark{width:100%;height:12.5rem;margin-top:0;display:block}.hub-eco .hub-eco-chart-wrap{position:relative;width:100%;flex:1 1 auto;margin-top:.5rem;min-height:12.5rem;display:flex;flex-direction:column}.hub-eco .hub-eco-chart-wrap .hub-eco-area-chart,.hub-eco .hub-eco-chart-wrap .hub-eco-spark{margin-top:0;flex:1 1 auto;min-height:12.5rem}.hub-eco .hub-eco-chart-tip{position:absolute;top:.15rem;z-index:5;transform:translate(-50%);min-width:9.5rem;max-width:min(100%,16rem);padding:.5rem .65rem;border-radius:8px;background:#0f172a;color:#f8fafc;box-shadow:0 8px 24px #0f172a47;pointer-events:none;display:flex;flex-direction:column;gap:.28rem}.hub-eco .hub-eco-chart-tip-date{font-size:.82rem;font-weight:700;letter-spacing:.01em;border-bottom:1px solid rgba(248,250,252,.18);padding-bottom:.25rem;margin-bottom:.05rem}.hub-eco .hub-eco-chart-tip-row{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:550;line-height:1.25;white-space:nowrap}.hub-eco .hub-eco-chart-tip-dot{width:.55rem;height:.55rem;border-radius:999px;flex-shrink:0}.hub-projects-page .hub-eco-chart-legend{display:flex;gap:.85rem;margin-top:.4rem;font-size:.72rem;font-weight:600}.hub-projects-page .hub-eco-seo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.hub-projects-page .hub-eco-seo-metric{text-align:center;padding:.5rem .3rem;background:color-mix(in srgb,var(--accent) 5%,transparent);border-radius:var(--radius-sm)}.hub-projects-page .hub-eco-seo-val{display:block;font-size:1.2rem;font-weight:700;color:var(--text)}.hub-projects-page .hub-eco-seo-lbl{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600;margin-top:.15rem}.hub-projects-page .hub-eco-merchant-grid{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.hub-projects-page .hub-eco-merchant-num{font-size:1.1rem;font-weight:700;color:var(--accent)}.hub-projects-page .hub-eco-chart-interactive{cursor:crosshair}.hub-projects-page .hub-eco-table-wrap{overflow-x:auto;margin-top:.5rem;-webkit-overflow-scrolling:touch}.hub-projects-page .hub-eco-table{width:100%;border-collapse:collapse;font-size:.82rem}.hub-projects-page .hub-eco-table th{text-align:left;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:650;padding:.45rem .55rem;border-bottom:2px solid var(--line);white-space:nowrap}.hub-projects-page .hub-eco-table td{padding:.4rem .55rem;border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.hub-projects-page .hub-eco-table tr:last-child td{border-bottom:0}.hub-projects-page .hub-eco-table tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}.hub-projects-page .hub-eco-table td:first-child{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-projects-page .hub-eco-table td:not(:first-child),.hub-projects-page .hub-eco-table th:not(:first-child){text-align:right}.hub-projects-page .hub-eco-kpi-delta.pos{color:var(--ok, #1a7f4b)}.hub-projects-page .hub-eco-kpi-delta.neg{color:var(--danger, #c23b45)}.hub-projects-page .hub-eco-alert{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:var(--radius);font-size:.85rem}.hub-projects-page .hub-eco-alert--warn{background:color-mix(in srgb,var(--warn, #f59e0b) 10%,var(--bg2, #fff));border:1px solid color-mix(in srgb,var(--warn, #f59e0b) 30%,var(--line));color:color-mix(in srgb,var(--warn, #b7791f) 80%,var(--text))}.hub-projects-page .hub-eco-alert--merchant{background:color-mix(in srgb,var(--warn, #f59e0b) 8%,transparent);border:none;padding:.4rem 0;font-size:.82rem}.hub-projects-page .hub-eco-alert-icon{font-size:.95rem;line-height:1;flex-shrink:0}.hub-projects-page .hub-eco-ga4-tracked{padding:.5rem .85rem;background:color-mix(in srgb,#6366f1 6%,var(--bg2, #fff));border:1px solid color-mix(in srgb,#6366f1 18%,var(--line));border-radius:var(--radius);font-size:.82rem}.hub-projects-page .hub-eco-merchant-issues{margin-top:.6rem;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.hub-projects-page .hub-eco-merchant-issue-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.hub-projects-page .hub-eco-merchant-issue-list li{font-size:.78rem;padding:.2rem 0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-projects-page .hub-eco-products-card{display:flex;flex-direction:column;min-height:0}.hub-eco .hub-eco-products-scroll{--eco-prod-row: 8.9rem;--eco-prod-img: 8.1rem;--eco-prod-gap: .55rem;margin-top:.55rem;height:calc(5 * var(--eco-prod-row) + 4 * var(--eco-prod-gap));max-height:calc(5 * var(--eco-prod-row) + 4 * var(--eco-prod-gap));overflow-y:auto;padding-right:.3rem;scrollbar-width:thin}.hub-eco .hub-eco-products-scroll--in-chart{--eco-prod-row: 8.9rem;--eco-prod-img: 8.1rem;flex:1 1 auto;min-height:0;height:auto;max-height:none}.hub-eco .hub-eco-products-scroll--three{--eco-prod-row: 8.9rem;--eco-prod-img: 8.1rem;--eco-prod-gap: .55rem;flex:0 0 auto;height:calc(3 * var(--eco-prod-row) + 2 * var(--eco-prod-gap));max-height:calc(3 * var(--eco-prod-row) + 2 * var(--eco-prod-gap));overflow-y:auto}.hub-eco .hub-eco-products{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--eco-prod-gap, .55rem)}.hub-eco .hub-eco-product-row{display:grid;grid-template-columns:var(--eco-prod-img, 8.1rem) minmax(0,1fr);gap:.75rem;align-items:center;height:var(--eco-prod-row, 8.9rem);min-height:var(--eco-prod-row, 8.9rem);max-height:var(--eco-prod-row, 8.9rem);box-sizing:border-box;padding:.4rem .55rem .4rem .4rem;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bg2, #fff) 92%,var(--accent, #1f7a5c) 3%);overflow:hidden}.hub-eco .hub-eco-product-img{width:var(--eco-prod-img, 8.1rem);height:var(--eco-prod-img, 8.1rem);aspect-ratio:1;align-self:center;justify-self:start;border-radius:8px;overflow:hidden;background:#f3f4f6;border:none;display:block;flex-shrink:0;padding:0;margin:0;box-sizing:border-box;position:relative}.hub-eco .hub-eco-product-img img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hub-eco .hub-eco-product-img-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;font-weight:650}.hub-eco .hub-eco-product-body{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto auto 1fr auto;gap:.22rem;align-content:start}.hub-eco .hub-eco-product-title{font-size:.88rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-eco .hub-eco-product-units{font-size:.72rem;line-height:1.2}.hub-eco .hub-eco-product-sizes{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-eco .hub-eco-product-sizes-label{font-size:.62rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.hub-eco .hub-eco-product-size-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem}.hub-eco .hub-eco-product-size{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;padding:.18rem .1rem;border-radius:6px;background:color-mix(in srgb,var(--bg, #f8fafc) 80%,#fff);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.hub-eco .hub-eco-product-size-name{font-size:.58rem;font-weight:700;color:var(--muted);letter-spacing:.03em}.hub-eco .hub-eco-product-size strong{font-size:.78rem;font-weight:750;line-height:1}.hub-eco .hub-eco-product-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;align-items:start;margin-top:auto;padding-top:.1rem}.hub-eco .hub-eco-product-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;min-width:0}.hub-eco .hub-eco-product-stat .meta{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;font-weight:650;line-height:1.1}.hub-eco .hub-eco-product-stat strong{font-size:.9rem;font-weight:750;line-height:1.15;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--accent, #1f7a5c) 70%,var(--text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hub-projects-page .hub-eco-share{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.hub-eco .hub-eco-share-scroll{max-height:16.5rem;overflow-y:auto;margin-top:.35rem;padding-right:.25rem;scrollbar-width:thin}.hub-projects-page .hub-eco-share-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem}.hub-projects-page .hub-eco-share-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.hub-projects-page .hub-eco-share-track{height:7px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}.hub-projects-page .hub-eco-share-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f7a5c,color-mix(in srgb,var(--accent) 70%,#1f7a5c));transition:width .3s ease}.hub-vendite .hub-vendite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.hub-vendite .hub-vendite-size-filters{display:inline-flex;flex-wrap:wrap;gap:.3rem;padding:.15rem;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg, #f8fafc) 70%,#fff)}.hub-vendite .hub-vendite-size-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:650;line-height:1;padding:.38rem .65rem;border-radius:999px;cursor:pointer}.hub-vendite .hub-vendite-size-filter:hover:not(:disabled){color:var(--text)}.hub-vendite .hub-vendite-size-filter.active{background:color-mix(in srgb,var(--accent, #1f7a5c) 16%,#fff);color:color-mix(in srgb,var(--accent, #1f7a5c) 75%,var(--text))}.hub-vendite .hub-vendite-size-filter:disabled{opacity:.55;cursor:not-allowed}.hub-vendite .hub-vendite-bars{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.hub-vendite .hub-vendite-bars-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem}.hub-vendite .hub-vendite-bars-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-weight:600}.hub-vendite .hub-vendite-bars-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}.hub-vendite .hub-vendite-bars-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f7a5c,color-mix(in srgb,var(--accent) 65%,#1f7a5c))}.hub-vendite .hub-vendite-cat-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.hub-vendite .hub-vendite-cat-products-card{display:flex;flex-direction:column;min-height:0}.hub-vendite .hub-vendite-cat-products-scroll{--eco-prod-row: 8.9rem;--eco-prod-img: 8.1rem;--eco-prod-gap: .55rem;margin-top:.55rem;height:calc(3 * var(--eco-prod-row) + 2 * var(--eco-prod-gap));max-height:calc(3 * var(--eco-prod-row) + 2 * var(--eco-prod-gap));overflow-y:auto;padding-right:.3rem;scrollbar-width:thin}.hub-vendite .hub-vendite-returns-kpi{margin-top:.35rem;grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1100px){.hub-vendite .hub-vendite-returns-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.hub-vendite .hub-vendite-grid,.hub-vendite .hub-vendite-cat-products{grid-template-columns:1fr}.hub-vendite .hub-vendite-returns-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}.hub-projects-page .hub-eco-severity{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.1rem .35rem;border-radius:4px}.hub-projects-page .hub-eco-severity--high{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.hub-projects-page .hub-eco-severity--medium{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.hub-projects-page .hub-eco-severity--low{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.hub-projects-page .hub-eco-customers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:stretch}.hub-projects-page .hub-eco-customers>.hub-card{display:flex;flex-direction:column;min-height:0;height:100%}.hub-projects-page .hub-eco-customers-card,.hub-projects-page .hub-eco-gender-card{min-height:20.5rem}.hub-projects-page .hub-eco-top-customers{--eco-cust-row: 2.9rem;--eco-cust-gap: .35rem;list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:var(--eco-cust-gap)}.hub-projects-page .hub-eco-top-customers--scroll{flex:1 1 auto;min-height:0;height:calc(5 * var(--eco-cust-row) + 4 * var(--eco-cust-gap));max-height:calc(5 * var(--eco-cust-row) + 4 * var(--eco-cust-gap));overflow-y:auto;padding-right:.35rem;scrollbar-width:thin}.hub-projects-page .hub-eco-top-customers li{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;gap:.55rem;align-items:center;height:var(--eco-cust-row);min-height:var(--eco-cust-row);max-height:var(--eco-cust-row);box-sizing:border-box;padding:0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.hub-projects-page .hub-eco-top-customers li:last-child{border-bottom:0}.hub-eco .hub-eco-pie-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;flex:1 1 auto;min-height:0}.hub-eco .hub-eco-pie{width:min(100%,248px);height:auto;aspect-ratio:1;max-width:248px;flex-shrink:0}.hub-eco .hub-eco-pie-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.hub-eco .hub-eco-pie-legend li{display:flex;gap:.5rem;align-items:flex-start}.hub-eco .hub-eco-pie-swatch{width:.85rem;height:.85rem;border-radius:4px;margin-top:.2rem;flex-shrink:0}.hub-eco .hub-eco-pie-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-eco .hub-eco-pie-meta strong{font-size:.95rem}.hub-eco .hub-eco-unknown-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;flex:0 1 auto;min-height:0;max-height:7.5rem;overflow-y:auto;scrollbar-width:thin}.hub-eco .hub-eco-unknown-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem;padding:.3rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 45%,transparent)}.hub-eco .hub-eco-unknown-list li:last-child{border-bottom:0}.hub-eco .hub-eco-unknown-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-eco .hub-eco-unknown-actions{display:flex;gap:.25rem;flex-shrink:0}.hub-eco .hub-eco-gender-btn{min-height:26px;padding:0 .5rem;font-size:.7rem}@media(max-width:720px){.hub-eco .hub-eco-pie-wrap{grid-template-columns:1fr;justify-items:center}}.hub-projects-page .hub-eco-rank{font-size:.75rem;color:var(--muted);font-weight:650;text-align:center}.hub-projects-page .hub-eco-cust-main{display:flex;flex-direction:column;min-width:0}.hub-projects-page .hub-eco-cust-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.hub-projects-page .hub-eco-cust-rev{white-space:nowrap;font-size:.88rem}.hub-projects-page .hub-eco-map-card{margin-top:0}.hub-projects-page .hub-eco-map-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:.75rem;align-items:start}.hub-projects-page .hub-eco-italy-map{width:100%;max-height:460px;background:linear-gradient(180deg,#f4f7f8,#eef3f5);border-radius:var(--radius);border:1px solid var(--line)}.hub-projects-page .hub-eco-italy-map path{cursor:pointer;transition:fill .12s ease,stroke .12s ease}.hub-projects-page .hub-eco-italy-map path.is-hover{stroke:#0d4f3a;stroke-width:1.4}.hub-projects-page .hub-eco-map-side{min-width:0;display:flex;flex-direction:column;min-height:0}.hub-projects-page .hub-eco-map-table-wrap{max-height:460px;overflow:auto}.hub-projects-page .hub-eco-map-table th,.hub-projects-page .hub-eco-map-table td{font-size:.82rem}.hub-projects-page .hub-eco-map-table tbody tr{cursor:pointer}.hub-projects-page .hub-eco-map-table tbody tr:hover,.hub-projects-page .hub-eco-map-table tbody tr.is-active{background:color-mix(in srgb,var(--accent, #1f7a5c) 10%,transparent)}.hub-projects-page .hub-eco-map-table tbody tr.is-expanded{font-weight:650}.hub-projects-page .hub-eco-map-region-label{display:inline-flex;align-items:center;gap:.35rem}.hub-projects-page .hub-eco-map-chevron{display:inline-block;width:.85rem;color:var(--muted);font-size:.75rem}.hub-projects-page .hub-eco-map-table tbody tr.hub-eco-map-city-row{cursor:default;background:color-mix(in srgb,var(--bg, #f8fafc) 85%,#fff)}.hub-projects-page .hub-eco-map-table tbody tr.hub-eco-map-city-row:hover{background:color-mix(in srgb,var(--bg, #f8fafc) 70%,#fff)}.hub-projects-page .hub-eco-map-table tbody tr.hub-eco-map-city-row td:first-child{padding-left:1.65rem;color:var(--text);font-weight:500}.hub-projects-page .hub-eco-map-table tbody tr.hub-eco-map-city-empty td{color:var(--muted);font-style:italic;font-weight:400}.hub-projects-page .hub-eco-map-table tfoot .hub-eco-map-total-row td{font-weight:750;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);padding-top:.55rem;background:color-mix(in srgb,var(--bg2, #fff) 88%,var(--accent, #1f7a5c) 4%)}.hub-projects-page .hub-eco-region-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.hub-projects-page .hub-eco-region-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.86rem;padding:.28rem .4rem;border-radius:6px;transition:background .1s}.hub-projects-page .hub-eco-region-list li.is-hover{background:color-mix(in srgb,#1f7a5c 12%,transparent)}.hub-projects-page .hub-settings-templates{display:grid;gap:.75rem;margin:1rem 0}.hub-projects-page .hub-template-card{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--border, #ddd);border-radius:8px;cursor:pointer}.hub-projects-page .hub-template-card.is-active{border-color:var(--accent, #3b6);background:color-mix(in srgb,var(--accent, #3b6) 8%,transparent)}.hub-projects-page .hub-template-card input{margin-top:.25rem}.hub-projects-page .hub-template-card strong{display:block}.hub-projects-page .hub-template-card .meta{margin:.25rem 0 0}.hub-projects-page .hub-dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.hub-projects-page .hub-card{margin:0}.hub-projects-page .hub-card h3{margin:0 0 var(--space-3);font-size:var(--type-md, 1rem)}.hub-projects-page .hub-card h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--type-sm)}.hub-projects-page .hub-kv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.hub-projects-page .hub-kv li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-2);align-items:baseline;font-size:var(--type-sm)}.hub-projects-page .hub-kv li>span:first-child{color:var(--muted);font-size:var(--type-xs)}.hub-projects-page .hub-kv code{font-size:var(--type-xs);word-break:break-all}.hub-projects-page .hub-asset-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--space-3)}.hub-projects-page .hub-asset-head h3{margin-bottom:var(--space-1)}.hub-projects-page .hub-asset-add{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md, 8px);background:color-mix(in srgb,var(--panel) 88%,var(--accent) 4%)}.hub-projects-page .hub-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.hub-projects-page .hub-asset-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md, 8px);min-height:7.5rem}.hub-projects-page .hub-asset-card.is-linked{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.hub-projects-page .hub-asset-card>header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:baseline}.hub-projects-page .hub-asset-card code,.hub-projects-page .hub-asset-card a{font-size:var(--type-sm);word-break:break-all}.hub-projects-page .hub-asset-card .hub-actions{margin-top:auto}.hub-projects-page .hub-asset-edit{display:flex;flex-direction:column;gap:var(--space-2)}.hub-projects-page .hub-asset-edit input,.hub-projects-page .hub-asset-edit select{width:100%}.hub-projects-page .hub-asset-extra{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.hub-projects-page .hub-asset-extra>li{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md, 8px)}.hub-projects-page .hub-asset-extra-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.hub-projects-page .hub-github-work{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-3);align-items:start}.hub-projects-page .hub-github-shell .ssh-console{margin:0}.hub-projects-page .hub-github-shell .ssh-console-term{min-height:280px;height:min(42vh,420px)}.hub-projects-page .hub-git-stat{margin-top:var(--space-3);max-height:140px}.hub-projects-page .hub-git-files{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.hub-projects-page .hub-git-files li{display:flex;gap:var(--space-2);align-items:baseline;font-size:var(--type-sm)}.hub-projects-page .hub-git-badge{flex:0 0 auto;font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);min-width:4.5rem}.hub-projects-page .hub-git-badge.modified{color:var(--accent-strong, var(--accent))}.hub-projects-page .hub-git-badge.added{color:var(--ok, #1a7f5a)}.hub-projects-page .hub-git-badge.deleted{color:var(--danger, #b33)}.hub-projects-page .hub-git-badge.untracked{color:var(--muted)}.hub-projects-page .hub-git-diff-details{margin-top:var(--space-3)}.hub-projects-page .hub-git-diff{max-height:280px}.hub-projects-page .hub-pr-bundles{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.hub-projects-page .hub-pr-bundles>li{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md, 8px)}.hub-projects-page .hub-pr-bundle-head{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;align-items:baseline}.hub-projects-page .hub-pr-files{word-break:break-all}.hub-projects-page .hub-pr-files-details{margin:.35rem 0 .5rem}.hub-projects-page .hub-pr-files-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none}.hub-projects-page .hub-pr-file-list{list-style:none;margin:.35rem 0 0;padding:0;font-size:.78rem;max-height:7.5rem;overflow:auto;display:flex;flex-direction:column;gap:.15rem}.hub-projects-page .hub-pr-cmd-block{margin:.5rem 0 .35rem}.hub-projects-page .hub-pr-cmd-label{font-size:.78rem;color:var(--muted, #6b7280);margin-bottom:.25rem}.hub-projects-page .hub-pr-cmd{margin:0;max-height:14rem;overflow:auto;font-size:.75rem;line-height:1.35;white-space:pre-wrap;word-break:break-word}.hub-projects-page .hub-pr-cmd-alt{margin:0 0 .65rem}.hub-projects-page .hub-pr-cmd-alt>summary{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:.25rem}.hub-projects-page .hub-pr-remote-actions{margin-top:.4rem}.gh-merge-dialog{width:min(980px,100%);max-height:min(90dvh,860px)}.gh-merge-head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:.65rem}.gh-merge-status{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.65rem}.gh-merge-pill{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;background:var(--bg3)}.gh-merge-pill.ok{background:color-mix(in srgb,var(--ok, #16a34a) 22%,var(--bg2))}.gh-merge-pill.warn{background:color-mix(in srgb,var(--warn, #d97706) 24%,var(--bg2))}.gh-merge-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.gh-merge-body{flex:1;min-height:0;overflow:auto;padding-right:.15rem}.gh-merge-body-md{max-height:none;white-space:pre-wrap}.gh-merge-files,.gh-merge-checks,.gh-merge-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.gh-merge-file-head{width:100%;display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;text-align:left;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:.4rem .55rem;cursor:pointer;color:inherit;font:inherit}.gh-merge-patch{margin-top:.35rem;max-height:320px}.gh-merge-check.ok{border-left:3px solid var(--ok, #16a34a);padding-left:.5rem}.gh-merge-check.bad{border-left:3px solid var(--danger, #dc2626);padding-left:.5rem}.gh-merge-check.pending{border-left:3px solid var(--warn, #d97706);padding-left:.5rem}.gh-merge-check.muted{border-left:3px solid var(--line);padding-left:.5rem}.gh-merge-comment-body{margin:.25rem 0 0;max-height:180px;white-space:pre-wrap}.gh-merge-comment-input{width:100%;margin-bottom:.5rem;resize:vertical}.gh-merge-footer{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.gh-merge-result{flex:1 1 100%;border-radius:8px;padding:.55rem .75rem;border:1px solid var(--line)}.gh-merge-result.ok{background:color-mix(in srgb,var(--ok, #16a34a) 14%,var(--bg2));border-color:color-mix(in srgb,var(--ok, #16a34a) 35%,var(--line))}.gh-merge-result.bad{background:color-mix(in srgb,var(--danger, #dc2626) 12%,var(--bg2));border-color:color-mix(in srgb,var(--danger, #dc2626) 35%,var(--line))}.gh-merge-pull-log{margin:.45rem 0 0;max-height:180px;font-size:.75rem}.gh-merge-diagnostics{flex:1 1 100%}.gh-merge-diag-log{margin:.4rem 0 0;max-height:160px;white-space:pre-wrap;word-break:break-word;font-size:.78rem}.gh-merge-method{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.gh-merge-method select{font:inherit;color:inherit;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:.25rem .4rem}@media(max-width:1100px){.hub-projects-page .hub-github-work{grid-template-columns:1fr}}.hub-projects-page button.linkish{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}@media(max-width:900px){.hub-projects-page .hub-asset-grid{grid-template-columns:1fr}}.hub-projects-page .hub-chat-panel{max-width:640px}.hub-projects-page .hub-dash-brief{display:flex;flex-direction:column;gap:var(--space-3)}.hub-projects-page .hub-agent-brief{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 6%,var(--bg1, #fff));padding:var(--space-3) var(--space-4)}.hub-projects-page .hub-agent-brief-rich{font-size:var(--type-sm, .95rem);line-height:1.55;max-height:min(48dvh,420px);overflow:auto}.hub-projects-page .hub-agent-brief-rich .md-p:first-child{margin-top:0}.hub-projects-page .hub-agent-brief-fallback{color:var(--text)}.hub-projects-page .hub-agent-brief-text{margin:0;font-size:var(--type-sm, .95rem);line-height:1.55;white-space:pre-wrap}.hub-projects-page .hub-now-strip h4{margin:0 0 var(--space-2);font-size:var(--type-sm)}.hub-projects-page .hub-now-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.hub-projects-page .hub-now-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem}.hub-projects-page .hub-autonomia{display:flex;flex-direction:column;gap:var(--space-4)}.hub-projects-page .hub-proposals-split{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:var(--space-3);margin-top:var(--space-3);min-height:280px}.hub-projects-page .hub-proposals-list{display:flex;flex-direction:column;gap:.35rem;max-height:min(55vh,520px);overflow:auto}.hub-projects-page .hub-proposal-item{text-align:left;border:1px solid var(--line);background:var(--bg1, #fff);border-radius:var(--radius-sm);padding:.55rem .65rem;cursor:pointer;font:inherit;color:inherit}.hub-projects-page .hub-proposal-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg1, #fff))}.hub-projects-page .hub-proposal-title{font-weight:600;font-size:var(--type-sm)}.hub-projects-page .hub-proposal-detail{min-width:0}.hub-projects-page .hub-proposal-pre{white-space:pre-wrap;word-break:break-word;font-size:var(--type-xs);line-height:1.45;background:var(--bg0, #f6f7f8);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);max-height:220px;overflow:auto;margin:0 0 var(--space-3)}@media(max-width:900px){.hub-projects-page .hub-proposals-split{grid-template-columns:1fr}}.hub-projects-page .hub-github{display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.hub-projects-page .hub-github-detail h3{font-size:var(--type-lg, 1.15rem)}.hub-projects-page .hub-server{display:flex;flex-direction:column;gap:var(--space-4);flex:0 0 auto;min-height:min-content}.hub-projects-page .hub-server-site{margin:0}.hub-projects-page .servers-page-embedded{padding:0;gap:var(--space-3);flex:0 0 auto;min-height:min-content;height:auto;overflow:visible}.hub-projects-page .servers-page-embedded .page-head{display:none}.hub-projects-page .server-body-tabs{position:relative;z-index:2;flex-shrink:0}.hub-projects-page .ssh-console{flex:0 0 auto;position:relative;z-index:0}.ssh-console{display:flex;flex-direction:column;gap:var(--space-2);min-height:520px;padding:.65rem .75rem}.ssh-console-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.ssh-console-head h3{margin:0;font-size:var(--type-md, 1rem)}.ssh-console-pill{display:inline-flex;align-items:center;font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.ssh-console-pill.ready{color:var(--ok, #1a7f5a);border-color:color-mix(in srgb,var(--ok, #1a7f5a) 40%,var(--line))}.ssh-console-pill.connecting{color:var(--accent-strong, var(--accent))}.ssh-console-pill.error,.ssh-console-pill.closed{color:var(--danger, #b33)}.ssh-console-error{color:var(--danger, #b33);margin:0}.ssh-console-term{flex:1;min-height:420px;height:min(70vh,720px);border-radius:var(--radius-sm);overflow:hidden;background:#0f1419}.ssh-console-term .xterm{height:100%;padding:.4rem .5rem}.ssh-console-term .xterm-viewport{overflow-y:auto!important}.hub-projects-page .hub-agent{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-height:0}.hub-projects-page .hub-agent-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.hub-projects-page .hub-agent-meta code{font-size:var(--type-xs)}.hub-projects-page .hub-agent-layout{display:grid;grid-template-columns:minmax(160px,200px) minmax(0,1fr);gap:.75rem;flex:1;min-height:min(62vh,640px)}.hub-projects-page .hub-agent-layout-live{grid-template-columns:minmax(150px,180px) minmax(0,1.1fr) minmax(220px,.9fr)}.hub-projects-page .hub-agent-sessions{min-height:0;overflow:hidden}.hub-projects-page .hub-agent-sessions .chats-list{max-height:min(58vh,560px)}.hub-projects-page .hub-agent-feed{min-height:0;display:flex;flex-direction:column;overflow:hidden}.hub-projects-page.page{flex:1;min-height:0}@media(max-width:900px){.hub-projects-page .hub-agent-layout,.hub-projects-page .hub-agent-layout-live{grid-template-columns:1fr}}.hub-projects-page .hub-doc-label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--type-xs);color:var(--muted);width:100%}.hub-projects-page .hub-doc-label textarea{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--bg1, #fff);width:100%;box-sizing:border-box;resize:vertical;line-height:1.45}.hub-projects-page .hub-doc-block{margin-top:var(--space-4)}.hub-projects-page .linkish{display:inline;padding:0;border:0;background:none;color:var(--accent-strong, var(--accent));font:inherit;text-decoration:underline;cursor:pointer}@media(max-width:900px){.hub-projects-page .hub-dash-grid,.hub-projects-page .hub-eco-grid,.hub-projects-page .hub-eco-kpi-row,.hub-projects-page .hub-eco-charts,.hub-projects-page .hub-eco-mid,.hub-projects-page .hub-eco-orders-gender,.hub-projects-page .hub-eco-orders-products,.hub-projects-page .hub-eco-funnel-alerts,.hub-projects-page .hub-eco-customers,.hub-projects-page .hub-eco-map-wrap,.hub-projects-page .hub-eco-seo-grid{grid-template-columns:1fr}.hub-projects-page .hub-eco-kpi-row,.hub-projects-page .hub-eco-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-projects-page .hub-eco-toolbar{flex-direction:column;align-items:stretch}.hub-projects-page .hub-eco-badges{justify-content:flex-start}.hub-projects-page .hub-kv li{grid-template-columns:1fr}}@media(max-width:480px){.hub-projects-page .hub-eco-kpi-row,.hub-projects-page .hub-eco-seo-grid{grid-template-columns:1fr}}.ops-status-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--muted);margin-right:6px;vertical-align:middle}.ops-status-dot.ok{background:var(--ok)}.ops-status-dot.warn{background:var(--warn)}.ops-status-dot.fail{background:var(--danger)}.ops-detail{min-height:320px;max-height:min(70dvh,820px);overflow:auto}.ops-detail-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--space-3)}.ops-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.ops-kpi{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--bg2, #f6f7f8)}.ops-kpi-value{font-size:var(--type-sm, .88rem);font-weight:600;margin-top:2px;word-break:break-word}.ops-meta-dl{display:grid;gap:var(--space-2);margin:0 0 var(--space-3)}.ops-meta-dl>div{display:grid;grid-template-columns:110px 1fr;gap:var(--space-2);align-items:baseline}.ops-meta-dl dt{margin:0;color:var(--muted);font-size:var(--type-xs, .75rem)}.ops-meta-dl dd{margin:0;word-break:break-word}.ops-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.ops-section h4{margin:0 0 var(--space-2)}.ops-section summary{cursor:pointer;font-weight:600;margin-bottom:var(--space-2)}.ops-error{color:var(--danger)}.ops-tool-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-2)}.ops-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.ops-timeline li{border-left:2px solid color-mix(in srgb,var(--accent) 40%,var(--line));padding-left:var(--space-3)}.ops-timeline-head{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:4px}.ops-timeline-body{max-height:160px;overflow:auto;margin:6px 0 0;white-space:pre-wrap;line-height:1.45}@media(max-width:900px){.ops-split{grid-template-columns:1fr}.ops-list{max-height:280px}.ops-detail{max-height:none}.ops-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.servers-page{display:flex;flex-direction:column;gap:var(--space-4);min-height:0}.servers-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.servers-page .form-grid label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--type-xs, .8rem);color:var(--muted)}.servers-page .form-grid .form-span{grid-column:1 / -1}.servers-page .form-grid input,.servers-page .form-grid select,.servers-page .form-grid textarea{font:inherit;color:var(--text);background:var(--bg1, #fff);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-height:var(--control-h)}.server-rail{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:thin}.server-chip{position:relative;flex:0 0 auto;min-width:148px;max-width:220px;text-align:left;border:1px solid var(--line);background:var(--bg1, #fff);border-radius:var(--radius);padding:var(--space-3) var(--space-4);cursor:pointer;color:inherit;font:inherit}.server-chip.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent)}.server-chip-name{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-chip-meta{display:block;margin-top:var(--space-1);font-size:var(--type-xs, .75rem);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-chip-dot{position:absolute;top:var(--space-3);right:var(--space-3);width:8px;height:8px;border-radius:999px;background:var(--muted)}.server-chip-dot.ok{background:var(--ok)}.server-chip-dot.warn{background:var(--warn)}.server-chip-dot.fail{background:var(--danger)}.server-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.server-hero-title{display:flex;align-items:center;gap:var(--space-3)}.server-hero-title h2{margin:0;font-size:var(--type-xl, 1.35rem)}.server-status-pill{font-size:var(--type-xs, .72rem);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg2, #f4f4f4)}.server-status-pill.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--line));background:color-mix(in srgb,var(--ok) 10%,transparent)}.server-status-pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--line));background:color-mix(in srgb,var(--warn) 10%,transparent)}.server-status-pill.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:color-mix(in srgb,var(--danger) 10%,transparent)}.server-status-pill.muted{color:var(--muted)}.server-dash{display:flex;flex-direction:column;gap:var(--space-4)}.server-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.server-kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg1, #fff);padding:var(--space-4)}.server-kpi-label{font-size:var(--type-xs, .75rem);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.server-kpi-value{margin-top:var(--space-2);font-size:1.75rem;font-weight:650;line-height:1.1;letter-spacing:-.02em}.server-kpi-value-sm{font-size:1.15rem;font-weight:600}.server-kpi-unit{margin-left:var(--space-1);font-size:.85rem;font-weight:500;color:var(--muted)}.server-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.server-chart-card h3{margin:0 0 var(--space-2);font-size:var(--type-sm, .95rem)}.server-spark{width:100%;height:64px;display:block}.server-chart-empty{min-height:56px;display:grid;place-items:center;color:var(--muted);font-size:var(--type-xs, .8rem)}.server-resource-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-3)}.server-resource-grid h3{margin:0 0 var(--space-3);font-size:var(--type-sm, .95rem)}.server-meter{margin-bottom:var(--space-3)}.server-meter-head{display:flex;justify-content:space-between;font-size:var(--type-xs, .8rem);margin-bottom:var(--space-1);color:var(--muted)}.server-meter-head strong{color:var(--text)}.server-meter-track{height:8px;border-radius:999px;background:var(--bg2, #eee);overflow:hidden}.server-meter-fill{height:100%;border-radius:999px;background:var(--accent)}.server-meter-fill.tone-ok{background:var(--ok)}.server-meter-fill.tone-warn{background:var(--warn)}.server-meter-fill.tone-danger{background:var(--danger)}.server-meter-fill.tone-accent{background:var(--accent)}.server-snap-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:var(--type-xs, .78rem);line-height:1.45;max-height:280px;overflow:auto;color:var(--text)}.server-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.server-log-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.server-check-status{font-weight:600;text-transform:uppercase;font-size:.72rem}.server-check-status.ok{color:var(--ok)}.server-check-status.warn{color:var(--warn)}.server-check-status.fail,.server-check-status.error{color:var(--danger)}.server-info-dl{margin:0;display:grid;gap:var(--space-3)}.server-info-dl div{display:grid;grid-template-columns:120px 1fr;gap:var(--space-3)}.server-info-dl dt{margin:0;color:var(--muted);font-size:var(--type-xs, .8rem)}.server-info-dl dd{margin:0}.server-updates{display:flex;flex-direction:column;gap:var(--space-3)}.server-updates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.server-updates-pkg-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow:auto}.server-updates-pkg-list li{display:flex;flex-direction:column;gap:.35rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.apt-pkg-main{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.apt-pkg-reason{margin:0;line-height:1.35}.apt-risk-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:999px;vertical-align:middle}.apt-risk-dot.green,.apt-risk-pill.green{background:color-mix(in srgb,var(--ok, #16a34a) 75%,#fff)}.apt-risk-dot.yellow,.apt-risk-pill.yellow{background:color-mix(in srgb,var(--warn, #d97706) 80%,#fff)}.apt-risk-dot.red,.apt-risk-pill.red{background:color-mix(in srgb,var(--danger, #dc2626) 80%,#fff)}.apt-risk-pill{font-size:.7rem;font-weight:650;padding:.12rem .45rem;border-radius:999px;color:#111}.apt-risk-tabs{margin:.55rem 0 .35rem}.apt-risk-tabs .tab{gap:.4rem}.apt-risk-tabs .apt-risk-dot{margin:0}.apt-pkg-row.risk-green{border-left:3px solid var(--ok, #16a34a);padding-left:.55rem}.apt-pkg-row.risk-yellow{border-left:3px solid var(--warn, #d97706);padding-left:.55rem}.apt-pkg-row.risk-red{border-left:3px solid var(--danger, #dc2626);padding-left:.55rem}.server-updates-fetch-fail{color:var(--danger, #c23b45);white-space:pre-wrap;word-break:break-word}.server-updates-warn{color:var(--warn, #b7791f)}.server-updates-hint{font-size:.85rem}.server-updates-hint-list{margin:.4rem 0 .6rem;padding-left:1.2rem}.server-updates-hint-list code{font-size:.78rem}.apt-upgrade-dialog{width:min(720px,100%);max-height:min(90dvh,820px)}.apt-upgrade-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.75rem}.apt-upgrade-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.1rem}.apt-upgrade-section h4{font-size:var(--type-sm);font-weight:600}.apt-upgrade-pkg-list{list-style:none;margin:0;padding:.35rem .65rem;display:flex;flex-direction:column;gap:.25rem;max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg2)}.apt-upgrade-pkg-list .apt-pkg-row{border-bottom:1px solid var(--line);padding:.45rem 0}.apt-upgrade-pkg-list .apt-pkg-row:last-child{border-bottom:0}.apt-upgrade-warn{margin:.55rem 0 0;color:color-mix(in srgb,var(--warn, #b45309) 85%,var(--text))}.apt-upgrade-status{font-size:var(--type-xs, .8rem);font-weight:600;padding:.15rem .5rem;border-radius:6px;background:var(--bg3, var(--bg2))}.apt-upgrade-status.running{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--bg2))}.apt-upgrade-status.ok,.apt-upgrade-outcome.ok{color:color-mix(in srgb,var(--ok, #15803d) 90%,var(--text))}.apt-upgrade-status.fail,.apt-upgrade-outcome.fail{color:color-mix(in srgb,var(--danger, #b91c1c) 90%,var(--text))}.apt-upgrade-outcome{margin-top:.55rem;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg2);line-height:1.4}.apt-upgrade-outcome.ok{border-color:color-mix(in srgb,var(--ok, #16a34a) 35%,var(--line));background:color-mix(in srgb,var(--ok, #16a34a) 10%,var(--bg2))}.apt-upgrade-outcome.fail{border-color:color-mix(in srgb,var(--danger, #dc2626) 35%,var(--line));background:color-mix(in srgb,var(--danger, #dc2626) 10%,var(--bg2))}.apt-upgrade-console{margin:.55rem 0 0;max-height:min(36dvh,340px);overflow:auto;padding:.75rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,#1a1d21);color:color-mix(in srgb,var(--text) 70%,#e8eaed);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.apt-upgrade-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--line)}@media(max-width:1100px){.server-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.server-charts,.server-resource-grid{grid-template-columns:1fr}}@media(max-width:900px){.servers-page .form-grid,.hub-projects-page .form-grid,.repos-page .form-grid{grid-template-columns:1fr}}.totp-setup{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:.75rem 0 1rem}.totp-qr{width:220px;height:220px;border-radius:8px;border:1px solid var(--line);background:#fff}.totp-secret{word-break:break-all;font-size:.85rem}.users-list-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.users-list-head h2{margin:0}.users-create-dialog{width:min(440px,100%);max-height:min(90dvh,640px);overflow:auto;padding:1rem 1.1rem 1.1rem;background:var(--panel, var(--card, #fff));border:1px solid var(--line);border-radius:12px}.users-create-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.users-create-dialog-head h2{margin:0;font-size:1.1rem}.users-create-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.users-admin-grid{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:1rem;align-items:start}.users-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.users-list button{width:100%;text-align:left;display:flex;flex-direction:column;gap:.15rem;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}.users-list button.active{border-color:color-mix(in srgb,var(--accent, #4f8cff) 55%,var(--line));background:color-mix(in srgb,var(--accent, #4f8cff) 12%,transparent)}.acl-table-wrap{overflow:auto;margin:.75rem 0 1rem;max-width:100%}.acl-table{border-collapse:collapse;font-size:.78rem;min-width:720px}.acl-table th,.acl-table td{border:1px solid var(--line);padding:.35rem .4rem;text-align:left;white-space:nowrap}.acl-table select{max-width:5.5rem}@media(max-width:900px){.users-admin-grid{grid-template-columns:1fr}}
