:root{
    --kr-blue:#0757b9;
    --kr-blue-dark:#06275d;
    --kr-orange:#ff6b00;
    --kr-ink:#10233e;
    --kr-muted:#64748b;
    --kr-border:#dce7f4;
    --kr-soft:#f5f9fe;
}
.kr-page{color:var(--kr-ink);background:#fff;min-height:65vh}
.kr-page a{text-decoration:none}
.kr-container{max-width:1180px}
.kr-hero-sm{
    position:relative;overflow:hidden;padding:68px 0 54px;
    background:
      radial-gradient(circle at 90% 10%,rgba(255,107,0,.16),transparent 23%),
      radial-gradient(circle at 8% 16%,rgba(7,87,185,.13),transparent 25%),
      linear-gradient(180deg,#f5fbff,#fff);
}
.kr-hero-sm:before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(rgba(7,87,185,.13) 1.2px,transparent 1.2px);
    background-size:19px 19px;mask-image:linear-gradient(to right,#000,transparent 48%);opacity:.45
}
.kr-title{font-weight:850;letter-spacing:-.035em;color:var(--kr-blue-dark)}
.kr-eyebrow{font-size:.78rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--kr-orange)}
.kr-muted{color:var(--kr-muted)}
.kr-card{border:1px solid var(--kr-border);border-radius:22px;box-shadow:0 14px 38px rgba(15,63,111,.09);background:#fff}
.kr-card-soft{border:1px solid var(--kr-border);border-radius:20px;background:var(--kr-soft)}
.kr-btn-primary{background:linear-gradient(135deg,var(--kr-blue),#0d73db);color:#fff;border:0;font-weight:750;box-shadow:0 10px 24px rgba(7,87,185,.22)}
.kr-btn-primary:hover{color:#fff;transform:translateY(-1px)}
.kr-btn-outline{border:1.5px solid var(--kr-blue);color:var(--kr-blue);background:#fff;font-weight:750}
.kr-btn-outline:hover{background:#eaf4ff;color:var(--kr-blue)}
.kr-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,var(--kr-blue),#0d73db);color:#fff;font-size:1.45rem}
.kr-icon.orange{background:linear-gradient(145deg,var(--kr-orange),#ff943d)}
.kr-section{padding:70px 0}
.kr-form-label{font-weight:750;color:var(--kr-blue-dark)}
.kr-required:after{content:" *";color:#dc3545}
.kr-page .form-control,.kr-page .form-select{
    border:1px solid #cfdceb;border-radius:13px;padding:.78rem .9rem
}
.kr-page .form-control:focus,.kr-page .form-select:focus{
    border-color:#6fa9e7;box-shadow:0 0 0 .2rem rgba(7,87,185,.12)
}
.kr-help{font-size:.82rem;color:var(--kr-muted)}
.kr-map{height:520px;border-radius:20px;overflow:hidden;border:1px solid var(--kr-border);background:#eaf4ff}
.kr-map-shell{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid var(--kr-border);
    border-radius:20px;
    background:#eaf4ff;
    box-shadow:0 12px 30px rgba(15,63,111,.10)
}
.kr-map-form{
    position:relative;
    z-index:1;
    width:100%;
    height:430px;
    min-height:430px;
    border:0;
    border-radius:20px 20px 0 0;
    overflow:hidden;
    background:#dfeefa
}
.kr-map-form.leaflet-container{
    font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    cursor:crosshair
}
.kr-map-form .leaflet-tile,
.kr-map-form .leaflet-marker-icon,
.kr-map-form .leaflet-marker-shadow,
.kr-map-form .leaflet-pane img{
    max-width:none!important;
    max-height:none!important
}
.kr-map-form .leaflet-control-zoom a{
    color:var(--kr-blue-dark);
    font-weight:800
}
.kr-map-form .leaflet-control-layers{
    border:0;
    border-radius:12px;
    box-shadow:0 8px 24px rgba(15,63,111,.18)
}
.kr-map-form .leaflet-control-attribution{
    font-size:10px;
    background:rgba(255,255,255,.88)
}
.kr-map-footer{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    background:#fff;
    border-top:1px solid var(--kr-border)
}
.kr-map-coordinate{
    flex:0 0 auto;
    padding:.45rem .72rem;
    border-radius:999px;
    background:#eef5fd;
    color:var(--kr-blue-dark);
    font-size:.78rem;
    font-weight:750;
    font-variant-numeric:tabular-nums
}
.kr-map-help{
    position:absolute;
    z-index:500;
    top:14px;
    left:50%;
    transform:translateX(-50%);
    pointer-events:none;
    white-space:nowrap;
    padding:.5rem .75rem;
    border:1px solid rgba(7,87,185,.15);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--kr-blue-dark);
    box-shadow:0 8px 22px rgba(15,63,111,.14);
    font-size:.78rem;
    font-weight:750
}
.kr-location-pin{
    position:relative;
    width:34px;
    height:34px;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    background:var(--kr-orange);
    border:4px solid #fff;
    box-shadow:0 8px 22px rgba(255,107,0,.38)
}
.kr-location-pin:after{
    content:"";
    position:absolute;
    width:9px;
    height:9px;
    top:8px;
    left:8px;
    border-radius:50%;
    background:#fff
}
.kr-map-error{
    display:grid;
    place-items:center;
    height:100%;
    min-height:330px;
    padding:24px;
    text-align:center;
    color:#842029;
    background:#f8d7da
}
.kr-badge{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.45rem .75rem;font-size:.8rem;font-weight:750}
.kr-status-line{position:relative;padding-left:30px;padding-bottom:28px}
.kr-status-line:before{content:"";position:absolute;left:9px;top:18px;bottom:0;width:2px;background:#d5e3f2}
.kr-status-line:last-child:before{display:none}
.kr-status-dot{position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px var(--kr-blue);background:var(--kr-blue)}
.kr-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid var(--kr-border)}
.kr-stat-value{font-size:2.25rem;line-height:1;font-weight:900;color:var(--kr-blue)}
.kr-filter-bar{background:#fff;border:1px solid var(--kr-border);border-radius:18px;box-shadow:0 12px 34px rgba(15,63,111,.08)}
.kr-popup-title{font-weight:800;color:var(--kr-blue)}
.kr-dropzone{border:2px dashed #a9c4e4;border-radius:18px;padding:22px;text-align:center;background:#f8fbff}
.kr-preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.kr-preview-item{position:relative}
.kr-preview-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.kr-notice{border:1px solid #ffd7b9;background:#fff8f0;border-radius:18px}
.kr-footer-cta{background:linear-gradient(135deg,var(--kr-blue-dark),var(--kr-blue));color:#fff;border-radius:24px;padding:34px}
.kr-data-table{border-radius:18px;overflow:hidden;border:1px solid var(--kr-border)}
.kr-chip{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#eef5fd;color:#174b84;font-size:.78rem;font-weight:700}
@media(max-width:767.98px){
    .kr-hero-sm{padding:48px 0 38px}
    .kr-section{padding:52px 0}
    .kr-map{height:470px}
    .kr-map-form{height:360px;min-height:360px}
    .kr-map-footer{align-items:flex-start;flex-direction:column}
    .kr-map-coordinate{align-self:stretch;text-align:center}
    .kr-map-help{top:10px;font-size:.72rem}
    .kr-preview-grid{grid-template-columns:repeat(3,1fr)}
}
