/* Erfan Platform — shared UI primitives v0.9 */
.ebp-icon{width:21px;height:21px;display:block;flex:none}.ebp-icon.large{width:32px;height:32px}
.ebp-monogram{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--ebp-ink);color:#fff;font-size:15px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ebp-eyebrow{font-size:var(--ebp-type-caption);font-weight:760;color:var(--ebp-muted);letter-spacing:.055em;text-transform:uppercase}
.ebp-primary,.ebp-secondary,.ebp-ghost{min-height:46px;border-radius:14px;padding:0 17px;font-weight:710;font-size:var(--ebp-type-meta);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;text-decoration:none}
.ebp-primary{background:var(--ebp-ink);color:#fff;box-shadow:0 10px 25px rgba(8,26,51,.13)}.ebp-primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(8,26,51,.17)}.ebp-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}
.ebp-secondary{background:rgba(255,255,255,.82);border-color:var(--ebp-line);color:var(--ebp-ink);box-shadow:var(--ebp-shadow-control)}.ebp-secondary:hover{background:#fff;border-color:var(--ebp-line-strong)}
.ebp-ghost{background:transparent;border-color:var(--ebp-line);color:var(--ebp-ink-2)}.ebp-primary.small,.ebp-secondary.small,.ebp-ghost.small{min-height:38px;padding:0 12px;font-size:var(--ebp-type-caption)}.wide{width:100%}
.ebp-icon-button,.ebp-avatar-button{width:42px;height:42px;border:1px solid var(--ebp-line);background:var(--ebp-glass);border-radius:14px;display:grid;place-items:center;padding:0;position:relative;box-shadow:var(--ebp-shadow-control)}.ebp-avatar-button img{width:100%;height:100%;object-fit:cover;border-radius:13px}.ebp-bell i{position:absolute;inset-block-start:-5px;inset-inline-end:-5px;min-width:19px;height:19px;padding:0 4px;border-radius:10px;background:var(--ebp-ink);color:#fff;font-style:normal;font-size:12px;display:grid;place-items:center;border:2px solid var(--ebp-bg)}
.ebp-language{display:flex;gap:3px;align-items:center}.ebp-language button{border:0;background:transparent;border-radius:9px;padding:6px 7px;font-size:12px;color:var(--ebp-muted)}.ebp-language button.active{background:var(--ebp-ink);color:#fff}
.ebp-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.ebp-section-head h2{font-size:var(--ebp-type-title-3);line-height:1.25;margin:0;letter-spacing:-.025em}.ebp-section-head button{border:0;background:none;font-size:var(--ebp-type-caption);font-weight:680;color:var(--ebp-muted);padding:5px}
.ebp-page-title{padding:38px 0 28px}.ebp-page-title h1,.ebp-club-landing h1{font-size:clamp(36px,4vw,54px);line-height:1.06;letter-spacing:-.045em;margin:8px 0 0;max-width:900px;font-weight:780}.ebp-page-title p,.ebp-club-landing>p{font-size:var(--ebp-type-body);line-height:1.85;color:var(--ebp-ink-2);max-width:700px;margin:16px 0 0}
.ebp-filter-row,.ebp-subnav{display:flex;gap:7px;overflow:auto;padding:2px 0 18px;scrollbar-width:none}.ebp-filter-row::-webkit-scrollbar,.ebp-subnav::-webkit-scrollbar{display:none}.ebp-filter-row button,.ebp-subnav button{min-height:38px;border:1px solid var(--ebp-line);background:rgba(255,255,255,.55);padding:0 12px;border-radius:12px;white-space:nowrap;font-size:var(--ebp-type-caption);font-weight:650;color:var(--ebp-ink-2)}.ebp-filter-row button.active,.ebp-subnav button.active{background:var(--ebp-ink);border-color:var(--ebp-ink);color:#fff}
.ebp-searchbox{height:56px;background:var(--ebp-glass);border:1px solid var(--ebp-line);display:flex;align-items:center;gap:11px;border-radius:17px;padding:0 16px;box-shadow:var(--ebp-shadow-control);margin-bottom:18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.ebp-searchbox.compact{height:48px;margin-bottom:14px}.ebp-searchbox input{border:0;outline:0;background:transparent;width:100%;color:var(--ebp-ink);font-size:var(--ebp-type-callout)}.ebp-searchbox .ebp-icon{color:var(--ebp-muted)}
.ebp-empty-state{padding:54px 24px;border:1px dashed var(--ebp-line-strong);border-radius:22px;text-align:center;color:var(--ebp-muted);background:rgba(255,255,255,.28)}.ebp-empty-state>.ebp-icon{margin:0 auto 13px;width:30px;height:30px;color:var(--ebp-gold)}.ebp-empty-state h3{color:var(--ebp-ink);margin:0 0 8px;font-size:var(--ebp-type-headline)}.ebp-empty-state p{max-width:470px;margin:0 auto 20px;line-height:1.75;font-size:var(--ebp-type-meta)}.ebp-empty-inline{padding:20px 0;color:var(--ebp-muted);font-size:var(--ebp-type-meta)}
.ebp-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:30px 0}.ebp-value-grid>div{background:rgba(255,255,255,.7);border:1px solid var(--ebp-line);border-radius:20px;padding:19px;display:flex;flex-direction:column;gap:9px}.ebp-value-grid .ebp-icon{color:var(--ebp-gold);width:25px;height:25px}.ebp-value-grid strong{font-size:var(--ebp-type-callout)}.ebp-value-grid span{font-size:var(--ebp-type-meta);line-height:1.65;color:var(--ebp-muted)}
.ebp-progress{height:5px;background:var(--ebp-surface-2);border-radius:99px;margin-bottom:22px;overflow:hidden}.ebp-progress i{display:block;height:100%;background:var(--ebp-ink);border-radius:99px}
.ebp-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.ebp-form-actions .ebp-primary,.ebp-form-actions .ebp-ghost{flex:1}
.ebp-input{display:block;margin-bottom:13px}.ebp-input>span{display:block;font-size:var(--ebp-type-caption);color:var(--ebp-muted);font-weight:680;margin-bottom:7px}.ebp-input input,.ebp-input textarea,.ebp-input select{width:100%;border:1px solid var(--ebp-line);border-radius:14px;background:#fff;padding:12px 13px;outline:0;color:var(--ebp-ink);transition:border-color .16s ease,box-shadow .16s ease}.ebp-input input{min-height:46px}.ebp-input textarea{min-height:125px;resize:vertical;line-height:1.75}.ebp-input input:focus,.ebp-input textarea:focus,.ebp-input select:focus{border-color:rgba(49,95,143,.38);box-shadow:0 0 0 3px rgba(49,95,143,.08)}
.ebp-choice-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.ebp-choice-row input{position:absolute;opacity:0}.ebp-choice-row label span{display:block;border:1px solid var(--ebp-line);border-radius:11px;padding:8px 10px;font-size:var(--ebp-type-caption);background:#fff}.ebp-choice-row input:checked+span{background:var(--ebp-ink);color:#fff;border-color:var(--ebp-ink)}
.ebp-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.ebp-app-grid .full{grid-column:1/-1}.ebp-form-note{margin:9px 0 0;color:var(--ebp-muted);font-size:var(--ebp-type-caption);line-height:1.7}.ebp-visibility{height:43px;border:1px solid var(--ebp-line);border-radius:13px;background:rgba(255,255,255,.7);color:var(--ebp-ink-2);padding:0 10px;font-size:var(--ebp-type-caption);outline:0}
.ebp-language-checks{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.ebp-language-checks label{position:relative}.ebp-language-checks input{position:absolute;opacity:0;pointer-events:none}.ebp-language-checks span{display:block;border:1px solid var(--ebp-line);background:rgba(255,255,255,.65);border-radius:11px;padding:8px 10px;font-size:var(--ebp-type-caption)}.ebp-language-checks input:checked+span{background:var(--ebp-ink);border-color:var(--ebp-ink);color:#fff}
.ebp-connected-list,.ebp-session-list{display:flex;flex-direction:column;border-top:1px solid var(--ebp-line);margin-top:14px}.ebp-connected-list>div,.ebp-session-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--ebp-line)}.ebp-connected-list span,.ebp-session-list span{display:flex;flex-direction:column;gap:3px}.ebp-connected-list b,.ebp-session-list b{font-size:var(--ebp-type-meta)}.ebp-connected-list small,.ebp-session-list small{font-size:var(--ebp-type-caption);color:var(--ebp-muted)}.ebp-connected-list em,.ebp-session-list em{font-style:normal;font-size:var(--ebp-type-caption);color:var(--ebp-muted);border:1px solid var(--ebp-line);border-radius:999px;padding:5px 8px}.ebp-connected-list em.ok{color:var(--ebp-green);border-color:rgba(47,123,88,.2);background:rgba(47,123,88,.06)}
.ebp-connected-chip,.ebp-pending-chip,.ebp-own-chip{font-size:var(--ebp-type-caption);border-radius:999px;padding:6px 8px;white-space:nowrap}.ebp-connected-chip{background:rgba(47,123,88,.08);color:var(--ebp-green)}.ebp-pending-chip,.ebp-own-chip{background:rgba(179,138,77,.10);color:#7b5e2e}.ebp-own-chip{border:1px solid rgba(179,138,77,.20)}
.ebp-secondary.danger{color:var(--ebp-danger);border-color:rgba(178,69,69,.18);background:rgba(178,69,69,.04)}.ebp-link-button.danger{color:var(--ebp-danger);font-size:18px}.ebp-error-state{border-color:rgba(178,69,69,.18);background:rgba(178,69,69,.025)}.ebp-error-state>.ebp-icon{color:var(--ebp-danger)}
.ebp-muted{color:var(--ebp-muted);font-size:var(--ebp-type-caption);line-height:1.65}.ebp-date-chip{width:46px;height:46px;border-radius:15px;background:var(--ebp-surface-2);display:grid;place-items:center;color:var(--ebp-ink)}
.ebp-notes-area{width:100%;min-height:130px;border:1px solid var(--ebp-line);background:#fff;border-radius:14px;padding:12px;resize:vertical;color:var(--ebp-ink);outline:0;margin-bottom:8px}.ebp-notes-area:focus{border-color:rgba(49,95,143,.38);box-shadow:0 0 0 3px rgba(49,95,143,.08)}
.ebp-save-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid var(--ebp-line);border-radius:11px;background:rgba(255,255,255,.91);color:var(--ebp-ink-2);padding:0 9px;font-size:var(--ebp-type-caption);font-weight:710;box-shadow:var(--ebp-shadow-control);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.16s ease;z-index:4}.ebp-save-button .ebp-icon{width:16px;height:16px}.ebp-save-button:hover{color:var(--ebp-ink);transform:translateY(-1px)}.ebp-save-button.active{background:var(--ebp-ink);color:#fff;border-color:var(--ebp-ink)}.ebp-save-button:disabled{cursor:default;transform:none;opacity:1}.ebp-save-button.floating{position:absolute;inset-block-start:14px;inset-inline-end:14px}.ebp-save-button.icon-only{width:38px;height:38px;min-height:38px;padding:0;position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);border-radius:12px}.ebp-save-button.icon-only span{display:none}
.ebp-thread-link{border:0;background:none;padding:5px 0;color:var(--ebp-muted);font-size:var(--ebp-type-caption)}.ebp-thread-post{background:var(--ebp-surface);border:1px solid var(--ebp-line);border-radius:17px;padding:16px;margin-bottom:14px}.ebp-thread-post header{display:flex;align-items:center;gap:10px;margin-bottom:11px}.ebp-thread-post header img{width:36px;height:36px;border-radius:12px;object-fit:cover}.ebp-thread-post header strong{font-size:var(--ebp-type-meta)}.ebp-thread-post>div{font-size:var(--ebp-type-callout);line-height:1.85;color:var(--ebp-ink-2)}.ebp-thread-comments{border-top:1px solid var(--ebp-line);margin-top:4px}.ebp-thread-comments article{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--ebp-line)}.ebp-thread-comments article img{width:36px;height:36px;border-radius:12px;object-fit:cover}.ebp-thread-comments strong{font-size:var(--ebp-type-meta)}.ebp-thread-comments p{margin:4px 0;font-size:var(--ebp-type-meta);line-height:1.75;color:var(--ebp-ink-2)}.ebp-thread-comments small{font-size:var(--ebp-type-caption);color:var(--ebp-muted)}.ebp-thread-compose{margin-top:16px}
.ebp-ai-response{margin-top:18px;background:#fff;border:1px solid var(--ebp-line);border-radius:17px;padding:18px;font-size:var(--ebp-type-callout);line-height:1.9}.ebp-ai-response footer{border-top:1px solid var(--ebp-line);margin-top:14px;padding-top:12px;display:flex;flex-direction:column;gap:6px}.ebp-ai-response footer a{font-size:var(--ebp-type-caption);color:var(--ebp-muted);text-decoration:none}
.ebp-menu-row{width:100%;min-height:50px;border:0;border-bottom:1px solid var(--ebp-line);background:none;text-align:inherit;font-size:var(--ebp-type-meta)}.ebp-menu-row.danger{color:var(--ebp-danger)}
.ebp-sheet-backdrop{position:fixed;inset:0;background:rgba(8,26,51,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:80}.ebp-sheet{position:fixed;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);border:1px solid rgba(255,255,255,.75);box-shadow:0 35px 110px rgba(8,26,51,.25);width:min(560px,calc(100vw - 30px));max-height:min(88dvh,760px);overflow:auto;border-radius:28px;left:50%;top:50%;transform:translate(-50%,-50%);padding:30px}.ebp-sheet-handle{display:none}.ebp-sheet-close{position:absolute;top:14px;inset-inline-end:14px;width:36px;height:36px;border:0;border-radius:12px;background:var(--ebp-surface-2);font-size:21px;color:var(--ebp-muted)}.ebp-sheet-title{padding-inline-end:38px;margin-bottom:20px}.ebp-sheet-title>.ebp-monogram{margin-bottom:18px}.ebp-sheet-title h2{font-size:var(--ebp-type-title-2);line-height:1.25;margin:6px 0}.ebp-sheet-title p{font-size:var(--ebp-type-meta);line-height:1.75;color:var(--ebp-muted);margin:0}
.ebp-auth-provider{width:100%;height:50px;border:1px solid var(--ebp-line);border-radius:14px;background:#fff;margin-bottom:9px;font-weight:680;display:flex;align-items:center;justify-content:center;gap:10px}.ebp-auth-provider.dark{background:#111;color:#fff;border-color:#111}.ebp-auth-sep{display:flex;align-items:center;gap:10px;color:var(--ebp-muted);font-size:var(--ebp-type-caption);margin:16px 0}.ebp-auth-sep:before,.ebp-auth-sep:after{content:"";height:1px;background:var(--ebp-line);flex:1}
.ebp-toast{position:fixed;z-index:120;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--ebp-ink);color:#fff;border-radius:12px;padding:11px 15px;font-size:var(--ebp-type-caption);opacity:0;pointer-events:none;transition:.22s ease;box-shadow:var(--ebp-shadow)}.ebp-toast.show{opacity:1;transform:translate(-50%,0)}
.ebp-skeleton-list{display:flex;flex-direction:column;gap:10px;padding:20px 0}.ebp-skeleton-list i,.ebp-boot-skeleton span{display:block;background:linear-gradient(100deg,rgba(8,26,51,.045) 30%,rgba(255,255,255,.85) 45%,rgba(8,26,51,.045) 60%);background-size:220% 100%;animation:ebpShimmer 1.45s infinite;border-radius:16px;height:80px}.ebp-boot-skeleton{max-width:700px;margin:120px auto;display:flex;flex-direction:column;gap:12px;padding:20px}.ebp-boot-skeleton span:first-child{height:48px}.ebp-boot-skeleton span:nth-child(2){height:180px}
@keyframes ebpShimmer{to{background-position:-220% 0}}@keyframes ebpRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}


/* v0.9 shared state/confirm details */
.ebp-confirm-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:var(--ebp-surface-2);color:var(--ebp-gold);margin-bottom:14px}.ebp-confirm-title{font-size:23px;line-height:1.25;margin:0 0 9px}
.ebp-avatar-fallback{position:relative;display:grid;place-items:center;background:linear-gradient(145deg,var(--ebp-surface-2),var(--ebp-bg-deep));color:var(--ebp-ink);font-weight:780;overflow:hidden}.ebp-avatar-fallback img{width:100%;height:100%;object-fit:cover;display:block}.ebp-avatar-fallback.is-broken img{display:none}.ebp-avatar-fallback>span{position:absolute;inset:0;display:grid;place-items:center}.ebp-avatar-fallback img+span{z-index:0}.ebp-avatar-fallback img{position:relative;z-index:1}.ebp-avatar-fallback.is-broken img+span{z-index:0}
.ebp-thread-post header>.ebp-avatar-fallback,.ebp-thread-comments article>.ebp-avatar-fallback{width:36px;height:36px;border-radius:12px;position:relative;flex:none}
