/* Shared styles for the account-area pages (agenda.html, my-agenda.html).
   Light, like the rest of thetradingfair.com (white page, dark header, red
   accents, bordered cards as on pages/program.html). Tokens are shared with
   portal.html; the CV modal classes live in tf-cv.js. */
:root{
  --bg:#ffffff; --bg2:#f6f4f1; --panel:#ffffff;
  --red:#ae1f19; --red-soft:#c9302a; --red-glow:rgba(174,31,25,.22);
  --green:#1a9a6c; --amber:#b8862e;
  --ink:#121212; --muted:#5f6368; --line:#e3e0da; --line-strong:#1a1a1a;
  --card:#ffffff;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;font-family:'Chivo',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--red)}

/* ---- site header (from index.html, stays dark) ---- */
#aicSiteHeader{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:26px;padding:0 28px;height:68px;min-height:68px;background:rgba(12,13,16,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
#aicSiteHeader .sh-logo img{height:40px;width:auto;display:block;transition:transform .2s ease,filter .2s ease}
#aicSiteHeader .sh-logo:hover img{transform:scale(1.06);filter:drop-shadow(0 0 9px rgba(224,70,63,.6))}
#aicSiteHeader .sh-menu{flex:1;display:flex;align-items:center;gap:24px}
#aicSiteHeader .sh-spacer{flex:1}
#aicSiteHeader a{color:#f4f5f7;text-decoration:none;font-size:13.5px;font-weight:600;line-height:1.3;letter-spacing:.4px;opacity:.78;transition:.15s;white-space:nowrap}
#aicSiteHeader a:hover,#aicSiteHeader a[aria-current]{opacity:1;color:#e0463f}
#aicSiteHeader a.sh-signup{padding:7px 14px;border-radius:6px;opacity:1;background:rgba(212,175,55,.10);color:#D4AF37;border:1px solid rgba(212,175,55,.3)}
#aicSiteHeader a.sh-signup:hover{background:rgba(212,175,55,.16);border-color:rgba(212,175,55,.5);color:#FFD700}
#aicSiteHeader a.sh-login{padding:7px 14px;border:1px solid rgba(255,255,255,.14);border-radius:9px;opacity:1}
#aicSiteHeader a.sh-login:hover{border-color:#ae1f19;background:rgba(174,31,25,.16);color:#fff}
#aicSiteHeader a.sh-myagenda{display:none}
html.aic-pre-authed #aicSiteHeader a.sh-myagenda,body.aic-logged-in #aicSiteHeader a.sh-myagenda{display:inline}
#aicSiteHeader .sh-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;margin-left:auto}
#aicSiteHeader .sh-burger span{display:block;width:24px;height:2px;background:#f4f5f7;border-radius:2px}
@media(max-width:900px){
  #aicSiteHeader{padding:0 16px;height:60px;min-height:60px}
  #aicSiteHeader .sh-burger{display:flex}
  #aicSiteHeader .sh-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:rgba(12,13,16,.98);padding:6px 0;display:none;box-shadow:0 12px 30px rgba(0,0,0,.35)}
  #aicSiteHeader.open .sh-menu{display:flex}
  #aicSiteHeader .sh-menu a{padding:13px 24px;width:100%;opacity:.92}
  #aicSiteHeader .sh-spacer{display:none}
  #aicSiteHeader a.sh-login,#aicSiteHeader a.sh-signup{border:0;border-radius:0;background:none}
  #aicSiteHeader a.sh-signup{color:#D4AF37}
  html.aic-pre-authed #aicSiteHeader a.sh-myagenda,body.aic-logged-in #aicSiteHeader a.sh-myagenda{display:block}
}

/* ---- page ---- */
.tf-page{max-width:1060px;margin:0 auto;padding:40px 16px 60px}
.kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:0 0 8px;font-weight:700}
.tf-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 8px}
.tf-hero-top .kicker{margin:0}
.tf-switch{display:inline-flex;padding:3px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--bg)}
.tf-switch[hidden]{display:none}
.tf-switch a{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1;transition:background .15s,color .15s}
.tf-switch a:hover{background:var(--bg2)}
.tf-switch a.on{background:var(--ink);color:#fff}
.tf-hero h1{font-size:40px;line-height:1.05;margin:0 0 12px;font-weight:900;color:var(--ink)}
.tf-hero h1 .g{color:var(--red)}
.tf-hero .sub,p.sub{color:var(--muted);margin:0 0 18px;font-size:16px;line-height:1.55;max-width:720px}
.tf-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);font-size:14.5px;line-height:1.45;margin:0 0 22px}
.tf-status-dot{width:10px;height:10px;border-radius:50%;background:#b9b5ae;flex:0 0 auto}
.tf-status.good{border-color:rgba(26,154,108,.4);background:#effaf5}
.tf-status.good .tf-status-dot{background:var(--green);box-shadow:0 0 0 4px rgba(26,154,108,.15)}
.tf-status.warn{border-color:rgba(184,134,46,.4);background:#fff8ea}
.tf-status.warn .tf-status-dot{background:var(--amber);box-shadow:0 0 0 4px rgba(184,134,46,.15)}
.tf-status #statusAction,.tf-status .tf-status-action{margin-left:auto}
.tf-status a:not(.tf-btn){font-weight:700}
.tf-note{font-size:14px;line-height:1.55;color:var(--muted);padding:12px 16px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);margin:0 0 24px}
.tf-note b{color:var(--ink)}
.tf-loading{padding:40px 10px;text-align:center;color:var(--muted)}
.tf-foot{margin:40px 0 0;color:var(--muted);font-size:13px;text-align:center}
.tf-foot a{color:var(--muted)}

/* ---- day grid ---- */
.tf-slot{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.tf-slot-time{font-weight:900;font-size:15px;color:var(--ink);padding-top:16px;letter-spacing:.3px}
.tf-slot-items{display:grid;gap:12px}
.tf-slot.parallel .tf-slot-items{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.tf-item{display:flex;gap:14px;align-items:flex-start;padding:16px 16px 14px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--card);cursor:pointer;transition:.15s;position:relative}
.tf-item:hover{border-color:var(--red);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.tf-item.mine{border-color:var(--green);box-shadow:inset 0 0 0 1px rgba(26,154,108,.25)}
.tf-item.fixed{background:var(--bg2);border-color:var(--line);cursor:default}
.tf-item.fixed:hover{border-color:var(--line);box-shadow:none}
.tf-item.fixed.type-break{opacity:.75}
.tf-item-logo{width:52px;height:52px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--line);padding:6px;flex:0 0 auto}
.tf-item-body{flex:1;min-width:0}
.tf-item-type{margin:0 0 4px;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--red);font-weight:700}
.tf-item.fixed .tf-item-type{color:var(--muted)}
.tf-item h3{margin:0 0 6px;font-size:18px;line-height:1.2;font-weight:900;color:var(--ink)}
.tf-item-desc{margin:0 0 6px;color:var(--muted);font-size:13.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tf-item-facts{margin:0;color:var(--muted);font-size:12.5px}
.tf-item-deadline{margin:6px 0 0;font-size:12.5px;color:var(--amber);font-weight:700}
.tf-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto;min-width:130px}
.tf-slot.parallel .tf-item{flex-wrap:wrap}
.tf-slot.parallel .tf-item-body{flex:1 1 160px}
.tf-slot.parallel .tf-item-side{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;width:100%;min-width:0;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}
.tf-link{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:0}
.tf-link:hover{color:var(--ink)}

.tf-pill{display:inline-block;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:800;letter-spacing:.3px;white-space:nowrap}
.tf-pill.good{background:#e6f6ef;color:#12724f;border:1px solid rgba(26,154,108,.4)}
.tf-pill.ok{background:#fdeceb;color:#8e1712;border:1px solid rgba(174,31,25,.35)}
.tf-pill.warn{background:#fff3d6;color:#7a5410;border:1px solid rgba(184,134,46,.4)}
.tf-pill.muted{background:var(--bg2);color:var(--muted);border:1px solid var(--line)}
.tf-pill.primary{background:#fdeceb;color:#8e1712;border:1px solid rgba(174,31,25,.35)}

.tf-btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:14px;padding:11px 16px;border-radius:10px;transition:.15s;letter-spacing:.2px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.tf-btn.primary{background:var(--red);color:#fff;box-shadow:0 8px 20px var(--red-glow)}
.tf-btn.primary:hover{background:#c9302a;transform:translateY(-1px)}
.tf-btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line-strong)}
.tf-btn.ghost:hover{border-color:var(--red);color:var(--red)}
.tf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.tf-btn.danger{background:#fff;color:var(--red);border:1.5px solid rgba(174,31,25,.5)}
.tf-btn.danger:hover{background:#fdeceb}

/* ---- popup ---- */
.tf-pop{position:fixed;inset:0;z-index:2000;background:rgba(18,18,18,.55);display:flex;align-items:center;justify-content:center;padding:18px}
.tf-pop[hidden]{display:none}
.tf-pop-card{width:min(600px,100%);max-height:90vh;overflow:auto;background:#fff;border:1.5px solid var(--line-strong);border-radius:14px;padding:26px 24px 20px;box-shadow:0 24px 60px rgba(0,0,0,.25);position:relative}
.tf-pop-close{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}
.tf-pop-close:hover{color:var(--ink)}
.tf-pop-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px;padding-right:30px}
.tf-pop-head img{width:64px;height:64px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--line);padding:7px;flex:0 0 auto}
.tf-pop-head h2{margin:0 0 6px;font-size:24px;line-height:1.15;font-weight:900;color:var(--ink)}
.tf-pop-meta{margin:0;color:var(--muted);font-size:14px}
.tf-pop-desc{color:var(--ink);font-size:15px;line-height:1.55;margin:0 0 14px;white-space:pre-line}
.tf-pop-facts{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0 0 16px;font-size:14px}
.tf-pop-facts dt{color:var(--muted);font-weight:700}
.tf-pop-facts dd{margin:0}
.tf-pop-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

/* ---- confirm dialogs (shared with tf-cv.js classes) ---- */
.tf-cv-overlay{position:fixed;inset:0;background:rgba(18,18,18,.55);z-index:10002;display:flex;align-items:center;justify-content:center;padding:18px}
.tf-cv-dialog{width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border:1.5px solid var(--line-strong);border-radius:14px;padding:24px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.25);color:var(--ink)}
.tf-cv-dialog h3{margin:0 0 8px;font-size:19px;font-weight:900}
.tf-cv-dialog .tf-cv-stamp{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.5}
.tf-cv-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}

/* ---- toast ---- */
.tf-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#121212;color:#fff;border:1px solid rgba(26,154,108,.6);padding:12px 18px;border-radius:12px;font-size:14px;z-index:3000;transition:.2s;max-width:min(520px,92vw);text-align:center;pointer-events:none}
.tf-toast.show{opacity:1;transform:translate(-50%,0)}
.tf-toast.err{border-color:rgba(201,48,42,.8)}

/* ---- my agenda ---- */
.tf-cards{display:grid;gap:14px;margin:0 0 26px}
.tf-card{padding:18px 18px 16px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--card)}
.tf-card h2{margin:0 0 8px;font-size:20px;font-weight:900;color:var(--ink)}
.tf-card p{margin:0 0 8px;color:var(--muted);font-size:14.5px;line-height:1.5}
.tf-card .tf-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.tf-card.conflict{border-color:var(--amber);background:#fff8ea}
.tf-card.conflict h2{color:#7a5410}
.tf-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}
.tf-choice > div{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#fff}
.tf-choice b{display:block;margin-bottom:4px}
.tf-choice small{color:var(--muted);display:block;margin-bottom:10px}
.tf-timeline .tf-slot-time{padding-top:14px}
.tf-mine-item{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--card)}
.tf-mine-item.dim{opacity:.6;border-color:var(--line)}
.tf-mine-item .tf-item-side{min-width:0;align-items:flex-end}
.tf-kv{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;font-size:14.5px;margin:6px 0 0}
.tf-kv dt{color:var(--muted);font-weight:700}
.tf-kv dd{margin:0}
.toggle{display:flex;align-items:flex-start;gap:14px;padding:14px 15px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;user-select:none;margin-top:8px}
.toggle .sw{flex:0 0 auto;width:46px;height:26px;border-radius:99px;background:#cfcbc4;position:relative;transition:.2s;margin-top:2px}
.toggle .sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.toggle.on .sw{background:var(--green)}
.toggle.on .sw::after{left:23px}
.toggle .tt{font-size:15px;font-weight:700;display:block}
.toggle .td{font-size:13px;color:var(--muted);line-height:1.45;margin-top:4px;display:block}

@media(max-width:640px){
  .tf-hero h1{font-size:30px}
  .tf-slot{grid-template-columns:1fr;gap:8px;padding:14px 0}
  .tf-slot-time{padding-top:0}
  .tf-item{flex-wrap:wrap}
  .tf-item-side{flex-direction:row;align-items:center;justify-content:flex-start;width:100%;min-width:0;margin-top:6px}
  .tf-item-logo{width:44px;height:44px}
  .tf-status #statusAction,.tf-status .tf-status-action{margin-left:0;width:100%}
  .tf-pop-facts{grid-template-columns:1fr}
  .tf-kv{grid-template-columns:1fr}
  .tf-mine-item{flex-direction:column}
}
