:root{--role-client-primary:#1a9bff;--role-client-accent:#ff7b42;--role-client-surface:linear-gradient(160deg,rgba(255,255,255,0.96),rgba(236,246,255,0.96));--role-photographer-primary:#0f3d8f;--role-photographer-accent:#00a78e;--role-photographer-surface:linear-gradient(160deg,rgba(255,255,255,0.96),rgba(241,250,248,0.96));--role-owner-primary:#7b3ff2;--role-owner-accent:#ff6a3d;--role-owner-surface:linear-gradient(160deg,rgba(255,255,255,0.96),rgba(246,242,255,0.96))}.role-client .button-primary{background:linear-gradient(140deg,var(--role-client-primary),var(--role-client-accent))}.role-client .public-gallery-hero{background:var(--role-client-surface);border-color:rgba(26,155,255,.28);box-shadow:0 24px 68px rgba(15,45,92,.16)}.role-client .public-gallery-summary .stat-card{border-color:rgba(26,155,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(241,248,255,.95))}.role-client .public-action-row{border:1px solid rgba(26,155,255,.18);border-radius:18px;background:linear-gradient(180deg,rgba(250,253,255,.94),rgba(241,248,255,.92));padding:12px}.role-client .public-photo-grid{gap:14px}.role-client .public-photo-card{border-color:rgba(26,155,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,250,255,.95));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.role-client .public-photo-card:hover{transform:translateY(-2px);border-color:rgba(26,155,255,.35);box-shadow:0 18px 44px rgba(13,39,79,.16)}.role-client .public-photo-card-selected{border-color:rgba(26,155,255,.4);box-shadow:0 0 0 3px rgba(26,155,255,.12),0 14px 36px rgba(9,35,78,.14)}.role-client .public-sticky-bar{border-color:rgba(26,155,255,.3);background:linear-gradient(120deg,rgba(11,44,94,.95),rgba(26,155,255,.95));color:#fff}.role-client .public-sticky-bar .muted{color:rgba(255,255,255,.78)}.role-client .public-viewer-panel{border-color:rgba(26,155,255,.28);box-shadow:0 30px 80px rgba(7,26,56,.38)}@media (max-width:760px){.role-client .public-action-row{border-radius:16px;padding:10px}.role-client .public-photo-grid{gap:9px}.role-client .public-photo-card:hover{transform:none}}.role-photographer .button-primary{background:linear-gradient(140deg,var(--role-photographer-primary),var(--role-photographer-accent))}.role-photographer .admin-overview-card{border-color:rgba(15,61,143,.28);box-shadow:0 22px 62px rgba(9,33,70,.16)}.role-photographer .admin-pane{background:var(--role-photographer-surface);border-color:rgba(15,61,143,.24)}.role-photographer .admin-quick-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid rgba(15,61,143,.2);border-radius:16px;background:linear-gradient(180deg,rgba(248,252,255,.95),rgba(241,250,248,.95))}.role-photographer .admin-quick-actions .button{min-height:38px}.role-photographer .admin-kpi-grid .stat-card{border-color:rgba(15,61,143,.2);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,250,248,.95))}.role-photographer .photo-card{border-color:rgba(15,61,143,.16);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.role-photographer .photo-card:hover{transform:translateY(-2px);border-color:rgba(15,61,143,.34);box-shadow:0 16px 40px rgba(10,37,77,.14)}.role-photographer .folder-tabs .folder-tab-active{background:linear-gradient(145deg,var(--role-photographer-primary),var(--role-photographer-accent));border-color:rgba(15,61,143,.6)}.role-owner .button-primary{background:linear-gradient(140deg,var(--role-owner-primary),var(--role-owner-accent))}.role-owner .owner-hero{background:var(--role-owner-surface)}@media (max-width:760px){.role-photographer .admin-quick-actions{display:grid;grid-template-columns:1fr}}