:root{color:#111827;background:#f3f4f6;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:420px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;box-shadow:0 10px 30px #11182714}.card.dashboard{max-width:960px}h1,h2{margin:0 0 8px}.muted{color:#6b7280;margin:0 0 24px}.form{display:grid;gap:16px}label{display:grid;gap:8px;font-size:14px;font-weight:600}.field-hint{font-size:12px;font-weight:400;color:#6b7280}.field-hint.success{color:#166534}input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit}textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;resize:vertical}input[type=file]{padding:8px 0;border:none}button,.link-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;border:none;background:#111827;color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button:disabled{opacity:.7;cursor:not-allowed}.error{margin:0;color:#b91c1c;font-size:14px}.actions{display:flex;gap:12px;flex-wrap:wrap}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.campaign-section h2{margin-bottom:8px}.campaign-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.campaign-toolbar h2{margin:0}.campaign-group{margin-bottom:28px}.campaign-group h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.campaign-list{display:grid;gap:12px}.campaign-card{display:grid;gap:12px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.campaign-card.compact{gap:8px}.campaign-card-range{margin:0;font-size:13px}.campaign-thumb,.campaign-preview,.prize-image-preview img{width:100%;max-height:280px;object-fit:contain;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.campaign-thumb{max-height:200px}.prize-image-preview{display:grid;gap:6px;max-width:360px}.past-campaigns{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;background:#fafafa}.past-campaigns summary{cursor:pointer;font-weight:600;color:#374151}.past-campaigns .campaign-list,.past-campaigns .muted{margin-top:12px}.month-tabs{display:flex;gap:8px;margin-bottom:24px}.tab{background:#f3f4f6;color:#111827;border:1px solid #d1d5db}.tab.active{background:#111827;color:#fff;border-color:#111827}.campaign-readonly{display:grid;gap:16px}.campaign-details{display:grid;gap:12px;margin:0}.campaign-details dt{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.campaign-details dd{margin:4px 0 0}button.secondary{background:#fff;color:#111827;border:1px solid #d1d5db}button.danger{background:#fff;color:#b91c1c;border:1px solid #fecaca}.campaign-actions{display:flex;gap:8px;flex-wrap:wrap}.campaign-empty{text-align:center}.campaign-empty button{margin-top:8px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-row input[type=time]{min-width:9.5rem}@media(max-width:520px){.date-row{grid-template-columns:1fr}}.success-banner,.success{margin:0;color:#166534;font-size:14px}.success-banner{padding:12px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px}.raffle-draw-section{margin-top:32px;padding-top:32px;border-top:1px solid #e5e7eb}.section-heading{margin-bottom:16px}.section-copy{margin-bottom:0}.mode-toggle{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.mode-toggle button.active{background:#111827;color:#fff}.draw-panel{display:grid;gap:12px;margin-bottom:16px}.draw-panel-actions{display:flex;gap:8px;flex-wrap:wrap}.draw-table-wrap{overflow-x:auto}.draw-table{width:100%;border-collapse:collapse;font-size:14px}.draw-table th,.draw-table td{padding:8px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.draw-table input{width:100%;min-width:120px}.draw-table .winner-row{background:#ecfdf5}.draw-results{display:grid;gap:16px;margin-top:16px}.draw-summary{margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;word-break:break-all}.checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.helper-copy{margin:0;font-size:14px}
