/* Kalibre OS panel — global styles copied from the frozen design-ref
   (panel/design-ref/index.html <style> block). Do not restyle: the
   design is frozen; section-level styles stay inline in the templates. */
:root{--kacc:#2D7DD2}
html,body{margin:0;padding:0;background:#10151C;color:#F7F7F5}
body{font-family:'Barlow',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#2D7DD2;text-decoration:none}
a:hover{color:#5A9BD8}
::selection{background:rgba(45,125,210,.45)}
input,button{font-family:inherit}
.kos-input::placeholder{color:rgba(247,247,245,.32)}
.kos-input:focus{outline:none;border-color:var(--kacc) !important}
@keyframes kosPulse{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes kosRing{0%{box-shadow:0 0 0 0 rgba(45,125,210,.5)}100%{box-shadow:0 0 0 18px rgba(45,125,210,0)}}
@keyframes kosWave{0%{transform:scaleY(.2)}100%{transform:scaleY(1)}}
@keyframes kosDot{0%,80%,100%{opacity:.15}40%{opacity:1}}
.kos-login{transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1)}
.kos-login.kos-hidden{opacity:0;pointer-events:none;transform:scale(1.02)}
.kos-panel{opacity:0;transform:translateY(16px)}
.kos-panel.kos-in{opacity:1;transform:none;transition:opacity .55s .1s cubic-bezier(.2,.7,.2,1),transform .55s .1s cubic-bezier(.2,.7,.2,1)}
.kos-chev{display:inline-block;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.kos-chev.open{transform:rotate(90deg)}
.kos-mic.on{background:#B03A2E !important;animation:kosRing 1.15s ease-out infinite}
.kos-close{display:flex;align-items:center;justify-content:center}
.kos-chat{position:fixed;inset:0;z-index:70;transform:translateY(103%);transition:transform .4s cubic-bezier(.2,.7,.2,1);background:#10151C;display:flex;flex-direction:column}
.kos-resize{position:relative;flex:0 0 auto;display:none;width:0}
.kos-resize::before{content:"";position:absolute;top:0;bottom:0;left:-4px;width:9px;cursor:col-resize;z-index:15}
.kos-resize::after{content:"";position:absolute;top:0;bottom:0;left:-1px;width:1px;background:rgba(216,221,227,.14)}
.kos-chat.open{transform:translateY(0)}
.kos-chatbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex}
.kos-head{padding:16px 20px}
.kos-main{padding:0 20px 132px}
@media(min-width:760px){
 .kos-eco{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:52px}
 .kos-eco2{margin-top:0 !important}
}
@media(min-width:1024px){
 .kos-chat{position:sticky;inset:auto;top:0;height:100vh;height:100dvh;width:var(--chatw,384px);flex:0 0 var(--chatw,384px);min-width:320px;max-width:50vw;transform:none;transition:none;z-index:10}
 .kos-resize{display:block}
 .kos-chatbar{display:none !important}
 .kos-close{display:none}
 .kos-head{padding:18px 44px}
 .kos-main{padding:0 44px 90px}
}
@media(min-width:1240px){
 .kos-main.kos-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:24px;row-gap:20px}
 .kos-main.kos-grid .kos-s-eco{grid-column:1/-1}
 .kos-main.kos-grid .kos-s-com{grid-column:1;grid-row:2;margin-top:0}
 .kos-main.kos-grid .kos-s-sec{grid-column:2;grid-row:2;margin-top:0}
 .kos-main.kos-grid .kos-s-ag{grid-column:1;grid-row:3;margin-top:0}
 .kos-main.kos-grid .kos-s-per{grid-column:2;grid-row:3;margin-top:0}
 .kos-s-foot{grid-column:1/-1}
}
.kos-tabs{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.kos-tabs::-webkit-scrollbar{display:none}
.kos-kb{display:none}
@media(min-width:900px){.kos-kb{display:flex}.kos-kbm{display:none}}
/* Skeleton helpers (not in design-ref): tab switching + collapsibles */
.kos-hide{display:none !important}
