
/* TF BARBER - REZERVACE 2.0 */
:root{--bg:#0a0a0a;--card:#141414;--border:#2a2a2a;--gold:#c8a55a;--gold-l:#dbb96a;--gold-d:#a88a3a;--txt:#e8e8e8;--muted:#888;--dark:#555;--ok:#4ade80;--err:#ef4444;--info:#60a5fa}
#tf-rezervace-app{font-family:'Segoe UI',sans-serif;color:var(--txt);max-width:100%;margin:0 auto;background:var(--bg);min-height:100vh}
#tf-rezervace-app *{box-sizing:border-box}
.tf-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:all .2s;justify-content:center;padding:10px 20px;font-size:14px}
.tf-btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-d));color:#000}
.tf-btn-ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.tf-btn-secondary{background:var(--card);color:var(--txt);border:1px solid var(--border)}
.tf-btn-danger{background:var(--err);color:#fff}
.tf-btn-success{background:var(--ok);color:#000}
.tf-btn-sm{padding:6px 14px;font-size:13px}
.tf-btn-lg{padding:14px 28px;font-size:16px}
.tf-btn-full{width:100%}
.tf-btn:disabled{opacity:.5;cursor:not-allowed}
.tf-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}
.tf-card-click{cursor:pointer;transition:border-color .2s}
.tf-card-click:hover{border-color:var(--gold)}
.tf-card-selected{border:2px solid var(--gold)!important}
.tf-input-group{margin-bottom:16px}
.tf-input-group label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}
.tf-input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--txt);font-size:14px;outline:none}
.tf-input:focus{border-color:var(--gold)}
.tf-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.tf-badge-gold{background:rgba(200,165,90,.13);color:var(--gold);border:1px solid rgba(200,165,90,.27)}
.tf-badge-green{background:rgba(74,222,128,.13);color:var(--ok);border:1px solid rgba(74,222,128,.27)}
.tf-badge-red{background:rgba(239,68,68,.13);color:var(--err);border:1px solid rgba(239,68,68,.27)}
.tf-badge-blue{background:rgba(96,165,250,.13);color:var(--info);border:1px solid rgba(96,165,250,.27)}
.tf-badge-muted{background:rgba(136,136,136,.13);color:var(--muted);border:1px solid rgba(136,136,136,.27)}
.tf-progress{height:8px;background:var(--bg);border-radius:4px;overflow:hidden}
.tf-progress-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-l));border-radius:4px;transition:width .5s}
.tf-tabs{display:flex;gap:4px;background:var(--bg);border-radius:10px;padding:4px;margin-bottom:20px}
.tf-tab{flex:1;padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-size:13px;font-weight:600;background:transparent;color:var(--muted);transition:all .2s}
.tf-tab-active{background:var(--gold)!important;color:#000!important}
.tf-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}
.tf-modal{background:var(--card);border-radius:16px;border:1px solid var(--border);max-width:500px;width:100%;max-height:80vh;overflow:auto;padding:24px}
.tf-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tf-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tf-slot{padding:10px 0;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--txt);cursor:pointer;font-weight:600;font-size:14px;text-align:center}
.tf-slot-selected{border:2px solid var(--gold);background:rgba(200,165,90,.13);color:var(--gold)}
.tf-slot-available{border:1px solid var(--ok);background:rgba(74,222,128,.13);color:var(--ok)}
.tf-slot-blocked{border:1px solid var(--err);background:rgba(239,68,68,.13);color:var(--err)}
.tf-date-scroll{display:flex;gap:8px;overflow-x:auto;margin-bottom:20px;padding-bottom:8px}
.tf-date-btn{min-width:70px;padding:12px 8px;border-radius:10px;border:1px solid var(--border);background:var(--card);cursor:pointer;text-align:center}
.tf-date-btn-selected{border:2px solid var(--gold);background:rgba(200,165,90,.13)}
.tf-date-btn-disabled{opacity:.3;cursor:not-allowed}
.tf-center{text-align:center}
.tf-flex{display:flex}
.tf-flex-between{display:flex;justify-content:space-between;align-items:center}
.tf-gap-8{gap:8px}
.tf-gap-12{gap:12px}
.tf-gap-16{gap:16px}
.tf-mb-8{margin-bottom:8px}.tf-mb-12{margin-bottom:12px}.tf-mb-16{margin-bottom:16px}.tf-mb-20{margin-bottom:20px}.tf-mb-24{margin-bottom:24px}
.tf-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;border:2px solid var(--gold);flex-shrink:0}
.tf-avatar-sm{width:48px;height:48px}
.tf-avatar-lg{width:80px;height:80px;border-width:3px}
.tf-icon{display:inline-block;vertical-align:middle}
.tf-divider{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.tf-checkbox{width:24px;height:24px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.tf-checkbox-checked{border-color:var(--gold);background:var(--gold)}
.tf-upload-area{background:var(--bg);border:2px dashed var(--border);border-radius:10px;padding:30px;text-align:center}
.tf-slot-booked{border:1px solid var(--err);background:rgba(239,68,68,.18);color:var(--err);cursor:pointer}
.tf-slot-booked:hover{background:rgba(239,68,68,.3);border-color:#ff6b6b}
.tf-slot-available:hover{background:rgba(74,222,128,.25)}
.tf-slot-blocked:hover{background:rgba(100,100,100,.3)}
.tf-tabs{flex-wrap:wrap}
@media(max-width:600px){.tf-grid-2{grid-template-columns:1fr}.tf-grid-4{grid-template-columns:repeat(3,1fr)}}
