:root{--font-heading: "Inter", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif;--color-text: #334155;--color-muted: #64748b;--color-bg: #f8fafc;--color-primary: #0d9488;--color-primary-strong: #0f766e;--color-accent-soft: #f0fdfa;--color-danger: #e11d48;--color-border: #e5e7eb;--bg-image: none;--radius: 14px;--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .05);--card-bg: #ffffff}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);background-image:var(--bg-image);background-size:cover;background-attachment:fixed;background-position:center;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,.heading{font-family:var(--font-heading);color:var(--color-primary);font-weight:700;line-height:1.15}a{color:var(--color-primary)}.app-shell{max-width:760px;margin:0 auto;padding:16px 16px 96px}.hero{text-align:center;padding:32px 16px 8px}.hero h1{font-size:clamp(2rem,7vw,3.2rem);margin:0 0 8px}.hero .date{font-size:1.1rem;letter-spacing:2px;text-transform:uppercase;opacity:.8}.hero .venue{margin-top:4px;opacity:.7}.card{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 18px 20px;margin:16px 0}.card>form{margin-top:14px;padding-top:14px;border-top:1px dashed var(--color-border)}.card h2{margin:0 0 12px;font-size:1.3rem;font-weight:700;color:var(--color-primary-strong);display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.card h3{color:var(--color-text);font-size:1rem;font-weight:700;margin:16px 0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-size:.95rem;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:filter .15s}.btn-group{display:flex;flex-wrap:wrap;gap:8px}.btn-group>.btn{flex:0 0 auto}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn.small{padding:6px 12px;font-size:.82rem}.btn.danger{background:var(--color-danger)}.btn.small.secondary{border-width:1px;border-color:var(--color-border);color:var(--color-text)}.btn.small.secondary:hover{background:color-mix(in srgb,var(--color-primary) 8%,white);border-color:var(--color-primary);color:var(--color-primary);filter:none}.btn.small.danger{background:transparent;color:var(--color-danger);border:1px solid rgba(225,29,72,.35)}.btn.small.danger:hover{background:var(--color-danger);color:#fff;filter:none}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;font-family:var(--font-body);font-size:.95rem;background:#fff;color:var(--color-text);margin:4px 0 10px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent)}label{font-size:.82rem;font-weight:600;color:var(--color-muted)}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:0}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;background:color-mix(in srgb,var(--color-primary) 12%,white);color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 26%,white)}.muted{color:var(--color-muted);font-size:.88rem}.center{text-align:center}.error{color:var(--color-danger);font-size:.9rem}.list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;margin:8px 0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.list-item:hover{border-color:#00000024;box-shadow:0 3px 12px #0000000f}.list-item>div:first-child{min-width:0}.list-item strong{color:var(--color-text);font-size:1.02rem}.list-item .actions{display:flex;gap:6px;flex-shrink:0;align-items:center}.tabbar{position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid rgba(0,0,0,.08);display:flex;overflow-x:auto;z-index:20;padding:6px 4px;gap:2px}.tabbar button{flex:0 0 auto;background:none;border:none;padding:8px 12px;font-size:.72rem;color:var(--color-text);opacity:.6;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-body)}.tabbar button.active{opacity:1;color:var(--color-primary);font-weight:600}.tabbar .ic{font-size:1.2rem}.rt{margin:4px 0 10px}.rt-toolbar{display:flex;gap:4px;margin-bottom:4px}.rt-toolbar button{width:34px;height:32px;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;line-height:1;padding:0}.rt-toolbar button:hover{background:#f2f2f2}.rt-editor{min-height:90px;border:1px solid rgba(0,0,0,.15);border-radius:10px;padding:10px 12px;background:#fff;color:var(--color-text);font-size:.95rem;outline:none}.rt-editor:empty:before{content:attr(data-placeholder);color:#0006}.rt-view{font-size:.9rem}.notice{background:color-mix(in srgb,var(--color-primary) 8%,white);border:1px solid color-mix(in srgb,var(--color-primary) 24%,white);border-radius:10px;padding:10px 12px;margin:8px 0}.notice strong{color:var(--color-primary-strong, var(--color-primary))}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-box{background:#fff;border-radius:var(--radius);box-shadow:0 20px 50px #0000004d;padding:22px;max-width:460px;width:100%;max-height:85vh;overflow-y:auto}.modal-box h2{color:var(--color-primary-strong, var(--color-primary));font-size:1.25rem}.access-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px}.access-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;max-width:420px;width:100%}
