/* kad limaudigital v3: shared screen tokens. Card print styles are independent. */
:root{
 --font-heading:'Manrope',Arial,sans-serif;
 --font-body:'DM Sans',Arial,sans-serif;
 --type-display:clamp(40px,4.4vw,64px);
 --type-title:36px;
 --type-section:24px;
 --type-body:16px;
 --type-lead:20px;
 --type-support:14px;
 --weight-regular:400;
 --weight-medium:500;
 --weight-semibold:600;
 --weight-bold:700;
 --weight-display:800;
 --color-primary:#174ce5;
 --color-primary-hover:#103ab8;
 --color-ink:#11305b;
 --color-secondary:#526b80;
 --color-surface:#ffffff;
 --color-border:#cfdee8;
 --color-danger:#b42332;
 --color-success:#18765b;
 --color-focus:#174ce5;
 --space-1:4px;
 --space-2:8px;
 --space-3:12px;
 --space-4:16px;
 --space-6:24px;
 --space-8:32px;
 --space-12:48px;
 --space-16:64px;
 --control-height:48px;
 --radius-control:12px;
 --radius-input:10px;
 --radius-panel:16px;
 --radius-dialog:24px;
}
@media screen{
 [hidden]{display:none!important}
 body{font-family:var(--font-body);font-size:var(--type-body);color:var(--color-ink)}
 button,input,select,textarea{font-family:var(--font-body)}
 .landing-copy h1{font-family:var(--font-heading);font-size:var(--type-display);font-weight:var(--weight-display);line-height:1.12;letter-spacing:-.035em}
 .landing-copy>p{font-size:var(--type-lead);line-height:1.65;color:var(--color-secondary)}
 .landing-copy h1 em,.student-message h1 em{color:var(--color-primary)}
 .landing-primary,.landing-secondary,.admin-access,.google-button,.button,.btn{
  min-height:var(--control-height);border-radius:var(--radius-control);font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:1.25;padding:14px 20px;
 }
 .landing-primary,.button.primary,.btn-blue{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}
 .landing-primary:hover,.button.primary:hover,.btn-blue:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
 .landing-secondary,.google-button{color:var(--color-ink);border-color:var(--color-border)}
 .button.small{font-size:var(--type-support);min-height:var(--control-height);padding:12px 16px}
 .icon-button,dialog>button[aria-label],.delima-modal>button{min-width:var(--control-height);min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center}
 .segmented button{min-height:var(--control-height);font-size:var(--type-support);font-weight:var(--weight-semibold)}
 .text-button,.quiet-link,.login-back{font-size:var(--type-support);min-height:var(--control-height);display:inline-flex;align-items:center}
 button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
 :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
 .editor label,dialog label{font-size:var(--type-support);font-weight:var(--weight-semibold);line-height:1.5}
 .editor label>input:not([type=checkbox]):not([type=file]),.editor label>select,dialog label>input:not([type=checkbox]):not([type=file]),dialog label>select,textarea{
  min-height:var(--control-height);font-size:var(--type-body);padding:12px;border-radius:var(--radius-input);border-color:var(--color-border);color:var(--color-ink);line-height:1.5;
 }
 .search{min-height:var(--control-height);border-radius:var(--radius-input);border-color:var(--color-border)}
 .search input,.filter-row select{font-size:var(--type-body);min-height:var(--control-height)}
 .check-field{min-height:var(--control-height);align-items:flex-start;padding:8px 0;font-size:var(--type-support);line-height:1.6}
 .check-field input{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-primary)}
 .panel{border-radius:var(--radius-panel)}
 .panel-heading h2{font-family:var(--font-heading);font-size:18px;font-weight:var(--weight-bold)}
 .page-heading h1{font-family:var(--font-heading);font-size:var(--type-title);font-weight:var(--weight-display);line-height:1.2}
 .page-heading p{font-size:var(--type-body);line-height:1.6;color:var(--color-secondary)}
 .stats strong{font-family:var(--font-heading);font-size:32px;font-weight:var(--weight-bold)}
 .stats span,.stats .edition>span{font-size:var(--type-body);color:var(--color-secondary)}
 .stats .edition strong{font-size:24px}
 .pill,.filter-row,.student-info small,.sidebar-bottom small,.header-right,.breadcrumb,.landing-footer,.preview-footer small,.upload-box small,.editor label small{font-size:var(--type-support);line-height:1.5}
 .student-info small,.header-right,.breadcrumb,.landing-footer,.preview-footer small,.upload-box small,.editor label small{color:var(--color-secondary)}
 .student-info b{font-size:var(--type-body);font-weight:var(--weight-semibold)}
 .student-row{min-height:80px}
 .danger{color:var(--color-danger);font-size:var(--type-support)}
 dialog{border-radius:var(--radius-dialog)}
 dialog h2{font-family:var(--font-heading);font-size:var(--type-section);line-height:1.3}
 .delima-modal p,.login-card>p,.login-card .login-message{font-size:var(--type-body);line-height:1.65;color:var(--color-secondary)}
 .empty-list{font-size:var(--type-body);line-height:1.65;color:var(--color-secondary)}
 .validation{font-size:var(--type-support);line-height:1.6;color:#835b16}
 @media(max-width:700px){
  .landing-copy h1{font-size:clamp(40px,9.4vw,48px)}
  .landing-copy>p{font-size:var(--type-body)}
  .page-heading h1{font-size:30px}
  .landing-primary,.landing-secondary,.admin-access,.google-button{font-size:var(--type-body);padding:14px 16px}
  .landing-header{gap:12px}
  .single-screen .actual-brand{width:min(50vw,270px)}
  .landing-footer{font-size:var(--type-support)}
 }
 @media(max-width:380px){.landing-primary,.landing-secondary,.admin-access{padding:14px 12px}.single-screen .actual-brand{width:47vw}}
 @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
}
