/* Jednotný vzhled formulářů cbpmr.info (nový záznam, nahlášení změny, registrace volačky).
   Používá se přes <link rel="stylesheet" href="/css/cbpmr-form.css"> v bloku stylesheets. */
.ne-wrap{max-width:760px;margin:40px auto 90px;padding:0 20px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1d1d1f}
/* nadpis, popis i pilulky lícují svisle s políčky uvnitř karty
   (28px = vnitřní odsazení karty) */
/* texty (nadpis, popis, nápověda) lícují s popisky políček a s nápovědami uvnitř
   nich: 28px vnitřní odsazení karty + 14px odsazení popisku.
   Pilulky jsou box jako políčka, ty lícují s jejich okrajem (28px). */
.ne-wrap h1,.ne-lead,.ne-hint,.ne-note-block{padding-left:42px;padding-right:28px}
.ne-types{padding-left:28px;padding-right:28px}
.ne-wrap h1{font-size:2.1rem;font-weight:700;margin:0 0 6px}
.ne-lead{color:#6b6b70;margin:0 0 26px;font-size:1.02rem}

/* 1. krok: výběr typu záznamu */
.ne-types{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
/* pilulky vyplní celou šířku formuláře – první lícuje s levým, poslední s pravým
   okrajem políček v kartě */
.ne-type{flex:1 1 auto;text-align:center;
    background:#fff;border:1px solid #e2e2e4;border-radius:999px;padding:11px 18px;
    font-weight:700;font-size:1rem;color:#1d1d1f;cursor:pointer;line-height:1.2;
    box-shadow:0 2px 8px rgba(0,0,0,.06);transition:background .15s,border-color .15s}
.ne-type:hover{background:#e9f2fb;border-color:#cfe0f2}
.ne-type.is-active{background:#5A9BD4;border-color:#5A9BD4;color:#fff}
/* pilulka jako odkaz nesmí vypadat jako odkaz – Bootstrap ji jinak při najetí
   obarví modře a podtrhne, což vypadá jako rozbitý proklik */
a.ne-type{display:inline-block}
a.ne-type,a.ne-type:hover,a.ne-type:focus,a.ne-type:active{color:#1d1d1f;text-decoration:none}
a.ne-type.is-active,a.ne-type.is-active:hover,a.ne-type.is-active:focus,
a.ne-type.is-active:active{color:#fff;text-decoration:none}
.ne-type.is-active:hover{background:#5A9BD4;border-color:#5A9BD4}
.ne-hint{color:#8a8a8e;font-size:.88rem;margin:0 0 26px}

/* formulářová karta */
.ne-card{background:#fff;border:1px solid #e6e6e6;border-radius:16px;
    box-shadow:0 4px 20px rgba(0,0,0,.06);padding:26px 28px}
.ne-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
@media (max-width:640px){.ne-grid{grid-template-columns:1fr}}
.ne-field{display:flex;flex-direction:column;gap:6px}
.ne-field.full{grid-column:1 / -1}
/* nadpis buňky lícuje s textem uvnitř políčka (stejné odsazení jako padding inputu) */
.ne-field label{font-size:.82rem;font-weight:700;color:#54697e;text-transform:uppercase;letter-spacing:.6px;
    padding-left:14px;margin:0 0 2px}
.ne-field .ne-note{padding-left:14px}
.ne-field input[type=text],.ne-field input[type=email],.ne-field input[type=number],
.ne-field input[type=date],.ne-field input[type=time],.ne-field select,.ne-field textarea{
    width:100%;padding:11px 13px;border:1px solid #c3d7ec;border-radius:10px;
    font-size:1rem;font-family:inherit;background:#e3edf9;color:#1d1d1f}
.ne-field textarea{min-height:96px;resize:vertical}
/* roletky vypadají v každém prohlížeči jinak a jsou nižší než ostatní políčka –
   vypneme systémový vzhled a dokreslíme vlastní šipku, ať sedí s inputy */
.ne-field select{
    -webkit-appearance:none;-moz-appearance:none;appearance:none;
    height:48px;line-height:24px;padding-right:36px;cursor:pointer;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1.5L6 6.5L11 1.5' fill='none' stroke='%236b6b70' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat:no-repeat;background-position:right 13px center;background-size:12px 8px}
.ne-field input:focus,.ne-field select:focus,.ne-field textarea:focus{
    outline:none;border-color:#5A9BD4;background:#fff;box-shadow:0 0 0 3px rgba(90,155,212,.22)}
.ne-field .ne-note{font-size:.82rem;color:#8a8a8e;padding-left:14px}
/* nápovědy uvnitř políček: jednotná velikost, font i jemnější odstín */
.ne-field input::placeholder,.ne-field textarea::placeholder{
    font-size:.94rem;font-family:inherit;font-weight:400;color:#9db2c6;opacity:1}
/* velká písmena jen u zadávané hodnoty, nápověda zůstává normální */
.ne-field.upper input{text-transform:uppercase}
.ne-field.upper input::placeholder{text-transform:none}
.ne-field input.ne-invalid{border-color:#e0503f;background:#fff6f5}
.ne-field input.ne-invalid:focus{border-color:#e0503f;box-shadow:0 0 0 3px rgba(224,80,63,.15)}
.ne-field .ne-err{font-size:.82rem;color:#c0392b;font-weight:600;padding-left:14px}
.ne-field .ne-warn-note{font-size:.82rem;color:#8a6d1f;font-weight:600;padding-left:14px}
/* datum + čas vedle sebe v jednom poli */
/* dvojice v jednom poli (kanál: výběr + ruční číslo) */
.ne-pair{display:flex;gap:10px}
.ne-pair > select{flex:1 1 62%;min-width:0}
.ne-pair > input{flex:1 1 38%;min-width:0}

.ne-datetime{display:flex;gap:10px;flex-wrap:wrap}
.ne-datetime > *{flex:1 1 0;min-width:0}
.ne-datetime input{width:100%}
/* Symfony obaluje date/time do <div> – ať se chovají jako sloupce flexu */
.ne-datetime > div{display:flex;flex:1 1 0;min-width:0;margin:0;gap:10px}
/* globální styl webu přidává inputům horní okraj – tady ho zrušit,
   jinak datum/čas nesedí v řadě s lokátorem */
.ne-field input, .ne-field select, .ne-field textarea{margin:0 !important}
/* pole ve sloupci zarovnat k horní hraně, ať datum sedí s lokátorem */
.ne-grid{align-items:start}

.ne-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;
    border-top:1px solid #eee;padding-top:20px}
.ne-submit{background:#5A9BD4;color:#fff;border:0;border-radius:10px;
    padding:13px 26px;font-size:1rem;font-weight:700;cursor:pointer}
.ne-submit:hover{background:#4A87C2}
.ne-current{color:#8a8a8e;font-size:.92rem}
.ne-current strong{color:#1d1d1f}

.ne-captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ne-captcha-q{font-weight:700;font-size:1.05rem;background:#d7e6f6;border:1px solid #c3d7ec;
    border-radius:10px;padding:10px 16px;white-space:nowrap}
.ne-captcha input{max-width:150px}

/* potvrzovací okno po uložení */
.ne-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:12000;
    display:flex;align-items:center;justify-content:center;padding:20px}
.ne-modal-box{background:#fff;border-radius:18px;max-width:460px;width:100%;
    padding:32px 30px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.ne-modal-ico{width:64px;height:64px;border-radius:50%;background:#e9f2fb;color:#5A9BD4;
    font-size:34px;font-weight:700;line-height:64px;margin:0 auto 16px}
.ne-modal-box h2{font-size:1.4rem;font-weight:700;margin:0 0 8px}
.ne-modal-box p{color:#6b6b70;margin:0 0 24px}
.ne-modal-actions{display:flex;flex-direction:column;gap:10px}
.ne-modal-primary{background:#5A9BD4;color:#fff;border-radius:10px;padding:13px 20px;
    font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.4px}
.ne-modal-primary:hover{background:#4A87C2;color:#fff;text-decoration:none}
.ne-modal-secondary{background:#fff;color:#1d1d1f;border:1px solid #dcdce0;border-radius:10px;
    padding:13px 20px;font-weight:700;text-decoration:none}
.ne-modal-secondary:hover{background:#f3f3f5;color:#1d1d1f;text-decoration:none}

.ne-flash{background:#fdecea;color:#a3251c;border:1px solid #f5c6c3;
    border-radius:10px;padding:12px 16px;margin-bottom:18px;font-weight:600}
.ne-flash.ne-warn{background:#fff8e1;color:#7a5c00;border-color:#f0d38a}
.ne-confirm{display:flex !important;align-items:center;gap:8px;padding-left:14px;margin-top:4px;
    font-size:.86rem !important;font-weight:600 !important;color:#7a5c00 !important;
    text-transform:none !important;letter-spacing:0 !important;cursor:pointer}
.ne-confirm input{width:16px;height:16px;margin:0 !important}

/* našeptávač připnutý pod políčko */
.ne-field{position:relative}
.ne-suggest{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:260px;overflow:auto;
    display:none;z-index:60;background:#fff;border:1px solid #e2e2e4;border-radius:12px;padding:4px;
    box-shadow:0 10px 30px rgba(0,0,0,.12)}
.ne-suggest-item{padding:10px 14px;border-radius:9px;cursor:pointer;font-size:.98rem}
.ne-suggest-item:hover,.ne-suggest-item.is-on{background:#f1f1f3}
.ne-field input[readonly]{background:#d7e6f6;color:#3d3d40;cursor:default}

/* údaje vybraného záznamu – jen ke čtení */
.ne-detail{background:#e3edf9;border:1px solid #c3d7ec;border-radius:12px;padding:14px 16px;
    display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:.96rem}
.ne-detail dt{font-size:.78rem;font-weight:700;color:#8a8a8e;text-transform:uppercase;
    letter-spacing:.5px;margin:0;padding-top:2px;white-space:nowrap}
.ne-detail dd{margin:0;color:#1d1d1f;word-break:break-word}
@media (max-width:520px){.ne-detail{grid-template-columns:1fr;gap:2px 0}
    .ne-detail dd{margin-bottom:8px}}

/* zaškrtávátko s textem vedle (souhlasy, doplňkové volby) */
/* text u zaškrtávátka je věta, ne nadpis – přebíjí obecný styl popisků */
.ne-field label.ne-check,.ne-check{display:flex;align-items:flex-start;gap:12px;padding-left:14px;
    text-transform:none;font-weight:400;letter-spacing:normal;font-size:1rem;color:#3d3d40;margin:0;cursor:pointer}
.ne-check input[type=checkbox]{width:22px;height:22px;margin:1px 0 0 !important;flex:0 0 auto;
    accent-color:#5A9BD4;cursor:pointer}
.ne-check span{font-size:.95rem;color:#3d3d40;line-height:1.45}
.ne-note-block{color:#8a8a8e;font-size:.9rem;line-height:1.5;margin:26px 0 0}
.ne-note-block a{color:#5A9BD4}

/* našeptávač volaček (devbridge autocomplete) v jednotném vzhledu */
.autocomplete-suggestions{background:#fff;border:1px solid #e2e2e4;border-radius:12px;overflow:auto;
    box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:9999;padding:4px;margin-top:4px}
.autocomplete-suggestion{padding:10px 14px;white-space:nowrap;overflow:hidden;cursor:pointer;font-size:.98rem;
    border-radius:9px}
.autocomplete-suggestion:hover{background:#f1f1f3}
/* hláška „nic jsme nenašli" – ať to není úzký proužek s textem u kraje */
.autocomplete-no-suggestion{padding:14px 16px;background:#fff8e1;border-radius:9px;color:#7a5c00;
    font-size:.94rem;font-weight:600;line-height:1.4;white-space:normal}
.autocomplete-selected{background:#f1f1f3}
.autocomplete-suggestions strong{font-weight:700;color:#5A9BD4}
.autocomplete-group{padding:8px 14px;font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;
    color:#8a8a8e;border-bottom:1px solid #eee}
.autocomplete-group strong{display:block;font-weight:700;color:#8a8a8e}
