/* ALiS Unified Theme System — v0.15.6
 * Central design tokens for Applicant, Staff, Auth and ALiS Admin surfaces.
 */
:root{
  --alis-font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --alis-font-size-xs:12px;
  --alis-font-size-sm:13px;
  --alis-font-size-base:14px;
  --alis-font-size-md:16px;
  --alis-font-size-lg:20px;
  --alis-font-size-xl:28px;
  --alis-font-size-2xl:32px;
  --alis-line-tight:1.25;
  --alis-line-base:1.55;
  --alis-weight-regular:400;
  --alis-weight-medium:500;
  --alis-weight-semibold:600;
  --alis-weight-bold:700;

  --alis-primary:#0b6b57;
  --alis-primary-dark:#075244;
  --alis-primary-soft:#eaf5f1;
  --alis-info:#2f80c7;
  --alis-info-soft:#eef6ff;
  --alis-success:#17845f;
  --alis-success-soft:#eaf8f2;
  --alis-warning:#b7791f;
  --alis-warning-soft:#fff8e8;
  --alis-danger:#b42318;
  --alis-danger-soft:#fff1f0;
  --alis-neutral-900:#17231f;
  --alis-neutral-700:#475a52;
  --alis-neutral-500:#71817a;
  --alis-neutral-300:#dce6e1;
  --alis-neutral-200:#e8efec;
  --alis-neutral-100:#f4f7f5;
  --alis-surface:#ffffff;

  --alis-space-1:4px;
  --alis-space-2:8px;
  --alis-space-3:12px;
  --alis-space-4:16px;
  --alis-space-5:20px;
  --alis-space-6:24px;
  --alis-space-8:32px;
  --alis-space-10:40px;

  --alis-radius-sm:8px;
  --alis-radius-md:12px;
  --alis-radius-lg:16px;
  --alis-radius-xl:20px;
  --alis-shadow-card:0 5px 18px rgba(28,56,46,.045);
  --alis-control-height:44px;
}

/* Global typography baseline for ALiS-owned UI only. */
.alis-workspace,.alis-registration-page,.alis-auth-standard,.alis-shell,.alis-admin-wrap,
.alis-workspace button,.alis-workspace input,.alis-workspace select,.alis-workspace textarea,
.alis-registration-page button,.alis-registration-page input,.alis-registration-page select,.alis-registration-page textarea,
.alis-auth-standard button,.alis-auth-standard input,.alis-auth-standard select,.alis-auth-standard textarea,
.alis-shell button,.alis-shell input,.alis-shell select,.alis-shell textarea,
.alis-admin-wrap button,.alis-admin-wrap input,.alis-admin-wrap select,.alis-admin-wrap textarea{
  font-family:var(--alis-font-family)!important;
}
.alis-workspace,.alis-registration-page,.alis-auth-standard,.alis-shell,.alis-admin-wrap{
  font-size:var(--alis-font-size-base);
  line-height:var(--alis-line-base);
  color:var(--alis-neutral-900);
}

/* Headings */
.alis-page-heading h1,.alis-registration-page h1,.alis-shell h1,.alis-admin-wrap h1{
  font-size:var(--alis-font-size-xl)!important;
  line-height:var(--alis-line-tight)!important;
  font-weight:var(--alis-weight-bold)!important;
  letter-spacing:-.025em!important;
}
.alis-work-card-head h2,.alis-registration-page h2,.alis-shell h2,.alis-admin-wrap h2{
  font-size:var(--alis-font-size-lg)!important;
  line-height:1.35!important;
  font-weight:var(--alis-weight-semibold)!important;
}
.alis-workspace h3,.alis-registration-page h3,.alis-shell h3,.alis-admin-wrap h3{
  font-size:var(--alis-font-size-md)!important;
  line-height:1.4!important;
  font-weight:var(--alis-weight-semibold)!important;
}

/* Small labels / helper text */
.alis-kicker,.alis-eyebrow,.alis-modern-head,.alis-table th{
  font-size:var(--alis-font-size-xs)!important;
  font-weight:var(--alis-weight-semibold)!important;
  letter-spacing:.06em;
}
.alis-muted,.alis-field small,.alis-page-heading p,.alis-workspace small,.alis-registration-page small{
  line-height:1.5;
}

/* Controls */
.alis-field input,.alis-field select,.alis-field textarea,
.alis-registration-page input:not([type="checkbox"]):not([type="radio"]),
.alis-registration-page select,.alis-registration-page textarea,
.alis-workspace input:not([type="checkbox"]):not([type="radio"]),
.alis-workspace select,.alis-workspace textarea{
  font-size:var(--alis-font-size-base)!important;
  border-radius:var(--alis-radius-sm)!important;
}
.alis-field input,.alis-field select,
.alis-registration-page input:not([type="checkbox"]):not([type="radio"]),.alis-registration-page select,
.alis-workspace input:not([type="checkbox"]):not([type="radio"]),.alis-workspace select{
  min-height:var(--alis-control-height);
}
.alis-btn,.alis-workspace .alis-btn,.alis-registration-page button[type="submit"],.alis-registration-page .alis-btn{
  min-height:42px;
  padding:0 16px!important;
  border-radius:var(--alis-radius-sm)!important;
  font-size:var(--alis-font-size-sm)!important;
  font-weight:var(--alis-weight-semibold)!important;
  line-height:1.2;
}

/* Shared surface rhythm */
.alis-work-card,.alis-card,.alis-form-card,.alis-auth-card,.alis-metric-card{
  border-radius:var(--alis-radius-lg)!important;
  box-shadow:var(--alis-shadow-card)!important;
}
.alis-work-card,.alis-card{padding:var(--alis-space-6)!important;}
.alis-dashboard-cards,.alis-work-grid-2,.alis-grid,.alis-summary-grid{gap:var(--alis-space-4)!important;}

/* Tables */
.alis-modern-row,.alis-table td,.alis-table th{
  font-size:var(--alis-font-size-sm)!important;
}
.alis-modern-head,.alis-table th{color:var(--alis-neutral-500)!important;}

/* Semantic badges stay consistent across modules */
.alis-pill,.alis-status,.alis-access-chip{
  font-size:var(--alis-font-size-xs)!important;
  font-weight:var(--alis-weight-semibold)!important;
  border-radius:999px!important;
}
.alis-tone-success,.alis-status-success,.alis-pill-success{color:var(--alis-success)!important;background:var(--alis-success-soft)!important;}
.alis-tone-warning,.alis-status-warning,.alis-pill-warning{color:var(--alis-warning)!important;background:var(--alis-warning-soft)!important;}
.alis-tone-danger,.alis-status-danger,.alis-pill-danger{color:var(--alis-danger)!important;background:var(--alis-danger-soft)!important;}
.alis-tone-info,.alis-status-info,.alis-pill-info{color:var(--alis-info)!important;background:var(--alis-info-soft)!important;}

/* Sidebar and top header readable, but compact. */
.alis-sidebar-nav a{font-size:var(--alis-font-size-sm)!important;font-weight:var(--alis-weight-medium)!important;min-height:42px;display:flex;align-items:center;}
.alis-workspace-brand strong,.alis-workspace-user strong{font-weight:var(--alis-weight-semibold)!important;}
.alis-workspace-user strong{font-size:var(--alis-font-size-sm)!important;}
.alis-workspace-user small,.alis-logout-link{font-size:var(--alis-font-size-xs)!important;}

/* Bilingual toggle should not shift dimensions between BM and EN. */
.alis-language-switch,.alis-lang-switch{font-size:var(--alis-font-size-xs)!important;font-weight:var(--alis-weight-semibold)!important;}

/* Admin screens owned by ALiS. */
.alis-admin-wrap{max-width:1440px;}
.alis-admin-wrap .alis-admin-card{border-radius:var(--alis-radius-lg)!important;box-shadow:var(--alis-shadow-card)!important;}
.alis-admin-wrap .button{font-family:var(--alis-font-family)!important;font-weight:var(--alis-weight-medium)!important;}

@media(max-width:820px){
  :root{--alis-font-size-xl:25px;--alis-font-size-lg:18px;}
  .alis-work-card,.alis-card{padding:var(--alis-space-4)!important;}
}
@media(max-width:520px){
  :root{--alis-font-size-base:14px;--alis-font-size-md:15px;--alis-font-size-xl:23px;}
  .alis-page-heading h1,.alis-registration-page h1,.alis-shell h1{letter-spacing:-.015em!important;}
}


/* v0.15.7 — Technical Task inspection UX */
.alis-tech-context{margin-bottom:16px}
.alis-tech-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.alis-tech-context-grid>div{padding:12px 14px;background:var(--alis-green-100,#eaf5f1);border-radius:var(--alis-radius-sm,8px);min-width:0}
.alis-tech-context-grid small{display:block;color:var(--alis-muted,#6f7d77);font-size:var(--alis-text-xs,12px);margin-bottom:4px}
.alis-tech-context-grid strong{display:block;overflow-wrap:anywhere}
.alis-photo-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.alis-photo-field{border:1px solid var(--alis-border,#dfe7e3);border-radius:var(--alis-radius-md,12px);padding:12px;background:var(--alis-surface,#fff)}
.alis-photo-preview{display:block;text-decoration:none;color:inherit;margin-top:8px}
.alis-photo-preview img{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;border:1px solid var(--alis-border,#dfe7e3);background:#f4f7f5}
.alis-photo-preview span{display:inline-block;margin-top:7px;font-weight:600;font-size:var(--alis-text-sm,13px);color:var(--alis-green-700,#0f766e)}
.alis-photo-placeholder{height:90px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--alis-border,#dfe7e3);border-radius:10px;color:var(--alis-muted,#6f7d77);font-size:var(--alis-text-sm,13px);background:#f7faf8}
.alis-decision-audit{margin-top:14px;padding-top:12px;border-top:1px solid var(--alis-border,#dfe7e3);color:var(--alis-muted,#6f7d77)}
.alis-technical-detail-grid .alis-pill.is-danger{background:#fdecec;color:#a61b1b}
.alis-technical-detail-grid .alis-pill.is-warning{background:#fff4d8;color:#8a5a00}
.alis-technical-detail-grid .alis-pill.is-success{background:#e8f6ef;color:#0a6b4f}
.alis-staff-form button[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.alis-tech-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alis-photo-review-grid{grid-template-columns:1fr}}
@media(max-width:560px){.alis-tech-context-grid{grid-template-columns:1fr}}

/* v0.15.8 — Technical inspection assignment/checklist polish */
.alis-inline-assign{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.alis-inline-assign select{min-width:160px;height:34px;border:1px solid var(--alis-border);border-radius:8px;padding:0 9px;font:inherit}.alis-btn-compact{min-height:34px!important;height:34px!important;padding:0 12px!important;font-size:12px!important}.alis-legacy-note{margin-top:10px}.alis-inspection-checklist{margin:12px 0 16px;padding:14px 16px;border:1px solid var(--alis-border);border-radius:12px;background:var(--alis-bg-soft,#f7faf8)}.alis-inspection-checklist>strong{display:block;margin-bottom:8px}.alis-inspection-checklist ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:0;padding:0;list-style:none}.alis-inspection-checklist li{font-size:13px;color:var(--alis-muted);display:flex;align-items:center;gap:7px}.alis-inspection-checklist li span{width:18px;height:18px;border-radius:50%;border:1px solid var(--alis-border);display:inline-flex;align-items:center;justify-content:center;background:#fff}.alis-inspection-checklist li span:after{content:'×';font-weight:700;color:#9b5b58}.alis-inspection-checklist li.is-done{color:var(--alis-text);font-weight:600}.alis-inspection-checklist li.is-done span{background:#e7f5ef;border-color:#8bcab1}.alis-inspection-checklist li.is-done span:after{content:'✓';color:#087a58}.alis-photo-preview-local{cursor:default;text-decoration:none}.alis-photo-preview-local img{max-height:145px;object-fit:cover;width:100%;border-radius:8px}.alis-pill.is-danger{background:#fdebea!important;color:#9f2f2a!important;border-color:#efb3ae!important}.alis-pill.is-warning{background:#fff3d6!important;color:#8c5b00!important;border-color:#edd28f!important}.alis-pill.is-success{background:#e7f5ef!important;color:#087a58!important;border-color:#9bd1bc!important}@media(max-width:760px){.alis-inspection-checklist ul{grid-template-columns:1fr}.alis-inline-assign{align-items:stretch}.alis-inline-assign select,.alis-inline-assign .alis-btn{width:100%}}

/* v0.15.9 — Inspection geofence & multi-photo capture */
.alis-geofence-setting-form{display:flex;align-items:end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--alis-border,#dfe7e3)}
.alis-geofence-setting-form label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.alis-geofence-setting-form input{width:96px;min-height:36px}
.alis-geofence-card{margin:4px 0 18px;padding:16px;border:1px solid var(--alis-border,#dfe7e3);border-radius:14px;background:#f8fbfa}
.alis-geofence-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.alis-geofence-head h3{margin:2px 0 0;font-size:16px}
.alis-geofence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.alis-geofence-grid>div{padding:10px 12px;border:1px solid #e4ece8;border-radius:10px;background:#fff}.alis-geofence-grid small,.alis-geofence-grid strong{display:block}.alis-geofence-grid small{font-size:11px;color:var(--alis-muted,#6f7d77);margin-bottom:3px}.alis-geofence-grid strong{font-size:13px}
.alis-geofence-override{margin-top:8px}.alis-geofence-override textarea{min-height:76px}
.alis-multi-photo-upload{margin:14px 0;padding:12px 14px;border:1px dashed #9fb8ae;border-radius:12px;background:#fbfdfc}.alis-multi-photo-upload input[type=file]{padding:8px;background:#fff}
.alis-photo-preview-local{pointer-events:none}.alis-photo-preview-local span{display:block;padding:6px 8px;font-size:11px;color:var(--alis-muted,#6f7d77)}
@media(max-width:900px){.alis-geofence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.alis-geofence-head{align-items:flex-start;flex-direction:column}.alis-geofence-grid{grid-template-columns:1fr}.alis-geofence-setting-form{align-items:flex-start;flex-direction:column}}


/* v0.16.1 Technical Officer Registry */
.alis-officer-filter{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(4,minmax(140px,.8fr)) auto;gap:10px;margin:16px 0 20px}
.alis-officer-filter input,.alis-officer-filter select{min-height:42px}
.alis-officer-row{grid-template-columns:1.35fr .55fr 1fr .8fr .65fr .75fr!important}
.alis-officer-tools{display:flex;gap:8px;align-items:center}
.alis-password-inline{display:flex;gap:8px}.alis-password-inline input{flex:1}
.alis-officer-editor{border-top:1px solid var(--alis-border);padding:10px 0 14px}
.alis-officer-editor summary{cursor:pointer;font-weight:600;color:var(--alis-green-700)}
@media(max-width:1100px){.alis-officer-filter{grid-template-columns:1fr 1fr}.alis-officer-row{grid-template-columns:1fr!important}.alis-officer-row>span{padding:3px 0}.alis-officer-row.alis-modern-head{display:none}}
@media(max-width:640px){.alis-officer-filter{grid-template-columns:1fr}.alis-password-inline{flex-direction:column}}

/* v0.17.2 — Unified role-aware sidebar navigation */
.alis-sidebar{
  background:linear-gradient(180deg,var(--alis-dark),var(--alis))!important;
}
.alis-sidebar-nav{
  gap:5px!important;
}
.alis-sidebar-nav a{
  position:relative;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:44px!important;
  padding:10px 12px!important;
  border:1px solid transparent;
  border-radius:11px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:var(--alis-font-size-sm)!important;
  font-weight:var(--alis-weight-medium)!important;
  line-height:1.3!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.alis-sidebar-nav a:hover{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.alis-sidebar-nav a.is-active{
  background:rgba(255,255,255,.15)!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 rgba(169,240,212,.95);
}
.alis-nav-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.70);
}
.alis-nav-icon svg{width:19px;height:19px;display:block}
.alis-sidebar-nav a:hover .alis-nav-icon,
.alis-sidebar-nav a.is-active .alis-nav-icon{color:#bff5df}
.alis-nav-count{
  margin-left:auto!important;
  flex:0 0 auto;
}
.alis-nav-section{
  margin:17px 12px 6px!important;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.46)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
}
.alis-sidebar-profile,
.alis-sidebar-help{
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.065)!important;
  box-shadow:none!important;
}
@media(max-width:820px){
  .alis-sidebar-nav{gap:6px!important}
  .alis-sidebar-nav a{min-height:40px!important;padding:8px 10px!important;gap:8px!important}
  .alis-nav-icon{width:18px;height:18px;flex-basis:18px}
  .alis-nav-icon svg{width:17px;height:17px}
  .alis-nav-section{display:none!important}
}
