/* ===== čistý vzhled aplikace (účet, tickety, přihlášení, administrace) =====
   Načítá se jako poslední a sjednocuje starší „lepenkové“ styly s úvodní stránkou. */
:root{--hair:rgba(17,17,17,.1);--card:#fff;--soft:#ebe7de;--r:20px;--r-sm:12px;
  --lift:0 24px 50px -30px rgba(17,17,17,.4),0 1px 3px rgba(17,17,17,.05)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--hair:rgba(255,255,255,.1);--card:#171717;--soft:#232323;--lift:0 24px 50px -30px rgba(0,0,0,.8)}}
:root[data-theme="dark"]{--hair:rgba(255,255,255,.1);--card:#171717;--soft:#232323;--lift:0 24px 50px -30px rgba(0,0,0,.8)}

/* společné pole formuláře */
.set-field input,.au-field input,.tk-field input,.tk-field textarea,.ib-search input,.tk-status-sel{border-radius:var(--r-sm)}

/* ===== záložky účtu ===== */
.ptabs{background:var(--bg);border-bottom:1px solid var(--hair)}
.ptabs .wrap{gap:.3rem;padding-block:.6rem}
.ptabs a{padding:.55rem 1rem;border:0;border-radius:10px;color:var(--muted);font:600 .92rem var(--body);letter-spacing:0;text-transform:none;transition:background-color .2s var(--ease),color .2s var(--ease)}
.ptabs a:hover{color:var(--ink);background:var(--soft)}
.ptabs a[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.ptabs .ptabs-admin{color:var(--ink);border:1px solid var(--hair)}
.ptabs .ptabs-admin:hover{border-color:var(--ink)}

/* ===== hlavička účtu ===== */
.acct-hero{position:relative;padding:3rem 0 2.6rem;background:var(--bg);color:var(--ink);border-bottom:0;overflow:hidden;isolation:isolate}
.acct-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(34rem 18rem at 90% 0%,rgba(248,184,0,.25),transparent 70%),radial-gradient(1px 1px at 1px 1px,rgba(17,17,17,.12) 1px,transparent 1.5px) 0 0/22px 22px;-webkit-mask:linear-gradient(#000 40%,transparent);mask:linear-gradient(#000 40%,transparent)}
.acct-hero-in{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.acct-avatar{flex:none;display:grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:20px;background:var(--tape);color:#111;font:800 1.5rem var(--display);box-shadow:0 3px 0 #111;border:2px solid #111}
.acct-kicker{font:600 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.acct-hero h1{margin-top:.2rem;font-size:clamp(1.9rem,4.5vw,2.8rem);letter-spacing:-.035em}
.acct-hero .meta{margin-top:.35rem;font:500 .9rem var(--body);color:var(--muted)}
.acct-hero .pills{margin:0 0 0 auto;align-self:center}
.pill{background:var(--card);color:var(--ink);border:1px solid var(--hair);font:600 .78rem var(--body);letter-spacing:0;text-transform:none;padding:.35rem .75rem}
@media (max-width:640px){.acct-hero .pills{margin-left:0}.acct-avatar{width:3.4rem;height:3.4rem;font-size:1.2rem;border-radius:16px}}

/* ===== nastavení ===== */
.settings{padding:2rem 0 5rem}
.set-grid{display:grid;grid-template-columns:200px minmax(0,780px);gap:2rem;align-items:start}
@media (max-width:820px){.set-grid{grid-template-columns:1fr;gap:1rem}}
.set-nav{position:sticky;top:6rem;display:grid;gap:.2rem}
@media (max-width:820px){.set-nav{display:none}}
.set-nav button{display:flex;align-items:center;gap:.65rem;padding:.65rem .8rem;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 .95rem var(--body);text-align:left;cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease),color .2s var(--ease)}
.set-nav button:hover{background:var(--soft);color:var(--ink)}
.set-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.set-main{display:grid;gap:1.2rem}
.set-card{scroll-margin-top:6rem;border:1px solid var(--hair);border-radius:var(--r);background:var(--card);overflow:hidden}
.set-head{padding:1.5rem 1.6rem 0}
.set-head h2{font-size:1.35rem;letter-spacing:-.02em}
.set-head p{margin-top:.35rem;color:var(--muted);font-size:.95rem;max-width:40rem}
.set-head .set-note{padding:.6rem .8rem;border-radius:10px;background:rgba(248,184,0,.15);color:var(--ink)}
.set-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem;padding:1.3rem 1.6rem 1.5rem}
.set-fields.one{grid-template-columns:minmax(0,22rem)}
@media (max-width:600px){.set-fields{grid-template-columns:1fr}}
.set-field{display:grid;gap:.4rem}
.set-field>span{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-weight:600;font-size:.9rem}
.set-field small{font-weight:500;font-size:.78rem;color:var(--muted)}
.set-field input{width:100%;padding:.72rem .85rem;border:1px solid var(--hair);background:var(--bg);color:var(--ink);font:500 1rem var(--body);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}
.set-field input:hover{border-color:rgba(17,17,17,.25)}
.set-field input:focus{outline:none;border-color:var(--ink);background:var(--card);box-shadow:0 0 0 4px rgba(248,184,0,.35)}
.set-field input[readonly]{color:var(--muted);background:var(--soft);cursor:not-allowed}
.set-field input:user-invalid{border-color:var(--stamp)}
.set-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.8rem 1rem;padding:1rem 1.6rem;border-top:1px solid var(--hair);background:var(--bg)}
.set-foot .msg{flex:1;min-width:12rem;font-weight:600;font-size:.92rem}
.set-foot .msg:empty{visibility:hidden}
.set-foot .btn:disabled{opacity:.6;cursor:wait}
.set-card.danger{border-color:rgba(200,50,30,.35)}
.set-card.danger .set-head h2{color:var(--stamp)}
.btn.del{background:var(--stamp);color:#fff;border-color:#7a1b10;box-shadow:0 3px 0 #7a1b10}
.btn.del:hover{background:#a8291a;box-shadow:0 5px 0 #7a1b10}
.set-card.armed{box-shadow:0 0 0 4px rgba(200,50,30,.2)}
.msg.ok{color:var(--ok)}
.msg.err{color:var(--stamp)}

/* ===== tickety a chat ===== */
.inbox,.ch-card{border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--lift);background:var(--card)}
.ib-list{border-right:1px solid var(--hair)}
.ib-list-head{border-bottom:1px solid var(--hair)}
.ib-info{border-left:1px solid var(--hair)}
.ib-info-head{border-bottom:1px solid var(--hair)}
.ib-filters{padding:.25rem;gap:.25rem;border-radius:12px;background:var(--soft)}
.ib-filters button{border:0;border-radius:9px;color:var(--muted);transition:background-color .2s var(--ease),color .2s var(--ease)}
.ib-filters button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ib-search input{border:1px solid var(--hair)}
.tk-newbtn{border-radius:12px;box-shadow:0 3px 0 #111;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}
.tk-newbtn:hover{box-shadow:0 5px 0 #111}
.tk-newbtn:active{transform:translateY(3px);box-shadow:0 0 0 #111}
.tk-item{border:1px solid transparent;transition:background-color .2s var(--ease),border-color .2s var(--ease)}
.tk-item[aria-current="true"]{border-color:rgba(248,184,0,.7);background:rgba(248,184,0,.12)}
.tk-num.lg{border:0;border-radius:10px}
.ch-head{border-bottom:1px solid var(--hair);background:var(--card)}
.ch-composer{border-top:1px solid var(--hair);background:var(--card)}
.ch-input{border:1px solid var(--hair)}
.ch-hbtn{border:1px solid var(--hair);border-radius:10px;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.ch-send{border-width:2px}
.ch-bubble{border-color:var(--hair)}
.ch-file{border-color:var(--hair)}
.tk-new{border:1px solid var(--hair);border-radius:var(--r);box-shadow:none}
.tk-new-head{border-bottom:1px solid var(--hair)}
.tk-new-ico{border:0;border-radius:12px}
.tk-cat{border:1px solid var(--hair);border-radius:14px}
.tk-cat[aria-checked="true"]{border-color:#111;box-shadow:inset 0 0 0 1px #111}
.tk-new-details{border-top:1px dashed var(--hair)}
.tk-field input,.tk-field textarea{border:1px solid var(--hair)}
.ch-metabox{border:0;border-radius:14px}
.ib-badge{background:var(--stamp)}

/* ===== přihlášení a registrace ===== */
.au-side{background:var(--bg);color:var(--ink);border-right:1px solid var(--hair);isolation:isolate}
.au-side::before{left:0;width:auto;inset:0;transform:none;z-index:-1;border:0;background:radial-gradient(30rem 22rem at 15% 0%,rgba(248,184,0,.3),transparent 70%),radial-gradient(1px 1px at 1px 1px,rgba(17,17,17,.12) 1px,transparent 1.5px) 0 0/22px 22px;-webkit-mask:linear-gradient(#000 50%,transparent);mask:linear-gradient(#000 50%,transparent)}
.au-side .kicker{color:var(--muted)}
.au-lead{color:var(--muted)}
.au-slip{transform:none;border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--lift);background:var(--card);color:var(--ink);padding:1.2rem 1.3rem}
.au-slip-head{border-bottom:1px dashed var(--hair);color:var(--muted)}
.au-slip li{border-bottom-color:var(--hair)}
.au-slip li b{background:var(--tape);color:#111;border-radius:6px}
.au-slip .barcode{opacity:.7;border-radius:4px}
.au-card{border:1px solid var(--hair);border-radius:24px;box-shadow:var(--lift);background:var(--card)}
.au-card-head{display:none}
.au-body{padding:1.8rem 1.8rem 1.9rem}
.au-switch{border:0;padding:.3rem;border-radius:14px;background:var(--soft)}
.au-switch::before{top:.3rem;bottom:.3rem;left:.3rem;width:calc(50% - .3rem);border-radius:10px;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.au-switch button{font:600 .92rem var(--body);letter-spacing:0;text-transform:none;color:var(--muted)}
.au-switch button[aria-selected="true"]{color:var(--ink)}
.au-field label{font:600 .9rem var(--body);letter-spacing:0;text-transform:none;color:var(--ink)}
.au-field input{border:1px solid var(--hair)}
.au-field input:focus{border-color:var(--ink)}
.au-gbtn{border:1px solid var(--hair);border-radius:12px;box-shadow:none;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.au-gbtn:hover{border-color:var(--ink);box-shadow:none}
.au-gbtn:active{transform:none;box-shadow:none}
.au-submit{border-radius:12px;box-shadow:0 3px 0 #111;border-color:#111}
.au-submit:hover{box-shadow:0 5px 0 #111}
.au-submit:active{transform:translateY(3px);box-shadow:0 0 0 #111}
.au-submit:disabled{box-shadow:0 3px 0 #111}
.au-alert{border-width:1px;border-radius:12px}
.au-modal{border:1px solid var(--hair);border-radius:24px;box-shadow:var(--lift)}
.au-modal-head{display:none}
.au-modal-x{color:var(--muted)}
.au-modal-ico{border:0}
.au-ghost{border:1px solid var(--hair);border-radius:12px}
@media (max-width:900px){.au-side{border-right:0;border-bottom:1px solid var(--hair)}}

/* ===== administrace ===== */
.adm-bar{background:var(--bg);color:var(--ink);border-bottom:1px solid var(--hair)}
.adm-tabs{padding:.25rem;gap:.25rem;border-radius:12px;background:var(--soft)}
.adm-tabs a{border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;transition:background-color .2s var(--ease),color .2s var(--ease)}
.adm-tabs a:hover{color:var(--ink)}
.adm-tabs a[aria-current="page"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.adm-stats li{border:1px solid var(--hair);border-radius:10px;background:var(--card);color:var(--ink);box-shadow:none}
.ov-tile,.ov-card{border:1px solid var(--hair);border-radius:18px;box-shadow:none}
.ov-ranges{padding:.25rem;gap:.25rem;border-radius:12px;background:var(--soft)}
.ov-ranges button{border:0;border-radius:9px;background:transparent;color:var(--muted);transition:background-color .2s var(--ease),color .2s var(--ease)}
.ov-ranges button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tr-frame{border-radius:0}

.wl-admin{max-width:760px;margin:0 auto;padding:1.6rem;border:1px solid var(--hair);border-radius:var(--r);background:var(--card)}
.wl-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-start}
.wl-top h2{font-size:1.4rem}
.wl-top p{margin-top:.3rem;color:var(--muted);font-size:.92rem;max-width:28rem}
.wl-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.wl-actions .ch-hbtn{text-decoration:none}
.wl-list{list-style:none;margin:1.2rem 0 0;padding:0;border-top:1px solid var(--hair)}
.wl-list li{display:flex;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--hair)}
.wl-list a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:600;text-decoration:none}
.wl-list time{font:500 .78rem var(--mono);color:var(--muted)}
@media (prefers-reduced-motion:reduce){.set-nav button,.ptabs a,.tk-item,.ib-filters button{transition:none}}
