/* Prime World Records v1.6.2 — application-wide readability and visual polish.
   Adapted from the supplied design references while preserving the PWR identity. */
:root{
  --pwr-public-font-size:16px;
  --pwr-admin-font-size:15px;
  --pwr-control-height:44px;
  --pwr-radius:14px;
  --pwr-card-padding:24px;
}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-size:var(--pwr-public-font-size);line-height:1.65;letter-spacing:0}
body.app-shell{font-size:var(--pwr-admin-font-size);line-height:1.6}
button,input,select,textarea{font:inherit}

/* Shared controls */
.button,.button-primary,.button-secondary,.button-outline,.button-danger,
button.button,a.button,input[type="submit"]{
  min-height:42px;padding:10px 18px;border-radius:10px;font-size:13.5px;
  font-weight:750;line-height:1.25;letter-spacing:.01em
}
.button-small,.button.button-small{min-height:38px;padding:8px 15px;font-size:13px}
.status-pill,.badge,.status-badge{font-size:11.5px;line-height:1.2;padding:6px 10px;letter-spacing:.035em}
.flash{font-size:14px;line-height:1.5;padding:14px 18px}
.language-control{min-height:42px;padding:7px 12px;gap:8px;font-size:13px}
.language-control select{font-size:13px;line-height:1.3}
.theme-toggle{
  width:68px!important;min-width:68px!important;height:38px!important;min-height:38px!important;
  flex:0 0 68px!important;padding:3px!important;border-radius:22px!important
}
.theme-toggle:after{width:30px;height:30px;left:3px;top:3px}
.theme-toggle span{width:30px;height:30px;display:grid;place-items:center;font-size:14px;line-height:1}
html[data-theme="dark"] .theme-toggle:after{left:33px}
.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--saffron) 35%,transparent);outline-offset:2px}

/* Public website */
.announcement{font-size:12.5px;line-height:1.45}
.announcement .container{min-height:38px}
.brand strong{font-size:16px;line-height:1.05;letter-spacing:.045em}
.brand small{font-size:10px;line-height:1.2;letter-spacing:.2em}
.main-nav{gap:22px}
.main-nav a{font-size:14px;line-height:1.35;font-weight:650}
.hero-eyebrow,.eyebrow,.section-kicker{font-size:13px;line-height:1.4;letter-spacing:.14em}
.hero h1{line-height:1.08}
.hero-copy>p{font-size:18px;line-height:1.7;max-width:760px}
.search-panel{border-radius:16px;padding:20px 22px;gap:18px}
.search-title strong{font-size:16px;line-height:1.3}
.search-title small{font-size:12.5px;line-height:1.45}
.search-field{min-height:48px;border-radius:10px}
.search-field input,.search-field button{font-size:15px}
.verify-shortcut{font-size:14px;line-height:1.4}
.metric strong{font-size:34px;line-height:1.1}
.metric small{font-size:12px;line-height:1.45;letter-spacing:.08em}
.section-heading p,.section>p,.page-hero p,.cms-richtext,.cms-content{font-size:16px;line-height:1.75}
.section h2,.section-heading h2{line-height:1.15}
.category-card{border-radius:var(--pwr-radius);padding:22px}
.category-card strong{font-size:17px;line-height:1.35}
.category-card small{font-size:14px;line-height:1.55}
.record-card h3,.record-card strong{font-size:17px;line-height:1.4}
.record-card p,.record-card small{font-size:14px;line-height:1.6}
.step{border-radius:var(--pwr-radius);padding:24px}
.step h3{font-size:18px;line-height:1.35}
.step p{font-size:14.5px;line-height:1.65}
.journey-copy p,.record-content .lead{font-size:16px;line-height:1.75}
.record-facts dt,.record-facts small{font-size:12px;line-height:1.4}
.record-facts dd,.record-facts strong{font-size:15px;line-height:1.45}
.auth-card{border-radius:16px;padding:30px}
.auth-card>p,.auth-card .form-note{font-size:14px;line-height:1.65}
.field label,.field>span{font-size:13px;line-height:1.4;font-weight:700}
.field input,.field select,.field textarea,
.filters input,.filters select,.filters textarea{
  min-height:var(--pwr-control-height);padding:11px 13px;border-radius:9px;
  font-size:15px;line-height:1.45
}
.field textarea,.filters textarea{min-height:110px}

/* Special form controls must never inherit full text-field dimensions. */
.field input[type="checkbox"],.field input[type="radio"],
.setting-card input[type="checkbox"],.setting-card input[type="radio"],
.studio-panel input[type="checkbox"],.studio-panel input[type="radio"],
.faq-row input[type="checkbox"],.faq-row input[type="radio"],
.data-table input[type="checkbox"],.data-table input[type="radio"]{
  -webkit-appearance:none;appearance:none;width:20px!important;height:20px!important;
  min-width:20px!important;min-height:20px!important;max-width:20px!important;
  margin:0!important;padding:0!important;flex:0 0 20px;border:1.5px solid var(--mode-border,#b8c3cf)!important;
  border-radius:5px!important;background:var(--mode-input,#fff)!important;box-shadow:none!important;
  display:inline-grid!important;place-content:center;vertical-align:middle;cursor:pointer
}
.field input[type="radio"],.setting-card input[type="radio"],
.studio-panel input[type="radio"],.faq-row input[type="radio"],
.data-table input[type="radio"]{border-radius:50%!important}
.field input[type="checkbox"]:checked,.setting-card input[type="checkbox"]:checked,
.studio-panel input[type="checkbox"]:checked,.faq-row input[type="checkbox"]:checked,
.data-table input[type="checkbox"]:checked{
  background:var(--saffron,#ed8423)!important;border-color:var(--saffron,#ed8423)!important
}
.field input[type="checkbox"]:checked:after,.setting-card input[type="checkbox"]:checked:after,
.studio-panel input[type="checkbox"]:checked:after,.faq-row input[type="checkbox"]:checked:after,
.data-table input[type="checkbox"]:checked:after{
  content:"";width:5px;height:9px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)
}
.field input[type="radio"]:checked,.setting-card input[type="radio"]:checked,
.studio-panel input[type="radio"]:checked,.faq-row input[type="radio"]:checked,
.data-table input[type="radio"]:checked{border:6px solid var(--saffron,#ed8423)!important}
.field input[type="checkbox"]:focus-visible,.field input[type="radio"]:focus-visible,
.setting-card input[type="checkbox"]:focus-visible,.setting-card input[type="radio"]:focus-visible,
.studio-panel input[type="checkbox"]:focus-visible,.studio-panel input[type="radio"]:focus-visible,
.faq-row input[type="checkbox"]:focus-visible,.faq-row input[type="radio"]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--saffron) 28%,transparent);outline-offset:2px
}
.field>span:has(>input[type="checkbox"]),.field>span:has(>input[type="radio"]),
.studio-panel label>span:has(>input[type="checkbox"]),
.faq-row label:has(>input[type="checkbox"]){display:flex;align-items:center;gap:9px;min-height:28px;cursor:pointer}
.field input[type="color"],.studio-panel input[type="color"]{
  width:56px!important;min-width:56px!important;height:42px!important;min-height:42px!important;
  padding:4px!important;border-radius:9px!important;cursor:pointer
}
.field input[type="file"],.studio-panel input[type="file"]{
  min-height:46px;padding:7px 9px!important;font-size:13px;line-height:1.35
}
.field input[type="range"],.studio-panel input[type="range"]{
  min-height:24px!important;height:24px!important;padding:0!important;border:0!important;background:transparent!important
}
.form-note,.help-text,.field small{font-size:12.5px;line-height:1.55}
.verify-result{padding:22px;border-radius:var(--pwr-radius);font-size:15px;line-height:1.6}
.site-footer{font-size:13.5px;line-height:1.7}
.site-footer h3{font-size:14px;line-height:1.35;letter-spacing:.04em}
.site-footer a,.site-footer p{font-size:13.5px;line-height:1.7}
.footer-bottom{font-size:12.5px}
.chatbot-launcher{font-size:14px}
.chatbot-window{font-size:14px}
.chatbot-window header strong{font-size:14px}
.chatbot-window header small,.chatbot-privacy{font-size:11.5px;line-height:1.45}
.chatbot-window input{font-size:14px}

/* Administration and applicant portal */
.sidebar{width:272px}
.dashboard-main{margin-left:272px}
.sidebar .brand{padding:24px 20px}
.sidebar .brand strong{font-size:15px}
.sidebar .brand small{font-size:9.5px}
.sidebar-edition{padding:15px 20px}
.sidebar-edition span{font-size:11px;line-height:1.4;letter-spacing:.075em}
.sidebar-edition strong{font-size:14px;line-height:1.35}
.sidebar-user{padding:17px 20px}
.sidebar-user strong{font-size:13.5px;line-height:1.35}
.sidebar-user small{font-size:11px;line-height:1.4}
.sidebar nav{padding:10px 12px 20px}
.sidebar nav a,
body.app-shell .sidebar [data-sidebar-nav] a{min-height:42px;padding:10px 13px;border-radius:9px;font-size:14px;line-height:1.35;gap:10px}
.sidebar-bottom{padding:16px 20px 22px}
.sidebar-bottom,body.app-shell .sidebar-bottom{font-size:12.5px;line-height:1.45}
.sidebar-bottom a{font-size:12.5px;line-height:1.45}
.dashboard-topbar{min-height:72px;padding:12px 30px}
.dashboard-title small{font-size:11px;line-height:1.35;letter-spacing:.09em}
.dashboard-title h1{font-size:26px;line-height:1.2}
.dashboard-content{padding:30px}
body.app-shell .button,body.app-shell button.button,
body.app-shell .panel-actions .button,body.app-shell .action-bar .button{
  min-height:42px!important;padding:10px 18px!important;font-size:13.5px!important;line-height:1.25!important
}
body.app-shell .button-small,body.app-shell .button.button-small{
  min-height:38px!important;padding:8px 15px!important;font-size:13px!important
}
.stat-card{min-height:142px;padding:22px;border-radius:var(--pwr-radius)}
.stat-card span,.stat-card>small{font-size:12px;line-height:1.4;letter-spacing:.055em}
.stat-card strong{font-size:32px;line-height:1.15}
.stat-card p{font-size:13px;line-height:1.5}
.panel,.setting-card,.evidence-card,.key-values div,.check-item{border-radius:var(--pwr-radius)}
.panel-header{padding:19px 22px}
.panel-header h2,.panel>h2{font-size:20px;line-height:1.3}
.panel-header h3,.panel>h3{font-size:17px;line-height:1.35}
.panel-header p,.panel>p{font-size:13.5px;line-height:1.6}
.panel-body{padding:22px}
.filters{padding:17px 20px;gap:12px}
.filters input,.filters select{font-size:14px}
.table-wrap{border-radius:12px}
.data-table{font-size:13.5px;line-height:1.5}
.data-table th{padding:12px 14px;font-size:11.5px;line-height:1.35;letter-spacing:.065em}
.data-table td{padding:14px;font-size:13.5px;line-height:1.55}
.data-table strong{font-size:14px;line-height:1.4}
.data-table small{font-size:12px;line-height:1.5}
.data-table a{font-size:13px}
.key-values div{padding:15px}
.key-values span,.key-values dt,.key-values small{font-size:12px;line-height:1.4}
.key-values strong,.key-values dd{font-size:15px;line-height:1.5}
.tabs a{min-height:40px;padding:9px 14px;font-size:13px;line-height:1.35}
.evidence-card{padding:17px}
.evidence-card h3{font-size:15px;line-height:1.4}
.evidence-card p{font-size:12.5px;line-height:1.55}
.evidence-actions a,.evidence-actions button{font-size:12.5px;min-height:36px;padding:7px 11px}
.evidence-review-form{
  display:grid;grid-template-columns:minmax(112px,.75fr) minmax(170px,1.5fr) auto;
  align-items:center;gap:9px;margin-top:13px
}
.evidence-review-form select,.evidence-review-form input{
  width:100%;height:42px;min-height:42px;padding:9px 11px;border:1px solid var(--mode-border,#d8e0e8);
  border-radius:9px;background:var(--mode-input,#fff);color:var(--mode-text,#17314f);font-size:13.5px;line-height:1.3
}
body.app-shell .evidence-review-form button{
  height:42px!important;min-height:42px!important;padding:9px 15px!important;font-size:13px!important;white-space:nowrap
}
.checklist{gap:10px}
.check-item{
  min-height:62px;grid-template-columns:minmax(0,1fr) minmax(170px,210px);
  align-items:center;gap:20px;padding:10px 15px
}
.check-item strong{font-size:14px;line-height:1.4;font-weight:700}
.check-item select{width:100%;min-height:42px;padding:9px 11px;border-radius:9px;font-size:14px;line-height:1.35}
body.app-shell .action-bar{position:static;bottom:auto;margin-top:22px}
.setting-card{padding:20px}
.setting-card h3{font-size:18px;line-height:1.35}
.setting-card p{font-size:13px;line-height:1.6}
.application-header h2{font-size:22px;line-height:1.3}
.application-header p,.timeline-item p{font-size:13.5px;line-height:1.6}
.timeline-item strong{font-size:14px;line-height:1.45}
.timeline-item small{font-size:12px;line-height:1.45}
.action-bar{padding:15px 20px}
.modal-card{padding:24px}
.modal-card h2{font-size:21px;line-height:1.3}
.modal-card p{font-size:14px;line-height:1.65}
.empty-panel h3{font-size:18px;line-height:1.4}
.empty-panel p{font-size:14px;line-height:1.65}
.block-toolbar button,.builder-block header button,.modal-close{font-size:13px;min-height:36px}
.page-list-panel .panel-header{align-items:flex-start;gap:20px}
.page-list-panel .panel-header>div:first-child{min-width:0;flex:1}
.page-list-actions{display:flex;flex:0 0 170px;flex-direction:column;gap:10px;align-items:stretch}
body.app-shell .page-list-actions .button{width:100%;margin:0!important;white-space:nowrap}
.block-toolbar{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  margin:25px 0;padding:20px;border-radius:12px
}
.block-toolbar strong{grid-column:1/-1;width:auto;margin-bottom:2px;font-size:15px;line-height:1.4}
body.app-shell .block-toolbar button{
  width:100%;min-width:0;min-height:46px!important;padding:9px 12px!important;
  font-size:13.5px!important;line-height:1.3!important;white-space:normal;text-align:center
}
.block-fields label,.studio-panel label,.check-item label{font-size:12.5px;line-height:1.45}
.block-fields input,.block-fields select,.block-fields textarea,
.faq-row input,.faq-row select,.faq-row textarea,
.studio-panel input,.studio-panel select,.studio-panel textarea,.check-item select{
  min-height:42px;padding:10px 12px;font-size:14px;line-height:1.45
}

/* Preserve readable light/dark colours across all custom builder surfaces. */
html[data-theme] .builder-block,html[data-theme] .studio-panel,
html[data-theme] .setting-card,html[data-theme] .auth-card,
html[data-theme] .record-card{color:var(--mode-text)}
html[data-theme] .sidebar nav a{color:inherit}
html[data-theme] .panel-header p,html[data-theme] .setting-card p,
html[data-theme] .record-card p{color:var(--mode-muted)}

@media(max-width:1100px){
  .dashboard-content{padding:24px}
  .main-nav{gap:14px}
  .main-nav a{font-size:13.5px}
}
@media(max-width:820px){
  .sidebar{width:272px}
  .dashboard-main{margin-left:0}
  .dashboard-topbar{padding:11px 16px}
  .dashboard-title h1{font-size:22px}
  .dashboard-content{padding:18px}
  .main-nav a{font-size:15px}
  .search-panel{padding:18px}
  .data-table{min-width:720px}
  .block-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  :root{--pwr-card-padding:18px}
  body,body.app-shell{font-size:15px}
  .announcement{font-size:11.5px}
  .hero-copy>p{font-size:16px}
  .metric strong{font-size:30px}
  .auth-card{padding:22px 18px}
  .dashboard-content{padding:14px}
  .panel-header,.panel-body{padding:17px}
  .stat-card{padding:18px}
  .dashboard-tools .language-control{max-width:132px}
  .theme-toggle,.dashboard-tools .theme-toggle{width:60px!important;min-width:60px!important;flex-basis:60px!important;height:36px!important;min-height:36px!important}
  .theme-toggle:after{width:28px;height:28px;top:3px}
  .theme-toggle span{width:26px;height:28px;font-size:13px}
  html[data-theme="dark"] .theme-toggle:after{left:28px}
  .page-list-panel .panel-header{flex-direction:column}
  .page-list-actions{width:100%;flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr}
  .block-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}
  .evidence-review-form{grid-template-columns:1fr}
  body.app-shell .evidence-review-form button{width:100%}
  .check-item{grid-template-columns:1fr;gap:8px;align-items:stretch}
}
