/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

.document-action-grid {
display:grid;
gap:12px;
margin:18px 0 24px;
}

.document-action-grid a {
box-sizing:border-box;
display:flex;
align-items:center;
justify-content:center;
width:100%;
min-height:52px;
padding:15px;
text-align:center;
text-decoration:none;
}

.privacy-note {
background:#fff7d6;
border:1px solid #ebcc62;
border-radius:12px;
color:#514316;
line-height:1.45;
margin:14px 0;
padding:12px 14px;
}

.privacy-note strong {
display:block;
margin-bottom:4px;
}

.document-match {
border:2px solid #2f9b5f;
}

/* BASE */
html, body{
min-height:100%;
}

/* FONDO */
body{
background-image: url("fondobandera.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
min-height:100vh;

/* FADE IN */
opacity:0;
transition: opacity 0.4s ease;
}

body.pais-ar{
background-image:linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)), url("fondo_argentina.jpg");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
background-attachment:fixed;
}

body.fade-in{
opacity:1;
}

/* CONTENEDOR */
.login-container{
width:380px;
background:rgba(207,232,255,0.85);
padding:30px;
border-radius:25px;
box-shadow:0 10px 30px rgba(0,0,0,0.35);
margin:40px auto;
position:relative;
}

/* LOGO */
.logo{
width:120px;
height:120px;
border-radius:50%;
display:block;
margin:auto;
margin-bottom:20px;
}

/* TITULOS (TU ESTILO 3) */
h1, h2{

text-align:center;
color:#5a2ea6;
font-family:'Nunito', sans-serif;
font-weight:700;
letter-spacing:1px;

/* SOMBRA FLOTANTE */
text-shadow:
0px 4px 12px rgba(0,0,0,0.25),
0px 1px 2px rgba(0,0,0,0.2);

margin-bottom:20px;

}

/* INPUTS */
.input-box{
position:relative;
margin-bottom:20px;
}

.input-box input,
.input-box select{
width:100%;
padding:15px;
padding-right:40px;
border:none;
border-radius:12px;
background:#2c2c2c;
color:white;
font-size:16px;
}

.input-box select{
appearance:none;
font-weight:800;
letter-spacing:.2px;
border:1px solid rgba(255,255,255,.35);
box-shadow:0 4px 12px rgba(0,0,0,.18);
cursor:pointer;
}

.input-box select:invalid{
color:#5fd0ff;
font-weight:900;
text-transform:uppercase;
text-shadow:0 1px 4px rgba(0,0,0,.35);
}

/* ICONOS */
.input-box i{
position:absolute;
right:15px;
top:50%;
transform:translateY(-50%);
color:#bbb;
}

/* BOTON LOGIN */
.btn-login{
width:100%;
padding:15px;
border:none;
border-radius:25px;
background:#ff3b3b;
color:white;
font-size:18px;
cursor:pointer;
transition:0.3s;
}

.btn-login:hover{
background:#ff2020;
}

/* BOTON ALERTA */
.btn-alerta{
width:180px;
height:180px;
border-radius:50%;
background:#ff3b3b;
color:white;
font-size:26px;
font-weight:bold;
border:none;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
margin:40px auto;
box-shadow:0 8px 25px rgba(0,0,0,0.4);
animation:latido 2s infinite;
}

/* ANIMACION */
@keyframes latido {
0% {transform:scale(1);}
70% {transform:scale(1.05);}
100% {transform:scale(1);}
}

/* LOGOUT */
.logout-icon{
position:absolute;
top:15px;
right:15px;
width:35px;
height:35px;
background:#2d7cff;
color:white;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
text-decoration:none;
font-size:18px;
box-shadow:0 4px 10px rgba(0,0,0,0.25);
}

.share-app-icon{
position:absolute;
top:15px;
right:58px;
width:35px;
height:35px;
background:#17b8ff;
color:white;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
border:none;
text-decoration:none;
font-size:18px;
font-weight:800;
box-shadow:0 4px 10px rgba(0,0,0,0.25);
cursor:pointer;
}

/* BOTONES TIPOS */
.btn-tipo{
display:block;
width:100%;
padding:15px;
margin:10px 0;
border:none;
border-radius:15px;
background:#2d7cff;
color:white;
font-size:16px;
cursor:pointer;
transition:0.3s;
text-align:center;
}

.btn-tipo:hover{
background:#1a5ed8;
transform:scale(1.03);
}

#dots{
display:none;
margin-left:5px;
font-weight:bold;
letter-spacing:2px;
}

.titulo-maps{

text-align:center;

font-family:'Nunito', sans-serif;
font-weight:700;

color:#5a2ea6;

margin-bottom:15px;

text-shadow:
0px 3px 8px rgba(0,0,0,0.25);

}

/* FLUJO DE ALERTAS */
.alert-card{
width:min(440px, calc(100% - 28px));
padding:26px;
background:rgba(245,250,255,0.96);
border:1px solid rgba(255,255,255,0.8);
}

.alert-header{
text-align:center;
margin-bottom:24px;
}

.alert-header h2{
margin:8px 0;
font-size:27px;
}

.alert-header p{
color:#4b5563;
font-size:14px;
line-height:1.5;
}

.alert-kicker{
display:inline-block;
padding:6px 11px;
border-radius:999px;
background:#ffe4e4;
color:#b91c1c;
font-size:11px;
font-weight:800;
letter-spacing:1px;
}

.alert-option{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
padding:16px 18px;
background:#ffffff;
color:#1f2937;
border:1px solid #d7e3f2;
box-shadow:0 4px 12px rgba(31,41,55,0.08);
text-align:left;
}

.alert-option:hover{
background:#edf6ff;
border-color:#2d7cff;
color:#1f2937;
transform:translateY(-1px);
}

.option-title{
font-size:16px;
font-weight:800;
}

.option-help{
max-width:145px;
font-size:12px;
font-weight:600;
color:#64748b;
text-align:right;
}

.alert-form{
display:flex;
flex-direction:column;
gap:18px;
}

.form-group{
display:flex;
flex-direction:column;
gap:8px;
}

.form-group label{
color:#26354a;
font-weight:800;
font-size:14px;
}

.form-group label span{
color:#64748b;
font-size:12px;
font-weight:600;
}

.form-group label strong{
color:#b91c1c;
font-size:12px;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"],
.form-group textarea,
.alert-form select{
width:100%;
padding:14px;
border:1px solid #cbd5e1;
border-radius:13px;
background:#ffffff;
color:#172033;
font-size:15px;
outline:none;
transition:border-color .2s, box-shadow .2s;
}

.form-group textarea{
min-height:110px;
resize:vertical;
}

.form-group input:focus,
.form-group textarea:focus,
.alert-form select:focus{
border-color:#2d7cff;
box-shadow:0 0 0 3px rgba(45,124,255,0.15);
}

.password-field,
.input-box{
position:relative;
}

.password-field input,
.input-box input[type="password"]{
padding-right:46px !important;
}

.toggle-password{
position:absolute;
right:10px;
top:50%;
transform:translateY(-50%);
border:0;
background:transparent;
font-size:18px;
line-height:1;
cursor:pointer;
padding:6px;
z-index:2;
}

.form-group small{
color:#64748b;
font-size:12px;
line-height:1.4;
}

.file-input{
position:absolute;
width:1px;
height:1px;
opacity:0;
pointer-events:none;
}

.camera-field{
display:flex;
flex-direction:column;
align-items:center;
gap:4px;
padding:17px;
border:2px dashed #9db9dc;
border-radius:14px;
background:#edf6ff;
cursor:pointer;
text-align:center;
}

.camera-field:hover{
border-color:#2d7cff;
background:#e3f0ff;
}

.camera-field strong{
color:#1d5fc4 !important;
font-size:15px !important;
}

.file-name{
color:#176b35;
font-size:13px;
font-weight:700;
text-align:center;
}

.location-status{
display:flex;
align-items:center;
gap:9px;
padding:11px 13px;
border-radius:12px;
font-size:13px;
font-weight:700;
}

.status-dot{
width:9px;
height:9px;
border-radius:50%;
background:currentColor;
flex:0 0 auto;
}

.location-status.is-loading{
background:#eef2ff;
color:#4f46e5;
}

.location-status.is-ready{
background:#e7f8ed;
color:#176b35;
}

.location-status.is-warning{
background:#fff7df;
color:#8a4b08;
}

.location-status.is-error{
background:#ffe8e8;
color:#b00020;
}

.btn-submit-alert,
.btn-link-primary{
display:block;
width:100%;
padding:15px;
border:0;
border-radius:14px;
background:#e52d36;
color:#ffffff;
font-size:16px;
font-weight:800;
text-align:center;
text-decoration:none;
cursor:pointer;
box-shadow:0 6px 16px rgba(229,45,54,0.25);
}

.btn-submit-alert:hover,
.btn-link-primary:hover{
background:#c91f28;
}

.btn-submit-alert:disabled{
opacity:.55;
cursor:not-allowed;
box-shadow:none;
}

.btn-cancel-alert{
display:block;
padding:10px;
color:#475569;
font-size:14px;
font-weight:700;
text-align:center;
text-decoration:none;
}

.result-card{
text-align:center;
}

.result-card p{
margin:12px 0 22px;
color:#4b5563;
line-height:1.5;
}

.result-icon{
display:flex;
align-items:center;
justify-content:center;
width:58px;
height:58px;
margin:0 auto 18px;
border-radius:50%;
font-size:30px;
font-weight:900;
}

.result-warning{
background:#fff0ce;
color:#9a5a00;
}

.nearby-summary{
margin:18px 0;
padding:14px;
border-radius:12px;
background:#edf6ff;
color:#284a75;
font-size:14px;
line-height:1.7;
text-align:left;
}

@media (max-width:480px){
.login-container,
.alert-card{
width:calc(100% - 20px);
margin:18px auto;
padding:21px;
border-radius:20px;
}

.option-help{
max-width:120px;
}
}

.site-footer{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
width:100%;
padding:18px 12px 26px;
color:#ffffff;
font-size:13px;
font-weight:700;
text-shadow:0 2px 6px rgba(0,0,0,.55);
}

.site-footer a{
display:inline-flex;
align-items:center;
}

.masoft-wordmark{
background:transparent;
border:0;
border-radius:0;
padding:0;
font-size:16px;
font-weight:800;
letter-spacing:-1px;
line-height:1;
text-decoration:none;
box-shadow:none;
text-shadow:0 2px 6px rgba(0,0,0,.55);
}

.masoft-ma{
color:#5fd0ff;
}

.masoft-soft{
color:#f4f7fb;
}

.legal-card{
width:min(620px, calc(100% - 28px));
}

.document-capture-box{
background:rgba(255,255,255,.86);
border:1px solid rgba(255,255,255,.45);
border-radius:18px;
padding:16px;
margin:14px 0 20px;
box-shadow:0 10px 24px rgba(0,0,0,.12);
text-align:left;
}

.document-capture-box h2,
.extracted-data-box h2{
margin:0 0 8px;
font-size:20px;
color:#173b63;
text-align:center;
}

.document-capture-box p,
.extracted-data-box p{
margin:0 0 14px;
font-size:14px;
line-height:1.35;
color:#17324d;
text-align:center;
}

.capture-field{
display:block;
background:#fff;
border:1px solid rgba(23,59,99,.18);
border-radius:14px;
padding:12px;
margin:10px 0;
}

.capture-field span{
display:block;
font-weight:800;
color:#0e2b47;
margin-bottom:8px;
}

.capture-field input[type="file"]{
width:100%;
font-size:14px;
padding:12px 14px;
border:1px dashed #173b63;
border-radius:10px;
background:#f6f9fc;
color:#173b63;
cursor:pointer;
}

.capture-field input[type="file"]::file-selector-button{
background:#173b63;
color:#fff;
border:0;
border-radius:8px;
padding:8px 12px;
font-weight:700;
cursor:pointer;
margin-right:10px;
}

.capture-field small{
display:block;
margin-top:6px;
font-size:12px;
color:#52677a;
}

.capture-field input.capture-file-input{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
background:transparent;
}

.capture-photo-button{
display:block;
width:100%;
box-sizing:border-box;
margin-top:10px;
padding:13px 16px;
border:0;
border-radius:14px;
background:#173b63;
box-shadow:0 8px 18px rgba(23,59,99,.24);
color:#fff;
font-size:16px;
font-weight:900;
text-align:center;
cursor:pointer;
}

.capture-photo-button:focus-visible{
outline:3px solid #f3c969;
outline-offset:3px;
}

.capture-photo-button.is-ready{
background:#18864b;
box-shadow:0 8px 18px rgba(24,134,75,.28);
}

.verification-code-input{
width:100%;
min-height:58px;
box-sizing:border-box;
font-size:26px !important;
font-weight:900;
letter-spacing:.38em;
text-align:center;
padding:12px 10px 12px 20px !important;
}

.unregistered-user-box{
margin:18px 0 4px;
padding:18px;
border:2px solid #e1aa28;
border-radius:16px;
background:#fff8dc;
color:#17324d;
text-align:center;
box-shadow:0 10px 24px rgba(0,0,0,.14);
}

.unregistered-user-box strong{
display:block;
font-size:20px;
}

.unregistered-user-box p{
margin:8px 0 14px;
}

.btn-register-user,
.btn-dismiss-register{
display:block;
width:100%;
box-sizing:border-box;
padding:12px 16px;
border-radius:12px;
font-size:16px;
font-weight:900;
text-align:center;
cursor:pointer;
}

.btn-register-user{
background:#18864b;
color:#fff;
text-decoration:none;
}

.btn-dismiss-register{
margin-top:9px;
border:1px solid #8b98a5;
background:#fff;
color:#17324d;
}

.btn-scan-docs{
width:100%;
border:0;
border-radius:14px;
padding:13px 16px;
margin-top:10px;
background:#173b63;
color:#ffffff;
font-size:15px;
font-weight:900;
cursor:pointer;
box-shadow:0 8px 18px rgba(23,59,99,.24);
}

.btn-scan-docs:disabled{
opacity:.65;
cursor:not-allowed;
}

.ocr-status{
min-height:20px;
margin:12px 0 0 !important;
font-size:13px !important;
font-weight:800;
color:#176b35 !important;
}

.ocr-status.is-error{
color:#b00020 !important;
}

.extracted-data-box{
background:rgba(255,255,255,.9);
border:1px solid rgba(255,255,255,.45);
border-radius:18px;
padding:16px;
margin:14px 0 20px;
box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.is-hidden{
display:none !important;
}

.manual-data-box{
margin:14px 0;
padding:12px;
border-radius:14px;
background:#fff8e5;
border:1px solid #f3d58b;
}

.registration-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;list-style:none;padding:0;margin:0 0 22px;counter-reset:paso}
.registration-progress li{font-size:11px;text-align:center;color:#6b7280;border-top:4px solid #d1d5db;padding-top:7px}
.registration-progress li.is-active{color:#b91c1c;border-color:#dc2626;font-weight:800}
.input-box label{display:block;margin:0 0 6px 4px;font-size:14px;font-weight:800;color:#30343b}

.manual-data-box h3{
margin:0 0 6px;
font-size:16px;
color:#744c00;
}

.manual-data-box p{
margin:0 !important;
font-size:13px !important;
color:#744c00 !important;
}

.confirm-data-check{
display:flex;
align-items:flex-start;
gap:10px;
margin:14px 0;
padding:13px;
border-radius:14px;
background:#eef7ff;
border:1px solid #c8def4;
color:#17324d;
font-weight:800;
font-size:14px;
line-height:1.35;
}

.confirm-data-check input{
width:20px;
height:20px;
margin-top:0;
flex:0 0 auto;
}

.btn-login:disabled{
opacity:.55;
cursor:not-allowed;
}

.document-modal{
position:fixed;
inset:0;
z-index:10000;
display:flex;
align-items:center;
justify-content:center;
padding:22px;
background:rgba(6,22,38,.78);
backdrop-filter:blur(5px);
}

.document-modal-card{
width:min(440px,100%);
max-height:calc(100vh - 44px);
overflow-y:auto;
box-sizing:border-box;
padding:26px 20px 22px;
border:3px solid #2b7a4b;
border-radius:24px;
background:#fff;
box-shadow:0 24px 70px rgba(0,0,0,.42);
text-align:center;
}

.document-modal-card h2{
margin:10px 0 8px;
color:#173b63;
font-size:25px;
}

.document-modal-card>p{
margin:0 0 18px;
color:#334e68;
font-size:16px;
line-height:1.45;
}

.document-modal-icon{
display:flex;
align-items:center;
justify-content:center;
width:58px;
height:58px;
margin:0 auto;
border-radius:50%;
background:#1f8b4c;
color:#fff;
font-size:34px;
font-weight:900;
}

.document-modal-icon.warning{
background:#b42318;
}

.document-confirmed-value{
margin:12px 0;
padding:14px;
border:2px solid #c8def4;
border-radius:15px;
background:#eef7ff;
text-align:left;
}

.document-confirmed-value span{
display:block;
margin-bottom:5px;
color:#52677a;
font-size:13px;
font-weight:800;
text-transform:uppercase;
}

.document-confirmed-value strong{
display:block;
color:#102f50;
font-size:23px;
overflow-wrap:anywhere;
}

.document-modal-continue,
.document-modal-correct,
.document-exit-yes,
.document-exit-no{
width:100%;
border:0;
border-radius:14px;
padding:14px 12px;
font-size:16px;
font-weight:900;
cursor:pointer;
}

.document-modal-continue{
margin-top:16px;
background:#16733b;
color:#fff;
}

.document-modal-correct{
margin-top:10px;
border:2px solid #b42318;
background:#fff;
color:#b42318;
}

.document-modal-warning{
border-color:#b42318;
}

.document-modal-actions{
display:grid;
gap:10px;
margin-top:18px;
}

.document-exit-yes{
background:#b42318;
color:#fff;
}

.document-exit-no{
background:#16733b;
color:#fff;
}

body.document-modal-open{
overflow:hidden;
}

.update-card{
max-width:520px;
text-align:center;
}

.update-version{
display:inline-block;
margin:0 0 18px;
padding:6px 13px;
border-radius:999px;
background:#e8f5ec;
color:#176b35;
font-weight:900;
}

.update-detected-version{
margin:0 0 18px;
color:#17324d;
font-size:14px;
}

.update-notice,
.update-steps{
margin:16px 0;
padding:16px;
border-radius:16px;
background:rgba(255,255,255,.9);
color:#17324d;
text-align:left;
}

.update-notice ul,
.update-steps ol{
margin:10px 0 0;
padding-left:22px;
line-height:1.55;
}

.update-steps h2{
margin:0;
color:#173b63;
font-size:20px;
}

.update-download-button{
display:block;
width:100%;
border:0;
margin:20px 0;
padding:16px 18px;
border-radius:15px;
background:#16733b;
box-shadow:0 10px 24px rgba(22,115,59,.28);
color:#fff;
font-size:19px;
font-weight:900;
text-decoration:none;
cursor:pointer;
}

.update-download-button:disabled{
opacity:.7;
cursor:wait;
}

.update-progress{
margin:14px 0 20px;
padding:14px;
border-radius:14px;
background:#fff;
color:#17324d;
}

.update-progress-track{
height:18px;
margin-bottom:9px;
overflow:hidden;
border-radius:999px;
background:#dce7f1;
}

.update-progress-bar{
width:0;
height:100%;
border-radius:999px;
background:#1f8b4c;
transition:width .2s ease;
}

#textoProgresoActualizacion.is-error{
color:#b42318;
}

.update-old-app{
margin:14px 0 20px;
padding:15px;
border:2px solid #e0a400;
border-radius:14px;
background:#fff8df;
color:#603d00;
text-align:left;
}

.update-old-app p{
margin:8px 0;
line-height:1.45;
}

.update-old-app code{
display:block;
padding:9px;
border-radius:8px;
background:#fff;
font-size:12px;
overflow-wrap:anywhere;
user-select:all;
}

.update-security{
margin:16px 0 0;
color:#52677a;
font-size:13px;
line-height:1.45;
}

.legal-scroll{
max-height:52vh;
overflow-y:auto;
padding:18px;
border:1px solid #d8e2ef;
border-radius:14px;
background:#ffffff;
color:#334155;
line-height:1.55;
}

.legal-scroll h3{
margin:16px 0 6px;
color:#26354a;
font-size:16px;
}

.legal-scroll h3:first-child{
margin-top:0;
}

.legal-scroll p{
font-size:13px;
}

.legal-accept{
display:flex;
flex-direction:column;
gap:16px;
margin-top:18px;
}

.legal-accept label{
display:flex;
align-items:flex-start;
gap:10px;
color:#26354a;
font-size:14px;
font-weight:700;
line-height:1.4;
}

.legal-accept input[type="checkbox"]{
width:20px;
height:20px;
flex:0 0 auto;
}

.dashboard-card{
width:min(430px, calc(100% - 28px));
}

.settings-icon{
position:absolute;
top:15px;
left:15px;
width:38px;
height:38px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#ffffff;
color:#315d96;
font-size:20px;
text-decoration:none;
box-shadow:0 4px 12px rgba(0,0,0,.18);
}

.activation-card{
margin-top:18px;
padding:18px;
border:1px solid #d8e2ef;
border-radius:16px;
background:rgba(255,255,255,.72);
}

.activation-card h3{
margin-bottom:6px;
color:#26354a;
}

.activation-card p{
margin-bottom:13px;
color:#5b6778;
font-size:13px;
line-height:1.45;
}

.activation-status{
margin:10px 0 0 !important;
}

.settings-card{
width:min(470px, calc(100% - 28px));
}

.setting-item{
margin:14px 0;
padding:18px;
border:1px solid #d8e2ef;
border-radius:15px;
background:#ffffff;
}

.setting-item h3{
margin-bottom:5px;
color:#26354a;
font-size:17px;
}

.setting-item p{
margin:4px 0 10px;
color:#64748b;
font-size:13px;
line-height:1.4;
}

.setting-status{
display:inline-block;
margin:4px 0 12px;
padding:6px 10px;
border-radius:999px;
background:#edf1f5;
color:#5b6778;
font-size:12px;
font-weight:800;
}

.setting-status.is-on{
background:#e3f7e9;
color:#176b35;
}

.btn-setting-danger{
display:block;
width:100%;
padding:12px;
border:1px solid #e52d36;
border-radius:12px;
background:#ffffff;
color:#c91f28;
font-size:14px;
font-weight:800;
cursor:pointer;
}

.btn-setting-danger:hover{
background:#fff0f0;
}

.setting-message{
font-weight:700;
}

.setting-link{
color:#1d5fc4;
font-size:14px;
font-weight:800;
text-decoration:none;
}

.terms-reference{
margin:16px 0 24px;
color:#475569;
font-size:14px;
line-height:1.55;
}

.consent-box{
padding:15px;
border:1px solid #c9d8ea;
border-radius:14px;
background:#f5f9ff;
}

.consent-box label{
display:flex;
align-items:flex-start;
gap:10px;
color:#26354a;
font-size:14px;
font-weight:700;
line-height:1.45;
}

.consent-box input[type="checkbox"]{
width:20px;
height:20px;
margin-top:1px;
flex:0 0 auto;
}

.consent-box a{
color:#1d5fc4;
}

.consent-box small{
display:block;
margin-top:10px;
color:#64748b;
font-size:12px;
line-height:1.4;
}

.form-error{
color:#b00020;
font-size:13px;
font-weight:700;
text-align:center;
}

.emergency-notice{
margin:18px 0;
padding:15px;
border-radius:16px;
background:#fff8e5;
border:1px solid #f3d58b;
color:#684300;
line-height:1.45;
text-align:left;
}

.emergency-notice strong{
display:block;
margin-bottom:6px;
color:#8a4b08;
}

.emergency-actions{
display:flex;
flex-direction:column;
gap:10px;
margin-top:14px;
}

.btn-call-911{
display:block;
width:100%;
padding:14px;
border-radius:14px;
background:#176b35;
color:#fff;
font-size:16px;
font-weight:900;
text-align:center;
text-decoration:none;
box-shadow:0 6px 16px rgba(23,107,53,.25);
}

.misuse-warning{
margin:16px 0 20px;
padding:15px;
border-radius:16px;
background:#fff0f0;
border:1px solid #f2b8b8;
color:#7f1d1d;
line-height:1.45;
text-align:left;
}

.misuse-warning strong{
display:block;
margin-bottom:6px;
font-size:15px;
}

.misuse-warning button{
margin-top:12px;
padding:10px 12px;
border:0;
border-radius:12px;
background:#7f1d1d;
color:#fff;
font-weight:800;
cursor:pointer;
}

.country-choice{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
margin-bottom:16px;
}

.country-choice label{
display:flex;
align-items:center;
gap:8px;
justify-content:center;
padding:13px 10px;
border:1px solid #c9d8ea;
border-radius:14px;
background:#ffffff;
color:#17324d;
font-weight:900;
cursor:pointer;
}

.country-choice input{
width:18px;
height:18px;
accent-color:#e52d36;
}

.country-selected{
padding:12px 14px;
border-radius:14px;
background:#eef7ff;
border:1px solid #c8def4;
color:#17324d;
font-weight:800;
text-align:center;
}

.admin-card{
width:min(980px, calc(100% - 24px));
background:rgba(245,250,255,.97);
}

.admin-tabs{
display:flex;
gap:10px;
flex-wrap:wrap;
margin:16px 0 22px;
}

.admin-tabs a,
.btn-admin-primary,
.btn-admin-secondary{
display:inline-flex;
align-items:center;
justify-content:center;
padding:11px 13px;
border:0;
border-radius:12px;
background:#1d5fc4;
color:#fff;
font-size:13px;
font-weight:900;
text-decoration:none;
cursor:pointer;
}

.btn-admin-secondary{
background:#475569;
}

.admin-section{
margin-top:24px;
padding-top:16px;
border-top:1px solid #d8e2ef;
}

.admin-section h2{
font-size:22px;
text-align:left;
color:#173b63;
}

.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-section-title span{min-width:34px;padding:6px 10px;border-radius:999px;background:#dc2626;color:#fff;text-align:center;font-weight:900}
.admin-alert-list{display:grid;gap:12px;margin-top:14px}
.admin-alert-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px;border:1px solid #d8e2ef;border-radius:16px;background:#fff}
.admin-alert-item h3{margin:8px 0;color:#173b63}.admin-alert-item p{margin:5px 0;overflow-wrap:anywhere}
.admin-alert-actions{display:flex;flex-direction:column;gap:8px;min-width:132px}
.admin-alert-actions form{display:grid;gap:7px}.admin-alert-actions button{width:100%}
.admin-inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-inline-actions form{margin:0}.admin-empty{padding:22px;text-align:center;background:#fff;border-radius:14px;color:#64748b}
.btn-setting-danger.is-dark{background:#450a0a}

.admin-row{
display:grid;
grid-template-columns:1.35fr repeat(6, minmax(105px, 1fr));
gap:10px;
align-items:start;
margin:12px 0;
padding:14px;
border:1px solid #d8e2ef;
border-radius:14px;
background:#fff;
}

.admin-row.compact{
grid-template-columns:130px 180px 1fr 1fr 86px 90px 86px;
}

.admin-row input,
.admin-row select,
.admin-row textarea,
.false-alert-box textarea{
width:100%;
padding:10px;
border:1px solid #cbd5e1;
border-radius:10px;
background:#fff;
color:#172033;
font-size:13px;
}

.admin-row textarea,
.false-alert-box textarea{
min-height:74px;
resize:vertical;
}

.admin-row details{
grid-column:1 / -1;
padding:10px;
border-radius:12px;
background:#f8fafc;
}

.admin-row summary{
font-weight:900;
color:#7f1d1d;
cursor:pointer;
}

.admin-check{
display:flex;
align-items:center;
gap:6px;
font-size:13px;
font-weight:800;
color:#26354a;
}

.admin-message{
margin:12px 0;
padding:12px;
border-radius:12px;
background:#e7f8ed;
color:#176b35;
font-weight:800;
text-align:center;
}

.catalog-browser{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:14px;
margin:14px 0 18px;
padding:16px;
border:1px solid #d8e2ef;
border-radius:16px;
background:#ffffff;
}

.user-browser{
display:grid;
grid-template-columns:1fr 1.4fr;
gap:14px;
margin:14px 0 18px;
padding:16px;
border:1px solid #d8e2ef;
border-radius:16px;
background:#ffffff;
}

.catalog-browser select,
.catalog-editor input,
.user-browser input,
.user-browser select,
.user-editor input,
.user-editor select,
.user-editor textarea{
width:100%;
padding:12px;
border:1px solid #cbd5e1;
border-radius:12px;
background:#fff;
color:#172033;
font-size:14px;
}

.user-editor{
padding:16px;
border:1px solid #d8e2ef;
border-radius:16px;
background:#f8fafc;
}

.selected-user-heading{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
margin-bottom:12px;
}

.selected-user-heading strong{
color:#173b63;
overflow-wrap:anywhere;
}

.user-editor-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:10px;
}

.user-suspension-box{
margin-top:12px;
padding:12px;
border-radius:12px;
background:#ffffff;
border:1px solid #e2e8f0;
}

.user-suspension-box summary{
font-weight:900;
color:#7f1d1d;
cursor:pointer;
}

.user-suspension-box textarea{
margin-top:10px;
min-height:78px;
resize:vertical;
}

.catalog-actions{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.catalog-editor{
padding:16px;
border:1px solid #d8e2ef;
border-radius:16px;
background:#f8fafc;
}

.catalog-editor h3{
margin:0 0 12px;
color:#173b63;
font-size:17px;
}

.catalog-buttons{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:8px;
margin-top:10px;
}

.catalog-buttons button:disabled{
opacity:.45;
cursor:not-allowed;
}

.false-alert-box{
margin:16px 0;
padding:16px;
border:1px solid #f2b8b8;
border-radius:14px;
background:#fff7f7;
}

.false-alert-box label{
display:block;
margin-bottom:8px;
color:#7f1d1d;
font-weight:900;
}

@media (max-width:800px){
.admin-row,
.admin-row.compact{
grid-template-columns:1fr;
}

.catalog-browser,
.catalog-actions,
.user-browser,
.user-editor-grid{
grid-template-columns:1fr;
}

.catalog-buttons{
grid-template-columns:1fr;
}

.admin-card{width:calc(100% - 12px);padding:18px 12px}
.admin-tabs{display:grid;grid-template-columns:1fr 1fr;position:sticky;top:0;z-index:5;padding:8px;background:rgba(245,250,255,.97)}
.admin-tabs a{text-align:center;font-size:12px;padding:10px 6px}
.admin-alert-item{grid-template-columns:1fr}
.admin-alert-actions{min-width:0}.admin-alert-actions form{grid-template-columns:repeat(3,1fr)}
}
