/* Extracted from views/board_hub.php */
  .board-create-form .form-control,
  .board-create-form .form-select{
    min-height: 46px;
  }
  .board-create-form .board-create-col-title{
    min-width: 240px;
  }
  .board-create-form .board-create-col-option{
    min-width: 220px;
  }
  .board-create-form .board-create-submit{
    min-height: 46px;
    white-space: nowrap;
  }
  .board-create-form .board-create-col-action{
    min-width: 210px;
  }
  @media (min-width: 768px){
    .board-create-form .board-create-col-option{
      flex: 0 0 clamp(220px, 24vw, 300px);
      max-width: clamp(220px, 24vw, 300px);
    }
  }
  @media (max-width: 767.98px){
    .board-create-form .board-create-submit{
      min-height: 44px;
    }
  }

/* Extracted from views/board_canvas.php */
.board-shell{display:flex;flex-direction:column;height:100%;min-height:0;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 90%,transparent);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),var(--bs-body-bg,#fff);box-shadow:0 14px 32px rgba(15,23,42,.09)}
.board-head{display:flex;justify-content:space-between;align-items:center;gap:.55rem;padding:.6rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 85%,transparent);background:color-mix(in srgb,var(--bs-body-bg,#fff) 96%,transparent)}
.board-head h1{font-size:1rem;margin:0;max-width:44vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-workspace{display:flex;flex:1;min-height:0;min-width:0}
.board-main{display:flex;flex:1;min-width:0;min-height:0;position:relative}
.board-toolbar{width:clamp(290px,26vw,410px);flex:0 0 auto;min-width:280px;max-width:min(52vw,620px);padding:.5rem .6rem;border-right:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 85%,transparent);background:color-mix(in srgb,var(--bs-body-bg,#fff) 96%,transparent);overflow:auto;resize:horizontal;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.board-shell.tools-collapsed .board-toolbar{display:none}
.board-ribbon{display:grid;grid-template-columns:1fr;gap:.52rem;overflow:visible;padding-bottom:.08rem}
.board-ribbon-group{display:flex;align-items:center;align-content:flex-start;gap:.32rem;padding:.3rem .36rem;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bs-body-bg,#fff) 99%,transparent);flex-wrap:wrap;white-space:normal}
.board-ribbon-label{font-size:.66rem;line-height:1;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-secondary-color);margin-right:.08rem}
.board-ribbon .btn,.board-ribbon .form-select,.board-ribbon .form-control{height:32px;min-height:32px}
.board-ribbon .btn{--bs-btn-font-size:.79rem;--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.5rem}
.board-ribbon .form-select,.board-ribbon .form-control{font-size:.78rem;padding-top:.24rem;padding-bottom:.24rem}
.board-ribbon .form-select{min-width:92px;flex:1 1 120px}
.board-ribbon .form-control{flex:1 1 120px}
.board-ribbon .form-control-color{width:32px;min-width:32px;padding:0;border:none;background:transparent}
.board-ribbon-group > .board-ribbon-label{display:block;flex:1 0 100%;margin:0 0 .06rem 0}
.board-fill-switch{display:inline-flex;align-items:center;gap:.3rem;padding:0 .08rem;margin:0}
.board-fill-switch .form-check-input{margin:0}
.board-tool-dropdown{max-width:100%;min-width:0;flex:1 1 170px}
.board-tool-dropdown .dropdown-toggle{max-width:100%;width:100%}
.board-tool-dropdown .dropdown-menu{--bs-dropdown-min-width:0;padding:.5rem;min-width:220px;width:min(340px,calc(100vw - 1.2rem));max-width:calc(100vw - 1.2rem);max-height:56vh;border-radius:12px;overflow:auto}
.board-tool-dropdown-shapes{flex:0 0 auto}
.board-tool-dropdown-shapes .dropdown-toggle{width:auto}
.board-tool-dropdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:.3rem}
.board-tool-dropdown-grid .btn{width:100%}
.board-tool-menu-row{display:grid;grid-template-columns:1fr 1fr;gap:.42rem;max-width:100%}
.board-tool-menu-row .form-select,.board-tool-menu-row .form-control{width:100%}
.board-tool-menu-row .form-control-color{width:100%;height:32px}
.board-tool-menu-label{font-size:.68rem;color:var(--bs-secondary-color);margin-bottom:.2rem}
.board-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;width:100%}
.board-tool-btn{display:flex;align-items:center;justify-content:flex-start;gap:.38rem;text-align:left;min-height:34px}
.board-tool-btn span{font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-ribbon-group-tools .board-ribbon-label{margin-bottom:.18rem}
.board-range-wrap{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 140px}
.board-range-wrap input[type="range"]{width:100%}
.board-stage{position:relative;flex:1;min-width:0;min-height:280px;background:#fff}
#boardCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
#boardStatus{position:absolute;right:.45rem;bottom:.35rem;background:rgba(var(--bs-body-bg-rgb),.82);border:1px solid rgba(var(--bs-border-color-rgb),.32);padding:.12rem .42rem;border-radius:999px;font-size:.75rem;color:var(--bs-secondary-color)}
#boardTextEditor{position:absolute;z-index:5;min-width:150px;min-height:60px;max-width:min(80vw,420px);padding:.35rem .45rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--t-accent,#6f6fff) 50%,transparent);box-shadow:0 12px 24px rgba(0,0,0,.2)}
.board-readonly{font-size:.76rem;border:1px solid rgba(245,158,11,.45);background:rgba(245,158,11,.1);border-radius:999px;padding:.1rem .5rem}
.board-chat{display:none;position:fixed;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.1rem,env(safe-area-inset-bottom));width:min(420px,calc(100vw - 1.2rem));height:min(72vh,640px);z-index:1135;flex-direction:column;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 82%,transparent);border-radius:14px;overflow:hidden;box-shadow:0 18px 46px rgba(15,23,42,.22);background:color-mix(in srgb,var(--bs-body-bg,#fff) 98%,transparent)}
.board-chat.is-open{display:flex}
.board-chat.is-minimized{height:auto;max-height:none}
.board-chat.is-minimized .board-chat-body-wrap{display:none}
.board-chat.is-expanded{width:min(76vw,980px);height:min(86vh,820px)}
.board-chat-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.55rem .7rem;border-bottom:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 82%,transparent)}
.board-chat-title{font-weight:700;font-size:.9rem;line-height:1.15}
.board-chat-status{font-size:.72rem;color:var(--bs-secondary-color)}
.board-chat-head-actions{display:inline-flex;align-items:center;gap:.28rem}
.board-chat-head-actions .btn{--bs-btn-padding-y:.1rem;--bs-btn-padding-x:.38rem;--bs-btn-font-size:.76rem}
.board-chat-body-wrap{display:flex;flex-direction:column;min-height:0;flex:1}
.board-chat-list{flex:1;min-height:0;overflow:auto;padding:.55rem;display:flex;flex-direction:column;gap:.45rem;background:color-mix(in srgb,var(--bs-body-bg,#fff) 99%,transparent)}
.board-chat-empty{font-size:.82rem;color:var(--bs-secondary-color);text-align:center;padding:1rem .6rem;border:1px dashed color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 80%,transparent);border-radius:10px}
.board-chat-item{display:flex;align-items:flex-start;gap:.4rem;max-width:100%}
.board-chat-item.is-mine{justify-content:flex-end}
.board-chat-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--t-accent,#6f6fff) 14%, transparent);font-size:.9rem;flex:0 0 30px;overflow:hidden;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 75%,transparent)}
.board-chat-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.board-chat-bubble{max-width:100%;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 80%,transparent);background:var(--bs-body-bg,#fff);border-radius:14px;padding:.4rem .52rem;box-shadow:0 6px 14px rgba(20,25,40,.05)}
.board-chat-item.is-mine .board-chat-bubble{background:color-mix(in srgb,var(--t-accent,#6f6fff) 12%,var(--bs-body-bg,#fff));border-top-right-radius:7px}
.board-chat-item:not(.is-mine) .board-chat-bubble{border-top-left-radius:7px}
.board-chat-meta{display:flex;align-items:center;gap:.42rem;font-size:.69rem;color:var(--bs-secondary-color);margin-bottom:.2rem}
.board-chat-name{font-weight:600;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bs-body-color,#1f2937)}
.board-chat-body{font-size:.82rem;line-height:1.3;word-break:break-word;white-space:normal}
.board-chat-file{margin-top:.33rem}
.board-chat-file-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;text-decoration:none;padding:.24rem .42rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 75%,transparent);background:color-mix(in srgb,var(--t-accent,#6f6fff) 7%,var(--bs-body-bg,#fff));max-width:100%;overflow:hidden;text-overflow:ellipsis}
.board-chat-file-actions{display:flex;align-items:center;gap:.35rem;margin-top:.33rem;flex-wrap:wrap}
.board-chat-file-actions .btn{--bs-btn-padding-y:.18rem;--bs-btn-padding-x:.46rem;--bs-btn-font-size:.74rem;border-radius:.5rem}
.board-chat-image{display:block;max-width:100%;width:100%;height:auto;border-radius:10px;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 75%,transparent)}
.board-chat-audio,.board-chat-video{width:100%;max-width:100%;height:34px}
.board-chat-video{height:auto;border-radius:10px;max-height:220px;background:#000}
.board-chat-compose{padding:.55rem .65rem;border-top:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 82%,transparent);display:grid;gap:.42rem;background:color-mix(in srgb,var(--bs-body-bg,#fff) 98%,transparent)}
.board-chat-compose textarea{resize:none;min-height:72px;max-height:150px;font-size:16px}
.board-chat-actions{display:flex;align-items:center;justify-content:space-between;gap:.42rem}
.board-chat-record-state{min-height:1.05rem;font-size:.72rem;color:var(--bs-secondary-color)}
#boardChatRecordBtn.is-recording{border-color:#dc3545;background:rgba(220,53,69,.12);color:#dc3545}
.board-quicktools{position:fixed;z-index:1145;width:min(360px,calc(100vw - 1rem));padding:.55rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.32)) 90%,transparent);box-shadow:0 16px 36px rgba(15,23,42,.2);background:var(--bs-body-bg,#fff);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.board-quicktools-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}
.board-quicktools-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}
.board-quicktools-grid .btn{width:100%}
.board-quicktools-actions{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.52rem;flex-wrap:wrap}
#boardCtxMenu{z-index:1152}
#boardQuickToolsFab{position:fixed;left:max(.8rem,env(safe-area-inset-left));bottom:max(.8rem,env(safe-area-inset-bottom));z-index:1140;border-radius:999px;box-shadow:0 8px 22px rgba(15,23,42,.26)}
.board-voice-panel{border-bottom:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 80%,transparent);padding:.5rem .6rem;background:color-mix(in srgb,var(--t-accent,#6f6fff) 7%,var(--bs-body-bg,#fff))}
.board-voice-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.board-voice-state{font-size:.77rem;font-weight:600}
.board-voice-members{max-height:96px;overflow:auto;display:flex;flex-wrap:wrap;gap:.28rem;margin-top:.35rem}
.board-voice-chip{font-size:.68rem;padding:.18rem .44rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 80%,transparent);background:var(--bs-body-bg,#fff)}
.board-voice-chip.is-self{border-color:color-mix(in srgb,var(--t-accent,#6f6fff) 55%, transparent);background:color-mix(in srgb,var(--t-accent,#6f6fff) 13%, var(--bs-body-bg,#fff))}
.board-voice-actions{display:flex;align-items:center;justify-content:space-between;gap:.38rem;margin-top:.45rem;flex-wrap:wrap}
.board-voice-actions .btn{--bs-btn-font-size:.72rem;--bs-btn-padding-y:.18rem;--bs-btn-padding-x:.45rem}
.board-voice-checks{font-size:.7rem;color:var(--bs-secondary-color,#6b7280);margin-top:.35rem}
.board-voice-local-video{display:block;width:min(180px,100%);aspect-ratio:16/9;border-radius:10px;object-fit:cover;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 78%,transparent);background:#000;margin-top:.45rem}
.board-voice-video-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.35rem;margin-top:.45rem}
.board-voice-video-tile{border-radius:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.28)) 78%,transparent);background:#000;position:relative}
.board-voice-video-tile video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.board-voice-video-label{position:absolute;left:.25rem;bottom:.22rem;font-size:.62rem;line-height:1;padding:.14rem .28rem;border-radius:999px;background:rgba(0,0,0,.45);color:#fff}
body.board-faux-fullscreen .board-shell{position:fixed!important;inset:0!important;z-index:1120!important;border:0!important;border-radius:0!important}
body.board-faux-fullscreen .app-shell>.sidebar{display:none!important}
body.board-faux-fullscreen .app-shell>.content{width:100%!important;max-width:none!important;flex:1 1 100%!important}
body.board-faux-fullscreen .content.content-canvas-mode>.navbar{display:none!important}
body.board-faux-fullscreen .chat-canvas-stage{padding:0!important;max-width:none!important}
@media (max-width:1199.98px){.board-toolbar{width:clamp(270px,30vw,360px);flex-basis:auto}.board-ribbon-group{padding:.26rem .3rem}.board-ribbon .btn{--bs-btn-padding-x:.42rem}.board-tool-dropdown-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.board-tool-menu-row{grid-template-columns:1fr}.board-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:991.98px){.board-shell{border-radius:0;border-left:0;border-right:0}.board-head{padding-left:max(.55rem,env(safe-area-inset-left));padding-right:max(.55rem,env(safe-area-inset-right))}.board-head h1{max-width:42vw}.board-toolbar{position:absolute;left:max(.45rem,env(safe-area-inset-left));top:max(.45rem,env(safe-area-inset-top));bottom:max(.45rem,env(safe-area-inset-bottom));z-index:1121;width:min(90vw,360px);max-width:calc(100% - max(.9rem,env(safe-area-inset-left) + env(safe-area-inset-right)));min-width:auto;resize:none;padding:.45rem .48rem;border:1px solid color-mix(in srgb,var(--t-border-color,rgba(120,130,160,.3)) 85%,transparent);border-radius:12px;box-shadow:0 14px 30px rgba(15,23,42,.2)}.board-ribbon{gap:.34rem}.board-ribbon-group{gap:.24rem;border-radius:9px}.board-ribbon .btn,.board-ribbon .form-select,.board-ribbon .form-control{height:30px;min-height:30px}.board-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-chat{right:max(.5rem,env(safe-area-inset-right));left:max(.5rem,env(safe-area-inset-left));bottom:max(.5rem,env(safe-area-inset-bottom));width:auto;height:min(78vh,560px)}.board-chat.is-expanded{inset:max(.35rem,env(safe-area-inset-top)) max(.35rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));width:auto;height:auto}.board-chat-compose{padding-bottom:max(.55rem,env(safe-area-inset-bottom))}.board-chat-compose textarea{min-height:58px;max-height:120px}#boardQuickToolsFab{left:max(.5rem,env(safe-area-inset-left));bottom:max(.5rem,env(safe-area-inset-bottom))}.board-quicktools{width:calc(100vw - max(.8rem,env(safe-area-inset-left) + env(safe-area-inset-right)))}.board-quicktools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.board-view-page .content.content-canvas-mode .chat-canvas-stage{padding:0!important;max-width:none!important;margin-inline:0!important}}
@media (max-width:991.98px) and (display-mode: standalone){.board-shell{height:100dvh;max-height:100dvh}.board-head{padding-top:max(env(safe-area-inset-top), .55rem)}.board-stage{padding-bottom:max(env(safe-area-inset-bottom), .2rem)}body.board-view-page .content.content-canvas-mode>.navbar{display:none!important}body.board-view-page .content.content-canvas-mode .chat-canvas-stage{padding:0!important}}

.board-tool-menu-span-full{grid-column:1 / -1;}