/* KATE Standalone Product UI/UX Authority — approved 2026-10-02, consolidated 2026-10-04.
   This file is intentionally loaded LAST. It owns presentation geometry and interaction sizing only.
   Product workflows, permissions, data ownership and business rules remain product-owned. */
:root{
  --nav:224px;--top:54px;
  --kate-sidebar-width:224px;--kate-topbar-height:54px;--kate-control-height:40px;--kate-row-height:40px;
  --kui-sidebar-width:224px;--kui-topbar-height:54px;
}
html,body{font-family:Ubuntu,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.kate-standalone-v2{background:var(--bg,#f7f8fa);color:var(--text,#172033);overflow-x:hidden}

/* One canonical shell: 224px rail + 54px top bar. */
.kate-standalone-v2 .rail{width:224px!important;padding:10px 12px!important;background:var(--navy,#172033)!important;border:0!important;overflow-y:auto!important;overflow-x:hidden!important}
.kate-standalone-v2 .kn-office-brand{display:flex!important;align-items:center!important;gap:9px!important;min-height:44px!important;margin:0 0 6px!important;padding:6px 6px 10px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;color:#fff!important;text-decoration:none!important}
.kate-standalone-v2 .kn-brand-image{width:30px!important;height:30px!important;object-fit:contain!important;flex:none!important}
.kate-standalone-v2 .kn-brand-name{min-width:0!important;color:#fff!important;font-size:13px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.01em!important}
.kate-standalone-v2 .nav-group{margin-top:9px!important}
.kate-standalone-v2 .nav-group>small{padding:0 8px 5px!important;color:rgba(255,255,255,.46)!important;font-size:10px!important;letter-spacing:.09em!important;line-height:1.2!important;text-transform:uppercase!important}
.kate-standalone-v2 .nav-link{min-height:38px!important;margin:2px 0!important;padding:9px 9px!important;border-radius:8px!important;color:rgba(255,255,255,.76)!important;font-size:12.5px!important;line-height:1.25!important}
.kate-standalone-v2 .nav-link:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.kate-standalone-v2 .nav-link.active{background:#fff!important;color:var(--navy,#172033)!important}
.kate-standalone-v2 .nav-icon{width:17px!important;flex:0 0 17px!important}
.kate-standalone-v2 .rail-foot{padding:10px 6px 2px!important}
.kate-standalone-v2 .topbar{left:224px!important;right:0!important;width:auto!important;max-width:none!important;margin-left:0!important;height:54px!important;padding:0 24px!important;background:#fff!important;border-bottom:1px solid var(--line,#e4e8ee)!important;box-shadow:none!important;box-sizing:border-box!important}
.kate-standalone-v2 .main{margin-left:224px!important;margin-right:0!important;width:calc(100% - 224px)!important;max-width:none!important;padding-top:54px!important;min-width:0!important;background:transparent!important;box-sizing:border-box!important}
.kate-standalone-v2 .canvas{width:100%!important;max-width:none!important;margin:0!important;padding:26px 30px 48px!important;min-width:0!important;box-sizing:border-box!important}
.kate-standalone-v2 .kn-specialist-context{display:flex!important;align-items:baseline!important;gap:7px!important;min-width:0!important;color:var(--navy,#172033)!important;font-size:12.5px!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kate-standalone-v2 .kn-specialist-context small{color:var(--muted,#667085)!important;font-size:11.5px!important;font-weight:500!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kate-standalone-v2 .top-actions{flex-wrap:nowrap!important}
.kate-standalone-v2 .kv2-language>summary,.kate-standalone-v2 .kv2-account>summary{cursor:pointer!important}
.kate-standalone-v2 .kv2-menu-panel{z-index:1200!important}

/* Page identity: clean working surface, no decorative hero cards. */
.kate-standalone-v2 :is(.hero,.page-head,.pagehead,.kb-pagehead,.ks-hero,.kis-hero,.at-hero,.landing-head,.kbp-top){display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin:0 0 12px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-width:0!important}
.kate-standalone-v2 :is(.hero,.page-head,.pagehead,.kb-pagehead,.ks-hero,.kis-hero,.at-hero,.landing-head,.kbp-top) h1{margin:3px 0 4px!important;font-size:34px!important;line-height:1.08!important;letter-spacing:-.025em!important;color:var(--navy,#172033)!important}
.kate-standalone-v2 :is(.hero,.page-head,.pagehead,.kb-pagehead,.ks-hero,.kis-hero,.at-hero,.landing-head,.kbp-top) p{margin:0!important;max-width:920px!important;color:var(--muted,#667085)!important;font-size:13px!important;line-height:1.55!important}
.kate-standalone-v2 :is(.eyebrow,.kb-kicker,.ks-kicker,.kis-kicker,.at-kicker){color:var(--orange,#e86f24)!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.09em!important;line-height:1.3!important;text-transform:uppercase!important}

/* Controls: 40px normal / 32px compact. */
.kate-standalone-v2 :is(.btn,.kb-btn,.ks-btn,.kis-btn,.at-btn,.klg-btn,.kds-button,.button,button:not(.icon-btn):not(.kv2-menu)){min-height:40px!important;height:auto!important;padding:8px 12px!important;border-radius:7px!important;font-size:12.5px!important;line-height:1.25!important}
.kate-standalone-v2 :is(.btn.small,.kb-btn.small,.ks-btn.small,.kis-btn.small,.at-btn.small,.kds-button.small,button.small){min-height:32px!important;padding:5px 9px!important}
.kate-standalone-v2 :is(.icon-btn,.kds-icon-button,.kv2-menu){width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important}
.kate-standalone-v2 :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,.control,.klg-control,.at-input){min-height:40px!important;height:auto!important;padding:8px 10px!important;font-size:12.5px!important}
.kate-standalone-v2 textarea{min-height:96px!important;padding:9px 10px!important;font-size:11px!important;resize:vertical!important}
.kate-standalone-v2 :is(.toolbar .control,.inline-form input,.inline-form select,.context-bar select){min-height:32px!important}
.kate-standalone-v2 :is(input[type=checkbox],input[type=radio]){width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;padding:0!important}
.kate-standalone-v2 :is(button,.btn,a.btn,input,select,textarea):focus-visible{outline:3px solid rgba(23,92,211,.14)!important;outline-offset:2px!important}

/* Surfaces, density and readable data. */
.kate-standalone-v2 :is(.panel,.card,.kb-card,.ks-card,.ks-panel,.kis-card,.kis-panel,.at-card,.kbp-card,.project-card,.kate-card,.kate-section){border:1px solid var(--line,#e4e8ee)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;min-width:0!important}
.kate-standalone-v2 :is(.panel,.card,.kb-card,.ks-card.pad,.ks-panel,.kis-card.pad,.kis-panel-body,.at-card.pad,.kbp-card,.project-card,.kate-card,.kate-section){padding:18px!important}
.kate-standalone-v2 :is(.table-wrap,.kb-table-wrap,.ks-table-wrap,.kis-table-wrap,.at-table-wrap,.klg-data-table-wrap,.fe-wrap){width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;border:1px solid var(--line,#e4e8ee)!important;border-radius:8px!important;background:#fff!important;-webkit-overflow-scrolling:touch!important}
.kate-standalone-v2 table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;font-size:12px!important}
.kate-standalone-v2 th{height:34px!important;padding:8px 9px!important;background:#f8fafc!important;color:var(--muted,#667085)!important;font-size:10.5px!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important;white-space:nowrap!important}
.kate-standalone-v2 td{padding:8px 9px!important;line-height:1.35!important;vertical-align:middle!important}
.kate-standalone-v2 :is(.status,.pill,.badge,.chip,.kb-badge,.ks-status,.ks-pill,.kis-pill,.at-badge,.product-chip,.klg-status){min-height:22px!important;padding:3px 7px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important}

/* Navigation tabs wrap. Horizontal scrolling is reserved for data/visual workbenches, not navigation. */
.kate-standalone-v2 :is(.tabs,.kb-tabs,.ks-tabs,.kis-project-nav,.at-tabs,.at-prof-tabs,.pe-nav-wrap,.admin-queue-tabs){display:flex!important;flex-wrap:wrap!important;gap:5px!important;max-width:100%!important;overflow:visible!important;margin:0 0 12px!important;padding:5px!important;border:1px solid var(--line,#e4e8ee)!important;border-radius:8px!important;background:#fff!important}
.kate-standalone-v2 :is(.tabs,.kb-tabs,.ks-tabs,.kis-project-nav,.at-tabs,.at-prof-tabs,.pe-nav-wrap,.admin-queue-tabs) a{min-height:32px!important;padding:6px 9px!important;white-space:normal!important}
.kate-standalone-v2 .context-bar{display:flex!important;align-items:flex-end!important;gap:8px!important;flex-wrap:wrap!important;max-width:100%!important;margin:0 0 12px!important;padding:8px 10px!important;border:1px solid var(--line,#e4e8ee)!important;border-radius:8px!important;background:#fff!important}
.kate-standalone-v2 .context-bar label{display:grid!important;gap:4px!important;min-width:160px!important;flex:0 1 260px!important}
.kate-standalone-v2 .context-note{flex:1 1 260px!important;color:var(--muted,#667085)!important;font-size:10px!important;line-height:1.4!important}

/* Workbench / viewer / studio / intelligence surfaces stay inside the shell. */
.kate-standalone-v2 :is(.bim-shell,.viewer-shell,.studio-shell,.editor-shell,.control-room,.workbench,.workspace-shell,.premium-shell){max-width:100%!important;min-width:0!important}
.kate-standalone-v2 :is(.bim-view,.model-viewport,.viewer-viewport,.drawing-canvas,.studio-canvas,.canvas-viewport){min-height:520px!important;border-radius:9px!important;overflow:hidden!important}
.kate-standalone-v2 :is(.intelligence-grid,.intelligence-layout,.decision-grid,.analysis-grid,.control-grid){min-width:0!important;max-width:100%!important}
.kate-standalone-v2 :is(.intelligence-grid,.decision-grid,.analysis-grid,.control-grid)>*{min-width:0!important}
.kate-standalone-v2 pre,.kate-standalone-v2 code{max-width:100%!important;overflow-wrap:anywhere!important}
.kate-standalone-v2 img,.kate-standalone-v2 svg,.kate-standalone-v2 canvas{max-width:100%}

/* Dialogs and overlays must sit above the fixed shell. */
.kate-standalone-v2 dialog{max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;z-index:2000!important}
.kate-standalone-v2 .drawer-backdrop,.kate-standalone-v2 .modal-backdrop{z-index:1600!important}
.kate-standalone-v2 .toast-stack{z-index:2200!important}

/* Legacy KDS/account surfaces share the same approved geometry when present. */
body.kds-app,body.customer-portal{--kate-sidebar-width:224px;--kate-topbar-height:54px;--kate-control-height:40px;--kate-row-height:40px}
body.kds-app :is(.kui-sidebar,.sidebar,.kate-sidebar,.app-sidebar,.kds-sidebar),body.customer-portal :is(.kui-sidebar,.sidebar,.kate-sidebar,.app-sidebar,.kds-sidebar){width:224px!important}
body.kds-app :is(.kui-topbar,.topbar,.kate-topbar,.app-topbar,.kds-topbar),body.customer-portal :is(.kui-topbar,.topbar,.kate-topbar,.app-topbar,.kds-topbar){left:224px!important;height:54px!important;padding:0 22px!important}
body.kds-app :is(.kds-main,.klg-page,.ktw-page,.kate-page-shell,.app-main),body.customer-portal main{margin-left:224px!important;padding-top:54px!important}
body.kds-app :is(.btn,.kds-button,button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select),body.customer-portal :is(.btn,.kds-button,button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-height:40px}
body.kds-app :is(.kds-tabs,.tabs,.admin-queue-tabs),body.customer-portal :is(.kds-tabs,.tabs,.admin-queue-tabs){flex-wrap:wrap!important;overflow:visible!important}

@media(max-width:1024px){
  :root{--nav:72px;--kate-sidebar-width:72px;--kui-sidebar-width:72px}
  .kate-standalone-v2 .rail{width:72px!important;padding-inline:8px!important}
  .kate-standalone-v2 .topbar{left:72px!important}.kate-standalone-v2 .main{margin-left:72px!important;width:calc(100% - 72px)!important}
  .kate-standalone-v2 .kn-office-brand{justify-content:center!important;padding-inline:0!important}.kate-standalone-v2 .kn-brand-name,.kate-standalone-v2 .nav-group>small,.kate-standalone-v2 .nav-link strong,.kate-standalone-v2 .rail-foot>span:last-child{display:none!important}
  .kate-standalone-v2 .nav-link{justify-content:center!important;padding-inline:6px!important}.kate-standalone-v2 .nav-icon{width:20px!important;flex-basis:20px!important}
  body.kds-app :is(.kui-sidebar,.sidebar,.kate-sidebar,.app-sidebar,.kds-sidebar),body.customer-portal :is(.kui-sidebar,.sidebar,.kate-sidebar,.app-sidebar,.kds-sidebar){width:72px!important}
  body.kds-app :is(.kui-topbar,.topbar,.kate-topbar,.app-topbar,.kds-topbar),body.customer-portal :is(.kui-topbar,.topbar,.kate-topbar,.app-topbar,.kds-topbar){left:72px!important}
  body.kds-app :is(.kds-main,.klg-page,.ktw-page,.kate-page-shell,.app-main),body.customer-portal main{margin-left:72px!important}
}
@media(max-width:700px){
  :root{--nav:0px;--kate-sidebar-width:0px;--kui-sidebar-width:0px}
  .kate-standalone-v2 .rail{width:280px!important;transform:translateX(-103%)!important;transition:transform .18s ease!important;box-shadow:16px 0 34px rgba(15,23,42,.18)!important}
  .kate-standalone-v2.nav-open .rail{transform:translateX(0)!important}
  .kate-standalone-v2 .kn-brand-name,.kate-standalone-v2 .nav-group>small,.kate-standalone-v2 .nav-link strong,.kate-standalone-v2 .rail-foot>span:last-child{display:block!important}
  .kate-standalone-v2 .kn-office-brand{justify-content:flex-start!important}.kate-standalone-v2 .nav-link{justify-content:flex-start!important}
  .kate-standalone-v2 .topbar{left:0!important;padding:0 10px!important}.kate-standalone-v2 .main{margin-left:0!important;width:100%!important}.kate-standalone-v2 .canvas{padding:12px 10px 28px!important}
  .kate-standalone-v2 :is(.hero,.page-head,.pagehead,.kb-pagehead,.ks-hero,.kis-hero,.at-hero,.landing-head,.kbp-top){flex-direction:column!important}.kate-standalone-v2 :is(.hero,.page-head,.pagehead,.kb-pagehead,.ks-hero,.kis-hero,.at-hero,.landing-head,.kbp-top) h1{font-size:24px!important}
  .kate-standalone-v2 :is(.grid.two,.grid.three,.grid.four,.kb-grid-2,.kb-grid-3,.ks-grid.two,.ks-grid.three,.ks-grid.four,.kis-grid.two,.kis-grid.three,.kis-grid.four,.at-grid.two,.at-grid.three,.at-grid.four,.metric-grid,.stats-grid,.kpi-grid,.two-col,.three-col,.split,.detail-grid,.form-grid,.field-grid){grid-template-columns:1fr!important}
  .kate-standalone-v2 :is(.bim-view,.model-viewport,.viewer-viewport,.drawing-canvas,.studio-canvas,.canvas-viewport){min-height:360px!important}
  .kate-standalone-v2 .kn-specialist-context small{display:none!important}
  body.kds-app :is(.kui-topbar,.topbar,.kate-topbar,.app-topbar,.kds-topbar),body.customer-portal :is(.kui-topbar,.topbar,.kate-topbar,.app-topbar,.kds-topbar){left:0!important}
  body.kds-app :is(.kds-main,.klg-page,.ktw-page,.kate-page-shell,.app-main),body.customer-portal main{margin-left:0!important}
}
@media(max-width:700px){
  body.kate-standalone-v2.nav-open{overflow:hidden!important}
  body.kate-standalone-v2.nav-open::before{content:"";position:fixed;inset:54px 0 0 0;z-index:48;background:rgba(15,23,42,.28)}
  body.kate-standalone-v2 .rail{z-index:50!important}
}
