:root{color:#10231f;background:#f7f4ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(39,128,122,.08),transparent 260px),#f7f4ee}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-header{align-items:center;background:#f7f4eeeb;border-bottom:1px solid rgba(16,35,31,.12);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto auto;min-height:72px;padding:12px clamp(16px,4vw,42px);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.nav-links,.header-actions,.toolbar-row,.detail-heading,.panel-heading,.reservation-bar,.field-row,.inline-actions,.heading-actions{align-items:center;display:flex}.brand{gap:10px;font-weight:800}.brand-mark{align-items:center;background:#10231f;border-radius:7px;color:#f7f4ee;display:inline-flex;height:38px;justify-content:center;width:38px}.nav-links,.header-actions,.heading-actions{gap:10px}.nav-links a{border-bottom:2px solid transparent;color:#42504d;padding:8px 4px}.nav-links a.active{border-color:#d85f3d;color:#10231f}.page-shell{margin:0 auto;max-width:1180px;padding:28px clamp(16px,4vw,42px) 48px}.page-shell.detail-layout{max-width:1120px;padding-bottom:24px;padding-top:18px}.toolbar-row,.detail-heading,.panel-heading,.reservation-bar{justify-content:space-between}h1,h2,p{margin:0}h1{font-size:2rem;line-height:1.15}h2{font-size:1.15rem}p{color:#5c6f87;line-height:1.55}.primary-button,.ghost-button,.icon-button{align-items:center;border:0;border-radius:7px;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:40px}.primary-button{background:#d85f3d;color:#fff;padding:0 16px}.ghost-button{background:#fff;border:1px solid rgba(16,35,31,.16);color:#10231f;padding:0 14px}.icon-button{background:#fff;border:1px solid rgba(16,35,31,.16);color:#10231f;height:40px;width:40px}.primary-button:disabled,.number-cell:disabled{cursor:not-allowed;opacity:.62}.user-chip,.status-pill{background:#27807a1f;border-radius:999px;color:#1c615c;font-size:.82rem;font-weight:800;max-width:220px;overflow:hidden;padding:7px 10px;text-overflow:ellipsis;white-space:nowrap}.raffle-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:22px}.raffle-card,.dashboard-panel,.compact-item{background:#ffffffdb;border:1px solid rgba(16,35,31,.12);border-radius:8px;box-shadow:0 18px 45px #10231f0f}.raffle-card{display:flex;flex-direction:column;gap:12px;min-height:210px;padding:18px}.card-meta{display:flex;gap:10px;justify-content:space-between;margin-top:auto}.card-meta span{background:#10231f0f;border-radius:7px;color:#10231f;font-weight:750;padding:9px 10px}.prize-preview{color:#7a5a18;font-weight:700}.detail-layout{display:grid;gap:12px}.detail-title-block{display:grid;gap:5px}.detail-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.detail-meta-chip{align-items:center;background:#10231f0f;border:1px solid rgba(16,35,31,.05);border-radius:7px;color:#10231f;display:inline-flex;font-size:.84rem;font-weight:800;line-height:1;min-height:24px;padding:4px 8px;white-space:nowrap}.detail-meta-action{color:#1c615c;cursor:pointer}.detail-meta-action:hover{background:#27807a1f;border-color:#27807a29}.detail-status-text{background:#d85f3d1a;border-color:#d85f3d24;color:#9b3d28}.prize-strip{background:#f0b84d24;border:1px solid rgba(122,90,24,.18);border-radius:8px;display:grid;gap:6px;padding:10px 12px}.prize-strip h2{align-items:center;display:flex;gap:8px}.prize-strip ul{display:grid;gap:4px;margin:0;padding-left:20px}.prize-strip li{color:#42504d;line-height:1.45}.board-grid{display:grid;gap:6px;grid-template-columns:repeat(10,minmax(0,1fr))}.number-cell{align-items:center;border:1px solid rgba(16,35,31,.16);border-radius:7px;color:#10231f;display:inline-flex;font-size:.95rem;font-weight:800;justify-content:center;min-height:42px;padding:0}.number-cell.available{background:#fff}.number-cell.pending{background:#f0b84d;color:#392800}.number-cell.confirmed{background:#27807a;color:#fff}.number-cell.taken{background:#10231f14;color:#42504d}.number-cell.selected{background:#d85f3d;border-color:#d85f3d;color:#fff}.reservation-bar{background:#10231f;border-radius:8px;color:#f7f4ee;gap:12px;padding:10px 12px;position:static}.reservation-bar div{display:grid;gap:4px;min-width:0}.reservation-bar strong{overflow-wrap:anywhere}.reservation-bar span{color:#cfdbd7}.reservation-bar .compact-field{color:#cfdbd7;flex:1 1 180px;font-size:.78rem;gap:5px;min-width:150px}.reservation-bar .compact-field input{border-color:#f7f4ee47;min-height:40px}.reservation-list-modal{max-width:620px;width:min(100%,620px)}.admin-table-modal{max-width:760px;width:min(100%,760px)}.admin-table-controls{display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) minmax(160px,.35fr)}.admin-card-list{display:grid;gap:10px;max-height:min(58vh,520px);overflow:auto}.admin-sort-row{align-items:center;color:#42504d;display:flex;flex-wrap:wrap;font-size:.78rem;font-weight:850;gap:6px;letter-spacing:0}.admin-sort-row>span{margin-right:2px}.admin-number-card{background:#ffffffbd;border:1px solid rgba(16,35,31,.12);border-radius:8px;display:grid;gap:10px;padding:12px}.admin-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.admin-card-meta{display:grid;gap:10px;grid-template-columns:minmax(120px,.8fr) minmax(160px,1fr)}.admin-card-meta div{display:grid;gap:3px}.admin-card-meta span{color:#5c6f87;font-size:.78rem;font-weight:800}.admin-sort-button{align-items:center;background:#10231f0f;border:1px solid rgba(16,35,31,.06);border-radius:999px;color:#42504d;cursor:pointer;display:inline-flex;font:inherit;font-weight:inherit;gap:5px;justify-content:flex-start;min-height:28px;padding:4px 9px}.admin-sort-button:hover,.admin-sort-button.active{background:#27807a1f;border-color:#27807a29;color:#1c615c}.reservation-list{display:grid;gap:10px}.reservation-list-item{align-items:center;border:1px solid rgba(16,35,31,.12);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.reservation-list-item span,.reservation-list-item small{color:#5c6f87;display:block;margin-top:2px}.dashboard-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.dashboard-panel{min-width:0;overflow:hidden;padding:18px}.wide-panel{grid-column:1 / -1}.form-grid,.list-stack{display:grid;gap:12px;margin-top:16px;min-width:0}label{color:#42504d;display:grid;font-size:.92rem;font-weight:750;gap:6px;min-width:0}input,select,textarea{background:#fff;border:1px solid rgba(16,35,31,.16);border-radius:7px;color:#10231f;min-height:42px;min-width:0;padding:10px 12px;width:100%}textarea{resize:vertical}.checkbox-field{align-content:end;align-items:center;display:flex;gap:8px;min-height:68px}.checkbox-field input{min-height:18px;width:18px}.modal-backdrop{align-items:center;background:#10231f6b;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:30}.modal-panel{background:#f7f4ee;border:1px solid rgba(16,35,31,.14);border-radius:8px;box-shadow:0 24px 70px #10231f42;display:grid;gap:14px;max-width:460px;padding:18px;width:min(100%,460px)}.modal-heading,.modal-actions{align-items:center;display:flex;justify-content:space-between}.modal-heading{gap:14px}.modal-heading p{font-size:.92rem;margin-top:4px}.modal-actions{gap:10px;justify-content:flex-end}.payment-summary{background:#10231f0f;border-radius:7px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}.payment-summary div{display:grid;gap:3px}.payment-summary span,.payment-history span{color:#5c6f87;font-size:.82rem;font-weight:750}.payment-history{border:1px solid rgba(16,35,31,.1);border-radius:8px;display:grid;gap:8px;padding:10px}.payment-history div{display:grid;gap:2px}.field-row{display:grid;gap:10px;grid-template-columns:minmax(84px,.8fr) minmax(130px,1fr) minmax(84px,.7fr)}.field-row label{min-width:0}.form-grid .primary-button{width:100%}.compact-item{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0;padding:12px}.compact-item span{color:#5c6f87;display:block;margin-top:2px}.action-item{align-items:center}.raffle-item-main{align-items:center;display:flex;flex:1 1 auto;gap:12px;justify-content:space-between;min-width:0}.raffle-item-main>div{min-width:0}.status-finished{background:#d85f3d1f;color:#9b3d28}.modal-panel .field-row{grid-template-columns:minmax(130px,1fr) minmax(84px,.55fr)}.inline-actions{gap:8px}.confirm{color:#1c615c}.reject{color:#b83f2c}.alert,.success,.empty-state,.muted{margin-top:16px}.alert{color:#b83f2c}.success{color:#1c615c;font-weight:750}.center-panel{display:grid;gap:16px;margin:10vh auto;max-width:420px;padding:24px;place-items:start}@media(max-width:760px){.app-header{gap:7px 10px;grid-template-areas:"brand actions" "nav nav";grid-template-columns:minmax(0,1fr) auto;min-height:auto;padding:8px;position:static}.page-shell{max-width:none;padding:10px 8px 24px;width:100%}.page-shell.detail-layout{min-height:calc(100svh - 88px);padding-top:10px}.brand{font-size:.95rem;gap:8px;grid-area:brand}.brand-mark{height:32px;width:32px}.nav-links{grid-area:nav}.nav-links a{padding:3px 2px}.header-actions{gap:6px;grid-area:actions;justify-content:flex-end}.header-actions .ghost-button,.header-actions .primary-button{font-size:.9rem;min-height:36px;padding:0 10px}.header-actions .icon-button{height:36px;width:36px}.user-chip{max-width:148px;padding:7px 9px}.header-actions,.nav-links,.toolbar-row,.detail-heading,.reservation-bar{align-items:stretch;flex-wrap:wrap}.detail-layout{display:flex;flex-direction:column;gap:10px}.detail-heading{align-items:start;flex-wrap:nowrap;gap:10px}.detail-heading h1{font-size:1.45rem}.detail-title-block{gap:6px}.heading-actions .icon-button{height:36px;width:36px}.detail-meta-row{gap:5px}.detail-meta-chip{font-size:.74rem;min-height:22px;padding:4px 6px}.prize-strip{gap:4px;padding:8px 10px}.prize-strip h2{font-size:1rem}.prize-strip ul{padding-left:18px}.board-grid{flex:1 1 auto;gap:3px;grid-auto-rows:minmax(30px,1fr);grid-template-columns:repeat(10,minmax(0,1fr));height:100%;min-height:0}.number-cell{border-radius:6px;font-size:.82rem;min-height:0;min-width:0}.reservation-bar{bottom:auto;gap:10px;padding:10px 12px;position:static}.reservation-bar .primary-button{min-height:40px;padding:0 12px}.compact-item,.modal-actions,.reservation-list-item,.raffle-item-main{align-items:stretch;flex-direction:column}.payment-summary,.admin-table-controls{grid-template-columns:1fr}.admin-card-list{margin-inline:-2px;max-height:58vh}.admin-card-header,.admin-card-meta{align-items:stretch;grid-template-columns:1fr}.admin-card-header{display:grid}.inline-actions,.modal-actions,.inline-actions .ghost-button,.modal-actions button{width:100%}.dashboard-grid,.field-row{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){:root{background:#111713;color:#eef7f2;color-scheme:dark}body{background:linear-gradient(180deg,rgba(39,128,122,.16),transparent 280px),#111713}.app-header{background:#111713eb;border-color:#eef7f21f}.brand-mark{background:#eef7f2;color:#10231f}.nav-links a,p,label,.compact-item span,.reservation-list-item span,.reservation-list-item small,.payment-summary span,.payment-history span,.muted{color:#b8c9c2}.nav-links a.active{border-color:#e56b48;color:#eef7f2}.ghost-button,.icon-button,.number-cell.available,input,select,textarea{background:#18221d;border-color:#eef7f229;color:#eef7f2}.raffle-card,.dashboard-panel,.compact-item,.modal-panel{background:#18221deb;border-color:#eef7f21f;box-shadow:0 18px 45px #00000038}.user-chip,.status-pill{background:#4baa9d2e;color:#8ee5d7}.status-finished,.detail-status-text{background:#e56b4829;border-color:#e56b483d;color:#ffb19b}.card-meta span,.detail-meta-chip,.payment-summary{background:#eef7f214;border-color:#eef7f214;color:#eef7f2}.detail-meta-action{color:#8ee5d7}.detail-meta-action:hover{background:#4baa9d2e;border-color:#4baa9d42}.prize-strip{background:#f0b84d1f;border-color:#f0b84d42}.prize-strip li{color:#d7c7a1}.prize-preview{color:#efc879}.number-cell{border-color:#eef7f229;color:#eef7f2}.number-cell.pending{background:#c58f28;color:#1d1400}.number-cell.confirmed{background:#2a8f86;color:#fff}.number-cell.taken{background:#eef7f21a;color:#b8c9c2}.number-cell.selected,.primary-button{background:#e56b48;border-color:#e56b48;color:#fff}.reservation-bar{background:#071a15;color:#eef7f2}.reservation-bar span{color:#b8c9c2}.modal-backdrop{background:#020806b3}.payment-history,.reservation-list-item,.admin-number-card{border-color:#eef7f21f}.admin-sort-row,.admin-card-meta span{color:#b8c9c2}.admin-number-card{background:#eef7f20f}.admin-sort-button{background:#eef7f214;border-color:#eef7f214;color:#b8c9c2}.admin-sort-button:hover,.admin-sort-button.active{background:#4baa9d2e;border-color:#4baa9d42;color:#8ee5d7}.confirm,.success{color:#8ee5d7}.reject,.alert{color:#ff9a83}}
