:root {
  --bg: #ffffff;
  --panel: #f8fafc;
  --border: #e5e7eb;
  --text: #111827;
  --muted: #6b7280;
  --purple: #6d28d9;
  --purple2: #7c3aed;
  --max: 1100px;
}

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Inter,system-ui,Arial;
background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
color:var(--text);
}

img{
max-width:100%;
display:block;
}

.container{
width:min(100% - 30px,var(--max));
margin:auto;
}

.site-header{
background:white;
border-bottom:1px solid var(--border);
position:sticky;
top:0;
z-index:10;
}

.nav{
display:flex;
align-items:center;
justify-content:space-between;
min-height:80px;
}

.brand{
display:flex;
align-items:center;
gap:16px;
}

.brand img{
width:110px;
}

.brand-title{
font-weight:800;
font-size:1.2rem;
}

.brand-subtitle{
font-size:.8rem;
color:var(--muted);
}

.nav-links{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.nav-links a{
padding:10px 14px;
border-radius:8px;
color:var(--text);
text-decoration:none;
}

.nav-links a:hover{
background:#f1f5f9;
}

.hero{
padding:60px 0;
text-align:center;
}

.hero img{
width:340px;
margin:auto;
margin-bottom:25px;
}

h1{
font-size:2.7rem;
margin-bottom:14px;
}

h2,h3{
margin-top:0;
}

.page-intro{
color:var(--muted);
margin-top:0;
margin-bottom:24px;
}

.section{
padding:50px 0;
}

.grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.card{
background:var(--panel);
border:1px solid var(--border);
padding:22px;
border-radius:12px;
box-shadow:0 10px 30px rgba(15,23,42,.04);
}

.btn{
display:inline-block;
padding:12px 20px;
border-radius:8px;
font-weight:600;
border:none;
cursor:pointer;
text-decoration:none;
transition:.2s ease;
}

.btn:hover{
transform:translateY(-1px);
}

.btn-primary{
background:var(--purple);
color:white;
}

.btn-primary:hover{
background:#5b21b6;
}

.btn-secondary{
border:1px solid var(--border);
background:white;
color:var(--text);
}

.page-shell{
padding:40px 0;
}

.form-card{
background:white;
border:1px solid var(--border);
padding:30px;
border-radius:12px;
max-width:700px;
box-shadow:0 12px 40px rgba(15,23,42,.06);
}

input,select,textarea{
width:100%;
padding:12px;
border-radius:8px;
border:1px solid var(--border);
margin-top:6px;
margin-bottom:16px;
font:inherit;
background:white;
}

textarea{
min-height:130px;
resize:vertical;
}

label{
display:block;
font-weight:600;
}

.feed-item{
border:1px solid var(--border);
padding:20px;
border-radius:10px;
background:white;
margin-bottom:16px;
box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.footer{
padding:25px 0;
border-top:1px solid var(--border);
text-align:center;
color:var(--muted);
margin-top:40px;
}

/* Call Officer / Emergency UI */

.call-buttons{
display:flex;
gap:16px;
flex-wrap:wrap;
margin-bottom:14px;
}

.call-officer{
background:#6d28d9;
color:white;
font-weight:700;
padding:14px 22px;
border-radius:8px;
text-decoration:none;
box-shadow:0 8px 24px rgba(109,40,217,.18);
}

.call-officer:hover{
background:#5b21b6;
}

.emergency-btn{
background:#dc2626;
color:white;
font-weight:700;
padding:14px 22px;
border-radius:8px;
text-decoration:none;
box-shadow:0 8px 24px rgba(220,38,38,.18);
}

.emergency-btn:hover{
background:#b91c1c;
}

.call-note{
font-size:.9rem;
color:#6b7280;
margin-bottom:20px;
}

/* Upload preview */

.preview-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin:-4px 0 20px 0;
}

.preview-item{
border:1px solid var(--border);
border-radius:10px;
padding:8px;
background:#f8fafc;
}

.preview-item img{
width:100%;
height:140px;
object-fit:cover;
border-radius:8px;
}

.preview-name{
font-size:.8rem;
color:var(--muted);
margin-top:8px;
word-break:break-word;
}

@media(max-width:900px){

.grid{
grid-template-columns:1fr;
}

.nav{
flex-direction:column;
gap:12px;
padding:12px 0;
}

.hero img{
width:260px;
}

.call-buttons{
flex-direction:column;
}

.preview-grid{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:600px){

.brand img{
width:85px;
}

h1{
font-size:2.1rem;
}

.form-card{
padding:20px;
}

.preview-grid{
grid-template-columns:1fr;
}

}