/* ══════════════════════════════════════════════════════════
   AVE Hotels Portal – Shared theme variables
   Světlé téma (výchozí) + Tmavé téma [data-theme="dark"]
   ══════════════════════════════════════════════════════════ */

:root {
  /* Pozadí */
  --bg:                 #F7F7F6;
  --bg-topbar:          #E7E8EA;
  --bg-controls:        #EFEFEE;
  --bg-controls-border: #C9CACD;

  /* Povrchy / karty */
  --surface:            #FFFFFF;
  --surface-alt:        #F0F1F2;
  --card-bg:            #FFFFFF;
  --card-border:        #D4D5D8;

  /* Ohraničení */
  --border:             #D0D1D3;
  --border-strong:      #8D8F94;

  /* Text */
  --text:               #191A1C;
  --text-muted:         #62646A;
  --text-topbar:        #191A1C;

  /* Topbar tlačítka */
  --btn-top-border:     #9B9DA2;
  --btn-top-color:      #202124;
  --btn-top-hover-bg:   #E0E1E3;

  /* Záhlaví tabulky */
  --thead-bg:           #202124;
  --thead-text:         #FFFFFF;
  --thead-border:       #3A3B3F;
  --thead-hover:        #34363A;
  --thead-active:       #111214;

  /* Řádky tabulky */
  --row-hover:          #F0F1F2;
  --row-border:         #E1E2E4;

  /* Inputy */
  --input-border:       #CCCCCC;
  --input-bg:           #FFFFFF;

  /* Modály */
  --modal-bg:           #FFFFFF;
  --modal-border:       #E0DED8;
  --modal-shadow:       0 8px 32px rgba(0,0,0,.18);
  --overlay-bg:         rgba(0,0,0,.55);

  /* Akcenty */
  --accent:             #202124;
  --accent-h:           #111214;
  --accent-light:       #ECEDEF;

  /* Hotel filtry */
  --hotel-btn-bg:             #FFFFFF;
  --hotel-btn-color:          #444444;
  --hotel-btn-border:         #BBBBBB;
  --hotel-btn-active-bg:      #202124;
  --hotel-btn-active-border:  #202124;
  --hotel-btn-active-color:   #FFFFFF;

  /* Odebrání (removal) blok */
  --removal-bg:         #FFF5F5;
  --removal-border:     #F0C0C0;

  /* Portal karty */
  --portal-card-bg:         #FFFFFF;
  --portal-card-border:     #D4D5D8;
  --portal-card-hover-bg:   #F0F1F2;
  --portal-card-text:       #191A1C;
  --portal-card-desc:       #62646A;
  --portal-badge-bg:        #ECEDEF;
  --portal-badge-text:      #62646A;
  --portal-badge-border:    #D4D5D8;

  /* Načítání / spinner */
  --spinner-border:     #DDDDDD;
  --spinner-top:        #555555;
}

[data-theme="dark"] {
  /* Pozadí */
  --bg:                 #141618;
  --bg-topbar:          #0E1014;
  --bg-controls:        #1A1E24;
  --bg-controls-border: #272D36;

  /* Povrchy / karty */
  --surface:            #1E2228;
  --surface-alt:        #252B32;
  --card-bg:            #252B32;
  --card-border:        #2E333A;

  /* Ohraničení */
  --border:             #2E333A;
  --border-strong:      #404850;

  /* Text */
  --text:               #E8E6DC;
  --text-muted:         #8A8A82;
  --text-topbar:        #C8C6BC;

  /* Topbar tlačítka */
  --btn-top-border:     #454C55;
  --btn-top-color:      #9A9890;
  --btn-top-hover-bg:   #252B32;

  /* Záhlaví tabulky */
  --thead-bg:           #252B32;
  --thead-text:         #C4A96A;
  --thead-border:       #2E333A;
  --thead-hover:        #2E353E;
  --thead-active:       #323A44;

  /* Řádky tabulky */
  --row-hover:          #22262C;
  --row-border:         #2A2E36;

  /* Inputy */
  --input-border:       #3E444C;
  --input-bg:           #252B32;

  /* Modály */
  --modal-bg:           #1E2228;
  --modal-border:       #2E333A;
  --modal-shadow:       0 8px 32px rgba(0,0,0,.5);
  --overlay-bg:         rgba(0,0,0,.75);

  /* Akcenty */
  --accent:             #C4A96A;
  --accent-h:           #D4B97A;
  --accent-light:       #2E2820;

  /* Hotel filtry */
  --hotel-btn-bg:             #252B32;
  --hotel-btn-color:          #C8C6BC;
  --hotel-btn-border:         #3E444C;
  --hotel-btn-active-bg:      #C4A96A;
  --hotel-btn-active-border:  #C4A96A;
  --hotel-btn-active-color:   #1A1A18;

  /* Odebrání blok */
  --removal-bg:         #2A2020;
  --removal-border:     #5A2E2E;

  /* Portal karty */
  --portal-card-bg:         #1E2228;
  --portal-card-border:     #2E333A;
  --portal-card-hover-bg:   #252B32;
  --portal-card-text:       #E8E6DC;
  --portal-card-desc:       #7A7A72;
  --portal-badge-bg:        #1A1E24;
  --portal-badge-text:      #4A5060;
  --portal-badge-border:    #2A2E36;

  /* Načítání / spinner */
  --spinner-border:     #333A42;
  --spinner-top:        #C4A96A;
}

/* Portal skins. Skin prepisuje sdilene promenne a tim obarvi cely web. */
[data-skin="default"] { --bg:#F5FAFE; --bg-topbar:#DCEEF9; --bg-controls:#E9F4FB; --bg-controls-border:#B7D4E8; --surface-alt:#EAF5FC; --card-border:#C4DAEA; --border:#C2D8E8; --border-strong:#7EADCF; --text:#102233; --text-muted:#557085; --text-topbar:#102233; --btn-top-border:#8CB9D8; --btn-top-color:#17334A; --btn-top-hover-bg:#CBE4F5; --thead-bg:#2879B6; --thead-text:#FFFFFF; --thead-border:#1E659A; --thead-hover:#216DA8; --thead-active:#1A5D91; --row-hover:#EEF7FC; --row-border:#D7E6F0; --accent:#2879B6; --accent-h:#1E659A; --accent-light:#E3F1FB; --hotel-btn-active-bg:#2879B6; --hotel-btn-active-border:#2879B6; --portal-card-border:#C4DAEA; --portal-card-hover-bg:#EEF7FC; --portal-card-text:#102233; --portal-card-desc:#557085; --portal-badge-bg:#EAF5FC; --portal-badge-text:#557085; --portal-badge-border:#C4DAEA; }
[data-skin="graphite"] { --bg:#F4F4F5; --bg-topbar:#DADBDD; --bg-controls:#E9EAEC; --bg-controls-border:#B9BBC0; --surface-alt:#ECEDEF; --card-border:#C8C9CD; --border:#C8C9CD; --border-strong:#797C82; --text:#17181B; --text-muted:#5A5C62; --text-topbar:#17181B; --btn-top-border:#8B8E94; --btn-top-color:#17181B; --btn-top-hover-bg:#D8DADF; --thead-bg:#17181B; --thead-text:#FFFFFF; --thead-border:#303237; --thead-hover:#2A2C31; --thead-active:#070809; --row-hover:#EDEEF0; --row-border:#DEDFE2; --accent:#17181B; --accent-h:#070809; --accent-light:#E7E8EB; --hotel-btn-active-bg:#17181B; --hotel-btn-active-border:#17181B; --portal-card-border:#C8C9CD; --portal-card-hover-bg:#EDEEF0; --portal-card-text:#17181B; --portal-card-desc:#5A5C62; --portal-badge-bg:#E7E8EB; --portal-badge-text:#5A5C62; --portal-badge-border:#C8C9CD; }
[data-skin="slate"] { --bg:#F6F8FA; --bg-topbar:#DEE3E8; --bg-controls:#EBEEF2; --bg-controls-border:#BBC3CC; --surface-alt:#EEF1F4; --card-border:#CBD2DA; --border:#CBD2DA; --border-strong:#7C8793; --text:#17202A; --text-muted:#586575; --text-topbar:#17202A; --btn-top-border:#8793A0; --btn-top-color:#17202A; --btn-top-hover-bg:#DDE3E9; --thead-bg:#26323F; --thead-text:#FFFFFF; --thead-border:#364554; --thead-hover:#344253; --thead-active:#17202A; --row-hover:#EEF2F6; --row-border:#DCE2E8; --accent:#26323F; --accent-h:#17202A; --accent-light:#E6EBF0; --hotel-btn-active-bg:#26323F; --hotel-btn-active-border:#26323F; --portal-card-border:#CBD2DA; --portal-card-hover-bg:#EEF2F6; --portal-card-text:#17202A; --portal-card-desc:#586575; --portal-badge-bg:#E6EBF0; --portal-badge-text:#586575; --portal-badge-border:#CBD2DA; }
[data-skin="blue"] { --bg:#F5FAFE; --bg-topbar:#DCEEF9; --bg-controls:#E9F4FB; --bg-controls-border:#B7D4E8; --surface-alt:#EAF5FC; --card-border:#C4DAEA; --border:#C2D8E8; --border-strong:#7EADCF; --text:#102233; --text-muted:#557085; --text-topbar:#102233; --btn-top-border:#8CB9D8; --btn-top-color:#17334A; --btn-top-hover-bg:#CBE4F5; --thead-bg:#2879B6; --thead-text:#FFFFFF; --thead-border:#1E659A; --thead-hover:#216DA8; --thead-active:#1A5D91; --row-hover:#EEF7FC; --row-border:#D7E6F0; --accent:#2879B6; --accent-h:#1E659A; --accent-light:#E3F1FB; --hotel-btn-active-bg:#2879B6; --hotel-btn-active-border:#2879B6; --portal-card-border:#C4DAEA; --portal-card-hover-bg:#EEF7FC; --portal-card-text:#102233; --portal-card-desc:#557085; --portal-badge-bg:#EAF5FC; --portal-badge-text:#557085; --portal-badge-border:#C4DAEA; }
[data-skin="teal"] { --bg:#F4FBFA; --bg-topbar:#D8EFEC; --bg-controls:#E7F5F3; --bg-controls-border:#B4D6D1; --surface-alt:#E9F6F4; --card-border:#C1DAD6; --border:#C0D8D4; --border-strong:#6EAAA2; --text:#102B2A; --text-muted:#557371; --text-topbar:#102B2A; --btn-top-border:#83BAB3; --btn-top-color:#153E3B; --btn-top-hover-bg:#C9E8E4; --thead-bg:#167A73; --thead-text:#FFFFFF; --thead-border:#11645F; --thead-hover:#126F68; --thead-active:#0E5652; --row-hover:#EEF8F6; --row-border:#D6E8E5; --accent:#167A73; --accent-h:#11645F; --accent-light:#DFF1EF; --hotel-btn-active-bg:#167A73; --hotel-btn-active-border:#167A73; --portal-card-border:#C1DAD6; --portal-card-hover-bg:#EEF8F6; --portal-card-text:#102B2A; --portal-card-desc:#557371; --portal-badge-bg:#E9F6F4; --portal-badge-text:#557371; --portal-badge-border:#C1DAD6; }
[data-skin="green"] { --bg:#F6FBF6; --bg-topbar:#DCEFDA; --bg-controls:#EAF5E8; --bg-controls-border:#BDD7B9; --surface-alt:#EEF7EC; --card-border:#C8DDC4; --border:#C7DCC3; --border-strong:#7EAA77; --text:#172916; --text-muted:#60745D; --text-topbar:#172916; --btn-top-border:#91BA8A; --btn-top-color:#203F1F; --btn-top-hover-bg:#D4E9D0; --thead-bg:#3D7B32; --thead-text:#FFFFFF; --thead-border:#326729; --thead-hover:#376F2D; --thead-active:#2B5524; --row-hover:#F0F8EF; --row-border:#DCEBDD; --accent:#3D7B32; --accent-h:#326729; --accent-light:#E4F1E1; --hotel-btn-active-bg:#3D7B32; --hotel-btn-active-border:#3D7B32; --portal-card-border:#C8DDC4; --portal-card-hover-bg:#F0F8EF; --portal-card-text:#172916; --portal-card-desc:#60745D; --portal-badge-bg:#EEF7EC; --portal-badge-text:#60745D; --portal-badge-border:#C8DDC4; }
[data-skin="olive"] { --bg:#FAFAF3; --bg-topbar:#E9EAD2; --bg-controls:#F0F1DF; --bg-controls-border:#D0D2A9; --surface-alt:#F3F4E6; --card-border:#DADBBB; --border:#D9DAB9; --border-strong:#A0A36C; --text:#2A2C15; --text-muted:#747657; --text-topbar:#2A2C15; --btn-top-border:#B1B47E; --btn-top-color:#3D411B; --btn-top-hover-bg:#E4E6C7; --thead-bg:#70752A; --thead-text:#FFFFFF; --thead-border:#5D6223; --thead-hover:#666B26; --thead-active:#50541D; --row-hover:#F5F6EA; --row-border:#E6E7D4; --accent:#70752A; --accent-h:#5D6223; --accent-light:#EFF0D8; --hotel-btn-active-bg:#70752A; --hotel-btn-active-border:#70752A; --portal-card-border:#DADBBB; --portal-card-hover-bg:#F5F6EA; --portal-card-text:#2A2C15; --portal-card-desc:#747657; --portal-badge-bg:#F3F4E6; --portal-badge-text:#747657; --portal-badge-border:#DADBBB; }
[data-skin="amber"] { --bg:#FCF8F0; --bg-topbar:#F0E2C9; --bg-controls:#F7EEDC; --bg-controls-border:#DDBF8E; --surface-alt:#F8F0E1; --card-border:#E3CDA7; --border:#E1CBA6; --border-strong:#B98B49; --text:#332313; --text-muted:#7B674E; --text-topbar:#332313; --btn-top-border:#C79B5A; --btn-top-color:#4B3219; --btn-top-hover-bg:#EEDBB9; --thead-bg:#9A6422; --thead-text:#FFFFFF; --thead-border:#80531D; --thead-hover:#8D5C20; --thead-active:#6E4416; --row-hover:#FAF2E5; --row-border:#ECDDC8; --accent:#9A6422; --accent-h:#80531D; --accent-light:#F4E7D1; --hotel-btn-active-bg:#9A6422; --hotel-btn-active-border:#9A6422; --portal-card-border:#E3CDA7; --portal-card-hover-bg:#FAF2E5; --portal-card-text:#332313; --portal-card-desc:#7B674E; --portal-badge-bg:#F8F0E1; --portal-badge-text:#7B674E; --portal-badge-border:#E3CDA7; }
[data-skin="rose"] { --bg:#FCF7F8; --bg-topbar:#F0DDE2; --bg-controls:#F7EAF0; --bg-controls-border:#DBB8C5; --surface-alt:#F8EDF1; --card-border:#E2C6CF; --border:#DFC4CD; --border-strong:#AD788A; --text:#321820; --text-muted:#765C65; --text-topbar:#321820; --btn-top-border:#BD899A; --btn-top-color:#4A2430; --btn-top-hover-bg:#EBD4DC; --thead-bg:#9B3F5B; --thead-text:#FFFFFF; --thead-border:#81344B; --thead-hover:#8F3954; --thead-active:#702940; --row-hover:#FAF0F3; --row-border:#EAD9DE; --accent:#9B3F5B; --accent-h:#81344B; --accent-light:#F3E2E8; --hotel-btn-active-bg:#9B3F5B; --hotel-btn-active-border:#9B3F5B; --portal-card-border:#E2C6CF; --portal-card-hover-bg:#FAF0F3; --portal-card-text:#321820; --portal-card-desc:#765C65; --portal-badge-bg:#F8EDF1; --portal-badge-text:#765C65; --portal-badge-border:#E2C6CF; }
[data-skin="violet"] { --bg:#F9F7FC; --bg-topbar:#E7DFF1; --bg-controls:#F0EAF8; --bg-controls-border:#CBBBDD; --surface-alt:#F2EDF8; --card-border:#D5C7E2; --border:#D3C5E0; --border-strong:#947BB0; --text:#241833; --text-muted:#675C75; --text-topbar:#241833; --btn-top-border:#A38BBB; --btn-top-color:#35254B; --btn-top-hover-bg:#E1D5EC; --thead-bg:#64428A; --thead-text:#FFFFFF; --thead-border:#533772; --thead-hover:#5C3C7F; --thead-active:#462B62; --row-hover:#F4EFF9; --row-border:#E3DAEC; --accent:#64428A; --accent-h:#533772; --accent-light:#ECE2F4; --hotel-btn-active-bg:#64428A; --hotel-btn-active-border:#64428A; --portal-card-border:#D5C7E2; --portal-card-hover-bg:#F4EFF9; --portal-card-text:#241833; --portal-card-desc:#675C75; --portal-badge-bg:#F2EDF8; --portal-badge-text:#675C75; --portal-badge-border:#D5C7E2; }
[data-skin="indigo"] { --bg:#F6F7FF; --bg-topbar:#DDE3FB; --bg-controls:#E9EDFC; --bg-controls-border:#BAC6EA; --surface-alt:#EEF1FC; --card-border:#C8D0EA; --border:#C8D0EA; --border-strong:#7B8FCB; --text:#172044; --text-muted:#59637F; --text-topbar:#172044; --btn-top-border:#8EA0D6; --btn-top-color:#1F2C5C; --btn-top-hover-bg:#D8E0F8; --thead-bg:#3F51B5; --thead-text:#FFFFFF; --thead-border:#34449A; --thead-hover:#394AA7; --thead-active:#2E3B87; --row-hover:#F0F3FE; --row-border:#DDE3F4; --accent:#3F51B5; --accent-h:#34449A; --accent-light:#E8ECFA; --hotel-btn-active-bg:#3F51B5; --hotel-btn-active-border:#3F51B5; --portal-card-border:#C8D0EA; --portal-card-hover-bg:#F0F3FE; --portal-card-text:#172044; --portal-card-desc:#59637F; --portal-badge-bg:#EEF1FC; --portal-badge-text:#59637F; --portal-badge-border:#C8D0EA; }
[data-skin="cyan"] { --bg:#F2FBFD; --bg-topbar:#D4EFF5; --bg-controls:#E4F6FA; --bg-controls-border:#AED8E3; --surface-alt:#E9F8FB; --card-border:#BFDDE5; --border:#BEDDE5; --border-strong:#6BABBA; --text:#102B33; --text-muted:#526F77; --text-topbar:#102B33; --btn-top-border:#7DBBC8; --btn-top-color:#143F4B; --btn-top-hover-bg:#C6EAF2; --thead-bg:#0E88A8; --thead-text:#FFFFFF; --thead-border:#0B718C; --thead-hover:#0C7C9A; --thead-active:#0A6178; --row-hover:#EBF8FB; --row-border:#D4E9EE; --accent:#0E88A8; --accent-h:#0B718C; --accent-light:#DDF2F7; --hotel-btn-active-bg:#0E88A8; --hotel-btn-active-border:#0E88A8; --portal-card-border:#BFDDE5; --portal-card-hover-bg:#EBF8FB; --portal-card-text:#102B33; --portal-card-desc:#526F77; --portal-badge-bg:#E9F8FB; --portal-badge-text:#526F77; --portal-badge-border:#BFDDE5; }
[data-skin="mint"] { --bg:#F3FBF7; --bg-topbar:#D7EFE3; --bg-controls:#E7F6EE; --bg-controls-border:#B3D8C5; --surface-alt:#EAF7F0; --card-border:#C0DDCC; --border:#C0DDCC; --border-strong:#72AD8B; --text:#142B21; --text-muted:#557365; --text-topbar:#142B21; --btn-top-border:#84BC9C; --btn-top-color:#1C4031; --btn-top-hover-bg:#CAEAD8; --thead-bg:#2E9273; --thead-text:#FFFFFF; --thead-border:#26795F; --thead-hover:#2A8669; --thead-active:#20684F; --row-hover:#EEF8F3; --row-border:#D6E9DE; --accent:#2E9273; --accent-h:#26795F; --accent-light:#E1F2EA; --hotel-btn-active-bg:#2E9273; --hotel-btn-active-border:#2E9273; --portal-card-border:#C0DDCC; --portal-card-hover-bg:#EEF8F3; --portal-card-text:#142B21; --portal-card-desc:#557365; --portal-badge-bg:#EAF7F0; --portal-badge-text:#557365; --portal-badge-border:#C0DDCC; }
[data-skin="lime"] { --bg:#F9FBF1; --bg-topbar:#E6EFCB; --bg-controls:#F0F5DE; --bg-controls-border:#CCD9A0; --surface-alt:#F2F7E4; --card-border:#D6DFB5; --border:#D5DEB4; --border-strong:#98AA5C; --text:#263014; --text-muted:#6B7551; --text-topbar:#263014; --btn-top-border:#AAB96F; --btn-top-color:#37461B; --btn-top-hover-bg:#E0EAC0; --thead-bg:#7D9A20; --thead-text:#FFFFFF; --thead-border:#677F1A; --thead-hover:#728D1D; --thead-active:#596D16; --row-hover:#F4F8EA; --row-border:#E4EBD0; --accent:#7D9A20; --accent-h:#677F1A; --accent-light:#ECF2D8; --hotel-btn-active-bg:#7D9A20; --hotel-btn-active-border:#7D9A20; --portal-card-border:#D6DFB5; --portal-card-hover-bg:#F4F8EA; --portal-card-text:#263014; --portal-card-desc:#6B7551; --portal-badge-bg:#F2F7E4; --portal-badge-text:#6B7551; --portal-badge-border:#D6DFB5; }
[data-skin="yellow"] { --bg:#FEFAEF; --bg-topbar:#F2E6C3; --bg-controls:#F8F0D8; --bg-controls-border:#DFC687; --surface-alt:#FAF3DE; --card-border:#E5D0A1; --border:#E3CEA0; --border-strong:#B8973E; --text:#322812; --text-muted:#7B6B4A; --text-topbar:#322812; --btn-top-border:#C5A952; --btn-top-color:#4A3B17; --btn-top-hover-bg:#F0DFB3; --thead-bg:#B08A00; --thead-text:#FFFFFF; --thead-border:#927200; --thead-hover:#A27F00; --thead-active:#7B6000; --row-hover:#FBF4E2; --row-border:#EDDEC1; --accent:#B08A00; --accent-h:#927200; --accent-light:#F5E8C8; --hotel-btn-active-bg:#B08A00; --hotel-btn-active-border:#B08A00; --portal-card-border:#E5D0A1; --portal-card-hover-bg:#FBF4E2; --portal-card-text:#322812; --portal-card-desc:#7B6B4A; --portal-badge-bg:#FAF3DE; --portal-badge-text:#7B6B4A; --portal-badge-border:#E5D0A1; }
[data-skin="orange"] { --bg:#FFF7F0; --bg-topbar:#F4DEC9; --bg-controls:#FAEBDD; --bg-controls-border:#E2B98F; --surface-alt:#FAEFE4; --card-border:#E8C8A7; --border:#E5C6A5; --border-strong:#BE884E; --text:#352314; --text-muted:#80634A; --text-topbar:#352314; --btn-top-border:#CB995D; --btn-top-color:#4F3118; --btn-top-hover-bg:#F0D7BD; --thead-bg:#C25B1E; --thead-text:#FFFFFF; --thead-border:#A14B19; --thead-hover:#B3541C; --thead-active:#843B14; --row-hover:#FCF0E5; --row-border:#EFD9C7; --accent:#C25B1E; --accent-h:#A14B19; --accent-light:#F6E4D3; --hotel-btn-active-bg:#C25B1E; --hotel-btn-active-border:#C25B1E; --portal-card-border:#E8C8A7; --portal-card-hover-bg:#FCF0E5; --portal-card-text:#352314; --portal-card-desc:#80634A; --portal-badge-bg:#FAEFE4; --portal-badge-text:#80634A; --portal-badge-border:#E8C8A7; }
[data-skin="red"] { --bg:#FFF6F4; --bg-topbar:#F4DAD5; --bg-controls:#FAE8E5; --bg-controls-border:#E0B4AD; --surface-alt:#FAECE9; --card-border:#E7C3BD; --border:#E5C0BA; --border-strong:#BB7C73; --text:#351917; --text-muted:#7E5B57; --text-topbar:#351917; --btn-top-border:#CA8C83; --btn-top-color:#502521; --btn-top-hover-bg:#EFD1CB; --thead-bg:#B63A32; --thead-text:#FFFFFF; --thead-border:#982F29; --thead-hover:#A9362F; --thead-active:#802721; --row-hover:#FCF0ED; --row-border:#EED8D3; --accent:#B63A32; --accent-h:#982F29; --accent-light:#F5E0DC; --hotel-btn-active-bg:#B63A32; --hotel-btn-active-border:#B63A32; --portal-card-border:#E7C3BD; --portal-card-hover-bg:#FCF0ED; --portal-card-text:#351917; --portal-card-desc:#7E5B57; --portal-badge-bg:#FAECE9; --portal-badge-text:#7E5B57; --portal-badge-border:#E7C3BD; }
[data-skin="pink"] { --bg:#FEF6FA; --bg-topbar:#F2DCE8; --bg-controls:#F9E9F1; --bg-controls-border:#DDB6C9; --surface-alt:#FAEDF4; --card-border:#E4C5D3; --border:#E2C3D1; --border-strong:#B97B9C; --text:#351827; --text-muted:#7B5D6D; --text-topbar:#351827; --btn-top-border:#C98BAA; --btn-top-color:#4F233A; --btn-top-hover-bg:#EED4E2; --thead-bg:#C0447E; --thead-text:#FFFFFF; --thead-border:#A03869; --thead-hover:#B13E74; --thead-active:#842C56; --row-hover:#FBF0F6; --row-border:#ECD9E3; --accent:#C0447E; --accent-h:#A03869; --accent-light:#F4E2EC; --hotel-btn-active-bg:#C0447E; --hotel-btn-active-border:#C0447E; --portal-card-border:#E4C5D3; --portal-card-hover-bg:#FBF0F6; --portal-card-text:#351827; --portal-card-desc:#7B5D6D; --portal-badge-bg:#FAEDF4; --portal-badge-text:#7B5D6D; --portal-badge-border:#E4C5D3; }
[data-skin="plum"] { --bg:#FBF6FC; --bg-topbar:#ECDDF0; --bg-controls:#F4E9F6; --bg-controls-border:#D3B8DA; --surface-alt:#F6EDF8; --card-border:#DCC7E2; --border:#DAC4E0; --border-strong:#A37AB0; --text:#2C1834; --text-muted:#715D78; --text-topbar:#2C1834; --btn-top-border:#B08BBC; --btn-top-color:#41234D; --btn-top-hover-bg:#E7D5EC; --thead-bg:#7E3C8C; --thead-text:#FFFFFF; --thead-border:#693274; --thead-hover:#743780; --thead-active:#57285F; --row-hover:#F7F0FA; --row-border:#E7DAEC; --accent:#7E3C8C; --accent-h:#693274; --accent-light:#F0E2F4; --hotel-btn-active-bg:#7E3C8C; --hotel-btn-active-border:#7E3C8C; --portal-card-border:#DCC7E2; --portal-card-hover-bg:#F7F0FA; --portal-card-text:#2C1834; --portal-card-desc:#715D78; --portal-badge-bg:#F6EDF8; --portal-badge-text:#715D78; --portal-badge-border:#DCC7E2; }
[data-skin="coffee"] { --bg:#FAF7F3; --bg-topbar:#E9DDD0; --bg-controls:#F1E9DF; --bg-controls-border:#D1BDA7; --surface-alt:#F3ECE4; --card-border:#DCCAB8; --border:#DAC8B6; --border-strong:#A98B6C; --text:#2E2118; --text-muted:#705F50; --text-topbar:#2E2118; --btn-top-border:#B99A7A; --btn-top-color:#422F22; --btn-top-hover-bg:#E4D5C5; --thead-bg:#6B4A2E; --thead-text:#FFFFFF; --thead-border:#583D26; --thead-hover:#63442A; --thead-active:#4A321F; --row-hover:#F6F0EA; --row-border:#E7DBCF; --accent:#6B4A2E; --accent-h:#583D26; --accent-light:#EEE3D8; --hotel-btn-active-bg:#6B4A2E; --hotel-btn-active-border:#6B4A2E; --portal-card-border:#DCCAB8; --portal-card-hover-bg:#F6F0EA; --portal-card-text:#2E2118; --portal-card-desc:#705F50; --portal-badge-bg:#F3ECE4; --portal-badge-text:#705F50; --portal-badge-border:#DCCAB8; }
[data-skin="navy"] { --bg:#F4F8FC; --bg-topbar:#D9E5F1; --bg-controls:#E7EFF7; --bg-controls-border:#B4C8DC; --surface-alt:#EBF2F8; --card-border:#C2D1E1; --border:#C0D0E0; --border-strong:#6F8DAE; --text:#122235; --text-muted:#536779; --text-topbar:#122235; --btn-top-border:#809DBB; --btn-top-color:#18344F; --btn-top-hover-bg:#CEDFEB; --thead-bg:#173E70; --thead-text:#FFFFFF; --thead-border:#12345E; --thead-hover:#153967; --thead-active:#0E294D; --row-hover:#EEF4FA; --row-border:#D7E3EE; --accent:#173E70; --accent-h:#12345E; --accent-light:#E2EBF4; --hotel-btn-active-bg:#173E70; --hotel-btn-active-border:#173E70; --portal-card-border:#C2D1E1; --portal-card-hover-bg:#EEF4FA; --portal-card-text:#122235; --portal-card-desc:#536779; --portal-badge-bg:#EBF2F8; --portal-badge-text:#536779; --portal-badge-border:#C2D1E1; }

:root[data-skin="default"]:not([data-theme="dark"]) {
  --bg:#FBFAF6; --bg-topbar:#F1EFE8; --bg-controls:#F5F3ED; --bg-controls-border:#D7D1C4;
  --surface:#FFFFFF; --surface-alt:#F1F6FA; --card-bg:#FFFFFF; --card-border:#D9D4CA;
  --border:#D5D0C6; --border-strong:#8BA9C0; --text:#1C252D; --text-muted:#61717C; --text-topbar:#1C252D;
  --btn-top-border:#9DBBD0; --btn-top-color:#17334A; --btn-top-hover-bg:#E4F0F8;
  --thead-bg:#2879B6; --thead-text:#FFFFFF; --thead-border:#1E659A; --thead-hover:#216DA8; --thead-active:#1A5D91;
  --row-hover:#F4F6F5; --row-border:#E4DFD4; --input-border:#CCC5B7; --input-bg:#FFFFFF;
  --accent:#2879B6; --accent-h:#1E659A; --accent-light:#E3F1FB;
  --hotel-btn-bg:#FFFFFF; --hotel-btn-color:#34424A; --hotel-btn-border:#BDB7AA;
  --hotel-btn-active-bg:#2879B6; --hotel-btn-active-border:#2879B6; --hotel-btn-active-color:#FFFFFF;
  --portal-card-border:#D9D4CA; --portal-card-hover-bg:#F4F6F5; --portal-card-text:#1C252D; --portal-card-desc:#61717C;
  --portal-badge-bg:#E3F1FB; --portal-badge-text:#557085; --portal-badge-border:#C4DAEA;
}

[data-theme="dark"] {
  --bg:#141618; --bg-topbar:#0E1014; --bg-controls:#1A1E24; --bg-controls-border:#272D36;
  --surface:#1E2228; --surface-alt:#252B32; --card-bg:#252B32; --card-border:#2E333A;
  --border:#2E333A; --border-strong:#404850; --text:#E8E6DC; --text-muted:#8A8A82; --text-topbar:#C8C6BC;
  --btn-top-border:#454C55; --btn-top-color:#9A9890; --btn-top-hover-bg:#252B32;
  --thead-bg:#252B32; --thead-text:#C4A96A; --thead-border:#2E333A; --thead-hover:#2E353E; --thead-active:#323A44;
  --row-hover:#22262C; --row-border:#2A2E36; --input-border:#3E444C; --input-bg:#252B32;
  --modal-bg:#1E2228; --modal-border:#2E333A; --modal-shadow:0 8px 32px rgba(0,0,0,.5); --overlay-bg:rgba(0,0,0,.75);
  --accent:#C4A96A; --accent-h:#D4B97A; --accent-light:#2E2820;
  --hotel-btn-bg:#252B32; --hotel-btn-color:#C8C6BC; --hotel-btn-border:#3E444C; --hotel-btn-active-bg:#C4A96A; --hotel-btn-active-border:#C4A96A; --hotel-btn-active-color:#1A1A18;
  --removal-bg:#2A2020; --removal-border:#5A2E2E;
  --portal-card-bg:#1E2228; --portal-card-border:#2E333A; --portal-card-hover-bg:#252B32; --portal-card-text:#E8E6DC; --portal-card-desc:#7A7A72;
  --portal-badge-bg:#1A1E24; --portal-badge-text:#4A5060; --portal-badge-border:#2A2E36;
  --spinner-border:#333A42; --spinner-top:#C4A96A;
}

[data-theme="dark"][data-skin="graphite"] { --accent:#D7D9DD; --accent-h:#FFFFFF; --accent-light:#2C2E33; --spinner-top:#D7D9DD; --hotel-btn-active-bg:#D7D9DD; --hotel-btn-active-border:#D7D9DD; --hotel-btn-active-color:#111214; }
[data-theme="dark"][data-skin="slate"] { --accent:#8FA7C2; --accent-h:#AFC3D8; --accent-light:#1D2732; --spinner-top:#8FA7C2; --hotel-btn-active-bg:#8FA7C2; --hotel-btn-active-border:#8FA7C2; --hotel-btn-active-color:#11161C; }
[data-theme="dark"][data-skin="blue"] { --accent:#6BAFE3; --accent-h:#8EC6F0; --accent-light:#173047; --spinner-top:#6BAFE3; --hotel-btn-active-bg:#6BAFE3; --hotel-btn-active-border:#6BAFE3; --hotel-btn-active-color:#10161C; }
[data-theme="dark"][data-skin="teal"] { --accent:#6ECFC4; --accent-h:#90E1D8; --accent-light:#163530; --spinner-top:#6ECFC4; --hotel-btn-active-bg:#6ECFC4; --hotel-btn-active-border:#6ECFC4; --hotel-btn-active-color:#0F1716; }
[data-theme="dark"][data-skin="green"] { --accent:#93D27F; --accent-h:#B0E49F; --accent-light:#1D341B; --spinner-top:#93D27F; --hotel-btn-active-bg:#93D27F; --hotel-btn-active-border:#93D27F; --hotel-btn-active-color:#11170F; }
[data-theme="dark"][data-skin="olive"] { --accent:#D1D47A; --accent-h:#E3E69B; --accent-light:#33351B; --spinner-top:#D1D47A; --hotel-btn-active-bg:#D1D47A; --hotel-btn-active-border:#D1D47A; --hotel-btn-active-color:#17170F; }
[data-theme="dark"][data-skin="amber"] { --accent:#E2B86A; --accent-h:#F1CE8A; --accent-light:#3A2B18; --spinner-top:#E2B86A; --hotel-btn-active-bg:#E2B86A; --hotel-btn-active-border:#E2B86A; --hotel-btn-active-color:#18130D; }
[data-theme="dark"][data-skin="rose"] { --accent:#E18AA5; --accent-h:#F1A9BF; --accent-light:#3A1F29; --spinner-top:#E18AA5; --hotel-btn-active-bg:#E18AA5; --hotel-btn-active-border:#E18AA5; --hotel-btn-active-color:#180F13; }
[data-theme="dark"][data-skin="violet"] { --accent:#C2A0E6; --accent-h:#D4B9F1; --accent-light:#2E223E; --spinner-top:#C2A0E6; --hotel-btn-active-bg:#C2A0E6; --hotel-btn-active-border:#C2A0E6; --hotel-btn-active-color:#131018; }
[data-theme="dark"][data-skin="indigo"] { --accent:#A8B7FF; --accent-h:#C3CCFF; --accent-light:#232A4A; --spinner-top:#A8B7FF; --hotel-btn-active-bg:#A8B7FF; --hotel-btn-active-border:#A8B7FF; --hotel-btn-active-color:#10121A; }
[data-theme="dark"][data-skin="cyan"] { --accent:#70D5EA; --accent-h:#96E4F2; --accent-light:#15343C; --spinner-top:#70D5EA; --hotel-btn-active-bg:#70D5EA; --hotel-btn-active-border:#70D5EA; --hotel-btn-active-color:#0E1518; }
[data-theme="dark"][data-skin="mint"] { --accent:#77D7B1; --accent-h:#9BE7C9; --accent-light:#18372B; --spinner-top:#77D7B1; --hotel-btn-active-bg:#77D7B1; --hotel-btn-active-border:#77D7B1; --hotel-btn-active-color:#0F1713; }
[data-theme="dark"][data-skin="lime"] { --accent:#C6DB6D; --accent-h:#DAEA91; --accent-light:#30371A; --spinner-top:#C6DB6D; --hotel-btn-active-bg:#C6DB6D; --hotel-btn-active-border:#C6DB6D; --hotel-btn-active-color:#15170F; }
[data-theme="dark"][data-skin="yellow"] { --accent:#E4C451; --accent-h:#F0D87A; --accent-light:#3A3015; --spinner-top:#E4C451; --hotel-btn-active-bg:#E4C451; --hotel-btn-active-border:#E4C451; --hotel-btn-active-color:#17130C; }
[data-theme="dark"][data-skin="orange"] { --accent:#F2A15F; --accent-h:#F6BA84; --accent-light:#3D2918; --spinner-top:#F2A15F; --hotel-btn-active-bg:#F2A15F; --hotel-btn-active-border:#F2A15F; --hotel-btn-active-color:#180F0B; }
[data-theme="dark"][data-skin="red"] { --accent:#EC8B82; --accent-h:#F3A9A1; --accent-light:#3A1E1B; --spinner-top:#EC8B82; --hotel-btn-active-bg:#EC8B82; --hotel-btn-active-border:#EC8B82; --hotel-btn-active-color:#180F0E; }
[data-theme="dark"][data-skin="pink"] { --accent:#EF8FC0; --accent-h:#F5AED1; --accent-light:#3C2030; --spinner-top:#EF8FC0; --hotel-btn-active-bg:#EF8FC0; --hotel-btn-active-border:#EF8FC0; --hotel-btn-active-color:#180F14; }
[data-theme="dark"][data-skin="plum"] { --accent:#D59AE5; --accent-h:#E3B5EE; --accent-light:#34213D; --spinner-top:#D59AE5; --hotel-btn-active-bg:#D59AE5; --hotel-btn-active-border:#D59AE5; --hotel-btn-active-color:#151018; }
[data-theme="dark"][data-skin="coffee"] { --accent:#D2AD84; --accent-h:#E2C59F; --accent-light:#33281E; --spinner-top:#D2AD84; --hotel-btn-active-bg:#D2AD84; --hotel-btn-active-border:#D2AD84; --hotel-btn-active-color:#17120E; }
[data-theme="dark"][data-skin="navy"] { --accent:#89B7EA; --accent-h:#A9CCF2; --accent-light:#172B40; --spinner-top:#89B7EA; --hotel-btn-active-bg:#89B7EA; --hotel-btn-active-border:#89B7EA; --hotel-btn-active-color:#10151B; }

[data-theme="dark"]:not([data-skin="default"]) {
  --thead-text: var(--accent);
  --btn-top-color: color-mix(in srgb, var(--accent) 72%, #E8E6DC);
  --text-topbar: color-mix(in srgb, var(--accent) 58%, #E8E6DC);
  --portal-badge-text: color-mix(in srgb, var(--accent) 62%, #E8E6DC);
}

/* ═══════════════════════════════════════════════════════════════════════
   Mobilní responzivita — sdílená základna pro všechny stránky
   ───────────────────────────────────────────────────────────────────────
   Každá stránka s <link href="/static/theme.css"> dostane automaticky:
     • iOS anti-zoom na inputech (font-size ≥ 16 px)
     • Modály přizpůsobené šířce displeje
     • Formulářové mřížky → jeden sloupec
     • Tlačítka modálu přes celou šířku (primární akce nahoře)
     • Tabulky s horizontálním scrollem
     • Větší dotykové cíle pro hotel-filtry
     • Toast přes celou šířku dole
   Nové stránky nemusí nic přidávat — mobilní podpora je zdarma.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Tablety a telefony (≤ 768 px) ────────────────────────────────── */
@media (max-width: 768px) {

  /* 1. iOS Safari: inputy s font-size < 16 px způsobují auto-zoom */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea {
    font-size: 16px !important;
  }

  /* 2. Modály: přizpůsobit šířce displeje */
  .modal {
    width: calc(100vw - 32px) !important;
    max-width: 100% !important;
    padding: 20px 16px !important;
    box-sizing: border-box;
  }
  .overlay {
    padding: 12px !important;
    align-items: flex-start !important;
    overflow-y: auto;
  }

  /* 3. Formulářové mřížky → vždy jeden sloupec */
  .form-row,
  .form-row.three {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  /* 4. Tlačítka v modálu → celá šířka, primární nahoře */
  .modal-btns {
    flex-direction: column-reverse !important;
    gap: 8px !important;
  }
  .modal-btns > * {
    width: 100% !important;
    justify-content: center !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box;
  }

  /* 5. Tabulky: horizontální scroll */
  .table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* 6. Hotelové filtry: větší dotykový cíl */
  .hotel-btn {
    min-height: 36px;
    padding: 6px 14px !important;
    font-size: 12px !important;
  }

  /* 7. Toast: celá šířka */
  #toast {
    left: 12px !important;
    right: 12px !important;
    bottom: 16px !important;
    width: auto !important;
    text-align: center;
  }
}

/* ── Malé telefony (≤ 480 px) ─────────────────────────────────────── */
@media (max-width: 480px) {
  .modal {
    width: calc(100vw - 16px) !important;
    padding: 16px 12px !important;
  }
  .overlay {
    padding: 6px !important;
  }
}
