:root{--bg:#f5f7f9;--surface:#fff;--surface2:#f3f7f6;--line:#e3e9e8;--text:#182b29;--muted:#677c77;--green:#0b896b;--accent:#075e49;--soft:#e9f6f0;--shadow:0 16px 55px #193b3420;--scale:1;color-scheme:light;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:calc(15px * var(--scale))}
:root.dark{--bg:#101a1d;--surface:#17262a;--surface2:#1b3032;--line:#2b4145;--text:#e8f3ee;--muted:#98b4ab;--green:#37c99d;--accent:#1d9678;--soft:#183f34;--shadow:0 16px 55px #0007;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #48c4a6;outline-offset:2px}a{color:var(--green)}.hidden,[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}.subtle,.muted{color:var(--muted)}.onboarding{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 22% 10%,#d6f5e8 0,transparent 38%),var(--bg)}.onboard-card{background:var(--surface);border:1px solid var(--line);max-width:540px;width:100%;padding:clamp(24px,5vw,44px);border-radius:30px;box-shadow:var(--shadow)}.onboard-card h1{font-size:clamp(2rem,5vw,3rem);line-height:1.12;letter-spacing:-.06em;margin:14px 0}.onboard-card h1 em{font-style:normal;color:var(--green)}.onboard-card>p{line-height:1.6}.logo-large,.logo{background:linear-gradient(145deg,#15bd85,#08795f);color:white;border-radius:15px;display:grid;place-items:center;font-weight:850}.logo-large{width:72px;height:72px;font-size:30px}.logo-large span{color:#d8ffba}.logo{width:42px;height:42px;flex-shrink:0;font-size:21px}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 16px}.welcome-actions button{flex:1 1 210px}.primary,.secondary,.danger,.ghost{border-radius:13px;padding:11px 15px;border:1px solid transparent;font-weight:680;min-height:42px}.primary{background:var(--green);color:white}.primary:hover{filter:brightness(.93)}.secondary{background:var(--surface);color:var(--text);border-color:var(--line)}.secondary:hover,.ghost:hover{background:var(--surface2)}.danger{background:#b82c48;color:white}.ghost{background:transparent;color:var(--muted)}.small{padding:7px 13px;min-height:36px;font-size:.9rem}.icon-btn{border:1px solid transparent;background:transparent;color:var(--text);border-radius:12px;min-width:39px;min-height:39px;font-weight:750}.icon-btn:hover{background:var(--surface2)}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 11px;color:var(--green);font-weight:680;font-size:.78rem;background:var(--soft)}label{display:grid;gap:8px;font-weight:650;font-size:.91rem;margin:12px 0}input,textarea,select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--text);min-height:42px}textarea{min-height:95px;resize:vertical}#connect-form{padding:15px;background:var(--surface2);border:1px solid var(--line);border-radius:16px}#shell{height:100dvh;display:flex;flex-direction:column}.topbar{height:76px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(12px,2.5vw,34px);background:var(--surface);border-bottom:1px solid var(--line);gap:10px}.header-brand,.header-actions{display:flex;align-items:center;gap:12px;min-width:0}.brand-title{font-size:1.11rem;font-weight:780;white-space:nowrap}.brand-title strong{color:var(--green)}.brand-title small{display:block;color:var(--muted);font-size:.71rem;font-weight:550}.workspace{display:flex;min-height:0;flex:1}.nav{width:232px;min-width:232px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 12px;overflow:auto;transition:width .18s,min-width .18s}.nav-label{font-size:.67rem;color:var(--muted);letter-spacing:.14em;font-weight:850;margin:13px 14px 9px}.nav-item{display:flex;gap:12px;align-items:center;text-align:left;min-height:46px;padding:10px 13px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-weight:580;white-space:nowrap}.nav-item span{font-size:1.3rem;width:24px;text-align:center;flex-shrink:0}.nav-item b{font-weight:620}.nav-item.active{background:var(--soft);color:var(--green)}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-bottom{margin-top:auto;padding:12px 4px 4px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}.nav-bottom>div{flex:1;overflow:hidden}.nav-bottom strong,.nav-bottom small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-bottom small{font-size:.7rem;color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-weight:800}.nav.collapsed{width:68px;min-width:68px}.nav.collapsed .nav-label,.nav.collapsed .nav-item b,.nav.collapsed .nav-bottom>div,.nav.collapsed .nav-bottom .icon-btn{display:none}.nav.collapsed .nav-item{justify-content:center;padding:9px}.nav.collapsed .nav-bottom{justify-content:center}#main{min-width:0;overflow:auto;flex:1;scrollbar-gutter:stable}.page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto;padding:clamp(20px,3vw,35px) clamp(16px,3vw,45px) 12px;max-width:1700px}.page-header h1{font-size:clamp(1.55rem,2.5vw,2.2rem);letter-spacing:-.04em;margin:0 0 4px}.page-header p{color:var(--muted);margin:0}.page-actions{display:flex;gap:9px;flex-wrap:wrap}.page-body{padding:10px clamp(16px,3vw,45px) 65px;max-width:1700px;margin:0 auto}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;min-width:0;box-shadow:0 2px 12px #1b3a3008}.card h3{margin:0 0 9px}.stat-label{color:var(--muted);font-size:.81rem;font-weight:680}.stat-value{font-size:2rem;line-height:1.5;font-weight:800;letter-spacing:-.05em}.stat-note{font-size:.79rem;color:var(--muted)}.section-title{margin:25px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{margin:0;font-size:1.12rem}.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chart-bars{height:160px;display:flex;align-items:end;gap:12px;padding:15px 6px 0}.chart-bars span{flex:1;display:block;background:linear-gradient(180deg,#11b88a,#d6f8e9);border-radius:8px 8px 0 0;min-height:7px}.feature{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}.feature:last-child{border-bottom:0}.feature .feature-icon{font-size:1.4rem;color:var(--green)}.feature strong,.feature small{display:block}.feature small{margin-top:3px;color:var(--muted)}.table-scroll{overflow:auto}.contact-grid{display:grid;grid-template-columns:minmax(260px,350px) minmax(0,1fr);height:min(780px,calc(100dvh - 220px));min-height:420px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}.contacts-list{overflow:auto;border-right:1px solid var(--line);min-height:0}.contacts-list .filter{padding:14px;position:sticky;top:0;background:var(--surface);z-index:1}.contact-item{border:0;border-bottom:1px solid var(--line);background:transparent;padding:15px;width:100%;display:flex;gap:10px;align-items:center;text-align:left;color:var(--text)}.contact-item:hover,.contact-item.active{background:var(--soft)}.contact-item .details{min-width:0;flex:1}.contact-item strong,.contact-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-item small{color:var(--muted);font-size:.75rem;margin-top:3px}.circle{width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--green);font-weight:800;flex:none}.chat-panel{display:flex;flex-direction:column;min-height:0;min-width:0}.chat-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:13px 18px}.chat-head h3{margin:0;font-size:1rem}.chat-head small{color:var(--muted)}.chat-head .right{margin-left:auto;display:flex;gap:6px}.chat-history{flex:1;overflow:auto;min-height:50px;padding:22px;background:var(--surface2);display:flex;flex-direction:column;gap:12px}.bubble{background:var(--surface);align-self:flex-start;max-width:min(86%,550px);padding:12px 16px;border:1px solid var(--line);border-radius:4px 16px 16px 16px;overflow-wrap:anywhere}.bubble.mine{background:var(--soft);align-self:flex-end;border-color:transparent;border-radius:16px 4px 16px 16px}.bubble small{display:block;color:var(--muted);margin-top:6px}.chat-compose{border-top:1px solid var(--line);padding:12px;background:var(--surface)}.chat-compose textarea{min-height:68px;max-height:160px}.compose-row{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}.compose-row>div{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.empty-icon{font-size:2.5rem;opacity:.65}.board{display:flex;gap:15px;overflow:auto;padding-bottom:24px;min-height:400px;align-items:start}.lane{flex:0 0 clamp(220px,24vw,300px);padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface2);min-height:350px}.lane-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 13px;padding:0 5px}.lane-head strong{font-size:.94rem}.count{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:4px 9px;font-size:.74rem}.kanban-card{display:block;width:100%;border:1px solid var(--line);border-radius:13px;background:var(--surface);text-align:left;margin-bottom:9px;padding:14px;color:var(--text);cursor:grab}.kanban-card:hover{box-shadow:var(--shadow)}.kanban-card small{display:block;color:var(--muted);margin-top:7px}.kanban-card.dragging{opacity:.5}.lane.over{outline:2px dashed var(--green)}.tag{background:var(--soft);color:var(--green);font-size:.72rem;padding:3px 7px;border-radius:6px;white-space:nowrap}.tags{display:flex;gap:4px;flex-wrap:wrap;margin:9px 0}.item-card{display:flex;justify-content:space-between;gap:14px;align-items:start}.item-card h3{margin:0 0 8px}.item-card p{color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.5}.item-buttons{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.progress{height:13px;border-radius:100px;background:var(--surface2);overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#18b588,#0c7c60);border-radius:100px;transition:width .2s}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0}.setting-row h3{margin:0 0 4px;font-size:.98rem}.setting-row p{margin:0;font-size:.82rem;color:var(--muted)}.switch{appearance:none;width:46px;height:27px;border-radius:99px;border:1px solid var(--line);background:#a9b8b2;position:relative;cursor:pointer;flex:none}.switch:before{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;background:white;border-radius:50%;transition:transform .2s}.switch:checked{background:var(--green)}.switch:checked:before{transform:translateX(18px)}.dialog{width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 36px);padding:0;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:22px;box-shadow:var(--shadow)}.dialog::backdrop{background:#081c1bcc;backdrop-filter:blur(4px)}.dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 36px)}.dialog-head{padding:23px 25px 15px;display:flex;align-items:start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:5px 0;font-size:1.35rem}.eyebrow{color:var(--green);font-weight:850;font-size:.7rem;letter-spacing:.1em}.dialog-fields{padding:14px 25px;overflow:auto}.dialog-actions{padding:16px 25px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line)}.dialog-fields label{margin:13px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toast{position:fixed;bottom:22px;right:22px;padding:14px 19px;max-width:min(400px,calc(100vw - 32px));border-radius:13px;background:var(--text);color:var(--surface);z-index:250;box-shadow:var(--shadow);opacity:0;transform:translateY(18px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.notice{border-radius:12px;background:var(--soft);padding:12px;color:var(--accent);font-size:.88rem}.code{font:12px ui-monospace,monospace;overflow-wrap:anywhere}.select-inline{width:auto;min-width:110px}.hide-wide{display:none}.log-box{max-height:250px;overflow:auto;white-space:pre-wrap;word-break:break-word}.shortcut{border:1px solid var(--line);border-radius:6px;padding:3px 6px;font-size:.76rem}
@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.contact-grid{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:750px){.topbar{height:65px;padding:0 10px}.header-actions{gap:1px}.header-actions .pill,.brand-title small,#font-down,#font-up{display:none}.nav{width:65px;min-width:65px;padding:10px 5px}.nav .nav-item{justify-content:center;padding:9px}.nav .nav-item b,.nav .nav-label,.nav .nav-bottom>div,.nav .nav-bottom .icon-btn{display:none}.nav-bottom{justify-content:center}.page-header{padding:18px 14px 9px}.page-body{padding:9px 12px 50px}.contact-grid{display:flex;flex-direction:column;height:auto;min-height:580px}.contacts-list{max-height:220px;flex-shrink:0;border-right:0;border-bottom:1px solid var(--line)}.chat-panel{height:500px}.stat-value{font-size:1.6rem}.card{padding:15px}.page-header{flex-wrap:wrap}.item-card{flex-wrap:wrap}}
@media(max-width:480px){.brand-title{font-size:.85rem}.logo{width:33px;height:33px}.header-actions #header-new{display:none}.stat-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.5rem}.nav{width:53px;min-width:53px}.nav.collapsed{width:0;min-width:0;padding:0;border:0}.nav-item span{width:24px}.page-actions{width:100%}.form-row{grid-template-columns:1fr}.chat-head{flex-wrap:wrap}.chat-head .right{margin-left:0;width:100%}.compose-row>div{width:100%}.compose-row button{flex:1}.dialog-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v3 universal companion: quick contacts and responsive modal chat */
.logo,.logo-large{background:transparent;box-shadow:none}.logo img,.logo-large img{object-fit:contain;display:block}
.header-actions #quick-contacts{white-space:nowrap}
.quick-drawer{position:fixed;z-index:180;top:76px;right:0;bottom:0;width:min(390px,100vw);background:var(--surface);border-left:1px solid var(--line);box-shadow:-18px 0 44px #0002;display:flex;flex-direction:column;padding:14px;gap:10px}
.quick-drawer-head{display:flex;justify-content:space-between;align-items:center}.quick-drawer-head h2{margin:0;font-size:1.15rem}.quick-drawer-head small{color:var(--muted);font-size:.8rem}
.quick-list{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0;display:flex;flex-direction:column;gap:7px}
.quick-item{display:flex;align-items:center;gap:11px;text-align:left;padding:11px;border-radius:15px;border:1px solid var(--line);background:var(--surface2);color:var(--text);width:100%}
.quick-item:hover{border-color:var(--green)}.quick-item .quick-name{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-item small{display:block;color:var(--muted);margin-top:2px}
.quick-chat{position:fixed;width:min(800px,calc(100vw - 22px));height:min(800px,calc(100dvh - 22px));max-height:calc(100dvh - 22px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);overflow:hidden}
.quick-chat[open]{display:flex;flex-direction:column}.quick-chat::backdrop{background:#061914b8;backdrop-filter:blur(4px)}
.quick-chat-head{height:66px;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--surface2);border-bottom:1px solid var(--line)}
#quick-chat-name{font-weight:750;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-chat-meta{padding:9px 17px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-chat-history{min-height:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px;overscroll-behavior:contain}
.quick-chat-history .bubble{max-width:86%}.quick-chat-compose{flex-shrink:0;border-top:1px solid var(--line);padding:12px 18px;background:var(--surface)}
.quick-chat-compose label{margin:0 0 6px}.quick-chat-compose textarea{min-height:60px;max-height:130px}.quick-chat-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:8px}.quick-chat-actions #quick-send{margin-left:auto}
#quick-chat-tip{font-size:.75rem;margin:9px 0 0}
@media(max-width:750px){.quick-drawer{top:65px}.quick-chat{border-radius:14px}.quick-chat-head{height:60px}.quick-chat-compose{padding:9px}.quick-chat-actions button{flex:1 1 auto}#quick-chat-tip{display:none}}
@media(max-width:480px){.header-actions #quick-contacts{padding:7px 9px;font-size:12px}.header-actions #theme,.header-actions #fullscreen{display:none}.brand-title small{display:none}.quick-chat{height:calc(100dvh - 12px)}}

/* 3.3 navigation controls: fullscreen/modal remain visible even on mobile. */
.header-actions #fullscreen,.header-actions #open-modal,.header-actions #floating-pin,.header-actions #back-to-agent{display:inline-flex!important;align-items:center;justify-content:center;min-width:32px;min-height:34px}.header-actions #floating-pin[aria-pressed=true]{background:var(--soft);color:var(--green)}
.glx-focus-modal body #shell{max-width:min(1060px,95vw);margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:var(--shadow)}
@media(max-width:480px){.header-actions #font-up,.header-actions #font-down,.header-actions #header-new,.header-actions #theme{display:none}.header-actions #fullscreen,.header-actions #open-modal,.header-actions #floating-pin,.header-actions #back-to-agent{padding:5px;min-width:29px}}

/* 3.4.1 GLX Operations: Kanban-first, accessible workbench. */
.ops-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.ops-summary>div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:flex;align-items:baseline;gap:12px}.ops-summary strong{font-size:1.7rem;color:var(--green)}.ops-summary span{color:var(--muted);font-size:.82rem}
.board-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:var(--surface);padding:12px 16px;border:1px solid var(--line);border-radius:18px;margin-bottom:12px}.board-toolbar label{margin:0;flex:1 1 210px}.board-toolbar label:first-child{flex:2 1 300px}.board-toolbar .board-check{flex:0 1 155px;display:flex;flex-direction:row;align-items:center;gap:10px;padding-bottom:10px}.board-toolbar .board-check input{width:auto;min-height:0}
.ops-hint{color:var(--muted);font-size:.81rem;margin-bottom:12px}.ops-board{display:flex;overflow:auto;gap:14px;scroll-snap-type:x proximity;padding:6px 2px 25px;min-height:54vh;max-width:100%;align-items:stretch}.ops-board .lane{flex:0 0 clamp(248px,24vw,330px);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--surface2);border:1px solid var(--line);border-radius:18px;max-height:75vh}.ops-board .lane-head{position:sticky;top:0;z-index:1;padding:12px;background:var(--surface);border-radius:17px 17px 0 0;border-bottom:1px solid var(--line)}.ops-board .lane-body{overflow-y:auto;min-height:120px;padding:8px;flex:1}.ops-board .ops-card{display:block;text-align:left;width:100%;white-space:normal;cursor:pointer;border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--surface);margin:0 0 9px;box-shadow:0 2px 6px #0000000a}.ops-board .ops-card:hover{box-shadow:0 8px 25px #00000016;transform:translateY(-1px)}.ops-card-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.ops-card-top strong{overflow-wrap:anywhere}.ops-card-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px;margin-top:10px;color:var(--muted)}.priority{font-size:.67rem;background:var(--soft);border-radius:20px;padding:5px 7px;color:var(--green);white-space:nowrap}.priority.urgent,.late{color:#c5314f!important}.priority.urgent{background:#ffe8ec}.priority.high{background:#fff1d6;color:#9b6113}.lane-empty{padding:16px;color:var(--muted)}
.ops-dialog{border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);width:min(96vw,990px);max-height:min(92vh,1000px);padding:0;overflow:auto}.ops-dialog::backdrop{background:#071b1b99;backdrop-filter:blur(5px)}.ops-title{position:sticky;z-index:10;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid var(--line);background:var(--surface)}.ops-title h2{margin:0;overflow-wrap:anywhere;font-size:1.15rem}.ops-tabs{display:flex;gap:8px;padding:15px 20px 0;flex-wrap:wrap}.ops-detail-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;padding:20px}.ops-detail-grid>section{min-width:0}.ops-detail-grid h3{font-size:1rem;margin:15px 0 12px}.ops-button-row{display:flex;gap:8px;flex-wrap:wrap}.ops-tasks{margin:15px 0}.task-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:13px 15px;margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.task-row>div{flex:1;min-width:0}.task-row p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.ops-timeline{list-style:none;padding-left:12px;border-left:2px solid var(--line);max-height:250px;overflow:auto}.ops-timeline li{display:grid;gap:3px;padding:7px 0 13px 14px;position:relative}.ops-timeline li:before{content:'';background:var(--green);border:3px solid var(--surface);position:absolute;left:-19px;top:12px;width:10px;height:10px;border-radius:50%}.ops-timeline small{color:var(--muted)}.ops-timeline span{font-size:.82rem}.ops-location{display:grid;gap:4px;background:var(--surface2);padding:12px;border-radius:12px;margin:10px 0}.ops-location small{color:var(--muted)}.ops-map-grid{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(260px,1fr);gap:16px;margin-top:14px}.map-schematic{min-height:390px;background:radial-gradient(circle at 50% 40%,#b4e9d955,#ffffff00 70%),repeating-linear-gradient(0deg,transparent 0 48px,var(--line) 49px 50px),repeating-linear-gradient(90deg,transparent 0 48px,var(--line) 49px 50px),var(--surface2);border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden}.map-schematic:after{content:'Mapa esquemático • coordenadas geográficas';position:absolute;bottom:15px;left:15px;color:var(--muted);font-size:.76rem}.map-dot{position:absolute;transform:translate(-50%,-50%);background:var(--green);border:3px solid var(--surface);border-radius:50%;height:28px;width:28px;color:white;box-shadow:0 3px 11px #0004;cursor:pointer}.map-list{display:grid;align-content:start;gap:3px}.ops-tasklist{max-width:960px}.map-intro p{margin-bottom:6px}
@media(max-width:900px){.ops-detail-grid,.ops-map-grid{grid-template-columns:1fr}.ops-board .lane{flex-basis:78vw;max-width:330px}.ops-dialog{width:98vw;max-height:96dvh}.ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.ops-summary{grid-template-columns:1fr}.ops-detail-grid{padding:12px}.ops-title{padding:13px}.board-toolbar{padding:10px}.ops-dialog{border-radius:14px}.task-row{flex-wrap:wrap}.ops-board .lane{flex-basis:84vw}}
@media(prefers-reduced-motion:reduce){.ops-board .ops-card:hover{transform:none}}

.ops-checkins{display:grid;gap:6px;margin:12px 0}.ops-checkin{display:flex;gap:12px;background:var(--surface2);border-radius:10px;padding:8px 10px;font-size:.82rem}.ops-checkin small{color:var(--muted);white-space:nowrap}

.ops-board-shell{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:13px;align-items:start}.ops-board-shell .ops-board{min-width:0}.ops-chat-rail{position:sticky;top:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:15px;min-width:0;max-height:76vh;display:flex;flex-direction:column;box-shadow:0 3px 15px #0000000a}.ops-rail-head{display:flex;justify-content:space-between;align-items:center}.ops-rail-head h3{font-size:1rem;margin:0}.ops-chat-rail>p{font-size:.78rem;margin:9px 0 12px}.ops-rail-list{min-height:0;overflow:auto;flex:1}.ops-rail-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 6px;background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--text);border-radius:8px}.ops-rail-item:hover{background:var(--soft)}.ops-rail-item span:not(.circle){display:grid;min-width:0;gap:3px}.ops-rail-item strong,.ops-rail-item small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ops-rail-item small{color:var(--muted);font-size:.72rem}.ops-rail-bottom{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}@media(max-width:1050px){.ops-board-shell{grid-template-columns:1fr}.ops-chat-rail{position:relative;max-height:250px}.ops-rail-list{display:flex;overflow:auto}.ops-rail-item{min-width:190px}}
