.phone-mockup{position:relative;width:280px;max-width:100%}.phone-mockup__frame{background:#ffffff;border-radius:40px;border:6px solid #171717;overflow:hidden;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.1);transform:perspective(1200px) rotateY(-4deg) rotateX(2deg);transition:transform .6s cubic-bezier(.16,1,.3,1)}.phone-mockup:hover .phone-mockup__frame{transform:perspective(1200px) rotateY(0deg) rotateX(0deg)}.phone-mockup__notch{width:120px;height:28px;background:#171717;border-radius:0 0 20px 20px;margin:0 auto;position:relative;z-index:2}.phone-mockup__screen{padding:0 16px 20px;aspect-ratio:9/17;background:#fafafa;overflow:hidden}.phone-mockup__screen--image{padding:0;background:#000}.phone-mockup__image{width:100%;height:100%;object-fit:cover;display:block}.phone-mockup__shadow{position:absolute;bottom:-30px;inset-inline-start:10%;inset-inline-end:10%;height:40px;background:radial-gradient(ellipse,rgba(0,0,0,.08),transparent 70%);filter:blur(12px)}.mock-screen{font-size:10px}.mock-status{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;font-size:11px;font-weight:600;color:#171717}.mock-status__icons{display:flex;gap:3px}.mock-dot{width:4px;height:4px;border-radius:50%;background:#171717}.mock-header{display:flex;align-items:center;gap:10px;padding:8px 0}.mock-avatar{width:36px;height:36px;border-radius:50%;background:var(--gradient-brand-soft);flex-shrink:0}.mock-avatar--small{width:28px;height:28px}.mock-bar{border-radius:4px;background:#e5e5e5}.mock-bar--muted{background:#f0f0f0}.mock-bar--accent{background:var(--gradient-brand)}.mock-search{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f5f5f5;border-radius:12px;margin:8px 0}.mock-search__icon{width:14px;height:14px;border:2px solid #c4c4c4;border-radius:50%}.mock-categories{display:flex;gap:8px;padding:8px 0}.mock-cat{width:48px;height:48px;border-radius:14px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s}.mock-cat--active{background:var(--gradient-brand-soft);box-shadow:0 2px 8px rgba(0,0,0,.06)}.mock-featured{margin:10px 0;border-radius:16px;overflow:hidden;background:white;box-shadow:0 2px 12px rgba(0,0,0,.06)}.mock-featured__img{height:100px;background:linear-gradient(135deg,#f0f0f0,#e8e8e8)}.mock-featured__info{padding:10px 12px}.mock-stars{display:flex;align-items:center;gap:2px;margin-top:6px}.mock-star{width:8px;height:8px;background:#f59e0b;-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.mock-services{display:flex;gap:8px;margin-top:10px}.mock-service-card{flex:1 1;border-radius:12px;overflow:hidden;background:white;box-shadow:0 1px 6px rgba(0,0,0,.04);padding-bottom:8px}.mock-service-card__img{height:52px;background:linear-gradient(135deg,#e8e8e8,#f0f0f0)}.mock-service-card .mock-bar{-webkit-margin-start:8px;margin-inline-start:8px}.mock-stat-row{display:flex;gap:8px;margin:10px 0}.mock-stat-item{flex:1 1;padding:10px;background:white;border-radius:12px;box-shadow:0 1px 6px rgba(0,0,0,.04);text-align:center}.mock-appointment{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.mock-appointment__time{flex-shrink:0;text-align:center}.mock-appointment__line{width:2px;height:28px;background:var(--gradient-brand);border-radius:2px;flex-shrink:0}.mock-appointment__info{flex:1 1}.portal-mockup{position:relative}.portal-mockup__frame{background:#fafafa;border-radius:var(--radius-xl);border:1px solid var(--color-border-card);overflow:hidden;box-shadow:var(--shadow-xl);transform:perspective(1200px) rotateY(-4deg) rotateX(1deg);transition:transform var(--duration-slow) var(--ease-out-expo)}.portal-mockup:hover .portal-mockup__frame{transform:perspective(1200px) rotateY(0deg) rotateX(0deg)}.portal-mockup__shadow{position:absolute;bottom:-20px;inset-inline-start:15%;inset-inline-end:15%;height:40px;background:radial-gradient(ellipse,rgba(0,0,0,.06),transparent 70%);filter:blur(16px)}.portal-mockup__chrome{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f7f7f7;border-bottom:1px solid var(--color-border-card)}.portal-mockup__dots{display:flex;gap:5px}.portal-mockup__dots span{width:10px;height:10px;border-radius:50%}.portal-mockup__url{flex:1 1}.portal-mockup__url-bar{background:white;border:1px solid var(--color-border-card);border-radius:6px;padding:4px 12px;font-size:10px;color:var(--color-text-secondary);width:-moz-fit-content;width:fit-content}.portal-mockup__screen{display:grid;grid-template-columns:140px 1fr;min-height:320px}.portal-mockup__sidebar{background:#f7f7f7;padding:14px 10px;-webkit-border-end:1px solid var(--color-border-card);border-inline-end:1px solid var(--color-border-card);display:flex;flex-direction:column;gap:6px}.pm-logo{width:28px;height:28px;background:var(--gradient-brand);color:white;font-weight:800;font-size:14px;justify-content:center;margin-bottom:10px}.pm-logo,.pm-nav-item{border-radius:8px;display:flex;align-items:center}.pm-nav-item{gap:8px;padding:6px 8px;transition:background .2s}.pm-nav-item--active{background:rgba(0,0,0,.04)}.pm-nav-dot{width:6px;height:6px;border-radius:50%;background:var(--color-neutral-300);flex-shrink:0}.pm-nav-item--active .pm-nav-dot{background:var(--color-neutral-500)}.portal-mockup__main{padding:14px;display:flex;flex-direction:column;gap:12px}.pm-topbar{display:flex;align-items:center;justify-content:space-between}.pm-avatar{width:24px;height:24px;border-radius:50%;background:var(--gradient-brand-soft)}.pm-bar{height:6px;border-radius:3px;background:#e5e5e5}.pm-bar--dark{background:#171717}.pm-bar--muted{background:#f0f0f0}.pm-stats-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.pm-stat-card{padding:10px;background:white;border:1px solid var(--color-border-card);border-radius:10px}.pm-chart{padding:12px;background:white;border:1px solid var(--color-border-card);border-radius:12px;height:100px}.pm-chart__bars{display:flex;align-items:flex-end;gap:6px;height:100%}.pm-chart__bar{flex:1 1;background:var(--gradient-brand);border-radius:4px 4px 0 0;opacity:.7;transition:opacity .2s}.pm-chart__bar:hover{opacity:1}.pm-table{display:flex;flex-direction:column;gap:2px}.pm-table__row{display:flex;align-items:center;gap:16px;padding:8px 10px;background:white;border-radius:6px}.pm-table__row:nth-child(odd){background:#fafafa}.pm-badge{width:36px;height:14px;border-radius:7px;background:rgba(16,185,129,.15);-webkit-margin-start:auto;margin-inline-start:auto}@media (max-width:768px){.portal-mockup__frame{transform:none}.portal-mockup__screen{grid-template-columns:100px 1fr;min-height:250px}.pm-stats-row{grid-template-columns:repeat(2,1fr)}}