.cabina-entry{
    position:fixed;
    z-index:1200;
    right:34px;
    bottom:27px;
    width:178px;
    height:235px;
    pointer-events:none;
  }
.cabina-invite{
    position:absolute;
    top:0;
    right:9px;
    width:164px;
    height:122px;
    color:#fff;
    text-align:center;
    transform:rotate(-4deg);
    filter:drop-shadow(0 2px 3px rgba(0,38,105,.32));
  }
.cabina-invite span{
    display:block;
    font-family:"Comic Sans MS","Bradley Hand","Segoe Print",cursive;
    font-size:19px;
    font-weight:700;
    line-height:1.08;
    letter-spacing:.01em;
  }
.cabina-invite svg{
    position:absolute;
    top:42px;
    right:15px;
    width:72px;
    height:82px;
    overflow:visible;
    fill:none;
    stroke:#fff;
    stroke-width:4;
    stroke-linecap:round;
    stroke-linejoin:round;
    transform:rotate(7deg);
  }
.cabina-launcher{
    position:absolute;
    right:13px;
    bottom:0;
    display:grid;
    place-items:center;
    width:108px;
    height:108px;
    padding:0;
    border:1.5px solid rgba(255,255,255,.96);
    border-radius:50%;
    background:
      radial-gradient(circle at 34% 28%,
        rgba(25,151,225,.34),
        rgba(5,78,180,.62) 47%,
        rgba(3,45,129,.84) 100%);
    color:#fff;
    box-shadow:
      0 0 0 5px rgba(17,151,226,.09),
      0 0 26px rgba(25,155,234,.52),
      0 14px 32px rgba(2,35,105,.34),
      inset 0 1px 12px rgba(255,255,255,.16);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    cursor:pointer;
    pointer-events:auto;
    transform:translateZ(0);
    transition:
      transform .24s cubic-bezier(.22,.61,.36,1),
      box-shadow .24s ease,
      filter .24s ease;
  }
.cabina-launcher:hover{
    transform:translateY(-4px) scale(1.035);
    filter:brightness(1.08);
    box-shadow:
      0 0 0 7px rgba(17,151,226,.12),
      0 0 34px rgba(25,166,245,.68),
      0 18px 36px rgba(2,35,105,.38),
      inset 0 1px 14px rgba(255,255,255,.22);
  }
.cabina-launcher:active{
    transform:translateY(-1px) scale(.98);
  }
.cabina-launcher:focus-visible{
    outline:3px solid rgba(255,255,255,.72);
    outline-offset:5px;
  }
.cabina-launcher-icon{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
  }
.cabina-launcher-icon svg{
    width:58px;
    height:58px;
    overflow:visible;
  }
.cabina-chat, .cabina-note, .cabina-lines{
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
.cabina-chat{
    stroke-width:3.2;
  }
.cabina-note{
    stroke-width:3.2;
  }
.cabina-lines{
    stroke-width:2.6;
  }
.cabina-launcher-online{
    position:absolute;
    top:9px;
    right:10px;
    width:18px;
    height:18px;
    border:3px solid #0757a9;
    border-radius:50%;
    background:#39df78;
    box-shadow:
      0 0 0 3px rgba(57,223,120,.12),
      0 0 10px rgba(57,223,120,.9);
  }
.cabina-entry{
    display:none;
  }
.cabina-panel{
    position:fixed;
    z-index:5000;
    right:34px;
    bottom:150px;
    display:flex;
    flex-direction:column;
    width:min(390px,calc(100vw - 68px));
    height:min(620px,calc(100vh - 185px));
    min-height:500px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.84);
    border-radius:28px;
    background:rgba(247,252,255,.96);
    box-shadow:
      0 28px 75px rgba(2,35,105,.28),
      0 5px 20px rgba(7,115,200,.12);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px) scale(.965);
    transform-origin:right bottom;
    transition:
      opacity .26s ease,
      transform .32s cubic-bezier(.22,.61,.36,1),
      visibility 0s linear .32s;
  }
.cabina-panel.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition:
      opacity .26s ease,
      transform .32s cubic-bezier(.22,.61,.36,1),
      visibility 0s;
  }
.cabina-panel-head{
    position:relative;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:25px 25px 22px;
    color:#fff;
    background:
      radial-gradient(circle at 88% 10%,
        rgba(42,184,242,.35),
        transparent 37%),
      linear-gradient(135deg,#073f9e,#0879c9);
  }
.cabina-panel-kicker{
    display:block;
    margin-bottom:1px;
    color:#8fdbff;
    font-size:.63rem;
    font-weight:950;
    letter-spacing:.2em;
  }
.cabina-panel-head h2{
    margin:0;
    color:#fff;
    font-size:1.65rem;
    font-weight:950;
    line-height:1;
    letter-spacing:-.025em;
  }
.cabina-panel-status{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:7px;
    color:#d8f2ff;
    font-size:.72rem;
    font-weight:800;
  }
.cabina-panel-status i{
    width:9px;
    height:9px;
    flex:0 0 9px;
    border-radius:50%;
    background:#39df78;
    box-shadow:0 0 9px rgba(57,223,120,.85);
  }
.cabina-panel-status b{
    color:rgba(255,255,255,.55);
  }
.cabina-panel-close{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0 0 3px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:1.55rem;
    font-weight:400;
    line-height:1;
    transition:
      background .2s ease,
      transform .2s ease;
  }
.cabina-panel-close:hover{
    background:rgba(255,255,255,.22);
    transform:rotate(5deg);
  }
.cabina-live{
    display:grid;
    gap:3px;
    padding:18px 24px 17px;
    border-bottom:1px solid rgba(7,115,200,.09);
    background:
      linear-gradient(90deg,
        rgba(7,115,200,.075),
        rgba(255,255,255,.45));
  }
.cabina-live-label{
    color:#ef8b19;
    font-size:.58rem;
    font-weight:950;
    letter-spacing:.16em;
  }
.cabina-live strong{
    overflow:hidden;
    color:#073f9e;
    font-size:1.05rem;
    font-weight:950;
    line-height:1.15;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
.cabina-live > span:last-child{
    overflow:hidden;
    color:#6485a5;
    font-size:.75rem;
    font-weight:750;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
.cabina-conversation{
    flex:1;
    min-height:0;
    overflow:auto;
    padding:22px 20px;
  }
.cabina-bot-message{
    display:flex;
    align-items:flex-end;
    gap:9px;
  }
.cabina-bot-mark{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:50%;
    background:linear-gradient(135deg,#073f9e,#1298db);
    color:#fff;
    box-shadow:0 5px 12px rgba(7,63,158,.18);
    font-size:.58rem;
    font-weight:950;
    letter-spacing:.04em;
  }
.cabina-bot-message > div{
    max-width:285px;
    padding:13px 15px;
    border:1px solid rgba(7,115,200,.09);
    border-radius:18px 18px 18px 5px;
    background:#fff;
    box-shadow:0 6px 18px rgba(7,63,158,.07);
  }
.cabina-bot-message p{
    margin:0;
    color:#294f75;
    font-size:.82rem;
    font-weight:650;
    line-height:1.45;
  }
.cabina-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:17px 0 0 41px;
  }
.cabina-actions button{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    min-height:42px;
    padding:9px 11px;
    border:1px solid rgba(7,115,200,.13);
    border-radius:13px;
    background:#fff;
    color:#0873c8;
    box-shadow:0 4px 12px rgba(7,63,158,.055);
    font-size:.7rem;
    font-weight:900;
    transition:
      transform .18s ease,
      border-color .18s ease,
      box-shadow .18s ease;
  }
.cabina-actions button:last-child{
    grid-column:1/-1;
  }
.cabina-actions button:hover{
    border-color:rgba(7,115,200,.35);
    box-shadow:0 7px 15px rgba(7,63,158,.09);
    transform:translateY(-1px);
  }
.cabina-actions button span{
    display:grid;
    place-items:center;
    width:23px;
    height:23px;
    flex:0 0 23px;
    border-radius:50%;
    background:rgba(7,115,200,.08);
    color:#ef8b19;
    font-size:.8rem;
  }
.cabina-compose{
    padding:15px 18px 17px;
    border-top:1px solid rgba(7,115,200,.09);
    background:rgba(255,255,255,.78);
  }
.cabina-input-shell{
    display:grid;
    grid-template-columns:1fr 40px;
    align-items:center;
    gap:7px;
    padding:5px 6px 5px 14px;
    border:1px solid rgba(7,115,200,.16);
    border-radius:999px;
    background:#fff;
    box-shadow:inset 0 1px 3px rgba(7,63,158,.04);
  }
.cabina-input-shell input{
    width:100%;
    min-width:0;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#294f75;
    font:inherit;
    font-size:.78rem;
  }
.cabina-input-shell input::placeholder{
    color:#91a9be;
  }
.cabina-input-shell button{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0 2px 1px 0;
    border-radius:50%;
    background:linear-gradient(135deg,#073f9e,#0879c9);
    color:#fff;
    font-size:1rem;
    opacity:.55;
  }
.cabina-compose small{
    display:block;
    margin-top:9px;
    color:#6f8ca6;
    font-size:.72rem;
    font-weight:700;
    line-height:1.45;
    text-align:center;
  }
.cabina-entry.cabina-is-open .cabina-invite{
    opacity:0;
    transform:translateY(7px) rotate(-4deg);
    transition:
      opacity .18s ease,
      transform .18s ease;
  }
.cabina-entry.cabina-is-open .cabina-launcher{
    transform:scale(.92);
    opacity:.72;
  }
.cabina-panel{
    display:none;
  }
.cabina-panel.cabina-no-dj .cabina-panel-head{
    background:
      radial-gradient(circle at 88% 10%,
        rgba(255,112,112,.25),
        transparent 37%),
      linear-gradient(135deg,#a7192b,#e43845);
  }
.cabina-panel.cabina-no-dj .cabina-panel-kicker{
    color:#ffd9dd;
  }
.cabina-panel.cabina-no-dj .cabina-panel-status{
    color:#fff0f1;
  }
.cabina-panel.cabina-no-dj .cabina-panel-status i{
    background:#ff3347;
    box-shadow:
      0 0 0 3px rgba(255,51,71,.14),
      0 0 10px rgba(255,51,71,.9);
  }
.cabina-panel.cabina-offline .cabina-panel-head{
    background:
      radial-gradient(circle at 88% 10%,
        rgba(255,255,255,.12),
        transparent 37%),
      linear-gradient(135deg,#344b60,#607486);
  }
.cabina-panel.cabina-offline .cabina-panel-kicker{
    color:#dce5ec;
  }
.cabina-panel.cabina-offline .cabina-panel-status{
    color:#eef3f6;
  }
.cabina-panel.cabina-offline .cabina-panel-status i{
    background:#aab6c0;
    box-shadow:0 0 0 3px rgba(170,182,192,.14);
  }
.cabina-actions button[hidden]{
    display:none;
  }
.cabina-chat-message{
    margin-top:14px;
  }
.cabina-user-message{
    display:flex;
    justify-content:flex-end;
    margin:14px 0 0 41px;
  }
.cabina-user-message > div{
    max-width:285px;
    padding:12px 15px;
    border-radius:18px 18px 5px 18px;
    background:linear-gradient(135deg,#0879c9,#0756ae);
    box-shadow:0 6px 18px rgba(7,63,158,.14);
  }
.cabina-user-message p{
    margin:0;
    color:#fff;
    font-size:.82rem;
    font-weight:650;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
.cabina-input-shell:focus-within{
    border-color:rgba(7,115,200,.42);
    box-shadow:
      0 0 0 3px rgba(7,115,200,.07),
      inset 0 1px 3px rgba(7,63,158,.04);
  }
.cabina-input-shell button:not(:disabled){
    opacity:1;
    cursor:pointer;
  }
.cabina-input-shell input:not(:disabled){
    cursor:text;
  }
.cabina-entry{
    display:block !important;
  }
.cabina-panel.open{
    display:flex !important;
  }
@media(min-width:701px){
  #cabinaPanel.cabina-panel{
    position:fixed;
    right:24px;
    bottom:105px;
    z-index:9999;
  }
  #cabinaPanel.cabina-panel.open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}
@media(max-width:700px){
  #cabinaPanel.cabina-panel{display:none!important}
}





.cabina-typing-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  opacity: .8;
}
.cabina-typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.cabina-typing-dots i {
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .3;
  animation: cabinaTypingBounce 1.1s infinite ease-in-out;
}
.cabina-typing-dots i:nth-child(2) { animation-delay: .15s; }
.cabina-typing-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes cabinaTypingBounce {
  0%, 60%, 100% { transform: translateY(0); opacity: .3; }
  30% { transform: translateY(-4px); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .cabina-typing-dots i { animation: none; }
}

@media (min-width:701px) {
  #cabinaPanel {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  }
  #cabinaPanel button,
  #cabinaPanel input,
  #cabinaPanel textarea {
    font-family: inherit;
  }
}

/* Approved standalone Cabina appearance */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

#cabinaPanel {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', sans-serif;
}

#cabinaPanel .cabina-chat-message p,
#cabinaPanel .cabina-user-message p {
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: -0.01em;
    white-space: pre-line;
}

#cabinaPanel button,
#cabinaPanel input {
    font-family: inherit;
}



/* Unified typography */
#cabinaPanel,
#cabinaPanel * {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

#cabinaPanel {
  background:rgba(248,252,255,.98);
  border:1px solid rgba(255,255,255,.9);
  border-radius:25px;
  box-shadow:0 22px 65px rgba(7,63,158,.17);
  overflow:hidden;
}

/* Quick actions */
#cabinaPanel .cabina-actions {
  background:rgba(244,250,255,.85);
  border-top:1px solid #e2edf7;
}

#cabinaPanel .cabina-actions button {
  background:#fff;
  color:#0c599d;
  border:1px solid #dceaf6;
  border-radius:13px;
  font-weight:550;
  box-shadow:0 2px 7px rgba(7,63,158,.035);
}

#cabinaPanel .cabina-actions button:hover:not(:disabled) {
  background:#edf8ff;
  border-color:#7ac9eb;
}

#cabinaPanel .cabina-actions button:disabled {
  opacity:.35 !important;
  filter:grayscale(1);
  cursor:not-allowed;
}

/* Input and send button */
#cabinaPanel .cabina-input-shell {
  background:#fff;
  border:1px solid #d8e8f5;
  border-radius:18px;
  box-shadow:0 3px 12px rgba(7,63,158,.045);
}

#cabinaPanel .cabina-input-shell input {
  font-size:14px;
  font-weight:400;
  color:#154c82;
}

#cabinaPanel .cabina-input-shell button {
  background:linear-gradient(135deg,#0c68bc,#13a3df);
  border-radius:13px;
}

/* Footer and restart */
#cabinaPanel footer,
#cabinaPanel .cabina-footer {
  background:#f5fbff;
  color:#6487a6;
  border-top:1px solid #e4eff8;
  font-weight:400;
}

#cabinaPanel button {
  transition:background .2s,border-color .2s,box-shadow .2s;
}

@media(max-width:700px) {
  #cabinaPanel {
    border-radius:20px 20px 0 0;
  }
}



#cabinaPanel .cabina-live strong {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 600;
  letter-spacing: -0.025em;
}

#cabinaPanel .cabina-live #cabinaDj {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 400;
  letter-spacing: -0.01em;
}

#cabinaPanel .cabina-bot-message p,
#cabinaPanel .cabina-user-message p,
#cabinaPanel #cabinaGreeting {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.01em;
}



#cabinaPanel .cabina-actions button {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
}



#cabinaPanel .cabina-input-shell:has(#cabinaInput:disabled) {
  background:#e4e8ed !important;
  border-color:#cbd2da !important;
  box-shadow:none !important;
}

#cabinaPanel #cabinaInput:disabled {
  background:transparent !important;
  color:#89939e !important;
  -webkit-text-fill-color:#89939e;
  cursor:not-allowed;
}

#cabinaPanel #cabinaInput:disabled::placeholder {
  color:#929ca7 !important;
  opacity:1;
}

#cabinaPanel #cabinaSend {
  transition:transform .2s ease,box-shadow .2s ease,
             filter .2s ease,opacity .2s ease;
}

#cabinaPanel #cabinaSend:hover:not(:disabled) {
  transform:translateY(-2px) scale(1.06);
  box-shadow:0 5px 15px rgba(12,104,188,.3);
  filter:brightness(1.12);
  cursor:pointer;
}

#cabinaPanel #cabinaSend:active:not(:disabled) {
  transform:scale(.94);
}

#cabinaPanel #cabinaSend:disabled {
  background:#b3bdc8 !important;
  opacity:.5 !important;
  box-shadow:none !important;
  filter:grayscale(1);
  cursor:not-allowed;
}

#cabinaPanel .cabina-panel-status i {
  animation:cabinaOnlinePulse 2.8s ease-in-out infinite;
}

@keyframes cabinaOnlinePulse {
  0%,100% {
    box-shadow:0 0 0 0 rgba(57,223,120,.12);
  }
  50% {
    box-shadow:0 0 0 5px rgba(57,223,120,.12),
               0 0 12px rgba(57,223,120,.45);
  }
}

@media (prefers-reduced-motion:reduce) {
  #cabinaPanel .cabina-panel-status i {
    animation:none;
  }
  #cabinaPanel #cabinaSend {
    transition:none;
  }
}



#cabinaPanel .cabina-input-shell:has(#cabinaInput:disabled) {
  background:#d8dde4 !important;
  border-color:#b9c1cb !important;
  box-shadow:none !important;
}

#cabinaPanel #cabinaInput:disabled {
  background:#d8dde4 !important;
  color:#87919d !important;
  -webkit-text-fill-color:#87919d !important;
  opacity:1 !important;
}

#cabinaPanel #cabinaInput:disabled::placeholder {
  color:#87919d !important;
  opacity:1 !important;
}

#cabinaPanel #cabinaSend:disabled {
  background:#aab3bf !important;
  opacity:1 !important;
  box-shadow:none !important;
  filter:grayscale(1) !important;
}



#cabinaPanel .cabina-input-shell:has(#cabinaInput:disabled) {
  background:#e1e5ea !important;
  border-color:#cbd2da !important;
  box-shadow:none !important;
}

#cabinaPanel #cabinaInput:disabled {
  background:transparent !important;
  color:#929ba6 !important;
  -webkit-text-fill-color:#929ba6 !important;
  cursor:not-allowed !important;
}

#cabinaPanel #cabinaInput:disabled::placeholder {
  color:#929ba6 !important;
  opacity:1 !important;
}

#cabinaPanel #cabinaSend:disabled {
  background:#b8c0ca !important;
  color:#e7eaee !important;
  opacity:1 !important;
  box-shadow:none !important;
  filter:none !important;
  cursor:not-allowed !important;
}

/* cabina-actions-two-column-layout */
#cabinaPanel .cabina-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

#cabinaPanel .cabina-actions button {
  grid-column: auto;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  height: 100%;
  box-sizing: border-box;
  white-space: normal;
  justify-content: flex-start;
  text-align: left;
  line-height: 1.3;
  padding: 8px;
}

#cabinaPanel .cabina-actions button:last-child {
  grid-column: auto;
}

#cabinaPanel .cabina-actions button[hidden] {
  display: none !important;
}

#cabinaPanel .cabina-actions:has(button[data-cabina-action="song"][hidden]) {
  grid-template-columns: minmax(0, 1fr);
}
