:root{--primary:#2563eb;--primary-hover:#1d4ed8;--success:#16a34a;--warning:#f59e0b;--danger:#dc2626;--muted:#6b7280;--bg:#f9fafb;--surface:#fff;--border:#e5e7eb;--text:#111827;--text-secondary:#6b7280;--radius:8px;--shadow:0 1px 3px #0000001a;--shadow-lg:0 4px 12px #0000001a;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh}.app{flex-direction:column;min-height:100dvh;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;padding:0 16px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:800px;height:56px;margin:0 auto;display:flex}.logo{color:var(--primary);white-space:nowrap;font-size:18px;font-weight:700;text-decoration:none}.nav{align-items:center;gap:12px;font-size:14px;display:flex;overflow-x:auto}.nav a{color:var(--text-secondary);white-space:nowrap;text-decoration:none}.nav a:hover{color:var(--text)}.main{flex:1;padding:24px 16px}.page{max-width:800px;margin:0 auto}.page-center{max-width:600px;margin:0 auto}.page h1{margin-bottom:4px;font-size:24px;font-weight:700}.page-center h1{text-align:center;margin-bottom:8px;font-size:28px;font-weight:700}.subtitle{color:var(--text-secondary);text-align:center;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:24px}.card h2{margin-bottom:12px;font-size:18px;font-weight:600}.card h3{margin-bottom:8px;font-size:16px;font-weight:600}.share-section{background:var(--bg);border-radius:var(--radius);text-align:center;margin-top:16px;padding:16px}.event-card{text-align:center}.event-meta{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:12px 20px;margin:16px 0;font-size:14px;display:flex}.event-description{color:var(--text-secondary);margin:16px 0}.event-slots{margin:20px 0}.slot-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.slot-chip{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:4px 12px;font-size:13px}.auth-section{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.success-message{text-align:center;border-radius:var(--radius);background:#f0fdf4;border:1px solid #bbf7d0;padding:16px}.success-message h3{color:var(--success)}.form-stack{flex-direction:column;gap:16px;display:flex}.form-stack label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:14px;font-weight:500;display:flex}.form-row{align-items:flex-end;gap:8px;display:flex}.form-row label{color:var(--text-secondary);flex-direction:column;flex:1;gap:4px;font-size:14px;font-weight:500;display:flex}input,textarea,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:10px 12px;font-family:inherit;font-size:16px}input:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}textarea{resize:vertical}.checkbox-group{flex-direction:column;gap:8px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex;flex-direction:row!important;font-weight:400!important}.checkbox-label input[type=checkbox]{width:auto}.hint{color:var(--muted);font-size:13px}.btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--primary);border:1px solid var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff}.button-group{flex-wrap:wrap;gap:12px;display:flex}.back-link{color:var(--primary);margin-bottom:16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.btn-link{color:var(--primary);cursor:pointer;font-size:inherit;font-weight:inherit;background:0 0;border:none;padding:0}.btn-link:hover{text-decoration:underline}.btn-small{padding:4px 12px;font-size:13px}.btn-accept{background:var(--success)}.btn-accept:hover{background:#15803d}.btn-decline{background:var(--danger)}.btn-decline:hover{background:#b91c1c}.btn-cancel{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-cancel:hover{background:#fef2f2}.attendee-grid{grid-template-columns:1fr;gap:12px;margin-top:16px;display:grid}@media (width>=600px){.attendee-grid{grid-template-columns:1fr 1fr}}.attendee-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;align-items:flex-start;gap:12px;padding:16px;text-decoration:none;transition:box-shadow .15s;display:flex}.attendee-card:hover{box-shadow:var(--shadow-lg)}.attendee-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex}.attendee-avatar.large{width:64px;height:64px;font-size:28px}.attendee-info h3{margin-bottom:4px;font-size:16px;font-weight:600}.attendee-bio{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.you-badge{background:var(--bg);border:1px solid var(--border);color:var(--muted);vertical-align:middle;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.profile-card{text-align:center}.profile-header{flex-direction:column;align-items:center;gap:12px;margin-bottom:16px;display:flex}.profile-bio{color:var(--text-secondary);text-align:left;margin-bottom:16px}.contact-info{color:var(--text-secondary);margin-bottom:4px;font-size:14px}.meeting-request-section{border-top:1px solid var(--border);text-align:left;margin-top:24px;padding-top:24px}.slot-picker{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.slot-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;padding:8px 16px;font-size:14px;transition:border-color .15s}.slot-btn:hover{border-color:var(--primary)}.slot-btn.selected{border-color:var(--primary);color:var(--primary);background:#eff6ff;font-weight:600}.meeting-list{flex-direction:column;gap:12px;margin:12px 0 24px;display:flex}.meeting-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.meeting-card.incoming{border-left:4px solid var(--warning)}.meeting-card.confirmed{border-left:4px solid var(--success)}.meeting-card.pending{border-left:4px solid var(--muted)}.meeting-card.past{opacity:.6}.meeting-info strong{font-size:16px}.meeting-time{color:var(--text-secondary);margin-top:2px;font-size:13px}.meeting-actions{align-items:center;gap:8px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-pending{color:#92400e;background:#fef3c7}.badge-accepted{color:#065f46;background:#d1fae5}.badge-declined{color:#991b1b;background:#fee2e2}.badge-cancelled{color:#6b7280;background:#f3f4f6}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;display:grid}@media (width>=600px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.stat-number{color:var(--primary);font-size:32px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:13px}.admin-table{flex-direction:column;gap:8px;margin:12px 0 24px;display:flex}.admin-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.admin-actions{align-items:center;gap:8px;display:flex}.dim{color:var(--text-secondary);font-size:14px}.share-input{flex:1;font-size:14px}.my-events-list{flex-direction:column;gap:8px;display:flex}.my-event-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:box-shadow .15s;display:flex}.my-event-item:hover{box-shadow:var(--shadow)}.error{color:var(--danger)}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 0}section{margin-bottom:8px}section h2{margin-bottom:4px;font-size:18px;font-weight:600}
