@import "https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,400;8..144,500;8..144,600;8..144,700&family=DM+Sans:wght@500;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f2fa;--bg-elevated:#fff7ff;--bg-surface:#fef7ff;--bg-surface-2:#f6eff7;--ink:#1d1b20;--muted:#49454f;--line:#cac4d0;--outline-2:#e7dfe9;--primary:#6750a4;--on-primary:#fff;--primary-soft:#eaddff;--primary-soft-ink:#4f378a;--secondary-soft:#d7e3ff;--secondary-soft-ink:#1f3b65;--danger:#b3261e;--danger-soft:#f9dedc;--shadow-1:0 1px 2px #0000002e, 0 1px 3px 1px #0000001a;--shadow-2:0 2px 6px #00000029, 0 1px 2px #0000001f}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 8% -15%,#e9ddff 0,#f7f2fa 34%),radial-gradient(circle at 98% 12%,#d6f2ff 0,#0000 38%),linear-gradient(#f8f3fb 0%,#f2ecf5 100%);min-height:100vh;margin:0;font-family:Roboto Flex,sans-serif}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:DM Sans,sans-serif}p{margin:0}a{color:inherit}a,button,input,select{transition:all .2s}button,input,select{font:inherit}.app-shell{background:var(--bg-surface);border:1px solid var(--outline-2);width:min(1100px,100% - 2rem);box-shadow:var(--shadow-2);border-radius:32px;margin:1.4rem auto;overflow:hidden}.topbar{border-bottom:1px solid var(--outline-2);background:linear-gradient(125deg,#efe3ff 0%,#e4ecff 45%,#def3ff 100%);justify-content:space-between;align-items:end;gap:1rem;padding:1.5rem;display:flex}.topbar h1{font-size:clamp(1.6rem,4vw,2.2rem)}.topbar p{color:var(--muted);margin-top:.35rem}nav{gap:.6rem;display:flex}nav a{border:1px solid var(--line);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff9e;border-radius:999px;padding:.54rem 1rem;font-weight:600;text-decoration:none}nav a:hover{border-color:var(--primary);color:var(--primary-soft-ink);background:var(--primary-soft)}.public-nav-panel{padding-top:.9rem}.public-nav{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.public-nav a{border:1px solid var(--line);background:var(--bg-elevated);border-radius:999px;padding:.56rem 1rem;font-weight:600;text-decoration:none}.public-nav a:hover{border-color:var(--primary);color:var(--primary-soft-ink);background:var(--primary-soft)}.admin-spotlight{background:linear-gradient(135deg,#efe3ff 0%,#dfebff 52%,#d6f0ff 100%);border:1px solid #c8b7ee;position:relative;overflow:hidden}.admin-spotlight:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffffc2 0%,#fff0 72%);width:220px;height:220px;position:absolute;top:-86px;right:-76px}.admin-title{color:#2f2450;font-size:clamp(1.5rem,4.2vw,2.15rem)}.admin-subtitle{color:#4c4660;margin-top:.45rem;font-weight:600}.admin-nav-panel{padding-top:.9rem}.admin-logout-panel{gap:.7rem;display:grid}.admin-logout-panel h3{font-size:1rem}.admin-logout-panel button{width:fit-content}.admin-grid button,.admin-grid input,.admin-grid select{font-size:.9rem}.admin-grid button{border-radius:14px;padding:.54rem .82rem}.admin-grid th,.admin-grid td{font-size:.9rem}.admin-grid .table-panel{overflow-x:auto}.admin-grid .table-panel table{min-width:760px}main{padding:1.25rem}.layout-grid{gap:1rem;display:grid}.admin-grid{grid-template-columns:1fr}.winner-popup-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17132380;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.winner-popup-card{width:min(500px,100%);min-height:300px;box-shadow:var(--shadow-2);text-align:center;background:linear-gradient(140deg,#efe3ff 0%,#dfeaff 56%,#d8f0ff 100%);border:1px solid #c8b7ee;border-radius:22px;align-content:center;justify-items:center;padding:1.7rem 1.3rem;animation:.32s ease-out both winnerReveal;display:grid;position:relative}.winner-popup-kicker{text-transform:uppercase;letter-spacing:.08em;color:#53398d;margin:0;font-size:.76rem;font-weight:700}.winner-popup-card h3{color:#2f2450;margin-top:.65rem;margin-bottom:.6rem;font-size:clamp(1.3rem,5vw,1.9rem);line-height:1.2}.winner-popup-card p{color:#4c4660;margin-top:.35rem;font-weight:600}.winner-popup-close{color:#fff;letter-spacing:.01em;box-shadow:none;background:#ff5f6d;border:1px solid #bf2f3d;border-radius:999px;justify-content:center;align-items:center;padding:.36rem .7rem;font-size:.78rem;font-weight:700;line-height:1.1;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.winner-popup-close:hover{background:#f14d5d}.panel{border:1px solid var(--outline-2);background:var(--bg-surface);box-shadow:var(--shadow-1);border-radius:24px;padding:1rem 1.05rem}.hero-panel{background:linear-gradient(135deg,#eaddff 0%,#d7e3ff 42%,#d9f1ff 100%)}.winner-spotlight{background:linear-gradient(135deg,#efe3ff 0%,#dfebff 52%,#d6f0ff 100%);border:1px solid #c8b7ee;animation:.5s ease-out both winnerReveal;position:relative;overflow:hidden}.winner-spotlight:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffffbf 0%,#fff0 72%);width:240px;height:240px;position:absolute;top:-90px;right:-80px}.winner-kicker{letter-spacing:.08em;text-transform:uppercase;color:#53398d;background:#ffffffb8;border-radius:999px;align-items:center;gap:.35rem;margin-bottom:.65rem;padding:.3rem .72rem;font-size:.77rem;font-weight:700;display:inline-flex}.winner-content{grid-template-columns:auto 1fr;align-items:center;gap:.8rem;display:grid}.winner-avatar{color:#34215f;background:linear-gradient(165deg,#fff 0%,#ece0ff 100%);border:1px solid #c8b7ee;border-radius:20px;place-items:center;width:68px;height:68px;font-size:1.45rem;font-weight:700;display:grid;box-shadow:0 8px 20px #5f3bb02e}.winner-title{color:#2f2450;font-size:clamp(1.65rem,4.6vw,2.4rem);line-height:1.1}.winner-subtitle{color:#4c4660;margin-top:.35rem;font-weight:600}.winner-waiting{color:#6a617c;margin-top:.35rem;font-size:.92rem}.winner{margin-top:.5rem;font-size:1.15rem;font-weight:700}@keyframes winnerReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-top:.8rem;display:grid}.stats div{border:1px solid var(--line);background:var(--bg-surface-2);border-radius:18px;padding:.8rem}.stats span{color:var(--muted);font-size:.9rem;display:block}.stats strong{font-size:1.3rem}.panel-head{justify-content:space-between;align-items:center;gap:.7rem;display:flex}table{border-collapse:collapse;width:100%;margin-top:.8rem}.reorder-actions{gap:.35rem;display:flex}.mini-btn{border-radius:10px;padding:.38rem .55rem;font-size:.76rem;font-weight:600}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.65rem .5rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.88rem}.badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .78rem;font-size:.84rem;font-weight:600;display:inline-flex}.badge.paid{background:var(--secondary-soft);color:var(--secondary-soft-ink)}.badge.unpaid{background:var(--primary-soft);color:var(--primary-soft-ink)}.layout-grid:not(.admin-grid) .badge.paid{color:#06351a;background:#41e37f;border-color:#2fca6c}.layout-grid:not(.admin-grid) .badge.unpaid{color:#fff;background:#ff5f6d;border-color:#e34756}.stacked-form,.inline-form{gap:.7rem;margin-top:.85rem;display:grid}.period-form{grid-template-columns:1fr}label{color:var(--muted);gap:.35rem;display:grid}input,select{border:1px solid var(--line);background:var(--bg-elevated);border-radius:14px;width:100%;padding:.62rem .76rem}input:focus,select:focus{border-color:var(--primary);outline:2px solid #0000;box-shadow:0 0 0 3px #6750a42e}button{cursor:pointer;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-1);border:0;border-radius:16px;padding:.62rem 1rem;font-weight:600}button:hover{filter:brightness(1.05)}button.ghost{background:var(--bg-surface-2);color:var(--ink);border:1px solid var(--line);box-shadow:none}button.danger{background:var(--danger-soft);color:var(--danger);box-shadow:none}button:disabled{opacity:.6;cursor:not-allowed}.status-message{color:var(--muted);margin-top:.8rem}.status-message.error{color:var(--danger)}.hint{color:var(--muted);font-size:.92rem}@media (width>=940px){.layout-grid{grid-template-columns:1fr 1fr}.hero-panel,.table-panel,.admin-grid .table-panel{grid-column:1/-1}.inline-form{grid-template-columns:1fr auto;align-items:center}.period-form{grid-template-columns:1fr 1fr auto}}@media (width<=720px){.app-shell{border-radius:22px}.topbar{flex-direction:column;align-items:start}nav{justify-content:space-between;width:100%}.public-nav{justify-content:stretch}.public-nav a{text-align:center;flex:1}.layout-grid:not(.admin-grid) th:nth-child(3),.layout-grid:not(.admin-grid) td:nth-child(3){display:none}.layout-grid:not(.admin-grid) .table-panel{padding:.9rem}.layout-grid:not(.admin-grid) .table-panel table{margin-top:.7rem}.layout-grid:not(.admin-grid) .table-panel th,.layout-grid:not(.admin-grid) .table-panel td{vertical-align:middle;padding:.75rem .35rem}.layout-grid:not(.admin-grid) .table-panel th:nth-child(2),.layout-grid:not(.admin-grid) .table-panel td:nth-child(2){text-align:right}.layout-grid:not(.admin-grid) .badge{min-width:108px}.admin-grid button,.admin-grid input,.admin-grid select,.admin-grid th,.admin-grid td{font-size:.84rem}.admin-grid .table-panel th,.admin-grid .table-panel td{padding:.62rem .3rem}.admin-grid .table-panel table{min-width:680px}.admin-grid .public-nav a{min-width:0}.admin-logout-panel button{width:100%}.winner-popup-card{border-radius:18px;min-height:280px;padding:1.45rem .95rem}.winner-content{grid-template-columns:1fr}.winner-avatar{border-radius:16px;width:58px;height:58px}.winner-title{font-size:clamp(1.45rem,8vw,2rem)}}
