@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Montserrat:wght@700;800;900&display=swap');
:root{
  --bg:#F5F5F5;
  --surface:#FFFFFF;
  --surface2:#F5F5F5;
  --border:#D0D0D0;
  --border-light:#E8E8E8;
  --text:#111111;
  --text2:#555555;
  --text3:#AAAAAA;
  --accent:#FF000A;
  --accent-bg:#FFF0F0;
  --accent-text:#CC0008;
  --green:#16a34a;
  --green-bg:#f0fdf4;
  --amber:#b45309;
  --amber-bg:#fffbeb;
  --red:#FF000A;
  --red-bg:#FFF0F0;
  --pink:#9d174d;
  --pink-bg:#fdf2f8;
  --teal:#0f766e;
  --teal-bg:#f0fdfa;
  --radius:40px;
  --radius-lg:24px;
  --radius-sm:14px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --shadow-md:0 4px 20px rgba(0,0,0,.08);
  --shadow-lg:0 12px 48px rgba(0,0,0,.12);
  --sidebar-bg:#FFFFFF;
  --sidebar-text:#111111;
  --sidebar-text2:#888888;
  --sidebar-border:#E8E8E8;
}

/* ===== DARK MODE ===== */
[data-theme="dark"]{
  --bg:#111318;
  --surface:#1c1f26;
  --surface2:#22262f;
  --border:#2e3340;
  --border-light:#252932;
  --text:#f0f2f5;
  --text2:#a0a8b8;
  --text3:#5a6278;
  --accent:#FF000A;
  --accent-bg:rgba(255,0,10,.12);
  --accent-text:#ff4d55;
  --green:#22c55e;
  --green-bg:rgba(34,197,94,.1);
  --amber:#f59e0b;
  --amber-bg:rgba(245,158,11,.1);
  --red:#FF000A;
  --red-bg:rgba(255,0,10,.12);
  --pink:#ec4899;
  --pink-bg:rgba(236,72,153,.1);
  --teal:#14b8a6;
  --teal-bg:rgba(20,184,166,.1);
  --shadow-sm:0 2px 8px rgba(0,0,0,.3);
  --shadow-md:0 4px 20px rgba(0,0,0,.4);
  --shadow-lg:0 12px 48px rgba(0,0,0,.5);
  --sidebar-bg:#161921;
  --sidebar-text:#f0f2f5;
  --sidebar-text2:#6b7591;
  --sidebar-border:#1e2230;
}
[data-theme="dark"] #loading{background:#111318;}
[data-theme="dark"] .nav-item.active{background:#f0f2f5;color:#111;}
[data-theme="dark"] .nav-item.active .nav-icon{opacity:1;}
[data-theme="dark"] .cal-day.today{border-color:#f0f2f5;background:#1e2230;}
[data-theme="dark"] .cal-event.ev-zruseno{background:#2e3340;color:#5a6278;}
[data-theme="dark"] .badge-pronajem{background:#1e3a5f;color:#93c5fd;border-color:#2563eb;}
[data-theme="dark"] .badge-interni{background:#1f2937;color:#9ca3af;border-color:#374151;}
[data-theme="dark"] .auth-card{background:#1c1f26;border-color:#2e3340;}
[data-theme="dark"] .modal-box{background:#1c1f26;border-color:#2e3340;}
[data-theme="dark"] .table-wrap{border-color:#2e3340;}
[data-theme="dark"] th{background:#111318;}
[data-theme="dark"] tbody tr:hover td{background:#22262f;}
[data-theme="dark"] .form-row input,
[data-theme="dark"] .form-row select,
[data-theme="dark"] .form-row textarea{background:#111318;color:#f0f2f5;border-color:#2e3340;}
[data-theme="dark"] .form-row input:focus,
[data-theme="dark"] .form-row select:focus,
[data-theme="dark"] .form-row textarea:focus{background:#1c1f26;border-color:#555;}
[data-theme="dark"] .form-group input{background:#111318;color:#f0f2f5;border-color:#2e3340;}
[data-theme="dark"] .sidebar-user:hover{background:#22262f;}
[data-theme="dark"] .stat-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.4);}
[data-theme="dark"] #toast{background:#f0f2f5;color:#111;}
[data-theme="dark"] .logout-btn{color:#6b7591;border-color:#2e3340;}
[data-theme="dark"] .logout-btn:hover{background:rgba(255,0,10,.12);color:#ff4d55;border-color:#FF000A;}
[data-theme="dark"] select{background:#111318;color:#f0f2f5;}

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;}
button,input,select,textarea{font-family:inherit;font-size:14px;}
button{cursor:pointer;}

/* ===== BUTTONS ===== */
.btn{padding:10px 22px;border-radius:var(--radius);font-size:13px;font-weight:600;border:1.5px solid var(--border);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap;}
.btn:hover{background:var(--surface2);border-color:#999;}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-primary:hover{background:#CC0008;border-color:#CC0008;}
.btn-sm{padding:6px 14px;font-size:12px;border-radius:var(--radius-sm);}
.btn-danger{color:var(--red);border-color:#ffb3b5;}
.btn-danger:hover{background:var(--red-bg);}
.btn-success{background:var(--green);color:#fff;border-color:var(--green);}

/* ===== LOADING ===== */
#loading{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;}
.spinner{width:28px;height:28px;border:2.5px solid #E0E0E0;border-top-color:#FF000A;border-radius:50%;animation:spin .8s linear infinite;margin-top:1.25rem;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ===== AUTH ===== */
#app{display:none;flex-direction:row;min-height:100vh;}
#auth-screen{display:none;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);padding:2rem 1rem;}
.auth-card{background:#fff;border-radius:var(--radius-lg);padding:2.75rem;width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);}

/* ===== SIDEBAR ===== */
.sidebar{width:250px;min-width:250px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:sticky;top:0;flex-shrink:0;}
.sidebar-header{padding:1.5rem 1.5rem 1.25rem;border-bottom:1px solid var(--sidebar-border);}
.sidebar-logo{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:900;letter-spacing:-1px;color:#111;}
.sidebar-user{margin-top:12px;display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 10px;border-radius:var(--radius-sm);transition:background .15s;}
.sidebar-user:hover{background:var(--bg);}
.avatar-sm{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#FF000A;color:#fff;position:relative;flex-shrink:0;overflow:hidden;}
.online-dot{position:absolute;bottom:-1px;right:-1px;width:9px;height:9px;background:#22c55e;border-radius:50%;border:2px solid #fff;}
.sidebar-user-name{font-size:12px;font-weight:600;color:var(--sidebar-text);}
.sidebar-user-role{font-size:11px;color:var(--sidebar-text2);}
.sidebar-nav{flex:1;padding:.75rem 0 2rem;overflow-y:auto;}
.nav-section{padding:10px 1.5rem 4px;font-size:9px;font-weight:700;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 1.5rem;font-size:13px;color:var(--sidebar-text2);cursor:pointer;transition:all .12s;margin:1px 0;}
.nav-item:hover{color:var(--sidebar-text);background:var(--bg);}
.nav-item.active{background:#111;color:#fff;margin:2px 12px;border-radius:var(--radius-sm);padding:9px 1rem;}
.nav-icon{width:15px;height:15px;opacity:.55;flex-shrink:0;}
.nav-item.active .nav-icon{opacity:1;}
.nav-badge{margin-left:auto;background:var(--accent);color:#fff;border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700;}
.nav-item.active .nav-badge{background:rgba(255,255,255,.25);}
.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--sidebar-border);}
.logout-btn{width:100%;text-align:left;padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:transparent;color:var(--text3);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;}
.logout-btn:hover{background:var(--red-bg);color:var(--red);border-color:#ffcdd2;}

/* ===== MAIN ===== */
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.topbar{background:var(--surface);border-bottom:1px solid var(--border-light);padding:0 1.75rem;height:58px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.topbar-title{font-size:16px;font-weight:700;letter-spacing:-.3px;}
.topbar-actions{display:flex;gap:8px;}
.content{flex:1;overflow-y:auto;padding:1.75rem;}
.content.chat-active{padding:0;overflow:hidden;}
#page-chat{height:100%;}
#page-chat.active{display:flex;flex-direction:column;}
.page{display:none;}
.page.active{display:block;}

/* ===== CARDS & STATS ===== */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:1.75rem;}
.stat-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;cursor:pointer;transition:all .2s;}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);}
.stat-label{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
.stat-val{font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1;}
.stat-link{font-size:11px;color:var(--accent);margin-top:5px;font-weight:600;}
.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:14px;}
.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.card-title{font-size:14px;font-weight:700;letter-spacing:-.2px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1.75rem;}

/* ===== TABLES ===== */
.table-wrap{background:var(--surface);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;}
.table-toolbar{padding:14px 1.5rem;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.filter-tab{padding:6px 16px;border-radius:var(--radius);font-size:12px;font-weight:600;border:1.5px solid transparent;cursor:pointer;color:var(--text2);background:transparent;transition:all .12s;}
.filter-tab:hover{background:var(--surface2);color:var(--text);}
.filter-tab.active{background:#FF000A;color:#fff;border-color:#FF000A;}
table{width:100%;border-collapse:collapse;table-layout:fixed;}
th{text-align:left;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;padding:12px 16px;border-bottom:1px solid var(--border-light);background:var(--bg);}
td{padding:12px 16px;font-size:13px;border-bottom:1px solid var(--border-light);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
tr:last-child td{border-bottom:none;}
tbody tr:hover td{background:var(--bg);cursor:pointer;}

/* ===== BADGES ===== */
.badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.02em;}
.badge-nova{background:#e0f2fe;color:#0369a1;}
.badge-odeslana{background:#fef3c7;color:#b45309;}
.badge-potvrzeno{background:#dcfce7;color:#15803d;}
.badge-zruseno{background:#fee2e2;color:#dc2626;}
.badge-pronajem{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd;}
.badge-interni{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;}
.badge-ceka{background:#fef3c7;color:#b45309;}
.badge-potvrzena{background:#dcfce7;color:#15803d;}
.badge-nahradnik{background:#f3e8ff;color:#7c3aed;}
.badge-faktura{background:#e0f2fe;color:#0369a1;}
.role-admin{background:#ede9fe;color:#5b21b6;}
.role-hosteska{background:#fce7f3;color:#9d174d;}
.role-ridic{background:#e0f2fe;color:#0369a1;}
.role-zakaznik{background:#dcfce7;color:#15803d;}
.badge-zadost-ceka{background:#fef3c7;color:#b45309;}
.badge-zadost-schvaleno{background:#dcfce7;color:#15803d;}
.badge-zadost-zamitnuto{background:#fee2e2;color:#FF000A;}

/* ===== AVATARS ===== */
.avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.av-blue{background:#333;color:#fff;}
.av-pink{background:#FF000A;color:#fff;}
.av-teal{background:#B9B9B9;color:#000;}

/* ===== MISC ===== */
.signup-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);}
.signup-item:last-child{border-bottom:none;}
.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-light);}
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px;}
.notif-text{font-size:13px;flex:1;}
.notif-time{font-size:11px;color:var(--text3);}
.price-summary{background:var(--bg);border:1.5px solid var(--border-light);border-radius:var(--radius);padding:12px 16px;margin-top:8px;display:flex;gap:20px;font-size:13px;flex-wrap:wrap;}
.price-summary span{color:var(--text2);}

/* ===== MODALS ===== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;backdrop-filter:blur(2px);}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--surface);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:560px;box-shadow:var(--shadow-lg);position:relative;margin:auto;}
.modal-box.wide{max-width:660px;}
.modal-box.wide.be-wide{max-width:calc(100vw - 40px);width:calc(100vw - 40px);}
.modal-title{font-size:17px;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.3px;}
.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:#333;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:#fff;font-weight:700;}
.modal-close:hover{background:#FF000A;}
.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-light);}

/* ===== FORMS ===== */
.form-row{margin-bottom:14px;}
.form-row label{display:block;font-size:11px;font-weight:700;color:var(--text2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em;}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:all .15s;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#000;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.06);}
.form-row textarea{min-height:70px;resize:vertical;}
.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.sec-label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin:18px 0 10px;padding-bottom:6px;border-bottom:1.5px solid var(--border-light);}
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:5px;}
.form-group input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:all .15s;}
.form-group input:focus{border-color:#000;background:#fff;}

/* ===== CALENDAR ===== */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-day-header{text-align:center;font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;padding:6px 0;}
.cal-day{min-height:78px;background:var(--surface);border:1.5px solid var(--border-light);border-radius:16px;padding:6px;}
.cal-day.other-month{background:var(--bg);opacity:.4;}
.cal-day.today{border-color:#000;background:#f5f5f5;}
.cal-day-num{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:4px;}
.cal-event{color:#fff;border-radius:8px;padding:2px 8px;font-size:11px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-weight:600;}
.cal-event:hover{opacity:.85;}
.ev-potvrzeno{background:#16a34a;}
.ev-odeslana{background:#b45309;}
.ev-nova{background:#333;}
.ev-zruseno{background:#e5e7eb;color:#9ca3af;text-decoration:line-through;cursor:default;}
.ev-pronajem{background:#7c3aed;}
.ev-interni{background:#475569;}

/* ===== DETAIL & TOAST ===== */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 1.5rem;margin-bottom:1.25rem;}
.d-label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;}
.d-val{font-size:13px;color:var(--text);font-weight:500;}
#toast{display:none;position:fixed;bottom:1.75rem;right:1.75rem;background:#1a1a1a;color:#fff;padding:12px 20px;border-radius:var(--radius);font-size:13px;font-weight:600;z-index:999;box-shadow:var(--shadow-lg);}

/* ===== MOBILE ===== */
/* Desktop default: skryj mobilní verzi */
.dash-mob{display:none;}
.dash-desk{display:block;}

@media(max-width:768px){
  /* ===== LAYOUT ===== */
  #app{flex-direction:column;}
  .main{overflow:visible;display:flex;flex-direction:column;min-height:0;}

  /* ===== TOPBAR ===== */
  .topbar{padding:0 1rem;height:54px;position:sticky;top:0;z-index:101;background:var(--surface);border-bottom:1px solid var(--border-light);}
  .topbar-title{font-size:15px;}
  .topbar-actions .btn{padding:7px 12px;font-size:12px;}
  .topbar-actions .btn span{display:none;}

  /* ===== SIDEBAR → top navbar ===== */
  .sidebar{width:100%;min-width:100%;border-right:none;flex-direction:row;position:sticky;top:0;z-index:102;box-shadow:var(--shadow-sm);height:auto;overflow:visible;}
  .sidebar-header{padding:.6rem 1rem;flex:1;border-bottom:none;display:flex;align-items:center;justify-content:space-between;}
  .sidebar-logo{font-size:18px;}
  .sidebar-user{margin-top:0;padding:4px 8px;border-radius:var(--radius-sm);}
  .sidebar-user-name{font-size:11px;}
  .sidebar-user-role{display:none;}
  .sidebar-footer{display:none;}
  #mobile-logout-btn{display:block !important;}
  #mob-dark-btn{display:block !important;}
  #mob-role-btn{display:block !important;}
  #mob-office-btn{display:block !important;}
  #mobile-menu-btn{
    display:flex!important;align-items:center;justify-content:center;
    width:38px;height:38px;border:1.5px solid var(--border);border-radius:var(--radius-sm);
    background:transparent;cursor:pointer;font-size:20px;color:#000;margin-right:.5rem;flex-shrink:0;
  }

  /* ===== DRAWER NAV ===== */
  .sidebar-nav{
    display:none;position:fixed;inset:0;top:0;background:rgba(0,0,0,.45);
    z-index:200;padding:0;overflow:hidden;
  }
  .sidebar-nav.open{display:block;}
  .sidebar-nav.open::before{
    content:'';position:absolute;inset:0;
  }
  .sidebar-nav .mob-drawer{
    position:absolute;top:0;left:0;bottom:0;width:82%;max-width:300px;
    background:var(--surface);overflow-y:auto;padding:.75rem 0 2rem;
    box-shadow:4px 0 24px rgba(0,0,0,.18);
    animation:slideInLeft .22s ease;
  }
  @keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}
  #mobile-logout-btn{
    margin:1rem 1rem 0!important;width:calc(100% - 2rem)!important;
    padding:11px 14px!important;font-size:13px!important;border-radius:var(--radius-sm)!important;
  }
  .nav-section{padding:12px 1.25rem 4px;}
  .nav-item{padding:11px 1.25rem;font-size:14px;}
  .nav-item.active{margin:2px 10px;border-radius:var(--radius-sm);}

  /* ===== CONTENT ===== */
  .content{padding:.875rem;padding-bottom:7rem;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .content.chat-active{padding:0;}

  /* ===== CARDS & STATS ===== */
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:1.25rem;}
  .stat-card{padding:1rem 1.1rem;}
  .stat-val{font-size:22px!important;}
  .stat-label{font-size:9px;}
  .card{padding:1rem 1.1rem;border-radius:var(--radius-sm);}
  .two-col,.form-grid2,.detail-grid{grid-template-columns:1fr;}

  /* ===== TABLES → scroll + compact ===== */
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);}
  table{min-width:500px;}
  th{font-size:10px;padding:10px 10px;}
  td{padding:10px 10px;font-size:12px;}
  .table-toolbar{padding:10px 12px;gap:8px;}
  .filter-tabs{gap:4px;}
  .filter-tab{padding:5px 10px;font-size:11px;}

  /* ===== MODALS → bottom sheet ===== */
  .modal-overlay{
    padding:0;align-items:flex-end;
    background:rgba(0,0,0,.5);backdrop-filter:blur(3px);
  }
  .modal-box{
    max-width:100%!important;width:100%!important;
    border-radius:20px 20px 0 0;
    max-height:92vh;overflow-y:auto;margin:0;
    padding:1.25rem 1.1rem 2rem;
    animation:slideUp .25s ease;
  }
  @keyframes slideUp{from{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}
  .modal-box::before{
    content:'';display:block;width:40px;height:4px;
    background:var(--border);border-radius:2px;margin:0 auto .875rem;
  }
  .modal-title{font-size:16px;}
  .modal-close{top:.875rem;right:.875rem;}
  .modal-footer{flex-wrap:wrap;gap:6px;padding-top:1rem;}
  .modal-footer .btn{flex:1;justify-content:center;min-width:0;}

  /* ===== FORMS ===== */
  .form-row input,.form-row select,.form-row textarea{
    font-size:16px!important;padding:11px 12px!important;
  }
  .btn{padding:10px 16px;font-size:13px;}
  .btn-sm{padding:7px 12px;font-size:12px;}
  .btn-primary{font-size:13px;}

  /* ===== AUTH ===== */
  #auth-screen{padding:1.25rem 1rem;justify-content:flex-start;padding-top:3rem;}
  .auth-card{width:100%;max-width:100%;padding:1.75rem 1.25rem;border-radius:var(--radius-lg);}
  .form-group input{font-size:16px!important;padding:12px 14px!important;}

  /* ===== CALENDAR ===== */
  .cal-grid{gap:2px;}
  .cal-day{min-height:44px;padding:3px;border-radius:8px;}
  .cal-day-num{font-size:11px;}
  .cal-day-header{font-size:10px;padding:4px 0;}
  .cal-event{font-size:9px;padding:1px 4px;border-radius:4px;}

  /* ===== CHAT ===== */
  #page-chat{height:calc(100vh - 108px);padding:0!important;}
  #page-chat > div{height:100%;}

  /* ===== DASHBOARD ===== */
  #page-dashboard .two-col,
  #page-dashboard > div[style*="grid-template-columns:1fr 1fr"]{
    display:flex!important;flex-direction:column!important;
  }

  /* ===== PRICE SUMMARY ===== */
  .price-summary{flex-direction:column;gap:6px;}

  /* ===== BADGES ===== */
  .badge{font-size:10px;padding:2px 8px;}

  /* ===== MOJE AKCE – hosteska ===== */
  /* Stat karty — 2 sloupce na mobilu */
  #page-moje-akce div[style*="grid-template-columns:repeat(3,1fr)"],
  #page-moje-akce div[style*="grid-template-columns:1fr 1fr 1fr"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  /* Hero karta — info grid na 1 sloupec */
  #page-moje-akce div[style*="grid-template-columns:1fr 1fr;gap:8px"],
  #page-dashboard div[style*="grid-template-columns:1fr 1fr;gap:8px"]{
    grid-template-columns:1fr!important;
  }
  /* Checklist grid v hero kartě */
  #page-moje-akce div[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr 1fr!important;
  }
  /* Hero karta padding */
  #page-moje-akce div[style*="padding:1.25rem 1.5rem"]{
    padding:.875rem 1rem!important;
  }
  /* Odpočet — menší font */
  #page-moje-akce div[style*="font-size:28px;font-weight:900"]{
    font-size:20px!important;
  }
  /* Tlačítka v kartách — zalamovat */
  #page-moje-akce div[style*="display:flex;gap:8px"],
  #page-moje-akce div[style*="display:flex;flex-wrap:wrap"]{
    flex-wrap:wrap!important;gap:6px!important;
  }
  /* ===== DASHBOARD MOBILE ===== */
  /* Stats grid v dashboard */
  #page-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  /* KPI: 4→2 sloupce */
  #page-dashboard .dash-kpi{grid-template-columns:repeat(2,1fr)!important;}
  /* 2-col gridy → 1 sloupec */
  #page-dashboard .dash-2col{grid-template-columns:1fr!important;}
  /* Mobil: skryj desktop verzi, ukáž mobilní */
  .dash-desk{display:none!important;}
  .dash-mob{display:block!important;}

  /* ===== CLOSE DRAWER ON OUTSIDE CLICK ===== */
  .sidebar-nav.open{cursor:pointer;}
}

/* ===== EXTRA SMALL (iPhone SE atd.) ===== */
@media(max-width:390px){
  .stats-grid{grid-template-columns:1fr 1fr;}
  .stat-val{font-size:19px!important;}
  .content{padding:.625rem;}
  .card{padding:.875rem;}
}
/* ===== TOUCH OPTIMALIZACE (všechny velikosti) ===== */
button,a,[onclick]{-webkit-tap-highlight-color:transparent;}
input,select,textarea{-webkit-appearance:none;appearance:none;}
* {-webkit-font-smoothing:antialiased;}
@keyframes tomDot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
@keyframes slotBlink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes jackpotGlow{0%,100%{box-shadow:0 0 40px rgba(245,158,11,.4)}50%{box-shadow:0 0 80px rgba(245,158,11,.8),0 0 120px rgba(239,68,68,.4)}}
@keyframes valecSpin{0%{transform:translateY(0)}100%{transform:translateY(-200%)}}
