body, button, input, select, textarea { font-family: Karla, system-ui, sans-serif; }
body.tkc-tool h1, body.tkc-tool h2, body.tkc-tool h3 { font-family:Prata,Georgia,serif; }
button, a, input, select, textarea { touch-action: manipulation; }
button:focus-visible, a:focus-visible { outline: 2px solid #b98a38; outline-offset: 3px; }
#tkc-toolbar { position:sticky; top:0; z-index:120; height:48px; flex:none; display:flex; align-items:center; gap:12px; padding:0 16px; background:var(--deep,var(--navy,#011e3e)); color:#fff; border-bottom:1px solid var(--gold,#e5b257); }
#tkc-toolbar a { color:inherit; text-decoration:none; font-size:14px; }
#tkc-toolbar button { width:44px; height:44px; padding:0; border:0; background:transparent; color:inherit; font-size:23px; }
#tkc-toolbar button svg { margin:auto; }
.tt-ico { display:inline-flex; align-items:center; }
#tkc-menu { display:none; }
#tkc-theme { margin-left:auto; }
.tkc-table-scroll { width:100%; max-width:100%; overflow:auto; }
body.tkc-compliance .app { height:calc(100dvh - 48px); }
body.tkc-compliance .nav-sidebar, body.tkc-compliance .sb-single { height:100%; }
body.tkc-compliance .main { height:calc(100dvh - 48px); }
body.tkc-bookkeeping main header { top:48px; }
body.tkc-bookkeeping aside { top:48px; height:calc(100dvh - 48px); }
#coachRing { transition:none; }
.pv-mark { transition:opacity .2s; }
.portal-menu { display:none; }
@media(max-width:820px) {
  #app { height:100dvh; }
  #app .under { position:relative; }
  #app .top { gap:8px; padding:0 12px; height:72px; }
  #app .top .brand img { display:block; width:84px; height:auto; }
  #app .top .brand { flex:none; }
  #app .top .rule, #app .top .tname, #app .top .sp { display:none; }
  #app .top .search { min-width:0; flex:1; width:auto; }
  #app .top .search input { min-width:0; width:100%; font-size:16px; }
  #app .top .search svg { display:none; }
  #app .userchip { flex:none; padding:0; width:40px; }
  #app .portal-menu { display:block; flex:none; width:40px; height:44px; border:0; background:transparent; color:#fff; font-size:24px; }
  #app .side { display:none; width:min(300px,calc(100vw - 52px)); height:100%; }
  #app.mobile-menu-open .side { display:flex; z-index:60; }
  #app.mobile-menu-open .under::after { content:''; position:absolute; inset:0; z-index:50; background:rgba(0,0,0,.25); pointer-events:none; }
  #app .sit { min-height:46px; }
  #app #back { font-size:12px; padding:8px; white-space:normal; max-width:60px; }
  #app:not([data-view='home']) .top .search { display:none; }
  #app:not([data-view='home']) .top .userchip { margin-left:auto; }
  #app[data-view='home'] #back { display:none; }
  .strip { padding:8px 12px; gap:8px; }
  .strip button { min-height:40px; }
  .strip .tag { display:none; }
  .frame { padding:24px; }
  .signin { overflow:auto; padding:16px; }
  .whopick button { min-height:44px; }
  .portal-form input, .portal-form select, .portal-form textarea { font-size:16px; min-width:0; }
  .hello h2 { font-size:25px; }
  .tiles { grid-template-columns:1fr; }
  .paper .row { gap:12px; }
  .paper .row > span:first-child { min-width:0; overflow-wrap:anywhere; }
  .paper .row .go { flex:none; }
}
@media(max-width:760px) {
  body.tkc-tool { max-width:100%; }
  body.tkc-tool header { padding:14px 16px; }
  body.tkc-tool header h1 { font-size:24px; }
  body.tkc-tool .brand-row { gap:10px; }
  body.tkc-tool .brand-title { min-width:0; }
  body.tkc-tool .main { min-width:0; padding:16px; }
  body.tkc-tool .sidebar button { min-height:44px; }
  body.tkc-tool .sidebar { max-width:100vw; }
  body.tkc-tool input:not([type=checkbox]):not([type=radio]), body.tkc-tool select, body.tkc-tool textarea { font-size:16px; max-width:100%; }
  body.tkc-tool .btn { min-height:44px; white-space:normal; }
  body.tkc-tool .fld, body.tkc-tool .cosel { min-width:0; max-width:100%; }
  body.tkc-tool .modal { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; }
  body.tkc-tool .preview.coachlift { display:none!important; }
  body.tkc-tool #coachPop { max-height:36dvh; }
  body.tkc-tool #recTracker { position:static; max-width:100%; }
  body.tkc-tool .pdf-panel { width:100vw; max-width:100vw; }
  body.tkc-tool .pdf-panel iframe { min-width:0; width:100%; }
  body.tkc-compliance #tkc-menu { display:block; }
  body.tkc-compliance .nav-sidebar { display:none; position:fixed; top:48px; left:0; bottom:0; height:auto; z-index:100; box-shadow:12px 0 30px rgba(0,0,0,.2); }
  body.tkc-compliance.tkc-menu-open .nav-sidebar { display:flex; }
  body.tkc-compliance .sb-single { width:280px; overflow-y:auto; }
  body.tkc-compliance .sb-nav-item, body.tkc-compliance .sb-picker-btn { min-height:44px; }
  body.tkc-compliance .main { width:100%; padding:0; }
  body.tkc-compliance .topbar { padding:12px 16px; height:auto; min-height:62px; flex-wrap:wrap; gap:10px; }
  body.tkc-compliance .topbar > div { flex-wrap:wrap; min-width:0; }
  body.tkc-compliance .topbar-badge { display:none; }
  body.tkc-compliance .page-hd { padding:16px; }
  body.tkc-compliance .page-hd-row { flex-wrap:wrap; gap:12px; }
  body.tkc-compliance .page-hd-actions { flex-wrap:wrap; }
  body.tkc-compliance .inner { padding:16px; min-width:0; }
  body.tkc-compliance .g2, body.tkc-compliance .g3, body.tkc-compliance .g4 { grid-template-columns:1fr; }
  body.tkc-compliance .modal { width:calc(100vw - 24px)!important; }
  body.tkc-compliance .modal-overlay { padding:12px; }
  body.tkc-compliance .cl-search { width:100%; margin:0; }
  body.tkc-compliance .it-layout, body.tkc-compliance .cpf-grid { grid-template-columns:1fr; }
  body.tkc-compliance .dash-stats, body.tkc-compliance .sum-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tkc-compliance #weekContent [style*='grid-template-columns:repeat(5'] { grid-template-columns:repeat(5,180px)!important; overflow-x:auto; padding-bottom:12px; }
  body.tkc-compliance #weekContent [style*='grid-template-columns:1fr 1fr'] { grid-template-columns:1fr!important; }
  body.tkc-compliance #complianceInner [style*='grid-template-columns:repeat(3'] { grid-template-columns:1fr!important; }
  body.tkc-bookkeeping:has(aside) #tkc-menu { display:block; }
  body.tkc-bookkeeping aside { display:none; position:fixed; top:48px; left:0; bottom:0; height:calc(100dvh - 48px); width:280px; z-index:100; overflow-y:auto; }
  body.tkc-bookkeeping.tkc-menu-open aside { display:flex; }
  body.tkc-bookkeeping aside a { min-height:44px; }
  body.tkc-bookkeeping main { width:100%; }
  body.tkc-bookkeeping main > .p-6 { padding:16px; }
  body.tkc-bookkeeping main header { flex-wrap:wrap; height:auto; gap:8px; }
  body.tkc-bookkeeping main header { top:48px; }
  body.tkc-bookkeeping main .flex.rounded-md.overflow-hidden { max-width:100%; overflow-x:auto; }
  body.tkc-bookkeeping main .flex.rounded-md.overflow-hidden > button { flex-shrink:0; }
  body.tkc-bookkeeping main button { min-height:40px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
