:root{--lavender:#a48ac9;--lavender-dark:#765f96;--lavender-light:#eee7f8;--ink:#282426;--muted:#726b70;--line:#e4dcda;--bg:#f7f4f0;--white:#fff;--danger:#b53343}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.45 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.login-shell{background:linear-gradient(135deg,var(--lavender),#5c4774);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border-radius:24px;width:min(430px,100%);padding:34px;box-shadow:0 24px 70px #38284955}.brand{align-items:center;gap:12px;display:flex}.brand>span{width:42px;height:42px;color:var(--lavender);background:#fff;border-radius:12px;place-items:center;font-size:22px;font-weight:800;display:grid}.brand div{flex-direction:column;display:flex}.brand small{color:#ddd}.login-card .brand small{color:var(--muted)}h1{margin:22px 0 6px;font-size:30px;line-height:1.1}h2{margin-top:0}label{flex-direction:column;gap:7px;margin:16px 0;font-weight:650;display:flex}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px 13px}input:focus,select:focus{border-color:var(--lavender);outline:3px solid #a48ac933}button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:10px 15px;font-weight:700}.primary{border-color:var(--lavender);background:var(--lavender);color:#fff}.login-card .primary{width:100%;margin-top:10px}.alert{color:var(--danger);background:#f8dfe2;border-radius:9px;padding:10px}.alert.success{color:#2f6b3c;background:#e7f4ea}.login-link{width:100%;color:var(--lavender-dark);background:0 0;border:0;margin-top:8px}.portal{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.portal aside{background:var(--lavender-dark);color:#fff;flex-direction:column;height:100vh;padding:25px 16px;display:flex;position:sticky;top:0}.portal nav{gap:7px;margin-top:40px;display:grid}.nav{text-align:left;color:#eee;background:0 0;border:0}.nav.active{background:#ffffff1c}.portal footer{border-top:1px solid #ffffff24;flex-direction:column;gap:5px;margin-top:auto;padding:18px;display:flex}.portal footer button{color:#fff;background:0 0;margin-top:8px}.content{min-width:0;padding:32px 42px}.content header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.content header h1{margin:4px 0}.content header small{color:var(--lavender);letter-spacing:2px;font-weight:800}.online{color:#5c4774;background:var(--lavender-light);border-radius:20px;padding:6px 9px;font-size:12px}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.stats span{color:var(--muted);display:block}.stats strong{font-size:30px}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px}.filters{grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.table-wrap{margin:0 -16px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 16px}th{color:var(--muted);letter-spacing:1px;font-size:11px}.badge{background:var(--lavender-light);color:#5b3f81;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-block}.pager{justify-content:center;align-items:center;gap:15px;padding-top:15px;display:flex}.form{max-width:1000px}.grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.form-heading{justify-content:space-between;align-items:center;display:flex}.guest-row{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr 1.4fr 1fr auto;align-items:end;gap:10px;margin:10px 0;padding:12px;display:grid}.guest-row label{margin:0}.check{flex-direction:row;align-items:flex-start}.check input{width:auto;margin-top:4px}.cards{gap:10px;margin-top:15px;display:grid}.partner-card{border:1px solid var(--line);border-radius:12px;padding:14px}.partner-card p{color:var(--muted);margin:5px 0}.partner-actions{gap:8px;margin-top:10px;display:flex}.toast{color:#fff;background:#2e2634;border-radius:10px;padding:12px 16px;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #0003}.user-create-form{grid-template-columns:repeat(4,1fr) auto;align-items:end;gap:10px;margin-bottom:20px;display:grid}.user-create-form label{margin:0}.user-card-grid{grid-template-columns:1fr 1fr 150px 1fr auto;align-items:end;gap:10px;display:grid}.user-card-grid label{margin:0}.user-state{margin-top:10px}.modal{z-index:50;background:#2e263477;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:18px;width:min(460px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;box-shadow:0 24px 70px #0004}.temporary-password{letter-spacing:1px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:18px}.user-filters{grid-template-columns:1fr}@media (width<=760px){.portal{display:block}.portal aside{width:100%;height:auto;padding:12px;position:static}.portal aside .brand,.portal footer small,.portal footer strong{display:none}.portal nav{margin:0;display:flex;overflow:auto}.portal footer{border:0;margin:0;padding:0;position:absolute;top:4px;right:8px}.portal footer button{margin:0}.content{padding:22px 14px}.content header{align-items:flex-start}.stats{grid-template-columns:1fr 1fr}.filters,.grid,.user-create-form,.user-card-grid{grid-template-columns:1fr}.guest-row{grid-template-columns:1fr 1fr}.guest-row label:nth-child(n+3){grid-column:1/-1}.admin-col{display:none}.login-card{padding:25px 20px}}textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px 13px}textarea:focus{border-color:var(--lavender);outline:3px solid #a48ac933}.seat-toolbar{grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.seat-legend{color:var(--muted);gap:14px;font-size:12px;display:flex}.seat-stats{margin-top:0}.sector-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.sector-card{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:relative;overflow:hidden}.sector-card.selected{border-color:var(--lavender);box-shadow:0 0 0 2px #a48ac933}.sector-card span{color:var(--muted);font-size:12px}.sector-card i{background:var(--lavender);height:4px;position:absolute;bottom:0;left:0}.seat-panel{overflow:auto}.pitch{text-align:center;border:2px solid var(--lavender-dark);background:var(--lavender-light);width:min(520px,80%);color:var(--lavender-dark);letter-spacing:3px;margin:8px auto 32px;padding:8px;font-size:11px;font-weight:800}.seat-map{min-width:650px}.seat-row{grid-template-columns:90px 1fr;align-items:center;gap:12px;margin:12px 0;display:grid}.seat-row>span{color:var(--muted);text-align:right;font-size:12px}.seat-row>div{flex-wrap:wrap;gap:7px;display:flex}.seat{width:38px;height:38px;padding:0}.seat.occupied{background:var(--lavender);border-color:var(--lavender);color:#fff}.seat.blocked{color:#fff;background:#746b72;text-decoration:line-through}.candidate-panel{margin-top:16px}.candidate-panel .form-heading input{max-width:320px}.candidate{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px;display:flex}.candidate span{color:var(--muted)}.seat-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.management-form{grid-template-columns:repeat(2,1fr);gap:0 14px;display:grid}.management-form .wide{grid-column:1/-1}.compact-form{border-bottom:1px solid var(--line);padding-bottom:16px}.seat-generator{margin-top:18px}.management-card{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.management-card span:first-child,.management-card div:first-child{flex-direction:column;display:flex}.management-card small,.management-card div span{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:35px}@media (width<=1050px){.settings-grid{grid-template-columns:1fr 1fr}.settings-grid>.panel:first-child{grid-column:1/-1}}@media (width<=760px){.seat-toolbar,.settings-grid,.management-form{grid-template-columns:1fr}.settings-grid>.panel:first-child,.management-form .wide{grid-column:auto}.seat-legend{flex-wrap:wrap}.candidate-panel .form-heading{display:block}.candidate-panel .form-heading input{max-width:none}.candidate{flex-direction:column}.seat-modal-actions>*{flex:45%}}.invitation-image-field input[type=file]{padding:9px}.invitation-image-preview{object-fit:contain;background:var(--lavender-light);border-radius:16px;max-width:100%;max-height:360px;margin-top:12px;display:block}#invitationCurrentImage{color:var(--lavender-dark);font-size:13px}.sector-settings{min-width:0}.seat-layout-editor{background:var(--lavender-light);border-radius:16px;margin:20px 0;padding:16px}.seat-layout-editor .form-heading p{color:var(--muted);margin:3px 0;font-size:13px}.seat-layout-row{grid-template-columns:140px 1fr auto;align-items:end;gap:10px;margin-top:10px;display:grid}.seat-layout-row label{margin:0}.seat-layout-row button{color:var(--danger);font-size:20px}@media (width<=760px){.seat-layout-row{grid-template-columns:1fr auto}.seat-layout-row label:nth-child(2){grid-column:1/2}.seat-layout-editor .form-heading{display:block}.seat-layout-editor .form-heading button{margin-top:10px}}.sector-settings{grid-column:span 2}.seat-row>div{grid-auto-flow:row;gap:7px;display:grid!important}.online.loading{color:#65468c;background:#eadff8}.online.loading:first-letter{animation:1s infinite status-pulse}@keyframes status-pulse{50%{opacity:.25}}.registration-section{border:1px solid var(--line);border-radius:18px;margin:18px 0;padding:18px}.applicant-section{background:#faf7fc}.guests-section{background:#fff}.section-heading{align-items:flex-start;gap:12px;display:flex}.section-heading>span{background:var(--lavender);color:#fff;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.section-heading h3{margin:2px 0}.section-heading p{color:var(--muted);margin:2px 0;font-size:13px}.danger-button{margin-left:auto;color:var(--danger)!important;background:#fff7f8!important;border-color:#e8b4ba!important}@media (width<=760px){.registration-section{padding:14px}.guests-section>.form-heading{display:block}.guests-section>.form-heading>button{margin:12px 0}.danger-button{margin-left:0}}.seat-panel{max-width:100%;overflow:hidden}.seat-map{--seat-size:38px;--seat-gap:4px;width:100%;overflow:hidden;min-width:0!important}.seat-row{gap:12px;grid-template-columns:78px minmax(0,1fr)!important}.seat-row>div{width:100%;min-width:0;column-gap:var(--seat-gap)!important;row-gap:var(--seat-gap)!important}.seat{border-radius:clamp(2px,calc(var(--seat-size) * .25),10px);min-width:0;font-size:clamp(7px,calc(var(--seat-size) * .38),14px);overflow:hidden;width:var(--seat-size)!important;height:var(--seat-size)!important;padding:0!important}.seat span{line-height:1;display:block}.compact-seats .seat{border-color:#d9d0dc}.tiny-seats .seat span{font-size:0}.tiny-seats .seat{border-radius:2px}.tiny-seats .seat.occupied{outline:1px solid var(--lavender-dark)}@media (width<=760px){.seat-row{gap:6px;grid-template-columns:46px minmax(0,1fr)!important}.seat-row>span{font-size:10px}.pitch{margin-bottom:20px}.portal aside{gap:8px}.portal footer{border:0;justify-content:flex-end;gap:6px;flex-direction:row!important;margin:0!important;padding:4px 0 0!important;display:flex!important;position:static!important}.portal footer button{width:auto;padding:7px 10px;font-size:12px}.portal nav{order:1}.portal footer{order:2}}.invitation-audience{border:1px solid var(--line);background:#faf7fc;border-radius:14px;padding:14px}.audience-toolbar{grid-template-columns:1fr 1fr auto auto;align-items:end;gap:8px;display:grid}.audience-toolbar label{margin:0}.partner-choice-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;max-height:320px;padding:4px;display:grid;overflow:auto}.partner-choice{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:row;align-items:flex-start;gap:10px;margin:0;padding:10px}.partner-choice input{width:auto;margin-top:4px}.partner-choice span{flex-direction:column;min-width:0;display:flex}.partner-choice small{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.partner-profile-link{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.partner-profile-link .partner-actions{grid-column:1/-1}.crm-profile{width:min(1050px,100%)}.crm-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.crm-summary article,.crm-history article{border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:12px;display:flex}.crm-summary span,.crm-summary small,.crm-history span,.crm-history small{color:var(--muted)}.crm-history{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;display:grid}@media (width<=760px){.audience-toolbar,.crm-summary,.partner-choice-grid,.partner-profile-link{grid-template-columns:1fr}.crm-profile{padding:16px}}.seat.season-ticket{color:#fff;text-decoration:none;background:#473753!important;border-color:#473753!important}.seat.season-ticket span:before{content:"◆"}.seat.season-ticket span{font-size:0}.seat.season-ticket span:before{font-size:clamp(6px,calc(var(--seat-size) * .34),13px)}.subtabs{border:1px solid var(--line);background:#fff;border-radius:14px;gap:6px;margin-bottom:16px;padding:5px;display:flex;overflow-x:auto}.subtabs button{color:var(--muted);white-space:nowrap;background:0 0;border-color:#0000;flex:none}.subtabs button.active{background:var(--lavender-light);color:var(--lavender-dark);box-shadow:inset 0 0 0 1px #d8caeb}.settings-grid>.subpanel{grid-column:1/-1}.group-panel{margin-top:0}@media (width<=760px){.subtabs{margin:0 -2px 14px}.subtabs button{padding:9px 12px}.settings-grid>.subpanel{grid-column:auto}}.seat-stats{grid-template-columns:repeat(3,1fr)}@media (width<=760px){.seat-stats{grid-template-columns:1fr 1fr}.seat-stats article:last-child{grid-column:1/-1}}.guest-admin-modal{width:min(820px,100%)}.guest-admin-modal>.subpanel{padding-top:4px}.guest-admin-modal .partner-actions{justify-content:flex-end}@media (width<=760px){.guest-admin-modal .grid{grid-template-columns:1fr}.guest-admin-modal .seat-modal-actions button{flex:100%}}
