:root{--cs-blue: #0057b8;--cs-blue-dialog: #004da2;--cs-turquoise: #52becd;--cs-white: #ffffff;--cs-dark: #102f50;--cs-slate: #61799d;--cs-helper: #7a8da7;--cs-select-soft: #edf5ff;--cs-border-soft: #dbe4f0;--cs-border-field: #cbd9eb;--cs-field-bg: #fbfdff;--cs-danger: #f01818;--cs-success: #33c400;--portal-font-family: "Poppins", system-ui, -apple-system, sans-serif;--portal-module-background: linear-gradient( to bottom, #ffffff 0%, #f8fbff 30%, #eaf3ff 65%, #d4e7fc 100% );--brand-stripe: linear-gradient(90deg, #37dce1 0 22%, #33c400 22% 46%, #ffd200 46% 70%, #f01818 70% 100%);--card-shadow: 0 6px 20px rgba(16, 47, 80, .07);--card-radius: 10px;--control-radius: 8px;--scroll-thumb: rgba(97, 121, 157, .3);--scroll-thumb-hover: rgba(97, 121, 157, .5)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body,button,input,select,textarea{font-family:var(--portal-font-family)}body{background:var(--portal-module-background);color:var(--cs-dark)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.app{display:flex;flex-direction:column;height:100vh}.topbar{position:relative;display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:var(--cs-blue);color:#fff;box-shadow:var(--card-shadow)}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brand-stripe)}.brand{display:flex;align-items:baseline;gap:10px}.logo{font-weight:700;letter-spacing:1.2px;color:#fff;font-size:22px}.logo .accent{color:var(--cs-turquoise)}.logo.big{font-size:34px;text-align:center;display:block;letter-spacing:1.8px;color:var(--cs-blue)}.logo.big .accent{color:var(--cs-turquoise)}.sub{color:#e6f0fb;font-size:12px;font-weight:400}.link{background:none;border:none;color:#e6f0fb;cursor:pointer;font-size:13px;font-weight:500}.link:hover{color:#fff;text-decoration:underline}.layout{flex:1;display:grid;grid-template-columns:360px 1fr;gap:10px;min-height:0;padding:10px}.panel{min-height:0}.panel.left,.chat{background:var(--cs-white);border:1px solid var(--cs-border-soft);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.panel.left{padding:14px;overflow:auto;position:relative}.panel.right{display:flex;flex-direction:column;min-height:0}h2{font-size:16px;margin:0 0 3px;color:var(--cs-dark);font-weight:700}.hint,.placeholder{color:var(--cs-helper);font-size:12px}.conditions input,.conditions select,.gate-card input,.composer-input{width:100%;padding:7px 10px;border-radius:var(--control-radius);border:1px solid var(--cs-border-field);background:var(--cs-field-bg);color:var(--cs-dark);font-size:13.5px;line-height:1.2;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:textfield;appearance:none}.conditions input:focus,.conditions select:focus,.gate-card input:focus,.composer-input:focus{outline:none;border-color:var(--cs-blue);box-shadow:0 0 0 3px #0057b824}.conditions input[type=number]::-webkit-inner-spin-button,.conditions input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.conditions select{padding-right:30px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230057b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.conditions input[type=date]{position:relative;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%230057b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:32px}.conditions input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;width:32px;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.conditions input[type=date]::-webkit-inner-spin-button{display:none}.conditions label{display:block;font-size:12px;color:var(--cs-slate);margin:9px 0 3px;font-weight:500}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions{display:flex;gap:8px;margin-top:14px}.status{margin-top:9px;font-size:12px;color:var(--cs-slate)}button.primary{background:var(--cs-blue);color:#fff;border:none;padding:8px 14px;border-radius:var(--control-radius);font-weight:600;font-size:13.5px;cursor:pointer;min-height:40px;transition:background .15s,box-shadow .15s}button.primary:hover{background:var(--cs-blue-dialog);box-shadow:0 3px 12px #0057b847}button.primary:disabled{opacity:.5;cursor:default;box-shadow:none}button.ghost{background:#fff;color:var(--cs-blue);border:1px solid var(--cs-border-field);padding:8px 14px;border-radius:var(--control-radius);cursor:pointer;font-weight:600;font-size:13.5px;min-height:40px}button.ghost:hover{border-color:var(--cs-blue);background:var(--cs-select-soft)}button.small{padding:6px 12px;font-size:12.5px;min-height:34px}.gate{height:100vh;display:flex;align-items:center;justify-content:center}.gate-card{position:relative;width:340px;background:#fff;padding:24px 22px 20px;border-radius:var(--card-radius);border:1px solid var(--cs-border-soft);box-shadow:0 18px 54px #0f172a2e;display:flex;flex-direction:column;gap:10px;overflow:hidden}.gate-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--brand-stripe)}.gate-sub{color:var(--cs-helper);text-align:center;margin:0 0 4px;font-size:12px}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--cs-border-soft)}.messages{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:7px}.placeholder{max-width:420px;margin:auto;text-align:center;line-height:1.5}.bubble{max-width:76%;padding:9px 13px;border-radius:11px;font-size:13.5px;line-height:1.42;white-space:pre-wrap;word-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--cs-blue);color:#fff;border-bottom-right-radius:4px}.bubble.nexo{align-self:flex-start;background:var(--cs-white);color:var(--cs-dark);border:1px solid var(--cs-border-soft);border-bottom-left-radius:4px;box-shadow:0 1px 6px #102f500d}.bubble.typing{display:flex;gap:4px;align-items:center}.bubble.typing span{width:6px;height:6px;border-radius:50%;background:var(--cs-turquoise);animation:blink 1.2s infinite both}.bubble.typing span:nth-child(2){animation-delay:.2s}.bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-link{color:var(--cs-blue);font-weight:600;word-break:break-all}.bubble.user .chat-link{color:#fff;text-decoration:underline}.attachment{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--cs-blue);text-decoration:none;font-weight:500}.attachment:hover{text-decoration:underline}.attachment svg{flex:none}.system-note{align-self:center;color:var(--cs-slate);font-size:11.5px;font-style:italic;background:var(--cs-select-soft);padding:4px 11px;border-radius:8px}.composer{display:flex;gap:7px;padding:11px 14px;border-top:1px solid var(--cs-border-soft);align-items:center}.composer-input{border-radius:20px;padding:8px 14px}.attach{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--cs-border-field);border-radius:var(--control-radius);width:40px;height:40px;min-width:40px;cursor:pointer;color:var(--cs-blue);padding:0;transition:border-color .15s,background .15s,color .15s}.attach:hover{border-color:var(--cs-blue);background:var(--cs-select-soft)}.attach:disabled{opacity:.5;cursor:default}.attach svg{width:19px;height:19px}.error{color:var(--cs-danger);font-size:12.5px}.chat-error{padding:0 14px 6px}@media (max-width: 1024px){.layout{grid-template-columns:1fr}.panel.left{max-height:44vh}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
