/* Onepim Smart Sheet - top menu as a Ribbon (js/ui/ribbon.js), same look as Onepim PDF Editor
   Ken Decor Group Design System v1: teal #0B8A96, Bai Jamjuree (tabs) + Anuphan (UI), 4px corners, 1px lines */
@font-face{font-family:"Bai Jamjuree";font-weight:700;font-display:swap;src:url("../assets/fonts/kd/bai-jamjuree-thai-700-normal.woff2") format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Bai Jamjuree";font-weight:700;font-display:swap;src:url("../assets/fonts/kd/bai-jamjuree-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Anuphan";font-weight:400;font-display:swap;src:url("../assets/fonts/kd/anuphan-thai-400-normal.woff2") format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Anuphan";font-weight:400;font-display:swap;src:url("../assets/fonts/kd/anuphan-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Anuphan";font-weight:700;font-display:swap;src:url("../assets/fonts/kd/anuphan-thai-700-normal.woff2") format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Anuphan";font-weight:700;font-display:swap;src:url("../assets/fonts/kd/anuphan-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2212}

header.ss-ribbon{
  --kd-primary:#0B8A96;--kd-primary-dark:#076A74;--kd-primary-darkest:#054E55;--kd-primary-light:#8FD3D8;--kd-primary-tint:#E3F1F2;
  --rb-ink:#3D4A4D;--rb-mute:rgba(61,74,77,.72);--rb-line:rgba(61,74,77,.16);--rb-bg:#FFFFFF;--rb-bg-alt:#F5F7F6;--rb-hover:#F5F7F6;
  --kd-font:"Anuphan","Noto Sans Thai","Leelawadee UI",system-ui,sans-serif;
  --kd-display:"Bai Jamjuree","Anuphan","Noto Sans Thai",sans-serif;
  display:block;flex:none;position:relative;z-index:40;padding:0;background:var(--rb-bg);color:var(--rb-ink);
  border-bottom:1px solid var(--rb-line);font-family:var(--kd-font);font-size:13px;line-height:1.5;user-select:none
}
body.dark-theme header.ss-ribbon{
  --kd-primary:#22B8C4;--kd-primary-dark:#5CCAD3;--kd-primary-darkest:#8FE0E6;--kd-primary-light:#1F6E76;--kd-primary-tint:#123B40;
  --rb-ink:#E2E8F0;--rb-mute:rgba(226,232,240,.68);--rb-line:#334155;--rb-bg:#1e293b;--rb-bg-alt:#0f172a;--rb-hover:#334155
}
.ss-ribbon .rb-hold,.ss-ribbon [hidden],.ss-ribbon .hidden{display:none!important}

/* row 1: logo, name, ไฟล์ menu, quick access, tabs ... file name, version, theme, fold */
.ss-ribbon .rb-top{display:flex;align-items:center;gap:4px;height:36px;padding:0 8px;background:var(--rb-bg-alt);border-bottom:1px solid var(--rb-line);min-width:0}
.ss-ribbon .rb-brand{display:flex;align-items:center;gap:6px;flex:none;margin-right:6px}
.ss-ribbon .rb-logo{width:24px;height:24px;object-fit:contain}
.ss-ribbon .rb-app{font-family:var(--kd-display);font-weight:700;font-size:14px;color:var(--kd-primary-darkest);white-space:nowrap;letter-spacing:.2px}
.ss-ribbon .rb-app b{font-weight:700;color:var(--kd-primary)}
.ss-ribbon .rb-tabs{display:flex;align-self:flex-end;gap:2px;flex:none}
.ss-ribbon .rb-tab{border:1px solid transparent;border-bottom:0;background:transparent;height:31px;padding:0 14px;font-family:var(--kd-display);font-weight:700;font-size:13px;color:var(--rb-mute);cursor:pointer;border-radius:4px 4px 0 0;margin-bottom:-1px;white-space:nowrap}
.ss-ribbon .rb-tab:hover{color:var(--rb-ink);background:var(--rb-bg)}
.ss-ribbon .rb-tab.on{background:var(--rb-bg);color:var(--kd-primary-darkest);border-color:var(--rb-line);box-shadow:inset 0 2px 0 var(--kd-primary)}
.ss-ribbon .rb-fill{flex:1;min-width:4px}
.ss-ribbon .rb-right{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}
.ss-ribbon .rb-qa{display:flex;align-items:center;margin-right:8px;padding-right:6px;border-right:1px solid var(--rb-line);flex:none}

/* cloud "ไฟล์" menu (cloud_ui.js) sits in row 1 like the File tab of Office */
.ss-ribbon #kmp-cloud-strip.rb-strip{height:26px;background:none;border:0;box-shadow:none;flex:none;margin-right:6px;overflow:visible}
.ss-ribbon #kmp-cloud-strip.rb-strip.kmp-cloud-off{display:none}
.ss-ribbon #kmp-cloud-strip .kmp-cloud-menubtn{background:var(--kd-primary-dark);border:0;border-radius:4px;padding:0 12px;box-shadow:none;font-family:var(--kd-display);font-size:13px;height:26px}
.ss-ribbon #kmp-cloud-strip .kmp-cloud-menubtn:hover,.ss-ribbon #kmp-cloud-strip .kmp-cloud-menubtn[aria-expanded="true"]{background:var(--kd-primary-darkest)}
body.dark-theme .ss-ribbon #kmp-cloud-strip .kmp-cloud-menubtn{background:#0B8A96}
.ss-ribbon #kmp-cloud-strip .kmp-cloud-quicksave{display:none}
.ss-ribbon .kmp-cloud-menu{top:calc(100% + 4px);z-index:80}
.ss-ribbon .kmp-cloud-info{padding:0 4px;gap:6px;min-width:0;font-size:12px;white-space:nowrap}
.ss-ribbon .kmp-cloud-info b{color:var(--rb-mute);font-weight:400;max-width:220px}
.ss-ribbon .rb-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border:1px solid var(--kd-primary-light);border-radius:4px;background:var(--kd-primary-tint);color:var(--kd-primary-darkest);font-size:12px;white-space:nowrap;cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.ss-ribbon .rb-chip span{display:none}
.ss-ribbon .rb-su{background:#FEF3C7;border-color:#F59E0B;color:#78350F;cursor:default}

/* buttons */
.ss-ribbon .rb-b{display:flex;border:0;background:transparent;color:var(--rb-ink);border-radius:4px;cursor:pointer;white-space:nowrap;font-family:var(--kd-font);transition:background 120ms cubic-bezier(.2,0,0,1)}
.ss-ribbon .rb-b:hover{background:var(--rb-hover)}
.ss-ribbon .rb-b:disabled{opacity:.45;cursor:default;background:transparent}
.ss-ribbon .rb-b.on,.ss-ribbon .rb-b.tool-active{background:var(--kd-primary-tint)!important;color:var(--kd-primary-darkest)!important;box-shadow:inset 0 0 0 1px var(--kd-primary-light)}
.ss-ribbon .rb-icon{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ss-ribbon .rb-b.big{flex-direction:column;align-items:center;gap:3px;min-width:58px;height:56px;padding:5px 6px 0;font-size:12px;line-height:1.25}
.ss-ribbon .rb-b.big .rb-icon{width:26px;height:26px}
.ss-ribbon .rb-b.small{align-items:center;gap:6px;height:19px;padding:0 8px 0 4px;font-size:12px;line-height:1}
.ss-ribbon .rb-b.small .rb-icon{width:16px;height:16px}
.ss-ribbon .rb-b.qa{width:28px;height:28px;padding:0;display:grid;place-items:center}
.ss-ribbon .rb-b.qa span{display:none}
.ss-ribbon .rb-b.qa .rb-icon{width:18px;height:18px}
.ss-ribbon .rb-b.rb-side{align-items:center;gap:6px;height:26px;padding:0 8px;font-size:12px;border:1px solid var(--kd-primary-dark);color:var(--kd-primary-dark)}
.ss-ribbon .rb-b.rb-side:hover{background:var(--kd-primary-tint)}
.ss-ribbon .rb-b.rb-side .rb-icon{width:15px;height:15px}
.ss-ribbon .rb-fold{border:0;background:transparent;width:26px;height:26px;border-radius:4px;cursor:pointer;display:grid;place-items:center;color:var(--rb-mute);flex:none}
.ss-ribbon .rb-fold:hover{background:var(--rb-bg);color:var(--rb-ink)}
.ss-ribbon .rb-fold .rb-icon{width:16px;height:16px;stroke-width:1.8;transition:transform 120ms}
.ss-ribbon .rb-fold.down .rb-icon{transform:rotate(180deg)}

/* row 2: groups of the active tab */
.ss-ribbon .rb-panel{display:flex;height:80px;padding:4px 4px 0;background:var(--rb-bg);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
header.ss-ribbon.collapsed .rb-panel{display:none}
.ss-ribbon .rb-page{display:flex;align-items:stretch}
.ss-ribbon .rb-group{display:flex;flex-direction:column;padding:0 6px;border-right:1px solid var(--rb-line);flex:none}
.ss-ribbon .rb-items{display:flex;gap:2px;flex:1;align-items:flex-start}
.ss-ribbon .rb-col{display:flex;flex-direction:column}
.ss-ribbon .rb-cap{font-size:11px;line-height:18px;color:var(--rb-mute);text-align:center;white-space:nowrap}
.ss-ribbon .rb-dd{position:static;display:flex}
.ss-ribbon .dropdown-panel.rb-dd-panel{position:fixed;right:auto;z-index:90}

/* rows of form controls (font, alignment, number format) */
.ss-ribbon .rb-rows{display:flex;flex-direction:column;gap:3px;padding-top:2px}
.ss-ribbon .rb-row{display:flex;align-items:center;gap:2px;height:25px}
.ss-ribbon .rb-row .tool-btn,.ss-ribbon .rb-row .rb-color{display:grid;grid-auto-flow:column;place-items:center;gap:2px;height:24px;min-width:24px;padding:0 3px;border-radius:4px;color:var(--rb-ink);background:transparent;border:0}
.ss-ribbon .rb-row .tool-btn:hover,.ss-ribbon .rb-row .rb-color:hover{background:var(--rb-hover);color:var(--rb-ink)}
.ss-ribbon .rb-row .tool-btn svg,.ss-ribbon .rb-row .rb-color svg{width:16px;height:16px;stroke-width:1.5}
.ss-ribbon .rb-row .tool-btn.tool-active{background:var(--kd-primary-tint)!important;color:var(--kd-primary-darkest)!important;box-shadow:inset 0 0 0 1px var(--kd-primary-light)}
.ss-ribbon .rb-row .rb-b.small{height:24px}
.ss-ribbon .rb-row .tool-select{height:24px;font-size:12px;border:1px solid var(--rb-line);border-radius:4px;padding:0 4px;background:var(--rb-bg);color:var(--rb-ink);font-family:var(--kd-font)}
.ss-ribbon #tool-font-family{width:132px}
.ss-ribbon #tool-format-type{width:150px}
.ss-ribbon #tool-border-type{width:104px}
.ss-ribbon .rb-vsep{width:1px;height:16px;background:var(--rb-line);margin:0 3px}

/* narrow windows: one-line tabs, ≤1400px no app name, ≤1180px small buttons show only their icon (label in tooltip) */
@media (max-width:1400px){ .ss-ribbon .rb-app{display:none} .ss-ribbon .kmp-cloud-info b{max-width:140px} }
@media (max-width:1180px){
  .ss-ribbon .rb-tab{padding:0 9px}
  .ss-ribbon .kmp-cloud-info .kmp-cloud-state{display:none}
  .ss-ribbon .rb-b.rb-side span{display:none}
  .ss-ribbon .rb-panel .rb-b.small span{display:none}
  .ss-ribbon .rb-panel .rb-b.small{padding:0 4px}
  .ss-ribbon .rb-b.big{min-width:52px;padding:5px 4px 0}
  .ss-ribbon .rb-group{padding:0 4px}
  .ss-ribbon .rb-qa{margin-right:4px}
}
@media (max-width:1100px){ .ss-ribbon .kmp-cloud-info{display:none} .ss-ribbon .rb-chip.rb-su{max-width:90px} }
