:root{
  --brand-primary:#1f2937;--brand-secondary:#111827;--brand-accent:#f59e0b;
  --ink:#172033;--muted:#667085;--surface:#ffffff;--bg:#f4f6f8;--line:#e3e8ef;
  --good:#178b56;--bad:#c63a3a;--warn:#d97706;--shadow:0 18px 45px rgba(15,23,42,.10);
  --radius:20px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1380px)/2));position:sticky;top:0;z-index:40;backdrop-filter:blur(12px)}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav a{font-size:.92rem;font-weight:700;color:#49546a}.topbar nav a:hover,.topbar nav a.active{color:var(--brand-accent)}
.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-size:1.05rem;letter-spacing:.2px}.brand-lockup small{display:block;color:var(--muted);font-size:.75rem}.forge-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-secondary),var(--brand-primary));color:#fff;font-weight:900;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 8px 18px rgba(15,23,42,.18);position:relative}.forge-mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:10px;height:10px;border-radius:50%;background:var(--brand-accent);box-shadow:0 0 0 3px #fff}.brand-lockup.large .forge-mark{width:54px;height:54px;border-radius:15px;font-size:1.1rem}.brand-lockup.large strong{font-size:1.35rem}.brand-lockup.large small{font-size:.82rem}
.login-body{min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(245,158,11,.20),transparent 34%),linear-gradient(145deg,#0f172a,#1f2937 58%,#2e3747);display:grid;place-items:center;padding:24px}.login-shell{width:min(1040px,100%);display:grid;grid-template-columns:1fr 460px;gap:80px;align-items:center;color:#fff}.login-shell>.brand-lockup{align-self:center}.login-shell>.brand-lockup strong{font-size:2rem}.login-shell>.brand-lockup small{color:#cdd5df;font-size:1rem}.login-card{background:#fff;color:var(--ink);padding:42px;border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.30)}.login-card h1{font-size:2rem;margin:.35rem 0 .6rem}.fineprint{font-size:.78rem;color:var(--muted);margin:18px 0 0}.stack-form{display:grid;gap:16px;margin-top:24px}.stack-form label,.form-grid label{font-size:.78rem;font-weight:800;color:#4a5568;letter-spacing:.02em}.stack-form input,.form-grid input,.form-grid select,.form-grid textarea,.compact-form input,.compact-form select,.admin-table input,.admin-table select{width:100%;margin-top:7px;border:1px solid #d7dee8;border-radius:11px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}.stack-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.compact-form input:focus,.compact-form select:focus,.admin-table input:focus,.admin-table select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.dashboard-wrap,.admin-wrap{width:min(1380px,calc(100% - 32px));margin:0 auto 70px}.challenge-hero,.admin-hero{margin:28px 0 22px;border-radius:26px;padding:34px 38px;background:linear-gradient(120deg,var(--brand-secondary),var(--brand-primary));color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.challenge-hero:after,.admin-hero:after{content:"";position:absolute;width:320px;height:320px;right:-90px;top:-170px;border:45px solid rgba(255,255,255,.06);border-radius:50%}.challenge-hero h1,.admin-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:.15em 0 .25em}.challenge-hero p,.admin-hero p{margin:0;max-width:760px;color:#d7deea}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:900;color:var(--brand-accent);margin:0 0 5px;text-transform:uppercase}.hero-prize{min-width:190px;text-align:center;padding:18px 22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:18px;z-index:1}.hero-prize span,.hero-prize small{display:block;color:#e5eaf2}.hero-prize strong{display:block;font-size:3rem;line-height:1;color:#fff;margin:7px 0}.admin-user{text-align:right;z-index:1}.admin-user strong,.admin-user span{display:block}.admin-user span{color:#cbd5e1;font-size:.85rem}
.section-head,.panel-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.section-head h2,.panel-title h2{margin:0;font-size:1.45rem}.section-head>p{margin:0;color:var(--muted);max-width:680px;font-size:.9rem}.leaderboard-section{margin:0 0 24px}.live-dot{font-size:.72rem;font-weight:900;color:var(--good);display:flex;align-items:center;gap:7px}.live-dot:before{content:"";width:8px;height:8px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.leaderboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}.leader-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px 22px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 20px rgba(15,23,42,.05);position:relative;overflow:hidden}.leader-card.rank-1{border-color:rgba(245,158,11,.45);box-shadow:0 13px 28px rgba(245,158,11,.13)}.leader-rank{width:44px;height:44px;border-radius:50%;background:#f2f4f7;display:grid;place-items:center;font-weight:900;font-size:1.1rem}.rank-1 .leader-rank{background:#fff2cc;color:#9a6400}.leader-copy{flex:1}.leader-copy span{display:block;font-size:.78rem;color:var(--muted);font-weight:700}.leader-copy strong{display:block;font-size:1.25rem}.leader-score{text-align:right}.leader-score strong{font-size:1.7rem}.leader-score small{display:block;color:var(--muted)}
.play-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:20px}.side-stack{display:grid;gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 9px 24px rgba(15,23,42,.05)}.wheel-panel{padding:25px 28px 28px}.spin-balance{text-align:right}.spin-balance span{display:block;font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase}.spin-balance strong{font-size:2rem;color:var(--brand-primary)}.wheel-stage{width:min(720px,94%);aspect-ratio:1;margin:14px auto 8px;position:relative;display:grid;place-items:center}.wheel-stage canvas{width:100%;height:100%;filter:drop-shadow(0 16px 22px rgba(15,23,42,.18));transform:rotate(0deg)}.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);z-index:8;color:var(--brand-accent);font-size:2.6rem;text-shadow:0 3px 0 #fff,0 6px 12px rgba(0,0,0,.25)}.wheel-hub{position:absolute;width:25%;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#111827,#354156);border:7px solid #fff;box-shadow:0 10px 26px rgba(0,0,0,.24);display:grid;place-items:center;align-content:center;color:#fff;pointer-events:none}.wheel-hub span{font-size:.72rem;letter-spacing:.28em}.wheel-hub strong{font-size:clamp(1.1rem,2.7vw,2rem);letter-spacing:.03em}.spin-btn{width:100%;padding:16px;font-size:1.1rem;border-radius:14px;background:linear-gradient(90deg,#f59e0b,#f7b928);color:#281800;border:none;box-shadow:0 10px 22px rgba(245,158,11,.26);font-weight:950;letter-spacing:.05em}.spin-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.spin-status{text-align:center;color:var(--muted);font-size:.78rem;margin:11px 0 0}.team-card{background:linear-gradient(145deg,#fff,#f8fafc)}.team-card h2{font-size:2rem;margin:.2rem 0 1rem}.team-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.team-stats div{background:#f6f8fb;border-radius:13px;padding:12px 10px;text-align:center}.team-stats span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:800}.team-stats strong{display:block;font-size:1.2rem;margin-top:3px}.goals-list{display:grid;gap:10px;margin-top:14px}.goal-item{border:1px solid var(--line);border-radius:13px;padding:12px 13px;display:flex;justify-content:space-between;gap:15px}.goal-item strong{display:block;font-size:.92rem}.goal-item span{display:block;color:var(--muted);font-size:.75rem}.goal-spins{background:#fff5d8;color:#9b6300;padding:6px 9px;border-radius:10px;font-size:.75rem;font-weight:900;white-space:nowrap;align-self:center}.recent-list{display:grid;gap:9px;margin-top:13px;max-height:290px;overflow:auto}.recent-spin{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f4}.recent-spin:last-child{border-bottom:0}.store-chip{background:var(--brand-primary);color:#fff;border-radius:9px;padding:4px 7px;font-size:.68rem;font-weight:900}.recent-spin strong{font-size:.85rem}.recent-spin span{display:block;color:var(--muted);font-size:.7rem}.result-pos{color:var(--good);font-weight:900}.result-neg{color:var(--bad);font-weight:900}.result-prize{color:#7c3aed;font-weight:900}
.scratch-section{margin-top:24px;background:linear-gradient(135deg,#2d1f00,#6e4a00);border-radius:22px;padding:24px;color:#fff;box-shadow:var(--shadow)}.scratch-section .section-head h2{color:#fff}.scratch-section .spark{font-size:2rem;color:#ffd66b}.scratch-card-wrap{margin-top:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px;display:grid;grid-template-columns:210px 1fr;gap:22px;align-items:center}.scratch-meta strong{display:block;font-size:1.1rem}.scratch-meta span{display:block;color:#f4e8c8;font-size:.8rem;margin-top:5px}.scratch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:420px}.scratch-cell{aspect-ratio:1;border:0;border-radius:12px;background:linear-gradient(135deg,#d7dbe1,#9ba3af);position:relative;overflow:hidden;display:grid;place-items:center;font-weight:950;color:#18202d;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}.scratch-cell:not(.revealed):before{content:"SCRATCH";font-size:.65rem;letter-spacing:.12em;color:#56606d;transform:rotate(-13deg)}.scratch-cell.revealed{background:#fff5d8;color:#8b5900}.scratch-cell.revealed b{font-size:.95rem;text-align:center;padding:4px}.scratch-cell:disabled{cursor:default}.scratch-result{margin-top:10px;font-weight:900;color:#ffd66b}
.community-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:20px;margin-top:24px}.comments-feed{margin-top:14px;display:grid;gap:10px;max-height:330px;overflow:auto;padding-right:4px}.comment-bubble{background:#f7f9fb;border:1px solid #edf0f4;border-radius:14px;padding:11px 13px}.comment-bubble header{display:flex;gap:8px;align-items:center;margin-bottom:4px}.comment-bubble header strong{font-size:.8rem}.comment-bubble header span{font-size:.67rem;color:var(--muted)}.comment-bubble p{margin:0;font-size:.87rem}.comment-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.comment-form input{border:1px solid #dbe1e8;border-radius:12px;padding:11px 13px}.prize-explain h2{font-size:2.2rem;margin:.25rem 0 .7rem}.prize-explain p{color:var(--muted)}.rule-chip{display:inline-block;margin-top:8px;border-radius:999px;background:#f1f4f7;padding:7px 10px;font-size:.74rem;font-weight:800;color:#4e596b}
.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:850;transition:.15s ease;background:#e9edf2;color:#273244}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--brand-accent);color:#2b1b00}.btn.secondary{background:var(--brand-primary);color:#fff}.btn.ghost{background:#f4f6f8;color:#3d4858}.btn.wide{width:100%;padding:13px}.btn.mini{padding:7px 9px;font-size:.73rem;border-radius:8px}.muted{color:var(--muted)}.alert{padding:12px 15px;border-radius:12px;margin:12px 0;font-weight:700;font-size:.88rem}.alert.error{background:#feecec;color:#9f2727;border:1px solid #f6cccc}.alert.success{background:#eaf8f1;color:#0f7045;border:1px solid #c8ead8}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#4b5565;font-size:.68rem;font-weight:800}.pill.success{background:#e8f7ef;color:#16744a}.pill.warning{background:#fff3d6;color:#9a6500}.pill.danger{background:#fdeaea;color:#a12a2a}.hint{color:var(--muted);font-size:.78rem}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.72);display:grid;place-items:center;padding:20px;z-index:100;backdrop-filter:blur(6px)}.modal-card{width:min(470px,100%);background:#fff;border-radius:24px;text-align:center;padding:34px;box-shadow:0 35px 90px rgba(0,0,0,.34);position:relative;animation:pop .28s ease}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:1.8rem;color:#788396}.result-icon{width:76px;height:76px;margin:12px auto;border-radius:50%;display:grid;place-items:center;background:#fff1c5;color:#9e6500;font-size:2.2rem}.modal-card h2{font-size:1.6rem;margin:.4rem 0}.modal-card #resultValue{display:block;font-size:3rem;color:var(--brand-primary);margin-bottom:7px}.modal-card p{color:var(--muted)}@keyframes pop{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}
.admin-wrap{max-width:1500px}.admin-nav{position:sticky;top:72px;z-index:30;background:rgba(244,246,248,.94);padding:12px 0;display:flex;gap:8px;overflow:auto;backdrop-filter:blur(10px)}.admin-nav a{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.73rem;font-weight:800;color:#566174}.admin-nav a:hover{border-color:var(--brand-accent);color:#8a5900}.admin-section{scroll-margin-top:132px;margin:22px 0}.admin-section>.section-head{margin-bottom:12px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 7px 20px rgba(15,23,42,.04)}.metric-card>span{color:var(--muted);font-size:.78rem;font-weight:800}.metric-card>strong{display:block;font-size:2rem;margin:4px 0 9px}.metric-row{color:var(--muted);font-size:.78rem;display:flex;gap:6px}.metric-row b{color:var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.two-col>div>.section-head{margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .span-2{grid-column:1/-1}.form-grid button{justify-self:start;align-self:end}.form-grid .check{display:flex;align-items:center;gap:8px;padding-top:14px}.form-grid .check input{width:auto;margin:0}.compact-form{display:flex;gap:9px;align-items:end;margin-top:10px;flex-wrap:wrap}.compact-form>*{min-width:130px;flex:1}.compact-form button{flex:0 0 auto}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.admin-table{width:100%;border-collapse:collapse;font-size:.78rem}.admin-table th{text-align:left;background:#f7f9fb;color:#596579;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:8px 10px;border-bottom:1px solid #eef1f4;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table input,.admin-table select{min-width:90px;margin:0;padding:8px;border-radius:8px}.wheel-table td:first-child input{min-width:140px}.add-row{margin-top:10px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.person-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.person-card.inactive{opacity:.58}.person-card>div:first-child strong,.person-card>div:first-child span{display:block}.person-card>div:first-child span{color:var(--muted);font-size:.72rem}.badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.person-actions{margin-top:10px;display:flex;gap:8px;align-items:center}.reset-inline{display:flex;gap:6px;flex:1}.reset-inline input{min-width:0;border:1px solid var(--line);border-radius:8px;padding:7px}.comment-moderation{display:grid;gap:8px}.comment-row{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px 12px;display:flex;justify-content:space-between;gap:20px}.comment-row.inactive{opacity:.5}.comment-row strong{font-size:.8rem}.comment-row span{font-size:.7rem;color:var(--muted);margin-left:7px}.comment-row p{margin:3px 0 0;font-size:.82rem}.audit-list{background:#fff;border:1px solid var(--line);border-radius:15px;max-height:420px;overflow:auto}.audit-list article{display:grid;grid-template-columns:160px 220px 1fr;gap:12px;padding:10px 12px;border-bottom:1px solid #eef1f4;font-size:.76rem}.audit-list time,.audit-list span{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:24px!important}.empty-state{max-width:600px;margin:15vh auto;background:#fff;padding:36px;border-radius:20px;text-align:center}
.skeleton-card{height:92px;border-radius:18px;background:linear-gradient(90deg,#eef1f4,#f8f9fb,#eef1f4);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position:-200% 0}}
@media(max-width:1050px){.play-grid,.community-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(3,1fr)}.team-card,.goals-card,.recent-card{min-width:0}.login-shell{grid-template-columns:1fr;gap:35px;max-width:520px}.login-shell>.brand-lockup{justify-self:center}.people-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.leaderboard-grid,.metric-grid{grid-template-columns:1fr}.side-stack,.two-col{grid-template-columns:1fr}.challenge-hero,.admin-hero{align-items:flex-start;flex-direction:column}.hero-prize{width:100%;text-align:left}.hero-prize strong{display:inline-block;margin-right:10px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.scratch-card-wrap{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr}.audit-list article{grid-template-columns:1fr;gap:2px}.topbar{padding:0 16px}.dashboard-wrap,.admin-wrap{width:min(100% - 20px,1380px)}}
@media(max-width:560px){.topbar nav{gap:12px}.topbar nav a{font-size:.78rem}.brand-lockup small{display:none}.challenge-hero,.admin-hero{padding:25px 22px}.wheel-panel,.panel{padding:18px}.wheel-stage{width:100%}.team-stats{grid-template-columns:repeat(3,1fr)}.comment-form{grid-template-columns:1fr}.login-card{padding:28px 22px}.admin-nav{top:72px}.compact-form{display:grid;grid-template-columns:1fr;width:100%}.compact-form>*{width:100%}}
.person-edit{display:grid;gap:7px}.person-name-input{border:0;border-bottom:1px solid var(--line);background:transparent;padding:3px 0 7px;font-weight:850;color:var(--ink);width:100%}.username-label{font-size:.72rem;color:var(--muted)}.person-edit-row{display:grid;grid-template-columns:1fr .7fr auto;gap:6px;margin-top:6px}.person-edit-row select{min-width:0;border:1px solid var(--line);border-radius:8px;padding:6px;background:#fff;font-size:.73rem}.next-contest{margin-top:12px;border-style:dashed}.next-contest h3{margin:.2rem 0 .4rem}.compact-form .check{display:flex;align-items:center;gap:6px;min-width:auto}.compact-form .check input{width:auto;margin:0}

/* TEAMFORGE BRANDING V0.3 */

body:not(.login-body){
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--brand-primary) 5%,#f4f6f8) 0,
      #f4f6f8 320px
    );
}

.company-logo-shell{
  width:50px;
  height:50px;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  padding:5px;
  overflow:hidden;
  box-shadow:0 6px 16px rgba(15,23,42,.10);
}

.company-logo{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.hero-company-logo{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  max-width:300px;
  min-height:62px;
  background:rgba(255,255,255,.96);
  border-radius:14px;
  padding:9px 14px;
  margin-bottom:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.hero-company-logo img{
  display:block;
  max-width:260px;
  max-height:70px;
  object-fit:contain;
}

.challenge-brand-copy{
  position:relative;
  z-index:1;
}

.leader-card.rank-1{
  border-color:
    color-mix(
      in srgb,
      var(--brand-accent) 48%,
      transparent
    );

  box-shadow:
    0 13px 28px
    color-mix(
      in srgb,
      var(--brand-accent) 17%,
      transparent
    );
}

.rank-1 .leader-rank{
  background:
    color-mix(
      in srgb,
      var(--brand-accent) 20%,
      white
    );

  color:var(--brand-secondary);
}

.goal-spins{
  background:
    color-mix(
      in srgb,
      var(--brand-accent) 18%,
      white
    );

  color:var(--brand-secondary);
}

.spin-btn{
  background:
    linear-gradient(
      90deg,
      var(--brand-accent),
      color-mix(
        in srgb,
        var(--brand-accent) 76%,
        white
      )
    );

  color:var(--brand-secondary);

  box-shadow:
    0 10px 22px
    color-mix(
      in srgb,
      var(--brand-accent) 28%,
      transparent
    );
}

.branding-form{
  display:grid;
  gap:22px;
}

.branding-form>label{
  max-width:520px;
}

.field-label{
  display:block;
  font-size:.78rem;
  font-weight:800;
  color:#4a5568;
  letter-spacing:.02em;
  margin-bottom:9px;
}

.theme-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:10px;
}

.theme-option{
  display:block;
  cursor:pointer;
}

.theme-option>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.theme-card{
  display:block;
  border:2px solid var(--line);
  border-radius:14px;
  padding:10px;
  background:#fff;
  transition:.15s ease;
}

.theme-option input:checked+.theme-card{
  border-color:var(--brand-accent);

  box-shadow:
    0 0 0 3px
    color-mix(
      in srgb,
      var(--brand-accent) 18%,
      transparent
    );
}

.theme-card strong{
  display:block;
  font-size:.78rem;
  margin-top:7px;
}

.theme-swatches{
  height:28px;
  border-radius:8px;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
}

.theme-swatches i{
  display:block;
}

.logo-manager{
  display:grid;
  gap:9px;
  max-width:620px;
}

.logo-manager input[type=file]{
  border:1px dashed #cbd3df;
  border-radius:12px;
  padding:12px;
  background:#fafbfc;
}

.logo-manager small{
  color:var(--muted);
}

.current-logo{
  display:flex;
  align-items:center;
  gap:18px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background:#fafbfc;
}

.current-logo img{
  width:180px;
  height:80px;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:6px;
}

.remove-logo{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:.78rem;
  font-weight:700;
  color:var(--muted);
}

.remove-logo input{
  width:auto!important;
  margin:0!important;
}

@media(max-width:900px){
  .theme-grid{
    grid-template-columns:repeat(2,minmax(150px,1fr));
  }
}

@media(max-width:560px){
  .theme-grid{
    grid-template-columns:1fr;
  }

  .company-logo-shell{
    width:42px;
    height:42px;
  }

  .hero-company-logo{
    max-width:100%;
  }

  .hero-company-logo img{
    max-width:220px;
  }
}


/* ==========================================================
   TEAMFORGE FULL ORGANIZATION THEMES v0.4
   Full-page company skin
   DOES NOT MODIFY THE WHEEL
   ========================================================== */

body:not(.login-body){

  /*
   * Organization theme colors are supplied by:
   *
   * --brand-primary
   * --brand-secondary
   * --brand-accent
   */

  --tf-page:var(--brand-primary);
  --tf-deep:var(--brand-secondary);

  --tf-surface:
    color-mix(
      in srgb,
      var(--brand-primary) 76%,
      white 24%
    );

  --tf-surface-soft:
    color-mix(
      in srgb,
      var(--brand-primary) 84%,
      white 16%
    );

  --tf-surface-dark:
    color-mix(
      in srgb,
      var(--brand-secondary) 88%,
      black 12%
    );

  --tf-text:#ffffff;

  --tf-muted:
    color-mix(
      in srgb,
      white 72%,
      var(--brand-accent) 28%
    );

  --tf-line:rgba(255,255,255,.18);

  --bg:var(--tf-page);
  --surface:var(--tf-surface-soft);
  --ink:var(--tf-text);
  --muted:var(--tf-muted);
  --line:var(--tf-line);

  min-height:100vh;

  background:
    radial-gradient(
      circle at 85% 2%,
      color-mix(
        in srgb,
        var(--brand-accent) 20%,
        transparent
      ),
      transparent 34%
    ),
    radial-gradient(
      circle at 5% 55%,
      color-mix(
        in srgb,
        var(--brand-accent) 8%,
        transparent
      ),
      transparent 40%
    ),
    linear-gradient(
      145deg,
      var(--brand-primary),
      var(--brand-secondary)
    );

  color:var(--tf-text);
}


/* ---------- TOP NAVIGATION ---------- */

body:not(.login-body) .topbar{
  background:
    color-mix(
      in srgb,
      var(--brand-secondary) 94%,
      transparent
    );

  border-bottom:
    1px solid
    color-mix(
      in srgb,
      var(--brand-accent) 35%,
      transparent
    );

  box-shadow:
    0 8px 30px rgba(0,0,0,.20);
}

body:not(.login-body) .topbar nav a{
  color:rgba(255,255,255,.78);
}

body:not(.login-body) .topbar nav a:hover,
body:not(.login-body) .topbar nav a.active{
  color:var(--brand-accent);
}

body:not(.login-body) .brand-lockup strong{
  color:#fff;
}

body:not(.login-body) .brand-lockup small{
  color:rgba(255,255,255,.68);
}


/* ---------- COMPANY LOGO ---------- */

body:not(.login-body) .company-logo-shell{
  background:#fff;

  border:
    2px solid
    color-mix(
      in srgb,
      var(--brand-accent) 55%,
      white
    );

  box-shadow:
    0 8px 24px rgba(0,0,0,.28);
}


/* ---------- MAIN HERO ---------- */

body:not(.login-body) .challenge-hero,
body:not(.login-body) .admin-hero{

  background:
    linear-gradient(
      125deg,
      var(--brand-secondary),
      color-mix(
        in srgb,
        var(--brand-primary) 82%,
        var(--brand-accent) 18%
      )
    );

  border:
    1px solid
    color-mix(
      in srgb,
      var(--brand-accent) 42%,
      transparent
    );

  box-shadow:
    0 22px 55px rgba(0,0,0,.27);
}

body:not(.login-body) .challenge-hero p,
body:not(.login-body) .admin-hero p{
  color:rgba(255,255,255,.77);
}

body:not(.login-body) .eyebrow{
  color:var(--brand-accent);
}


/* ---------- SECTION TITLES ---------- */

body:not(.login-body) .section-head h2,
body:not(.login-body) .panel-title h2{
  color:#fff;
}

body:not(.login-body) .section-head>p{
  color:var(--tf-muted);
}


/* ---------- ALL MAJOR CARDS ---------- */

body:not(.login-body) .panel,
body:not(.login-body) .leader-card,
body:not(.login-body) .metric-card,
body:not(.login-body) .person-card,
body:not(.login-body) .table-wrap,
body:not(.login-body) .audit-list,
body:not(.login-body) .empty-state{

  background:
    linear-gradient(
      145deg,
      var(--tf-surface),
      var(--tf-surface-soft)
    );

  color:#fff;

  border:
    1px solid
    color-mix(
      in srgb,
      white 17%,
      var(--brand-accent) 9%
    );

  box-shadow:
    0 13px 32px rgba(0,0,0,.18);
}


/* ---------- LEADERBOARD ---------- */

body:not(.login-body) .leader-card.rank-1{

  border-color:
    color-mix(
      in srgb,
      var(--brand-accent) 70%,
      white 10%
    );

  box-shadow:
    0 14px 38px
    color-mix(
      in srgb,
      var(--brand-accent) 22%,
      transparent
    );
}

body:not(.login-body) .leader-rank{

  background:
    rgba(255,255,255,.13);

  color:#fff;
}

body:not(.login-body) .rank-1 .leader-rank{

  background:var(--brand-accent);

  color:var(--brand-secondary);
}

body:not(.login-body) .leader-copy span,
body:not(.login-body) .leader-score small{
  color:var(--tf-muted);
}

body:not(.login-body) .leader-copy strong,
body:not(.login-body) .leader-score strong{
  color:#fff;
}


/* ---------- TEAM PANEL ---------- */

body:not(.login-body) .team-card{

  background:
    linear-gradient(
      145deg,
      var(--tf-surface),
      var(--tf-surface-dark)
    );
}

body:not(.login-body) .team-card h2{
  color:#fff;
}

body:not(.login-body) .team-stats div{

  background:
    rgba(255,255,255,.10);

  border:
    1px solid
    rgba(255,255,255,.09);
}

body:not(.login-body) .team-stats span{
  color:var(--tf-muted);
}

body:not(.login-body) .team-stats strong{
  color:#fff;
}


/* ---------- GOALS ---------- */

body:not(.login-body) .goal-item{

  background:
    rgba(255,255,255,.07);

  border:
    1px solid
    rgba(255,255,255,.15);
}

body:not(.login-body) .goal-item strong{
  color:#fff;
}

body:not(.login-body) .goal-item span{
  color:var(--tf-muted);
}

body:not(.login-body) .goal-spins{

  background:var(--brand-accent);

  color:var(--brand-secondary);

  box-shadow:
    0 5px 14px
    color-mix(
      in srgb,
      var(--brand-accent) 25%,
      transparent
    );
}


/* ---------- RECENT SPINS ---------- */

body:not(.login-body) .recent-spin{
  border-bottom-color:rgba(255,255,255,.12);
}

body:not(.login-body) .recent-spin strong{
  color:#fff;
}

body:not(.login-body) .recent-spin span{
  color:var(--tf-muted);
}

body:not(.login-body) .store-chip{

  background:var(--brand-accent);

  color:var(--brand-secondary);
}


/* ---------- SPIN PANEL ---------- */

body:not(.login-body) .spin-balance span{
  color:var(--tf-muted);
}

body:not(.login-body) .spin-balance strong{
  color:var(--brand-accent);
}

body:not(.login-body) .spin-status{
  color:var(--tf-muted);
}


/* ---------- IMPORTANT:
   Wheel drawing/canvas is intentionally untouched.
   ---------- */


/* ---------- SCRATCH CARD AREA ---------- */

body:not(.login-body) .scratch-section{

  background:
    linear-gradient(
      135deg,
      var(--brand-secondary),
      color-mix(
        in srgb,
        var(--brand-primary) 65%,
        var(--brand-accent) 35%
      )
    );

  border:
    1px solid
    color-mix(
      in srgb,
      var(--brand-accent) 40%,
      transparent
    );
}

body:not(.login-body) .scratch-meta span{
  color:var(--tf-muted);
}

body:not(.login-body) .scratch-section .spark,
body:not(.login-body) .scratch-result{
  color:var(--brand-accent);
}


/* ---------- COMMENTS ---------- */

body:not(.login-body) .comment-bubble{

  background:
    rgba(255,255,255,.08);

  border-color:
    rgba(255,255,255,.13);
}

body:not(.login-body) .comment-bubble header strong,
body:not(.login-body) .comment-bubble p{
  color:#fff;
}

body:not(.login-body) .comment-bubble header span{
  color:var(--tf-muted);
}


/* ---------- PRIZE PANEL ---------- */

body:not(.login-body) .prize-explain h2{
  color:var(--brand-accent);
}

body:not(.login-body) .prize-explain p{
  color:var(--tf-muted);
}

body:not(.login-body) .rule-chip{

  background:
    rgba(255,255,255,.11);

  color:#fff;

  border:
    1px solid
    rgba(255,255,255,.12);
}


/* ---------- BUTTONS ---------- */

body:not(.login-body) .btn.primary,
body:not(.login-body) .spin-btn{

  background:
    linear-gradient(
      90deg,
      var(--brand-accent),
      color-mix(
        in srgb,
        var(--brand-accent) 76%,
        white
      )
    );

  color:var(--brand-secondary);

  box-shadow:
    0 10px 25px
    color-mix(
      in srgb,
      var(--brand-accent) 26%,
      transparent
    );
}

body:not(.login-body) .btn.secondary{

  background:
    rgba(255,255,255,.15);

  color:#fff;

  border:
    1px solid
    rgba(255,255,255,.18);
}

body:not(.login-body) .btn.ghost{

  background:
    rgba(255,255,255,.09);

  color:#fff;

  border:
    1px solid
    rgba(255,255,255,.13);
}


/* ---------- ADMIN NAV ---------- */

body:not(.login-body) .admin-nav{

  background:
    color-mix(
      in srgb,
      var(--brand-secondary) 91%,
      transparent
    );
}

body:not(.login-body) .admin-nav a{

  background:
    rgba(255,255,255,.10);

  border-color:
    rgba(255,255,255,.13);

  color:rgba(255,255,255,.78);
}

body:not(.login-body) .admin-nav a:hover{

  border-color:var(--brand-accent);

  color:var(--brand-accent);
}


/* ---------- TABLES ---------- */

body:not(.login-body) .admin-table th{

  background:
    color-mix(
      in srgb,
      var(--brand-secondary) 82%,
      white 18%
    );

  color:#fff;

  border-bottom-color:
    rgba(255,255,255,.14);
}

body:not(.login-body) .admin-table td{

  border-bottom-color:
    rgba(255,255,255,.10);

  color:#fff;
}


/* ---------- PEOPLE / AUDIT ---------- */

body:not(.login-body) .person-card>div:first-child span,
body:not(.login-body) .username-label,
body:not(.login-body) .audit-list time,
body:not(.login-body) .audit-list span{
  color:var(--tf-muted);
}

body:not(.login-body) .person-name-input{

  color:#fff;

  border-bottom-color:
    rgba(255,255,255,.18);
}

body:not(.login-body) .audit-list article{

  border-bottom-color:
    rgba(255,255,255,.10);
}


/* ---------- COMMENT MODERATION ---------- */

body:not(.login-body) .comment-row{

  background:
    rgba(255,255,255,.07);

  border-color:
    rgba(255,255,255,.13);
}

body:not(.login-body) .comment-row strong,
body:not(.login-body) .comment-row p{
  color:#fff;
}

body:not(.login-body) .comment-row span{
  color:var(--tf-muted);
}


/* ---------- FORMS ----------
   Keep form fields LIGHT for maximum readability.
   ---------- */

body:not(.login-body)
:is(
  input,
  select,
  textarea
){

  background:
    rgba(255,255,255,.96);

  color:#172033;

  border-color:
    rgba(255,255,255,.30);
}

body:not(.login-body)
:is(
  input,
  select,
  textarea
):focus{

  border-color:var(--brand-accent);

  box-shadow:
    0 0 0 3px
    color-mix(
      in srgb,
      var(--brand-accent) 23%,
      transparent
    );
}

body:not(.login-body)
.stack-form label,
body:not(.login-body)
.form-grid label{

  color:var(--tf-muted);
}


/* ---------- BRANDING SCREEN ---------- */

body:not(.login-body) .theme-card{

  background:
    rgba(255,255,255,.09);

  border-color:
    rgba(255,255,255,.16);

  color:#fff;
}

body:not(.login-body)
.theme-option input:checked
+
.theme-card{

  border-color:var(--brand-accent);

  box-shadow:
    0 0 0 3px
    color-mix(
      in srgb,
      var(--brand-accent) 26%,
      transparent
    );
}

body:not(.login-body) .field-label{
  color:var(--tf-muted);
}

body:not(.login-body) .logo-manager small{
  color:var(--tf-muted);
}

body:not(.login-body) .current-logo{

  background:
    rgba(255,255,255,.08);

  border-color:
    rgba(255,255,255,.15);
}

body:not(.login-body) .remove-logo{
  color:var(--tf-muted);
}


/* ---------- PILLS ---------- */

body:not(.login-body) .pill{

  background:
    rgba(255,255,255,.11);

  color:#fff;
}


/* ---------- MODAL ---------- */

body:not(.login-body) .modal-card{

  background:
    linear-gradient(
      145deg,
      var(--tf-surface),
      var(--tf-surface-dark)
    );

  color:#fff;

  border:
    1px solid
    rgba(255,255,255,.15);
}

body:not(.login-body) .modal-card h2{
  color:#fff;
}

body:not(.login-body) .modal-card p{
  color:var(--tf-muted);
}

body:not(.login-body) .modal-card #resultValue{
  color:var(--brand-accent);
}


/* ---------- EMPTY / MUTED ---------- */

body:not(.login-body) .muted,
body:not(.login-body) .hint,
body:not(.login-body) .empty{
  color:var(--tf-muted);
}


/* ---------- LIGHT COMPANY LOGO AREA ----------
   Logo itself remains on white so transparent/dark logos
   remain readable regardless of theme.
   ---------- */

body:not(.login-body) .hero-company-logo{

  background:#fff;

  border:
    2px solid
    color-mix(
      in srgb,
      var(--brand-accent) 50%,
      white
    );

  box-shadow:
    0 12px 30px rgba(0,0,0,.26);
}


/* ---------- MOBILE ---------- */

@media(max-width:820px){

  body:not(.login-body){

    background:
      linear-gradient(
        160deg,
        var(--brand-primary),
        var(--brand-secondary)
      );
  }
}



/* ==========================================================
   TEAMFORGE — CAVEMANS.US LOGIN BRANDING
   ========================================================== */

.login-body .login-shell{
  grid-template-columns:minmax(460px,1.2fr) minmax(380px,425px);
  gap:clamp(55px,8vw,120px);
  align-items:center;
}

.login-brand-hero{
  position:relative;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:30px;
  max-width:680px;
  padding:32px 36px;

  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;

  background:
    radial-gradient(
      circle at 12% 25%,
      rgba(245,158,11,.12),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.065),
      rgba(255,255,255,.018)
    );

  box-shadow:0 28px 75px rgba(0,0,0,.26);
}

.login-hand-wrap{
  width:150px;
  height:150px;

  display:grid;
  place-items:center;

  padding:14px;

  border-radius:24px;

  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.10);

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 18px 40px rgba(0,0,0,.28);
}

.login-hand{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;

  filter:
    drop-shadow(0 8px 18px rgba(0,0,0,.28));
}

.login-brand-copy{
  min-width:0;
}

.login-brand-kicker{
  margin:0 0 8px;

  color:#f59e0b;

  font-size:.72rem;
  font-weight:900;
  letter-spacing:.22em;
}

.login-teamforge-name{
  margin:0;

  color:#fff;

  font-size:clamp(3.2rem,5vw,4.8rem);
  line-height:.92;
  letter-spacing:-.045em;

  text-shadow:0 12px 30px rgba(0,0,0,.30);
}

.login-teamforge-tagline{
  margin:14px 0 0;

  color:rgba(255,255,255,.80);

  font-size:1.08rem;
}

.login-brand-rule{
  width:76px;
  height:3px;

  margin:22px 0 18px;

  border-radius:99px;

  background:#f59e0b;

  box-shadow:0 0 22px rgba(245,158,11,.34);
}

.login-cavemans-signature{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}

.login-cavemans-signature > span{
  color:rgba(255,255,255,.50);

  font-size:.66rem;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.login-cavemans-logo{
  display:block;

  width:min(300px,100%);
  max-height:105px;

  object-fit:contain;
  object-position:left center;

  filter:
    drop-shadow(0 8px 18px rgba(0,0,0,.32));
}

.login-cavemans-signature > small{
  color:rgba(255,255,255,.50);

  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
}

.login-body .login-card{
  box-shadow:0 30px 80px rgba(0,0,0,.30);
}

@media(max-width:950px){

  .login-body .login-shell{
    grid-template-columns:1fr;
    gap:34px;
  }

  .login-brand-hero{
    width:100%;
    margin:0 auto;
  }
}

@media(max-width:620px){

  .login-brand-hero{
    grid-template-columns:1fr;
    padding:26px 22px;
    text-align:center;
  }

  .login-hand-wrap{
    width:120px;
    height:120px;
    margin:auto;
  }

  .login-cavemans-signature{
    align-items:center;
  }

  .login-cavemans-logo{
    object-position:center;
  }

  .login-brand-rule{
    margin-left:auto;
    margin-right:auto;
  }
}



/* ==========================================================
   LOGIN BRAND CLEANUP v0.4.4
   Remove the standalone left hand and recenter branding
   ========================================================== */

.login-hand-wrap{
  display:none !important;
}

.login-brand-hero{
  grid-template-columns:1fr !important;
  gap:0 !important;

  max-width:540px;
  padding:34px 38px;

  justify-items:center;
  text-align:center;
}

.login-brand-copy{
  width:100%;
}

.login-brand-kicker{
  text-align:center;
}

.login-teamforge-name{
  font-size:clamp(3rem,4.7vw,4.35rem);
}

.login-teamforge-tagline{
  max-width:360px;
  margin-left:auto;
  margin-right:auto;
}

.login-brand-rule{
  margin-left:auto;
  margin-right:auto;
}

.login-cavemans-signature{
  align-items:center;
}

.login-cavemans-logo{
  object-position:center;
  width:min(240px,100%);
  max-height:88px;
}

@media(max-width:620px){
  .login-brand-hero{
    padding:26px 22px;
    max-width:100%;
  }

  .login-teamforge-name{
    font-size:clamp(2.55rem,10vw,3.25rem);
  }

  .login-cavemans-logo{
    width:min(210px,100%);
  }
}



/* ==========================================================
   TEAMFORGE COMPANY BANNER SYSTEM v0.5
   ========================================================== */


/* Hero now gives the company identity visual priority */

.company-banner-hero{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    185px;

  grid-template-areas:
    "banner prize"
    "summary prize";

  gap:14px 20px;

  padding:22px 24px;

  align-items:center;
}


/* First content block is the company banner */

.company-banner-area{
  grid-area:banner;

  min-height:118px;

  width:100%;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  padding:10px 18px;

  border-radius:16px;

  background:
    rgba(255,255,255,.96);

  border:
    1px solid
    rgba(255,255,255,.20);

  box-shadow:
    0 10px 28px
    rgba(0,0,0,.20);
}


/* Wide corporate banner */

.company-banner-image{
  display:block;

  width:100%;
  height:112px;

  object-fit:contain;

  object-position:center;
}


/* If company has not uploaded a banner yet */

.company-banner-logo-fallback{
  display:block;

  max-width:420px;
  max-height:100px;

  width:auto;
  height:auto;

  object-fit:contain;
}


.company-banner-name{
  color:var(--brand-secondary);

  font-size:clamp(
    2rem,
    4vw,
    3.5rem
  );

  font-weight:900;

  text-align:center;
}


/* Contest information becomes secondary */

.challenge-summary{
  grid-area:summary;

  display:flex;
  align-items:baseline;
  gap:12px;

  min-width:0;

  padding:0 4px;
}


.challenge-summary>span{
  flex:none;

  color:var(--brand-accent);

  font-size:.63rem;
  font-weight:900;

  letter-spacing:.15em;
}


.challenge-summary>strong{
  flex:none;

  color:#fff;

  font-size:1.08rem;
  font-weight:800;
}


.challenge-summary>small{
  min-width:0;

  color:rgba(255,255,255,.68);

  font-size:.72rem;

  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/*
 * Existing winning-prize panel is the last child
 * of .challenge-hero.
 */

.company-banner-hero > :last-child{
  grid-area:prize;
}


/* Top-bar company logo remains compact */

.topbar .company-logo-shell{
  width:58px;
  height:58px;

  padding:4px;

  background:#fff;
}


/* ==========================================================
   BRANDING ADMIN IMAGE CONTROLS
   ========================================================== */

.branding-images-grid{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1.35fr);

  gap:18px;
}


.branding-help{
  margin:-2px 0 4px;

  color:var(--tf-muted);

  font-size:.78rem;
  line-height:1.45;
}


.banner-manager{
  max-width:none;
}


.current-banner{
  display:grid;
  gap:10px;

  padding:12px;

  border:
    1px solid
    rgba(255,255,255,.15);

  border-radius:14px;

  background:
    rgba(255,255,255,.08);
}


.current-banner img{
  display:block;

  width:100%;
  height:120px;

  object-fit:contain;

  padding:8px;

  border-radius:10px;

  background:#fff;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:900px){

  .company-banner-hero{
    grid-template-columns:1fr;

    grid-template-areas:
      "banner"
      "summary"
      "prize";
  }

  .company-banner-hero > :last-child{
    justify-self:stretch;
  }

  .challenge-summary{
    flex-wrap:wrap;
  }

  .challenge-summary>small{
    width:100%;
    white-space:normal;
  }

  .branding-images-grid{
    grid-template-columns:1fr;
  }
}


@media(max-width:560px){

  .company-banner-area{
    min-height:90px;

    padding:8px 12px;
  }

  .company-banner-image{
    height:82px;
  }

  .challenge-summary>strong{
    font-size:.95rem;
  }
}



/* ==========================================================
   HEADER COMPANY IDENTITY ONLY
   Do NOT alter banner, header layout, navigation, or spacing.
   ========================================================== */

body:not(.login-body) .topbar .company-logo-shell{
  width:72px !important;
  height:72px !important;
  flex:0 0 72px !important;
}


/* ONLY enlarge the company name */

body:not(.login-body) .topbar .company-lockup strong{
  font-size:2rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.025em !important;
}


/* Keep Powered by TeamForge secondary */

body:not(.login-body) .topbar .company-lockup small{
  font-size:.72rem !important;
}


/* No topbar size changes.
   No padding changes.
   No nav changes.
   No banner changes. */

