/* Dapur Guru V2.3.1 R5.3 — Readable Medium Typography
   Purpose: keep text comfortably readable across every public, auth, and workspace page
   without changing layout structure, backend behavior, or feature contracts. */
:root{
  --dg-type-xs:.78rem;
  --dg-type-sm:.84rem;
  --dg-type-md:.92rem;
  --dg-type-body:.95rem;
  --dg-type-control:.92rem;
  --dg-type-title:1.08rem;
  --dg-line-body:1.58;
}

html{font-size:16px}
body{font-size:var(--dg-type-body);line-height:var(--dg-line-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

/* Reading text */
body p,
body li,
body dd,
body figcaption,
body blockquote{font-size:var(--dg-type-md)!important;line-height:1.62}

/* Forms and controls */
body label{font-size:var(--dg-type-sm)!important;line-height:1.45}
body input:not([type="checkbox"]):not([type="radio"]),
body select,
body textarea{font-size:var(--dg-type-control)!important;line-height:1.4}
body button,
body [role="button"],
body .btn,
body [class*="-btn"]{font-size:var(--dg-type-sm)!important;line-height:1.35}

/* Supporting copy: never microscopic */
body small,
body .text-xs,
body .caption,
body [class*="-caption"],
body [class*="-hint"],
body [class*="-helper"],
body [class*="-note"] small{font-size:var(--dg-type-xs)!important;line-height:1.45}

/* Tables */
body table th{font-size:.82rem!important;line-height:1.4}
body table td{font-size:.88rem!important;line-height:1.5}

/* Global navigation */
.vl-brand-copy{font-size:.94rem!important;line-height:1.15}
.vl-brand-copy small{font-size:.72rem!important;line-height:1.3}
.vl-side-nav a{font-size:.88rem!important;line-height:1.35}
.vl-topbar-title{font-size:.96rem!important}
.vl-top-user strong,.vl-sidebar-user strong{font-size:.86rem!important}
.vl-top-user small,.vl-sidebar-user small{font-size:.76rem!important}
.vl-profile-menu a,.vl-profile-menu button{font-size:.84rem!important}
.vl-search input,.vl-mobile-search-panel input{font-size:.88rem!important}

/* Landing / public pages */
.vl-nav-links a,.vl-mobile-menu a{font-size:.86rem!important}
.vl-eyebrow{font-size:.8rem!important}
.vl-hero-copy p{font-size:1rem!important;line-height:1.65}
.vl-btn{font-size:.9rem!important}
.vl-trust span{font-size:.82rem!important}
.vl-ai-card{font-size:.8rem!important;line-height:1.45}
.vl-ai-card strong{font-size:.9rem!important}
.vl-stat-float small{font-size:.72rem!important}
.vl-section-head p{font-size:.92rem!important}
.vl-feature-card h3,.vl-step h3{font-size:1rem!important}
.vl-feature-card p,.vl-step p{font-size:.86rem!important;line-height:1.55}
.vl-footer-copy{font-size:.86rem!important;line-height:1.55}

/* Dashboard cards */
.vl-page-head p,.vl-dash-hero p{font-size:.9rem!important;line-height:1.55}
.vl-stat-card small{font-size:.78rem!important}
.vl-stat-card strong{font-size:1.35rem!important}
.vl-feature-button,.vl-quick-card,.vl-project-card{font-size:.88rem!important}
.vl-card-title,.vl-section-title{font-size:1rem!important}
.vl-project-meta,.vl-card-meta{font-size:.8rem!important}

/* Video Studio */
.v200-render-head p{font-size:.86rem!important}
.v200-eyebrow{font-size:.78rem!important}
.v200-engine-badges span,.v200-engine-note{font-size:.78rem!important}
.v200-render-form label{font-size:.84rem!important}
.v200-render-form small{font-size:.78rem!important}
.v200-render-form select,.v200-render-form input[type=text],.v200-render-form input[name=voice]{font-size:.9rem!important}
.v200-render-progress>div:first-child{font-size:.8rem!important}
.v200-download-row span{font-size:.76rem!important}
.v200-scene-media-editor>b{font-size:.84rem!important}
.v200-scene-media-editor>small,.v200-remove-media{font-size:.76rem!important}

/* Common workspace patterns used by RPP, Assessment, E-Book, PPT, media and admin screens */
[class*="field"] label,
[class*="form"] label{font-size:.84rem!important}
[class*="badge"],
[class*="chip"],
[class*="pill"],
[class*="status"]{font-size:.78rem!important;line-height:1.35}
[class*="meta"],
[class*="eyebrow"],
[class*="overline"]{font-size:.78rem!important;line-height:1.4}
[class*="toolbar"] button,
[class*="actions"] button,
[class*="actions"] a{font-size:.84rem!important}

/* Keep headings hierarchical rather than flattening them. */
h1{line-height:1.12}
h2{line-height:1.2}
h3{line-height:1.28}
h4,h5,h6{line-height:1.35}

/* Tablet and mobile: readable, not oversized. */
@media(max-width:900px){
  :root{--dg-type-body:.94rem;--dg-type-md:.9rem;--dg-type-control:.9rem}
  .vl-side-nav a{font-size:.9rem!important}
  .vl-topbar-title{font-size:.94rem!important}
}

@media(max-width:640px){
  :root{--dg-type-xs:.76rem;--dg-type-sm:.82rem;--dg-type-md:.88rem;--dg-type-body:.92rem;--dg-type-control:.9rem}
  body{line-height:1.55}
  .vl-hero-copy p{font-size:.94rem!important}
  .vl-feature-card p,.vl-step p{font-size:.84rem!important}
  .vl-stat-card small{font-size:.76rem!important}
  .vl-stat-card strong{font-size:1.2rem!important}
  body table th{font-size:.78rem!important}
  body table td{font-size:.84rem!important}
}

@media(max-width:390px){
  :root{--dg-type-body:.9rem;--dg-type-md:.86rem}
  .vl-side-nav a{font-size:.88rem!important}
  .vl-btn{font-size:.86rem!important}
}
