@import "./tokens/colors.css";
@import "./tokens/typography.css";
@import "./tokens/spacing.css";
@import "./tokens/animations.css";

@import "./components/buttons.css";
@import "./components/panels.css";
@import "./components/badges.css";
@import "./components/forms.css";
*,:after,:before{
  box-sizing:border-box;
}

html{
  font-size:16px;
  line-height:1.5;
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  background:var(--emergency-bg-primary);
  color:var(--emergency-text-primary);
  font-family:var(--emergency-font-primary);
  font-size:var(--emergency-text-base);
  line-height:var(--emergency-leading-normal);
  margin:0;
  padding:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.emergency-hidden{ display:none !important; }
.emergency-block{ display:block !important; }
.emergency-inline{ display:inline !important; }
.emergency-inline-block{ display:inline-block !important; }
.emergency-flex{ display:flex !important; }
.emergency-inline-flex{ display:inline-flex !important; }
.emergency-grid{ display:grid !important; }
.emergency-flex-col{ flex-direction:column; }
.emergency-flex-row{ flex-direction:row; }
.emergency-flex-wrap{ flex-wrap:wrap; }
.emergency-flex-nowrap{ flex-wrap:nowrap; }
.emergency-items-center{ align-items:center; }
.emergency-items-start{ align-items:flex-start; }
.emergency-items-end{ align-items:flex-end; }
.emergency-justify-center{ justify-content:center; }
.emergency-justify-start{ justify-content:flex-start; }
.emergency-justify-end{ justify-content:flex-end; }
.emergency-justify-between{ justify-content:space-between; }
.emergency-relative{ position:relative; }
.emergency-absolute{ position:absolute; }
.emergency-fixed{ position:fixed; }
.emergency-sticky{ position:sticky; }
.emergency-w-full{ width:100%; }
.emergency-h-full{ height:100%; }
.emergency-w-auto{ width:auto; }
.emergency-h-auto{ height:auto; }
.emergency-overflow-hidden{ overflow:hidden; }
.emergency-overflow-auto{ overflow:auto; }
.emergency-overflow-scroll{ overflow:scroll; }
.emergency-critical-only{
  display:none;
}

.emergency-state-critical .emergency-critical-only{
  display:block;
}

.emergency-warning-only{
  display:none;
}

.emergency-state-warning .emergency-warning-only{
  display:block;
}
.emergency-text-urgent{
  color:var(--emergency-critical);
  font-weight:var(--emergency-font-bold);
  letter-spacing:var(--emergency-tracking-wider);
  text-transform:uppercase;
}

.emergency-text-attention{
  color:var(--emergency-warning);
  font-weight:var(--emergency-font-semibold);
}

.emergency-text-safe{
  color:var(--emergency-good);
}
.emergency-bg-critical-subtle{
  background:rgba(239,68,68,.1);
  border-left:4px solid var(--emergency-critical);
}

.emergency-bg-warning-subtle{
  background:rgba(245,158,11,.1);
  border-left:4px solid var(--emergency-warning);
}

.emergency-bg-good-subtle{
  background:rgba(34,197,94,.1);
  border-left:4px solid var(--emergency-good);
}
@media (max-width:768px){
  .emergency-mobile-hidden{ display:none !important; }
  .emergency-mobile-block{ display:block !important; }
  .emergency-mobile-flex{ display:flex !important; }
  .emergency-mobile-grid{ display:grid !important; }
  
  .emergency-mobile-text-center{ text-align:center; }
  .emergency-mobile-text-left{ text-align:left; }
  
  .emergency-mobile-w-full{ width:100%; }
  .emergency-mobile-h-auto{ height:auto; }
}
@media (min-width:769px){
  .emergency-desktop-hidden{ display:none !important; }
  .emergency-desktop-block{ display:block !important; }
  .emergency-desktop-flex{ display:flex !important; }
  .emergency-desktop-grid{ display:grid !important; }
}
.emergency-sr-only{
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}
.emergency-focus-trap{
  outline:none;
}

.emergency-focus-trap:focus-visible{
  box-shadow:var(--emergency-focus-ring);
}
.emergency-skip-link{
  background:var(--emergency-bg-primary);
  border-radius:var(--emergency-radius-md);
  color:var(--emergency-text-primary);
  left:6px;
  padding:8px;
  position:absolute;
  text-decoration:none;
  top:-40px;
  z-index:var(--emergency-z-emergency-alert);
}

.emergency-skip-link:focus{
  top:6px;
}

@media print{
  .emergency-print-hidden{
    display:none !important;
  }
  
  .emergency-panel{
    background:#fff;
    border:2px solid #000;
    box-shadow:none;
    color:#000;
  }
  
  .emergency-badge,.emergency-btn{
    background:#fff;
    border:1px solid #000;
    color:#000;
  }
}

@media (prefers-color-scheme:light){
  .emergency-auto-theme{
    --emergency-bg-primary:#fff;
    --emergency-bg-secondary:#f8fafc;
    --emergency-bg-tertiary:#f1f5f9;
    --emergency-text-primary:#0f172a;
    --emergency-text-secondary:#334155;
    --emergency-text-muted:#64748b;
    --emergency-border-primary:#e2e8f0;
    --emergency-border-secondary:#cbd5e1;
  }
}
.emergency-gpu-accelerated{
  transform:translateZ(0);
  will-change:transform;
}
.emergency-smooth-scroll{
  scroll-behavior:smooth;
}
.emergency-content-visibility{
  contain-intrinsic-size:200px;
  content-visibility:auto;
}
.emergency-theme-fire{
  --emergency-accent-primary:#ff4500;
  --emergency-accent-secondary:tomato;
}
.emergency-theme-flood{
  --emergency-accent-primary:#1e90ff;
  --emergency-accent-secondary:#4169e1;
}
.emergency-theme-earthquake{
  --emergency-accent-primary:#8b4513;
  --emergency-accent-secondary:sienna;
}
.emergency-theme-medical{
  --emergency-accent-primary:#dc143c;
  --emergency-accent-secondary:#b22222;
}
