/* Moderni vzhled formularu pro cely web (denni i nocni rezim). Nacita se az po theme.css.
   Obsah: (1) vyber zeme / jazyka s vlajkou a hledanim (.fs), (2) telefonni pole s vlajkou (.pi), (3) sjednoceni starych formularu v #central.
   Komponenty s vlastnim vzhledem (.reg-form, .cal, .inv-form ...) zustavaji beze zmeny. */

:root {
    --fm-border: #d6c4cf;
    --fm-bg: #fff;
    --fm-text: #222;
    --fm-muted: #667085;
    --fm-hover: #fdeef6;
    --fm-pink: #e5007d;
    --fm-card: #f7f8fb;
    --fm-card-border: #e3e6ee;
    --fm-shadow: 0 8px 28px rgba(0, 0, 0, .22);
}
html[data-theme="dark"] {
    --fm-border: #453a41;
    --fm-bg: #1a1a1a;
    --fm-text: #dadada;
    --fm-muted: #9aa0ab;
    --fm-hover: #3a1d2c;
    --fm-card: #232323;
    --fm-card-border: #3a3a3a;
    --fm-shadow: 0 8px 28px rgba(0, 0, 0, .6);
}

/* ---- (1) vyber zeme / jazyka s vlajkou ---- */
.fs { position: relative; display: inline-block; vertical-align: middle; min-width: 160px; max-width: 100%; }
.reg-form .fs, .inv-form .fs { display: block; width: 100% !important; }
.fs-native { position: absolute !important; left: 0; top: 0; width: 100% !important; height: 100% !important; opacity: 0; pointer-events: none; }
.fs-btn { display: flex; align-items: center; gap: 8px; width: 100%; box-sizing: border-box; margin: 0; padding: 6px 10px; border: 1px solid var(--fm-border); border-radius: 8px; background: var(--fm-bg); color: var(--fm-text); font: inherit; font-size: 14px; text-align: left; cursor: pointer; }
.reg-form .fs-btn { padding: 10px 12px; font-size: 15px; }
.fs-btn:hover { border-color: var(--fm-pink); }
.fs-btn:focus-visible { outline: none; border-color: var(--fm-pink); box-shadow: 0 0 0 3px rgba(229, 0, 125, .18); }
.fs-btn:disabled { opacity: .55; cursor: not-allowed; }
.fs-btn img, .fs-items li img { flex: 0 0 auto; width: 22px; height: 16px; object-fit: cover; border: 1px solid rgba(0, 0, 0, .2); border-radius: 2px; }
.fs-label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-placeholder { color: var(--fm-muted); }
.fs-caret { flex: 0 0 auto; border: 4px solid transparent; border-top-color: var(--fm-muted); margin-top: 4px; }
.fs-list { position: absolute; z-index: 1000; left: 0; top: calc(100% + 4px); min-width: 100%; width: max(100%, 260px); max-width: 92vw; max-height: 320px; display: flex; flex-direction: column; background: var(--fm-bg); border: 1px solid var(--fm-border); border-radius: 10px; box-shadow: var(--fm-shadow); }
.fs-list[hidden] { display: none; }
.fs-search { margin: 8px !important; width: auto !important; padding: 7px 10px !important; border: 1px solid var(--fm-border) !important; border-radius: 8px !important; background: var(--fm-bg) !important; color: var(--fm-text) !important; font-size: 14px !important; }
.fs-items { margin: 0; padding: 0 0 6px 0; list-style: none; overflow-y: auto; }
.fs-items li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 7px 12px; cursor: pointer; font-size: 14px; line-height: 1.2; color: var(--fm-text); background: none; }
.fs-items li:hover, .fs-items li.fs-active { background: var(--fm-hover); }
.fs-items li.fs-current { font-weight: 700; }
.fs-items li.fs-disabled { opacity: .5; cursor: default; }
.fs-items li.fs-empty { padding: 10px 14px; color: var(--fm-muted); font-size: 13px; cursor: default; }

/* ---- (2) telefonni pole s vlajkou a predvolbou ---- */
.pi { position: relative; display: flex; align-items: stretch; width: 100%; }
.pi > input { flex: 1 1 auto; min-width: 0; padding-left: 12px !important; background-image: none !important; border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.pi-btn { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid var(--fm-border); border-right: 0; border-radius: 8px 0 0 8px; background: var(--fm-bg); color: var(--fm-text); font: inherit; font-size: 14px; cursor: pointer; }
.pi-btn:hover { background: var(--fm-hover); }
.pi-btn img { width: 22px; height: 16px; border: 1px solid rgba(0, 0, 0, .2); object-fit: cover; }
.pi-btn .pi-caret { border: 4px solid transparent; border-top-color: var(--fm-muted); margin-top: 4px; }
.pi-list { position: absolute; z-index: 1000; left: 0; top: calc(100% + 4px); width: min(340px, 92vw); max-height: 300px; display: flex; flex-direction: column; background: var(--fm-bg); border: 1px solid var(--fm-border); border-radius: 10px; box-shadow: var(--fm-shadow); }
.pi-list[hidden] { display: none; }
.pi-search { margin: 8px !important; width: auto !important; padding: 7px 10px !important; border: 1px solid var(--fm-border) !important; border-radius: 8px !important; background: var(--fm-bg) !important; color: var(--fm-text) !important; }
.pi-items { margin: 0; padding: 0 0 6px 0; list-style: none; overflow-y: auto; }
.pi-items li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 7px 12px; cursor: pointer; font-size: 14px; line-height: 1.2; background: none; }
.pi-items li img { width: 22px; height: 16px; border: 1px solid rgba(0, 0, 0, .2); object-fit: cover; }
.pi-items li .pi-name { flex: 1 1 auto; color: var(--fm-text); }
.pi-items li .pi-dial { color: var(--fm-muted); }
.pi-items li.pi-active, .pi-items li:hover { background: var(--fm-hover); }
.pi-items li.pi-current { font-weight: 700; }
.pi-empty { padding: 10px 14px; color: var(--fm-muted); font-size: 13px; }

/* ---- (3) stare formulare ve stredni casti: sjednoceny moderni vzhled (jako faktura) ---- */
#central form:not(.inline):not(.reg-form) { border: 1px solid var(--fm-card-border); border-radius: 12px; background-color: var(--fm-card); box-shadow: 0 1px 2px rgba(23, 36, 58, .06); }
html[data-theme="dark"] #central form:not(.inline):not(.reg-form) { background-color: var(--fm-card); }
#central form h2, #central form h3 { letter-spacing: .01em; }
#central form input[type="text"], #central form input[type="password"], #central form input[type="email"], #central form input[type="tel"], #central form input[type="url"],
#central form input[type="number"], #central form input[type="date"], #central form input[type="search"], #central form select, #central form textarea {
    border: 1px solid var(--fm-border); border-radius: 8px; background-color: var(--fm-bg); color: var(--fm-text); padding: 5px 9px; font-family: inherit; font-size: 14px;
}
#central form input[readonly], #central form input:disabled, #central form select:disabled, #central form textarea:disabled { opacity: .7; }
#central form input[type="text"]:hover, #central form select:hover, #central form textarea:hover { border-color: var(--fm-pink); }
#central form input[type="file"] { font: inherit; font-size: 13px; color: var(--fm-text); }
#central form td:first-child:not([colspan]) { color: var(--fm-muted); }
#central form .emp_bold, #central form th { color: var(--fm-text); }
