*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}img{max-width:100%;height:auto}:root{--green-500: #22c55e;--green-600: #16a34a;--green-50: #f0fdf4;--green-100: #dcfce7;--contact-fg: #111827;--contact-link: #15803d;--bg: #f9fafb;--bg-card: #ffffff;--gray-100: #f3f4f6;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-900: #111827;--border: #d1d5db;--footer-fg: #e5e7eb;--radius: 12px}@media(prefers-color-scheme:dark){:root{--green-50: #052e16;--green-100: #064e3b;--contact-fg: #bbf7d0;--contact-link: #86efac;--bg: #0a0a0a;--bg-card: #18181b;--gray-100: #27272a;--gray-400: #71717a;--gray-500: #a1a1aa;--gray-600: #d4d4d8;--gray-900: #fafafa;--border: #3f3f46;--footer-fg: #1a1a1a}}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--gray-900);-webkit-font-smoothing:antialiased;line-height:1.5}.page{min-height:100vh;display:flex;justify-content:center;padding:0 24px}.container{max-width:720px;width:100%;padding:64px 0 48px}.hero{text-align:center;margin-bottom:56px;padding:40px 0 24px;display:flex;flex-direction:column;align-items:center}.brand-logo{width:100%;max-width:380px;height:auto;display:block;margin-bottom:20px}@media(prefers-color-scheme:dark){.brand-logo{background:#f9fafb;padding:16px 20px;border-radius:16px}}.brand-tagline{font-size:17px;color:var(--gray-500);max-width:480px;line-height:1.45}.features{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.feature-card{background:var(--bg-card);border-radius:var(--radius);padding:20px;display:flex;align-items:flex-start;gap:14px}.feature-icon{flex-shrink:0;width:40px;height:40px;background:var(--green-50);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--green-600)}.feature-icon svg{width:20px;height:20px}.feature-content h2{font-size:15px;font-weight:600;margin-bottom:4px}.feature-content p{font-size:14px;color:var(--gray-600);line-height:1.5}.demo-cta{text-align:center;padding:32px 24px;margin-bottom:16px}.demo-cta-title{font-size:22px;font-weight:700;margin-bottom:12px}.demo-cta-subtitle{font-size:14px;color:var(--gray-500);line-height:1.55;max-width:400px;margin:0 auto 24px}.demo-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:400px;height:56px;background:var(--green-500);color:#fff;font-size:17px;font-weight:600;border:none;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:background .15s}.demo-cta-button:hover{background:var(--green-600)}.demo-cta-icon{width:20px;height:20px;opacity:.9}.demo-cta-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:12px;color:var(--gray-400)}.demo-cta-hint svg{width:16px;height:16px;flex-shrink:0}.contact{text-align:center;padding:28px 24px;background:var(--green-50);border-radius:var(--radius)}.contact p{font-size:15px;color:var(--contact-fg);line-height:1.7}.contact a{color:var(--contact-link);text-decoration:none;font-weight:600}.contact a:hover{text-decoration:underline}@media(min-width:768px){.container{max-width:960px;padding:80px 0 64px}.hero{margin-bottom:64px;padding:56px 0 32px}.brand-logo{max-width:420px;margin-bottom:24px}.brand-tagline{font-size:21px}.features{flex-direction:row;gap:16px;margin-bottom:40px}.feature-card{flex:1;flex-direction:column;align-items:center;text-align:center;padding:28px 20px;gap:16px}.feature-icon{width:48px;height:48px}.feature-icon svg{width:24px;height:24px}.feature-content h2{font-size:16px}.demo-cta{padding:40px 24px;margin-bottom:20px}.demo-cta-title{font-size:26px}.demo-cta-subtitle{font-size:15px}.demo-cta-button{width:auto;padding:0 48px}.contact{padding:36px 40px}.contact p{font-size:16px}}.page-footer{margin-top:24px;text-align:center}.page-footer p{font-size:10px;color:var(--footer-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Cascadia Mono,Roboto Mono,Consolas,monospace;letter-spacing:.02em}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#1a1a1a;line-height:1.5}.demo-page{min-height:100vh;display:flex;flex-direction:column}.demo-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.demo-header__left{display:flex;align-items:center;gap:8px;flex-shrink:0}.demo-header__logo{font-size:20px;font-weight:700;color:#22c55e;letter-spacing:-.5px}.demo-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;background:#dcfce7;color:#166534;border-radius:10px}.demo-header__link{display:flex;align-items:center;gap:6px;flex:1;min-width:200px}.demo-link-input{flex:1;padding:6px 10px;border:1px solid #d4d4d4;border-radius:6px;font-size:13px;color:#525252;background:#fafafa;outline:none}.demo-link-input:focus{border-color:#22c55e}.demo-header__right{display:flex;align-items:center;gap:10px;flex-shrink:0}.demo-ws-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.demo-ws-dot--connected{background:#22c55e;box-shadow:0 0 4px #22c55e}.demo-ws-dot--disconnected{background:#ef4444}.demo-btn{padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.demo-btn:disabled{opacity:.5;cursor:not-allowed}.demo-btn--primary{background:#22c55e;color:#fff}.demo-btn--primary:hover:not(:disabled){background:#16a34a}.demo-btn--copy{background:#e5e5e5;color:#404040}.demo-btn--copy:hover{background:#d4d4d4}.demo-btn--reset{background:transparent;color:#737373;border:1px solid #d4d4d4}.demo-btn--reset:hover{background:#fafafa}.demo-btn--outline{background:transparent;color:#22c55e;border:1px solid #22c55e;width:100%;margin-top:12px}.demo-btn--outline:hover:not(:disabled){background:#f0fdf4}.demo-info-bar{padding:10px 16px;background:#e8f5e9;color:#2e7d32;font-size:13px;line-height:1.4;text-align:center}.demo-columns{display:flex;flex-direction:column;gap:16px;padding:16px;flex:1}@media(min-width:900px){.demo-columns{flex-direction:row}.demo-column{flex:1}}.demo-column{background:#fff;border-radius:10px;border:1px solid #e5e5e5;padding:16px}.demo-column__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.demo-column__header h2{font-size:15px;font-weight:600;color:#262626}.demo-placeholder{font-size:13px;color:#a3a3a3;text-align:center;padding:24px 0}.demo-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#737373;cursor:pointer}.demo-toggle input{accent-color:#22c55e}.demo-gates{display:flex;gap:8px;justify-content:center}.demo-gate{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;border-radius:8px;border:1px solid #e5e5e5;min-width:90px}.demo-gate--closed{background:#fef2f2;border-color:#fecaca}.demo-gate--open{background:#f0fdf4;border-color:#bbf7d0;animation:gate-pulse 1s ease-in-out infinite}@keyframes gate-pulse{0%,to{opacity:1}50%{opacity:.7}}.demo-gate__icon{font-size:20px}.demo-gate__label{font-size:11px;color:#737373;white-space:nowrap}.demo-users-list{list-style:none;display:flex;flex-direction:column;gap:2px}.demo-user-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;transition:background .15s}.demo-user-row:hover{background:#fafafa}.demo-user-row--revoked{opacity:.45}.demo-user-row__avatar{width:32px;height:32px;border-radius:50%;background:#e8f5e9;color:#2e7d32;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.demo-user-row__info{display:flex;flex-direction:column;flex:1;min-width:0}.demo-user-row__name{font-size:14px;font-weight:500;color:#262626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-user-row__house{font-size:12px;color:#737373}.demo-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.demo-status-badge--pending{background:#fef3c7;color:#92400e}.demo-status-badge--active{background:#dcfce7;color:#166534}.demo-status-badge--revoked{background:#f3f4f6;color:#6b7280}.demo-user-row__actions{position:relative;flex-shrink:0}.demo-btn-icon{width:32px;height:32px;border:none;background:transparent;border-radius:6px;font-size:18px;color:#737373;cursor:pointer;display:flex;align-items:center;justify-content:center;letter-spacing:1px}.demo-btn-icon:hover{background:#f0f0f0}.demo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.demo-modal{background:#fff;border-radius:20px;padding:28px 24px 20px;width:90%;max-width:340px;box-shadow:0 8px 32px #0003}.demo-modal__title{font-size:20px;font-weight:700;text-align:center;margin-bottom:16px;color:#212121}.demo-form-label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:#757575;margin-bottom:12px}.demo-form-input{padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:15px;outline:none;transition:border-color .15s}.demo-form-input:focus{border-color:#22c55e}.demo-btn--full{width:100%;padding:12px;font-size:16px;font-weight:600;margin-top:4px}.demo-modal__cancel{display:block;width:100%;background:none;border:none;padding:10px;font-size:14px;font-weight:500;color:#757575;cursor:pointer;text-align:center}.demo-modal__cancel:hover{color:#424242}.demo-modal__hint{font-size:10px;color:#bdbdbd;text-align:center;margin-top:4px}.demo-popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.demo-popover{position:absolute;right:0;top:100%;z-index:51;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000002e;padding:16px;width:260px;margin-top:4px}.demo-popover__header strong{display:block;font-size:16px;color:#212121}.demo-popover__sub{display:flex;align-items:center;gap:8px;font-size:13px;color:#757575;margin-top:2px}.demo-popover__divider{border:none;border-top:1px solid #f0f0f0;margin:10px 0}.demo-popover__invite-url{font-size:12px;color:#525252;word-break:break-all;margin-bottom:8px;padding:6px 8px;background:#fafafa;border-radius:6px}.demo-popover__action{display:block;width:100%;padding:10px 8px;border:none;background:none;text-align:left;font-size:15px;cursor:pointer;border-radius:8px;color:#4caf50;transition:background .1s}.demo-popover__action:hover{background:#f5f5f5}.demo-popover__action:disabled{opacity:.5;cursor:not-allowed}.demo-popover__action--danger{color:#ef5350}.demo-popover__debt-row{display:flex;align-items:center;justify-content:space-between;padding:8px;font-size:15px;color:#424242}.demo-toggle-btn{padding:4px 14px;border:1px solid #e0e0e0;border-radius:12px;background:#f5f5f5;font-size:12px;font-weight:600;cursor:pointer;color:#757575;transition:all .15s}.demo-toggle-btn--active{background:#ef5350;border-color:#ef5350;color:#fff}.demo-requests-list{list-style:none;display:flex;flex-direction:column;gap:2px}.demo-request-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;transition:background .15s}.demo-request-row:hover{background:#fafafa}.demo-request-row--fulfilled{opacity:.45}.demo-request-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}.demo-request-badge--guest{background:#dbeafe;color:#1e40af}.demo-request-badge--courier{background:#fef3c7;color:#92400e}.demo-request-badge--master{background:#ede9fe;color:#5b21b6}.demo-request-badge--default{background:#e5e5e5;color:#525252}.demo-request-row__info{flex:1;min-width:0}.demo-request-row__text{font-size:13px;color:#525252;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.demo-request-row__ack{font-size:14px;flex-shrink:0;color:#a3a3a3}.demo-request-row__ack--done{color:#22c55e}.demo-request-detail{font-size:13px;color:#525252;padding:4px 8px}.demo-log{margin-top:12px;border-top:1px solid #f0f0f0;padding-top:12px}.demo-log__list{list-style:none;display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.demo-log__entry{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}.demo-log__badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;background:#e5e5e5;color:#525252}.demo-log__badge--invite_created{background:#dbeafe;color:#1e40af}.demo-log__badge--jwt_issued{background:#dcfce7;color:#166534}.demo-log__badge--invite{background:#dbeafe;color:#1e40af}.demo-log__badge--jwt{background:#dcfce7;color:#166534}.demo-log__badge--open{background:#fef3c7;color:#92400e}.demo-log__badge--ack{background:#d1fae5;color:#065f46}.demo-log__badge--info{background:#e0e7ff;color:#3730a3}.demo-log__badge--debt{background:#fce7f3;color:#9d174d}.demo-log__badge--pass{background:#f0fdf4;color:#15803d}.demo-log__badge--revoke,.demo-log__badge--user_revoked{background:#fee2e2;color:#991b1b}.demo-log__text{flex:1;min-width:0;color:#525252;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-log__time{flex-shrink:0;color:#a3a3a3;font-size:11px}.demo-metrics-bar{display:flex;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto;flex-wrap:wrap}.demo-metric{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:6px 12px;border-radius:8px;background:#fafafa}.demo-metric__value{font-size:20px;font-weight:700;color:#22c55e;line-height:1.2}.demo-metric__label{font-size:11px;color:#737373;white-space:nowrap}
