:root{--col:460px;--ink:#232128;--soft:#57545f;--bg:#ECEAE3;--card:#F7F5EF;--hair:#D9D5CB;--accent:#414BC4;--brass:#9C6F1C;--rose:#AE356A;--good:#2f7d55}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}.wrap{max-width:460px;margin:0 auto;padding:34px 18px 60px}.card{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:24px 22px;margin-bottom:16px}h1{font-size:23px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);margin:18px 0 8px}.sub{color:var(--soft);font-size:14px;margin:0 0 8px}label{display:block;font-size:12px;font-weight:600;color:var(--soft);margin:12px 0 5px;text-transform:uppercase;letter-spacing:.04em}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--hair);border-radius:9px;font-size:15px;background:#fff;font-family:inherit}button{border:none;border-radius:10px;padding:11px 16px;font-size:15px;font-weight:600;cursor:pointer;color:#fff;background:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:transparent;color:var(--soft);border:1px solid var(--hair)}button.good{background:var(--good)}button.rose{background:var(--rose)}button.full{width:100%;margin-top:14px}.row{display:flex;gap:10px}.row>*{flex:1;min-width:0}.pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px;background:#e6e7fb;color:var(--accent);margin-bottom:8px}table{width:100%;border-collapse:collapse;font-size:14px}td{padding:7px 0;border-bottom:1px solid var(--hair)}.g{color:var(--good);font-weight:600}.d{color:var(--rose)}.i{color:var(--soft)}ul.songs{list-style:none;padding:0;margin:6px 0}ul.songs li{padding:5px 0;border-bottom:1px solid var(--hair);font-size:14px}.coupon{border:2px dashed var(--brass);border-radius:12px;padding:22px;text-align:center;color:var(--brass);font-weight:700;font-size:22px;margin-top:14px}.err{color:var(--rose);font-size:14px;margin-top:10px}.ok{color:var(--good);font-weight:600}img.poster{width:100%;border-radius:12px;border:1px solid var(--hair);margin-top:12px}a{color:var(--accent)}.big{font-size:34px;font-weight:800}.steps{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px}.step-tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:8px 9px;border-radius:11px;border:1px solid var(--hair);background:var(--card);min-width:62px}.step-tab .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:var(--hair);color:var(--soft)}.step-tab .lbl{font-size:10px;color:var(--soft);text-align:center;line-height:1.12;max-width:66px}.step-tab.active{border-color:var(--c);box-shadow:0 0 0 1px var(--c)}.step-tab.active .n{background:var(--c);color:#fff}.step-tab.active .lbl{color:var(--ink);font-weight:600}.show-poster{width:100%;border-radius:14px;border:1px solid var(--hair);display:block;margin:4px 0 2px}.show-bandlink{display:inline-block;margin:10px 0 2px;font-size:15px;font-weight:700;color:var(--accent);text-decoration:none}.show-bandlink:hover{text-decoration:underline}.rsvp3{display:flex;gap:8px;margin-top:18px}.rsvp3 button{flex:1;font-size:15px;padding:13px 4px}.ckrow{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink);font-size:14px;margin-top:12px;cursor:pointer}.ckrow input{width:auto}.pubtop{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:460px;margin:0 auto;padding:16px 18px 0;box-sizing:border-box}.pubtop-back{background:transparent;border:1px solid var(--hair);color:var(--soft);font-weight:600;font-size:14px;padding:7px 14px;border-radius:999px;cursor:pointer}.pubtop-back:hover{border-color:var(--accent);color:var(--accent)}.pubtop-brand{font-weight:800;font-size:15px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.searchbar{position:relative;margin:4px 0 16px}.searchbar input{padding-left:38px}.searchbar .si{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--soft);pointer-events:none}.venuegroup{margin-bottom:20px}.vg-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:6px 0 10px}.vg-head b{font-size:16px;color:var(--ink)}.showbrowse{display:flex;gap:14px;align-items:center;border:1px solid var(--hair);border-radius:14px;background:#fff;padding:12px;margin-bottom:12px;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.showbrowse:hover{border-color:var(--accent);box-shadow:0 4px 14px #23212812}.showbrowse img{width:64px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--hair);flex:0 0 auto}.sb-noposter{width:64px;height:84px;border-radius:8px;background:var(--bg);border:1px solid var(--hair);display:grid;place-items:center;font-size:26px;flex:0 0 auto}.sb-band{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.01em}.sb-when{font-size:13px;color:var(--accent);font-weight:600;margin-top:2px}.sb-venue{font-size:13px;color:var(--soft);margin-top:2px}.sb-going{font-size:13px;color:var(--soft);margin-top:4px}.sb-going b{color:var(--ink);font-weight:800}.mhero{display:flex;flex-direction:column;align-items:center;text-align:center;margin:6px 0 4px}.gigcard{display:block;border:1px solid var(--hair);border-radius:14px;background:#fff;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.gigcard:hover{border-color:var(--accent);box-shadow:0 4px 14px #23212812}.gc-venue{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.01em}.gc-when{font-size:14px;font-weight:600;color:var(--accent);margin-top:3px}.gc-meta{font-size:13px;color:var(--soft);margin-top:4px}.gc-showlink{display:block;text-decoration:none;color:inherit}.gc-showlink:hover .gc-venue{color:var(--accent)}.gc-bandlink{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}.gc-bandlink:hover{text-decoration:underline}.bandcard{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--hair);border-radius:14px;background:#fff;padding:12px 16px;margin-bottom:10px;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.bandcard:hover{border-color:var(--accent);box-shadow:0 4px 14px #23212812}.bc-main{display:flex;align-items:center;gap:12px;min-width:0}.bc-name{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.01em}.bc-stats{display:flex;gap:16px;flex:0 0 auto}.bc-stat{text-align:center}.bc-stat b{display:block;font-size:17px;font-weight:800;color:var(--ink);line-height:1}.bc-stat span{font-size:10.5px;color:var(--soft);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.bc-chev{flex:0 0 auto;color:var(--soft);font-size:22px;line-height:1;margin-left:2px}.bandcard:hover .bc-chev{color:var(--accent)}.share-qr{display:flex;justify-content:center;margin:12px 0 14px}.share-qr img{width:200px;height:200px;border:1px solid var(--hair);border-radius:12px;padding:8px;background:#fff}.share-qr-ph{width:200px;height:200px;border:1px dashed var(--hair);border-radius:12px;display:grid;place-items:center;color:var(--soft);font-size:13px}.share-div{display:flex;align-items:center;gap:10px;margin:16px 0 4px;color:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.share-div:before,.share-div:after{content:"";flex:1;height:1px;background:var(--hair)}.profile-id{display:flex;gap:16px;align-items:center;margin-top:4px}.profile-id-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.ff-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ff-label{font-size:11px;font-weight:600;color:var(--soft);text-transform:uppercase;letter-spacing:.04em}.ff-value{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:transparent;border:none;border-bottom:1px dashed var(--hair);border-radius:0;padding:6px 2px;margin-top:2px;color:var(--ink);font-size:16px;font-weight:600;cursor:text;text-align:left}.ff-value:hover{border-bottom-color:var(--accent)}.ff-value .ff-empty{color:var(--soft);font-weight:400}.ff-value .ff-pencil{flex:0 0 auto;font-size:13px;opacity:.45}.ff-value:hover .ff-pencil{opacity:1}.ff input{margin-top:2px}.ff-status{font-size:12px;font-weight:600}.ff-status.ff-saving{color:var(--soft)}.ff-status.ff-saved{color:var(--good)}.ff-status.ff-error{color:var(--rose)}.avatar-edit{position:relative;display:inline-block;margin-top:4px}.avatar-pencil{position:absolute;right:-6px;bottom:-6px;width:30px;height:30px;padding:0;border-radius:50%;background:var(--card);border:1px solid var(--hair);font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 1px 3px #2321282e}.avatar-pencil:hover{border-color:var(--accent)}.tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--hair);border-radius:11px;padding:4px;margin:4px 0 14px}.tab{flex:1;padding:8px 6px;border-radius:8px;border:none;background:transparent;color:var(--soft);font-size:12.5px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.tab.active{background:var(--card);color:var(--accent);box-shadow:0 1px 2px #2321281a}.stepnav{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.stepnav button{background:transparent;color:var(--soft);border:1px solid var(--hair)}.actor{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px;color:#fff;margin-bottom:8px}.cta{display:block;padding:12px 14px;border-radius:10px;background:var(--c);color:#fff;font-weight:600;text-decoration:none;margin-top:8px}.cta.alt{background:transparent;color:var(--c);border:1px solid var(--c)}.topnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;background:var(--card);border-bottom:1px solid var(--hair);padding:8px 12px;overflow-x:auto}.topnav .brand{font-weight:800;letter-spacing:-.02em;margin-right:8px;color:var(--ink);text-decoration:none}.topnav a.role{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;text-decoration:none;color:var(--soft);font-size:14px;font-weight:600;border:1px solid transparent}.topnav a.role.on{color:#fff}body{padding:0;display:block}.wrap{padding-top:22px}.rolehead{display:flex;align-items:center;gap:10px;margin-bottom:4px}.rolehead .ic{font-size:26px}.action{display:block;padding:16px;border:1px solid var(--hair);border-radius:12px;margin-bottom:10px;text-decoration:none;color:inherit;background:var(--card)}.action .t{font-weight:600;font-size:16px}.action .s{color:var(--soft);font-size:13px;margin-top:2px}.action .go{float:right;color:var(--c);font-weight:700}.action.dis{opacity:.5;pointer-events:none}.row.via{margin:14px 0 4px}label.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;text-transform:none;letter-spacing:normal;font-weight:400;font-size:13px;color:var(--soft);line-height:1.5;cursor:pointer}label.consent input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--accent);cursor:pointer}label.consent a{font-weight:600}.solorow{margin:12px 0 14px;padding:12px 14px;border:1px solid var(--hair);border-radius:12px;background:var(--bg);align-items:center}.solorow b{color:var(--ink);font-size:14px}.legal h2{margin-top:20px}.legal p{font-size:14px;color:var(--ink);margin:6px 0}.bo-presets{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 4px}.bo-presets button,.bo-nav button{font-size:12px;padding:6px 10px}.bo-nav{display:flex;gap:6px;justify-content:space-between;align-items:center}.bo-arrows{display:flex;gap:6px}.bo-range{display:inline-flex;background:var(--bg);border:1px solid var(--hair);border-radius:9px;padding:3px;gap:2px}.bo-range-btn{background:transparent;color:var(--soft);border:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer}.bo-range-btn.active{background:var(--card);color:var(--accent);box-shadow:0 1px 2px #2321281a}.bo-month{margin:10px 0}.bo-title{font-weight:700;font-size:14px;margin:6px 0}.bo-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.bo-dow{text-align:center;font-size:11px;color:var(--soft);font-weight:700;padding-bottom:2px}.bo-day{background:#fff;border:1px solid var(--hair);border-radius:8px;padding:9px 0;font-size:13px;color:var(--ink);cursor:pointer;text-align:center;user-select:none;-webkit-user-select:none}.bo-day.blocked{background:var(--rose);color:#fff;border-color:var(--rose);text-decoration:line-through}.bo-day.rule{border-color:var(--rose);color:var(--rose);font-weight:700;background:repeating-linear-gradient(-45deg,#fff,#fff 4px,#f6d9e6 4px,#f6d9e6 7px)}.bo-repeat-open{color:var(--accent);border-color:var(--accent)}.bo-repeat{border:1px solid var(--hair);border-radius:12px;background:var(--bg);padding:12px 14px;margin-top:8px}.bo-repeat-head{display:flex;justify-content:space-between;align-items:center}.bo-until-row{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);font-weight:600;margin-top:12px}.bo-until-row input{width:auto}.bo-summary{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}.bo-summary-head{flex:1 1 100%;display:flex;justify-content:space-between;align-items:baseline}.bo-summary-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--soft)}.bo-clear{background:transparent;color:var(--soft);border:none;padding:0;font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline}.bo-clear:hover{color:var(--rose)}.bo-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;background:#f7e6ee;color:var(--rose);border-radius:999px;padding:5px 6px 5px 11px}.bo-chip.small{background:#eeece6;color:var(--ink)}.bo-chip button{background:transparent;color:inherit;border:none;padding:0 2px;font-size:12px;line-height:1;cursor:pointer;opacity:.7}.bo-chip button:hover{opacity:1}.bo-dates{flex:1 1 100%}.bo-dates-toggle{background:transparent;color:var(--soft);border:none;padding:2px 0;font-size:13px;font-weight:600;cursor:pointer}.bo-datelist{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bo-line{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--hair)}.bo-line-ico{font-size:14px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cal-head button{font-size:14px;padding:4px 10px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:11px;color:var(--soft);font-weight:700}.cal-day{background:#fff;border:1px solid var(--hair);border-radius:8px;padding:9px 0;font-size:13px;color:var(--ink);cursor:pointer;text-align:center;position:relative}.cal-day.has-gig{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);font-weight:700}.cal-day.sel{background:var(--accent);color:#fff;border-color:var(--accent)}.codebox{display:flex;gap:8px;justify-content:space-between;margin:16px 0 4px}.codedigit{flex:1 1 0;min-width:0;width:100%;padding:14px 0;margin:0;font-size:26px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0;border:1px solid var(--hair);border-radius:10px;background:#fff;color:var(--ink)}.codedigit:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e6e7fb}.codedigit:disabled{opacity:.6}@media (max-width:380px){.codedigit{padding:11px 0;font-size:21px}.codebox{gap:5px}}.screen{--col:556px;min-height:100dvh;display:flex;flex-direction:column}.landing{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.landing-top{display:flex;justify-content:flex-end;padding:16px 20px;flex:0 0 auto}.landing-shows{color:var(--accent);font-weight:700;font-size:14px;text-decoration:none;border:1px solid var(--hair);border-radius:999px;padding:8px 16px;background:var(--card)}.landing-shows:hover{border-color:var(--accent)}.hero-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:0 18px 56px}.hero{width:100%;max-width:520px;margin:0;text-align:center;padding:52px 38px 44px;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 1px 2px #2321280d,0 14px 38px #23212814;background:linear-gradient(180deg,#414bc40f,#414bc400 46%),var(--card)}.hero-title{font-size:clamp(34px,8vw,46px);font-weight:800;line-height:1.02;letter-spacing:-.035em;margin:10px 0 16px}.hero-title .beat{display:block}.hero-title .beat+.beat{color:var(--accent)}.hero-why{color:var(--soft);font-size:15.5px;line-height:1.55;margin:0 auto;max-width:37ch;text-wrap:pretty}.hero .full{max-width:320px;margin-left:auto;margin-right:auto;margin-top:28px}@media (max-width:520px){.hero{padding:40px 24px 34px;border-radius:18px}}.newgig-welcome{text-align:center;margin-bottom:16px}.newgig-hero{font-size:clamp(27px,7vw,37px);margin:8px 0 12px}.newgig-welcome .sub{max-width:36ch;margin-left:auto;margin-right:auto}.brandmark{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}.hero-cta{display:block;max-width:340px;margin:30px auto 0;padding:16px 22px;background:var(--accent);color:#fff;font-weight:700;font-size:16.5px;letter-spacing:-.01em;border-radius:12px;text-decoration:none;text-align:center;box-shadow:0 8px 22px #414bc447;transition:transform .12s ease,box-shadow .12s ease}.hero-cta:hover{transform:translateY(-1px);box-shadow:0 11px 26px #414bc457}.hero-legal{color:var(--soft);font-size:13px;margin:18px 0 0}.hero{animation:heroIn .5s cubic-bezier(.2,.7,.2,1) both}@keyframes heroIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero{animation:none}}.appbar{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:var(--col);margin:0 auto;padding:18px 18px 0}.appbar-brand{font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--ink);text-decoration:none}@media (max-width:400px){.appbar-brand{font-size:15.5px}}.menu-anchor{position:relative}.menu-btn{width:42px;height:42px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--card);border:1px solid var(--hair);border-radius:11px}.menu-btn span{display:block;width:17px;height:2px;border-radius:2px;background:var(--ink)}.menu-btn[aria-expanded=true]{border-color:var(--accent)}.menu-panel{position:absolute;top:50px;right:0;min-width:190px;padding:6px;z-index:40;background:var(--card);border:1px solid var(--hair);border-radius:12px;box-shadow:0 12px 30px #23212826}.menu-who{padding:8px 10px 9px;border-bottom:1px solid var(--hair);margin-bottom:5px;text-align:left}.menu-who b{display:block;font-size:14px}.menu-who span{font-size:12px;color:var(--soft)}.menu-item{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:8px;background:transparent;color:var(--ink);border:none;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.menu-item:hover,.menu-item:focus-visible{background:#e6e7fb;color:var(--accent)}.menu-item.leave{color:var(--rose)}.menu-item.leave:hover,.menu-item.leave:focus-visible{background:#f7e6ee;color:var(--rose)}.bottomnav{position:fixed;left:50%;transform:translate(-50%);bottom:0;z-index:50;width:100%;max-width:var(--col);box-sizing:border-box;display:flex;background:var(--card);border-top:1px solid var(--hair);padding:6px 12px calc(6px + env(safe-area-inset-bottom))}.bottomnav-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border-radius:10px;text-decoration:none;color:var(--soft);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.bottomnav-tab .bottomnav-ico{font-size:20px;line-height:1}.bottomnav-tab.active{color:var(--accent)}.wrap.has-bottomnav{padding-bottom:96px}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.venue-results{border:1px solid var(--hair);border-radius:10px;overflow:hidden;margin-top:6px;background:#fff}.venue-hit,.venue-add{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:#fff;color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;border-bottom:1px solid var(--hair);border-radius:0}.venue-hit b{display:block;font-weight:700}.venue-hit span{display:block;font-size:12.5px;color:var(--soft);margin-top:1px}.venue-hit:hover,.venue-hit:focus-visible{background:#e6e7fb}.venue-add{border-bottom:none;color:var(--accent);font-weight:700;background:var(--card)}.venue-add:hover,.venue-add:focus-visible{background:#e6e7fb}.venue-empty{padding:10px 12px;font-size:13.5px;color:var(--soft);border-bottom:1px solid var(--hair)}.venue-picked{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--accent);border-radius:10px;padding:11px 12px;margin-top:6px;background:#fff}.venue-new{border:1px solid var(--hair);border-radius:10px;padding:4px 12px 14px;margin-top:6px;background:#fff}.gtabs{display:flex;gap:6px;margin:14px 0 12px}.gtab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px;border-radius:11px;border:1px solid var(--hair);background:var(--card);font-size:12.5px;font-weight:700;color:var(--soft);cursor:pointer;line-height:1.1}.gtab.on{background:#fff;color:var(--ink);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.gtab .badge{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap}.gtab .badge.ok{background:#e2f0e8;color:var(--good)}.gtab .badge.warn{background:#f7ead6;color:var(--brass)}.gtab .badge.alert{background:#f6dcdc;color:#b3261e}.gstatus{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:11px;margin-bottom:16px}.gstatus .ic{flex:0 0 auto;font-size:15px;line-height:1.35}.gstatus b{display:block;font-size:14px}.gstatus span{font-size:13px;opacity:.85}.gstatus.ok{background:#e2f0e8;color:#1e5b3c}.gstatus.warn{background:#f7ead6;color:#6b4711}.gstatus.alert{background:#f9e1e1;color:#8f1d16}@media (max-width:380px){.gtab{font-size:11.5px;padding:8px 2px}}.factrow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair)}.factrow:last-of-type{border-bottom:none;padding-bottom:0}.factrow .k{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);margin-bottom:3px}.factrow b{display:block;font-size:15px}.factrow .v{display:block;font-size:13px;color:var(--soft);margin-top:1px}.pencil{flex:0 0 auto;background:transparent;border:1px solid var(--hair);border-radius:9px;padding:6px 9px;font-size:14px;line-height:1;cursor:pointer}.pencil:hover,.pencil:focus-visible{border-color:var(--accent);background:#e6e7fb}.bandedit{border:1px solid var(--hair);border-radius:11px;padding:12px;margin-bottom:16px;background:#fff}.bandedit .k{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--soft);margin-bottom:8px}.bandopt{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:6px;border:1px solid var(--hair);border-radius:9px;background:var(--card);color:var(--ink);cursor:pointer}.bandopt.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#fff}.bandopt b{display:block;font-size:14px}.bandopt span{display:block;font-size:12px;color:var(--soft);font-weight:500}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#2321286b;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:100%;max-width:440px;max-height:88vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--hair);border-radius:16px;box-shadow:0 18px 50px #23212847}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hair)}.modal-head b{font-size:16px}.modal-close{flex:0 0 auto;width:30px;height:30px;padding:0;border-radius:8px;background:transparent;border:none;color:var(--ink);font-size:18px;font-weight:800;line-height:1;cursor:pointer;display:grid;place-items:center}.modal-close:hover,.modal-close:focus-visible{background:var(--hair);color:#000}.modal-body{padding:14px 16px 16px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal-foot{flex:0 0 auto;padding:12px 16px;border-top:1px solid var(--hair);background:var(--card)}.person{display:flex;align-items:center;gap:11px;padding:10px 0;margin:0;border-bottom:1px solid var(--hair);text-transform:none;letter-spacing:normal;font-size:14px;font-weight:400;color:var(--ink);cursor:pointer}.person input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent)}.person .who{flex:1;min-width:0}.person .who b{display:block;font-size:14px;font-weight:700;text-transform:none}.person .who span{display:block;font-size:12px;color:var(--soft);text-transform:none;letter-spacing:normal;font-weight:400}.person select{flex:0 0 auto;width:auto;min-width:104px;padding:6px 8px;font-size:13px}.lineup-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:14px}.lineup-row:last-child{border-bottom:none}.lineup-row .st{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}.st.going{background:#e2f0e8;color:var(--good)}.st.invited{background:#f7ead6;color:var(--brass)}.st.declined{background:#f7e6ee;color:var(--rose)}.st.pending{background:#eceaf7;color:var(--soft)}.linkbtn{display:inline-block;padding:10px 0;background:transparent;border:none;color:var(--accent);font-size:14px;font-weight:700;cursor:pointer}.linkbtn:hover{text-decoration:underline}.bandhead{display:flex;align-items:flex-end;gap:14px}.bandphoto{position:relative;display:block;width:64px;flex:0 0 64px;margin:0;cursor:pointer;text-transform:none;letter-spacing:normal}.bandphoto input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.bandphoto .cam{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:var(--card);border:1px solid var(--hair);display:grid;place-items:center;font-size:12px}.bandphoto:hover .cam{border-color:var(--accent)}.fromrow{display:flex;align-items:center;gap:11px;padding:11px 12px;margin-bottom:4px;border:1px solid var(--hair);border-radius:11px;background:#fff}.fromrow.warn{border-color:var(--brass);background:#fdf8f1}.fromrow b{display:block;font-size:14px}.fromrow span{display:block;font-size:12px;color:var(--soft)}.fromrow.warn span{color:var(--brass);font-weight:600}.invrow{padding:12px 0;border-bottom:1px solid var(--hair)}.invhead{display:flex;align-items:center;gap:10px}.invhead .who{flex:1;min-width:0}.invhead .who b{display:block;font-size:14px}.invhead .who span{display:block;font-size:12px;color:var(--soft)}.invhead select{flex:0 0 auto;width:auto;min-width:104px;padding:6px 8px;font-size:13px}.linkbtn.danger{color:var(--rose)}.invactions{display:flex;align-items:center;gap:16px}.gigtitle{font-size:21px;margin:0 0 12px;letter-spacing:-.015em}.gigtitle .pill{vertical-align:middle;margin-bottom:0;margin-left:6px}button.ghost.danger{color:var(--rose);border-color:var(--hair)}button.ghost.danger:hover:not(:disabled){border-color:var(--rose);background:#f9edf2}.iconbtn{flex:0 0 auto;background:transparent;border:1px solid var(--hair);border-radius:9px;padding:6px 9px;font-size:14px;line-height:1;cursor:pointer}.iconbtn:hover:not(:disabled),.iconbtn:focus-visible{border-color:var(--rose);background:#f9edf2}.confirmstrip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;padding:9px 11px;border-radius:9px;background:#f9edf2}.confirmstrip span{flex:1;min-width:0;font-size:13px;color:#7a2a4a}.confirmstrip .linkbtn{padding:0}.invhead .who span.sentnote{color:var(--good);font-weight:700}.stepline{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair)}.stepline:last-of-type{border-bottom:none;padding-bottom:2px}.stepline .stepmark{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--hair);display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}.stepline .stepmark.done{background:var(--good);border-color:var(--good)}.stepline .what{flex:1;min-width:0}.stepline .what b{display:block;font-size:14px}.stepline .what span{display:block;font-size:12.5px;color:var(--soft)}.notice{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#e6e7fb;color:var(--accent);font-size:14px;font-weight:600}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:14px 12px;text-align:center}.stat b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1}.stat span{display:block;font-size:12px;color:var(--soft);margin-top:5px}.stat.accent b{color:var(--accent)}.showcard{display:block;text-decoration:none;color:inherit}.showcard:hover{border-color:var(--accent)}.pull{display:flex;gap:10px}.pull-hero,.pull-sub{flex:1;background:#fff;border:1px solid var(--hair);border-radius:10px;padding:11px 12px}.pull-hero b,.pull-sub b{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1}.pull-hero span,.pull-sub span{display:block;font-size:11.5px;color:var(--soft);margin-top:4px}.pull-hero b{color:var(--accent)}.asmcard{display:block;text-decoration:none;color:inherit}.asmcard:hover{border-color:var(--accent)}.asm-title{display:flex;align-items:baseline;justify-content:space-between}.asm-title b{font-size:17px;letter-spacing:-.01em}.asm-title .go{color:var(--soft);font-size:20px}.asm-where{font-size:13.5px;color:var(--soft);margin-top:1px}.gates{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.gate{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}.gate.ok{background:#e2f0e8;color:var(--good)}.gate.warn{background:#f7ead6;color:var(--brass)}.asm-next{margin-top:11px;font-size:13px;font-weight:700;color:var(--accent)}.rowskill{flex:0 0 auto;font-size:13px;color:var(--soft);font-weight:600;padding:6px 4px}.bandlocked{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--hair);border-radius:9px;background:#f2f0ea;font-size:15px;font-weight:600}.bandlocked .lock{position:relative;font-size:13px;opacity:.7;background:none;border:none;padding:2px;cursor:pointer;line-height:1}.bandlocked .lock:hover{opacity:1}.bandlocked .lock:hover .tip,.bandlocked .lock .tip{display:block}.bandlocked .lock .tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:210px;padding:9px 11px;border-radius:9px;background:var(--ink);color:#fff;font-size:12px;font-weight:500;line-height:1.4;text-align:left;z-index:30;box-shadow:0 6px 18px #23212840}.bandlocked .lock .tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ink)}.songrow{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--hair)}.songrow:last-of-type{border-bottom:none}.songnum{flex:0 0 22px;text-align:center;font-size:12px;font-weight:700;color:var(--soft)}.songart{width:40px;height:40px;border-radius:7px;object-fit:cover;flex:0 0 40px}.songart.placeholder{display:grid;place-items:center;background:var(--hair);color:var(--soft);font-size:18px}.songmeta{flex:1;min-width:0;text-align:left}.songmeta b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.songmeta span{display:block;font-size:12px;color:var(--soft)}.songhit{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:8px 12px;background:#fff;color:var(--ink);border:none;border-bottom:1px solid var(--hair);cursor:pointer;border-radius:0}.songhit:hover:not(:disabled){background:#e6e7fb}.songhit:disabled{opacity:.55;cursor:default}.songrow{align-items:flex-start}.songbody{flex:1;min-width:0}.songtop{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.songctl{display:flex;gap:8px;margin-top:7px}.songctl .keyin{flex:0 0 60px;width:60px;padding:6px 8px;font-size:13px;text-align:center}.songctl .stylein{flex:1 1 auto;min-width:0;padding:6px 8px;font-size:13px}.songrow .iconbtn{flex:0 0 auto;padding:5px 8px;font-size:13px}.liveposter{margin:12px 0 4px;padding:30px 26px 34px;border-radius:16px;color:#ece6d6;background:linear-gradient(160deg,#18172a,#2c1f42 55%,#482c60);box-shadow:0 10px 30px #18172a47;border:1px solid rgba(206,158,74,.25)}.lp-eyebrow{font-size:12px;font-weight:800;letter-spacing:.32em;color:#ce9e4a}.lp-band{font-size:34px;line-height:1.05;font-weight:800;letter-spacing:-.01em;margin:6px 0 12px}.lp-venue{font-size:19px;font-weight:600}.lp-when{font-size:15px;margin-top:3px}.lp-addr{font-size:13px;color:#ce9e4a;margin-top:2px}.lp-setlabel{font-size:11px;font-weight:800;letter-spacing:.24em;color:#ce9e4a;margin-top:20px}.lp-set{list-style:none;padding:0;margin:8px 0 0}.lp-set li{padding:5px 0;font-size:15px;border-bottom:1px solid rgba(236,230,214,.14)}.lp-artist{color:#ece6d68c;font-size:13px}.approvalbox{margin-top:14px;padding:16px;border:1px solid var(--hair);border-radius:13px;background:#fff}.approvalbox.warnbox{border-color:#e4b85c;background:#fcf7ec}.approvalbox .ok{color:var(--good);font-weight:700;margin:0 0 4px}.approvalbox .warn{color:var(--brass);font-weight:700;margin:0 0 8px}.changelist{list-style:none;padding:0;margin:0 0 10px}.changelist li{font-size:14px;padding:7px 10px;margin-bottom:6px;background:#fff;border:1px solid #E4B85C;border-radius:9px}.thread{margin:10px 0;padding:10px 12px;background:var(--card);border-radius:10px}.tmsg{font-size:14px;margin-bottom:5px}.tmsg:last-child{margin-bottom:0}.approvalform{margin-top:14px}.approvalform .opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--soft)}.approvalform .row{margin-top:14px}button.full,.ghost.full{width:100%;margin-top:14px}.err{color:var(--rose);font-size:13px;margin:8px 0 0}.bandposter{display:block;margin-top:14px;text-decoration:none}.bandposter img{width:100%;max-width:420px;margin:0 auto;display:block;border-radius:12px;border:1px solid var(--hair);box-shadow:0 8px 24px #18172a2e}.contactrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:14px 0 4px;background:var(--card);border:1px solid var(--hair);border-radius:10px}.contactrow .who{font-size:14px;color:var(--ink)}.linkbtn{background:none;border:none;color:var(--accent);font-weight:600;font-size:13px;padding:4px 6px;cursor:pointer;width:auto}.songctl-ro{font-size:13px;color:var(--soft);margin-top:4px}.startgig{padding:18px;font-size:17px;margin-top:4px}.lineup-row .ink{color:var(--ink)}.newgig{padding:8px 13px;font-size:13px;border-radius:9px;white-space:nowrap;flex:0 0 auto}.grouplabel{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);margin:8px 0}.giginner{display:block;background:#fff;border:1px solid var(--hair);border-radius:12px;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:inherit}.giginner:last-child{margin-bottom:0}.giginner:hover{border-color:var(--accent)}.signin-head{text-align:center;border:1px solid var(--hair);border-radius:15px;padding:20px 18px 22px;margin-bottom:20px;background:linear-gradient(180deg,#414bc40f,#414bc400 72%)}.signin-vp{margin:12px 0 2px}.vp-lead{display:block;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink);letter-spacing:-.01em;text-wrap:balance}.vp-pay{display:block;font-size:clamp(24px,6.5vw,30px);font-weight:800;line-height:1.06;color:var(--accent);letter-spacing:-.035em;margin-top:8px;text-wrap:balance}
