:root{--burgundy: #7a1022;--burgundy-dark: #4f0b17;--gold: #c9a85b;--paper: #f6f1e8;--surface: #fffdfa;--line: #ded5c8;--text: #263238;--muted: #6d7175;--blue: #2f6f9f;--green: #397452;--red: #b0393f;--shadow: 0 14px 35px rgba(64, 38, 32, .14);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr)}.sidebar{min-height:100vh;background:var(--burgundy-dark);color:#fff9ed;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;max-height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;min-height:58px;padding:6px 8px 18px}.brand img,.loginPanel img{width:46px;height:46px;border-radius:8px}.brand strong,.brand span,.sidebarFooter span,.sidebarFooter small,td small,.metric small{display:block}.brand strong{line-height:1.15}.brand span,.sidebarFooter small{color:#e8d6af;font-size:.85rem}.nav{display:grid;gap:6px;margin-top:12px}.nav button,.ghostButton,.primaryButton,.secondaryButton,.iconButton,.laneItem{border:0;border-radius:8px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.1}.nav button{justify-content:flex-start;padding:11px 12px;background:transparent;color:#f9efe5}.nav button:hover,.nav button.active{background:#ffffff1f}.nav svg,.topbarActions svg,.primaryButton svg,.secondaryButton svg,.ghostButton svg{width:18px;height:18px;flex:0 0 auto}.sidebarFooter{margin-top:auto;display:grid;gap:4px;padding:14px 8px 0}.creditLine{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}.creditLine.compact{color:#e8d6af;font-size:.72rem}.invisibleCredit{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ghostButton{margin-top:8px;width:100%;background:#ffffff1a;color:#fff9ed}.workspace{min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.topbar h1{margin:0;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:0}.topbar p{margin:4px 0 0;color:var(--muted)}.topbarActions,.toolbarBand,.filters,.exportActions,.formActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.primaryButton{background:var(--burgundy);color:#fff;padding:0 14px;font-weight:700}.secondaryButton{background:#fff;color:var(--burgundy);border:1px solid var(--line);padding:0 14px;font-weight:700}a.primaryButton,a.secondaryButton{text-decoration:none}.iconButton{width:40px;background:#fff;border:1px solid var(--line);color:var(--text)}.alert{min-height:44px;border-radius:8px;padding:10px 12px;margin:0 0 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.alert button{border:0;background:transparent;display:inline-flex}.alert.success{background:#edf6ef;color:var(--green)}.alert.error,.inlineError{background:#fae9ea;color:var(--red)}.inlineError,.inlineSuccess{padding:10px 12px;border-radius:8px}.inlineSuccess{background:#edf6ef;color:var(--green)}.loadingLine{height:3px;background:var(--gold);border-radius:99px;margin-bottom:14px}.stack{display:grid;gap:16px}.metricGrid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px}.metric,.tableSection,.toolbarBand,.exportItem,.lane{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px #ffffffb3}.metric{min-height:142px;padding:16px}.metricIcon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:var(--burgundy);background:#f1dfc0;margin-bottom:12px}.metric span{color:var(--muted);font-size:.86rem}.metric strong{display:block;margin-top:3px;font-size:1.45rem}.metric small,td small{color:var(--muted);margin-top:3px}.toolbarBand{padding:14px}.tableSection{padding:14px;min-width:0}.tableSection h2,.lane h2,.exportItem h2{margin:0 0 12px;font-size:1rem;letter-spacing:0}.searchBox{min-height:42px;flex:1 1 300px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--muted)}.searchBox input,.searchBox input:focus{border:0;outline:0;width:100%;min-width:0}.filters{margin-bottom:12px}.filters select{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px}.tableWrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #ece4d8;vertical-align:top}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:0;white-space:nowrap}tbody tr{transition:background .15s ease}tbody tr:hover{background:#fbf4e6}.statusBadge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:4px 9px;font-size:.8rem;font-weight:700;white-space:nowrap}.statusBadge.hot{color:#8e2830;background:#f7e1e3}.statusBadge.good{color:var(--green);background:#e5f2e8}.statusBadge.closed{color:#5d6266;background:#eceff1}.statusBadge.neutral{color:var(--blue);background:#e4f0f7}.mailOk{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:700}.kanban{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:14px;align-items:start}.lane{min-height:180px;padding:12px}.laneItem{width:100%;min-height:96px;background:#fff;border:1px solid var(--line);color:var(--text);padding:12px;margin-bottom:8px;display:grid;justify-items:start;text-align:left}.laneItem span,.laneItem small{color:var(--muted)}.exportGrid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:14px}.exportItem{min-height:160px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.exportItem p{margin:0;color:var(--muted)}.backupPanel{margin-top:18px;display:grid;gap:14px}.backupHeader{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.backupHeader p{margin:-6px 0 0;color:var(--muted)}.modalBackdrop{position:fixed;inset:0;background:#19121073;display:grid;place-items:center;padding:18px;z-index:10}.modal{width:min(980px,100%);max-height:min(88vh,900px);overflow:auto;background:var(--surface);border-radius:8px;box-shadow:var(--shadow)}.modal header{min-height:62px;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:var(--surface);z-index:1}.modal h2{margin:0;font-size:1.15rem}.formGrid{padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formGrid label{display:grid;gap:6px;color:var(--muted);font-weight:700;font-size:.86rem}.formGrid input,.formGrid select,.formGrid textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--text);background:#fff}.formGrid textarea{resize:vertical}.formGrid .wide,.formActions{grid-column:1 / -1}.checkField{align-content:end;display:flex!important;grid-template-columns:auto 1fr;align-items:center;flex-direction:row;min-height:42px;gap:10px!important;color:var(--text)!important}.checkField input{width:18px;height:18px;min-height:18px}.formActions{justify-content:flex-end;padding-top:8px}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(#f6f1e8f0,#f6f1e8f0),url(/szigligeti-mark.svg) center / 300px no-repeat}.loginPanel{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:26px;box-shadow:var(--shadow)}.passwordPanel{width:min(460px,100%)}.loginPanel h1{margin:16px 0 0;font-size:1.8rem}.loginPanel p{margin:4px 0 22px;color:var(--muted)}.loginPanel form,.loginPanel label{display:grid;gap:10px}.loginPanel label{color:var(--muted);font-weight:700;font-size:.9rem}.loginPanel input{min-height:44px;border-radius:8px;border:1px solid var(--line);padding:0 12px}.loginPanel footer{margin-top:18px}.publicLoginButton{margin-top:12px}.fullWidth{width:100%}.publicProgramPage{min-height:100vh;background:var(--paper);padding:22px}.publicHeader,.publicHero,.publicNotes{width:min(1180px,100%);margin:0 auto}.publicHeader{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.publicBrand{display:flex;align-items:center;gap:12px}.publicBrand img{width:48px;height:48px;border-radius:8px}.publicBrand strong,.publicBrand span,.publicNotes small{display:block}.publicBrand span,.publicHero p,.publicHero span,.programMeta,.publicEmpty p,.publicNotes{color:var(--muted)}.publicHero{min-height:210px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.publicHero p{margin:0 0 8px;font-weight:700}.publicHero h1{max-width:760px;margin:0 0 12px;font-size:clamp(2rem,4.3vw,4.2rem);line-height:.98;letter-spacing:0}.publicHero a{color:var(--burgundy);font-weight:700}.publicControls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.publicControls label{display:grid;gap:6px;color:var(--muted);font-weight:700;font-size:.86rem}.publicControls input{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--text)}.publicProgramGrid{width:min(1180px,100%);margin:22px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.programCard,.publicEmpty{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.programDate,.programActions,.availability{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.programDate{color:var(--burgundy);font-weight:800}.programCard h2,.publicEmpty h2{margin:12px 0 10px;font-size:1.35rem;letter-spacing:0}.programMeta{min-height:44px;display:grid;gap:3px;margin-bottom:14px}.availability{min-height:54px;border-radius:8px;padding:10px 12px;justify-content:space-between;margin-bottom:14px}.availability strong,.availability span{display:block}.availability.available{background:#e5f2e8;color:var(--green)}.availability.sold_out{background:#fae9ea;color:var(--red)}.availability.unknown{background:#e4f0f7;color:var(--blue)}.programActions{justify-content:flex-end}.publicNotes{display:grid;gap:6px;margin-top:18px;padding-bottom:20px}.easterBackdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:linear-gradient(120deg,#4f0b17db,#7a1022c7),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 80px)}.easterCard{position:relative;width:min(540px,100%);overflow:hidden;border-radius:8px;border:1px solid rgba(201,168,91,.62);background:linear-gradient(180deg,#fffdfafa,#f6f1e8fa),repeating-linear-gradient(135deg,rgba(201,168,91,.12) 0 2px,transparent 2px 18px);box-shadow:0 24px 70px #19121052;padding:34px;text-align:center;animation:easterIn .24s ease-out}.easterCard:before{content:"";position:absolute;inset:0;border-top:6px solid var(--gold);pointer-events:none}.easterClose{position:absolute;top:14px;right:14px}.easterMark{width:72px;height:72px;margin:4px auto 16px;display:grid;place-items:center;border-radius:8px;background:var(--burgundy);color:#fff7e8;box-shadow:inset 0 -8px #0000001f}.easterKicker{margin:0 0 8px;color:var(--burgundy);font-weight:900;letter-spacing:.18em;text-transform:uppercase}.easterCard h2{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:0}.easterCard p{color:var(--muted)}@keyframes easterIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.metricGrid,.exportGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.kanban{grid-template-columns:repeat(2,minmax(210px,1fr))}}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:16px}.topbar{display:grid}.publicHero,.metricGrid,.exportGrid,.kanban,.formGrid,.publicProgramGrid{grid-template-columns:1fr}}@media(max-width:520px){.nav{grid-template-columns:1fr}.topbarActions,.toolbarBand,.exportActions,.programActions,.publicControls,.publicHeader{align-items:stretch}.primaryButton,.secondaryButton,.ghostButton{width:100%}.publicHeader{display:grid}}
