.impersonation-banner{background:linear-gradient(135deg,hsl(45 100% 95%),hsl(30 100% 95%));border-bottom:3px solid var(--warning,hsl(45 100% 51%));position:fixed;top:0;left:0;right:0;z-index:9999;padding:var(--space-s,.5rem) var(--space-m,1rem);box-shadow:0 2px 8px hsl(0 0% 0%/.1)}@media (prefers-color-scheme:dark){.impersonation-banner{background:linear-gradient(135deg,hsl(45 80% 15%),hsl(30 80% 12%));border-bottom-color:hsl(45 100% 45%)}}.impersonation-banner__content{display:flex;align-items:center;gap:var(--space-m,1rem);max-width:1400px;margin:0 auto;flex-wrap:wrap}.impersonation-banner__icon{color:hsl(25 100% 45%);width:1.5rem;height:1.5rem;flex-shrink:0;animation:impersonation-pulse 2s ease-in-out infinite}@keyframes impersonation-pulse{0%,to{opacity:1}50%{opacity:.6}}.impersonation-banner__info{flex:1;min-width:200px}.impersonation-banner__title{font-weight:600;color:hsl(25 80% 30%);margin:0;font-size:var(--text-m,1rem);display:flex;align-items:center;gap:var(--space-xs,.25rem)}@media (prefers-color-scheme:dark){.impersonation-banner__title{color:hsl(45 100% 70%)}}.impersonation-banner__meta{color:hsl(25 40% 40%);margin:var(--space-3xs,.125rem) 0 0 0;font-size:var(--text-s,.875rem);display:flex;align-items:center;gap:var(--space-xs,.25rem)}@media (prefers-color-scheme:dark){.impersonation-banner__meta{color:hsl(45 40% 60%)}}.impersonation-banner__clock{width:.875rem;height:.875rem;flex-shrink:0}.impersonation-banner__timer{font-variant-numeric:tabular-nums;font-weight:500}.impersonation-banner__timer--warning{color:hsl(0 70% 50%);font-weight:700}.impersonation-banner__badges{display:flex;gap:var(--space-xs,.25rem);flex-wrap:wrap}.impersonation-banner__badge{display:inline-flex;align-items:center;gap:var(--space-2xs,.125rem);padding:var(--space-3xs,.125rem) var(--space-xs,.25rem);background:hsl(45 100% 85%);color:hsl(25 80% 30%);border-radius:var(--radius-s,.25rem);font-size:var(--text-xs,.75rem);font-weight:500}@media (prefers-color-scheme:dark){.impersonation-banner__badge{background:hsl(45 60% 25%);color:hsl(45 100% 80%)}}.impersonation-banner__badge--restriction{background:hsl(0 70% 95%);color:hsl(0 70% 35%)}@media (prefers-color-scheme:dark){.impersonation-banner__badge--restriction{background:hsl(0 50% 20%);color:hsl(0 70% 70%)}}.impersonation-banner__actions{display:flex;gap:var(--space-xs,.25rem);margin-left:auto}.impersonation-banner__exit-btn{display:inline-flex;align-items:center;gap:var(--space-2xs,.125rem);padding:var(--space-xs,.25rem) var(--space-s,.5rem);background:hsl(0 70% 50%);color:white;border:none;border-radius:var(--radius-s,.25rem);font-size:var(--text-s,.875rem);font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .1s ease;white-space:nowrap}.impersonation-banner__exit-btn:hover{background:hsl(0 70% 40%)}.impersonation-banner__exit-btn:active{transform:scale(.98)}.impersonation-banner__exit-btn:disabled{opacity:.7;cursor:not-allowed}.impersonation-banner__exit-btn-icon{width:1rem;height:1rem}body:has(.impersonation-banner){padding-top:56px}@media (max-width:768px){.impersonation-banner{padding:var(--space-xs,.25rem) var(--space-s,.5rem)}.impersonation-banner__content{gap:var(--space-s,.5rem)}.impersonation-banner__badges{display:none}.impersonation-banner__actions{width:100%;margin-left:0;justify-content:flex-end}body:has(.impersonation-banner){padding-top:80px}}@media (max-width:480px){.impersonation-banner__title{font-size:var(--text-s,.875rem)}.impersonation-banner__meta{font-size:var(--text-xs,.75rem)}.impersonation-banner__exit-btn{padding:var(--space-2xs,.125rem) var(--space-xs,.25rem);font-size:var(--text-xs,.75rem)}}