.profile-screen,.profile-subscreen{width:min(100%,var(--app-ui-profile-max-width));margin:0 auto}
.profile-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:var(--app-ui-profile-toolbar-height);margin-block-start:0;margin-bottom:var(--app-ui-profile-toolbar-gap)}
.profile-toolbar h1{margin:0;text-align:center;font-size:var(--app-ui-profile-title-size);font-weight:var(--app-ui-weight-strong);letter-spacing:var(--app-ui-profile-title-letter-spacing)}
.profile-identity{display:grid;grid-template-columns:var(--app-ui-profile-identity-size) minmax(0,1fr) auto;align-items:center;gap:var(--app-ui-profile-identity-gap);margin:var(--app-ui-profile-identity-margin-top) 0 var(--app-ui-profile-identity-margin-bottom);padding:var(--app-ui-profile-identity-padding-block) var(--app-ui-profile-identity-padding-inline);border:var(--app-ui-border-width) solid var(--color-accent-line);border-radius:var(--app-ui-profile-identity-radius);background:var(--gradient-accent-surface);box-shadow:var(--component-profile-identity-shadow);text-align:left}
.profile-avatar{display:grid;width:var(--app-ui-profile-identity-size);height:var(--app-ui-profile-identity-size);overflow:hidden;place-items:center;border:var(--app-ui-profile-avatar-border) solid var(--semantic-accent);border-radius:var(--app-ui-radius-avatar);background:var(--gradient-owner-control-active);box-shadow:0 0 0 var(--app-ui-profile-avatar-shadow-inner) var(--component-profile-identity-surface),0 0 0 var(--app-ui-profile-avatar-shadow-outer) var(--color-accent-line),var(--shadow-accent-glow);color:var(--component-app-shell-active);font-size:var(--app-ui-profile-avatar-font-size);font-weight:var(--app-ui-weight-strong)}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-identity-copy{display:grid;min-width:0;gap:var(--app-ui-profile-copy-gap)}
.profile-identity h2{margin:0;font-size:var(--app-ui-profile-title-size);font-weight:var(--app-ui-weight-bold);letter-spacing:var(--app-ui-profile-name-letter-spacing);overflow-wrap:anywhere}
.profile-identity p{min-width:0;max-width:100%;overflow:hidden;margin:0;color:var(--component-app-shell-muted);font-size:var(--app-ui-profile-value-font-size);text-overflow:ellipsis;white-space:nowrap}
.profile-role{align-self:start;justify-self:end;margin:0;padding:var(--app-ui-profile-role-padding-block) var(--app-ui-profile-role-padding-inline);border:var(--app-ui-border-width) solid var(--color-accent-line);border-radius:var(--app-ui-radius-pill);background:var(--color-accent-tint);color:var(--semantic-accent);font-size:var(--app-ui-profile-role-font-size);font-weight:var(--app-ui-weight-semibold);letter-spacing:var(--app-ui-profile-role-letter-spacing);white-space:nowrap}

@keyframes profile-identity-scroll-collapse{
  from{max-height:var(--app-ui-profile-collapse-height);margin-bottom:var(--app-ui-profile-identity-margin-bottom);padding-block:var(--app-ui-profile-identity-padding-block);padding-inline:var(--app-ui-profile-identity-padding-inline);border-width:var(--app-ui-border-width);border-radius:var(--app-ui-profile-identity-radius);opacity:1;transform:translateY(0) scale(1)}
  to{max-height:0;margin-bottom:0;padding-block:0;padding-inline:0;border-width:0;border-radius:0;opacity:0;transform:translateY(var(--app-ui-profile-collapse-offset)) scale(var(--app-ui-profile-collapse-scale))}
}
@supports (animation-timeline:scroll(root block)){
  .profile-identity{
    overflow:hidden;
    animation-name:profile-identity-scroll-collapse;
    animation-duration:var(--app-ui-profile-collapse-duration);
    animation-timing-function:var(--app-ui-ease-linear);
    animation-fill-mode:both;
    animation-timeline:scroll(root block);
    animation-range:0 var(--app-ui-profile-collapse-range);
  }
}
@media(prefers-reduced-motion:reduce){
  .profile-identity{animation:none}
}
.profile-groups{display:grid;gap:var(--app-ui-profile-groups-gap)}
.profile-group{overflow:hidden;border:var(--app-ui-border-width) solid var(--component-profile-group-border);border-radius:var(--app-ui-profile-group-radius);background:var(--component-profile-group-surface);box-shadow:var(--component-profile-group-shadow)}
.profile-group[hidden]{display:none}
.profile-group-heading{padding:var(--app-ui-profile-heading-padding-top) var(--app-ui-profile-heading-padding-inline) var(--app-ui-profile-heading-padding-bottom);border-bottom:var(--app-ui-border-width) solid var(--component-profile-heading-divider);color:var(--component-app-shell-muted);font-size:var(--app-ui-profile-heading-font-size);font-weight:var(--app-ui-weight-bold);letter-spacing:var(--app-ui-profile-heading-letter-spacing);text-transform:uppercase}
.profile-group-list{display:grid}
.profile-row{display:grid;grid-template-columns:var(--app-ui-profile-row-icon-column) minmax(0,1fr) auto var(--app-ui-profile-row-chevron-column);align-items:center;gap:var(--app-ui-profile-row-gap);min-width:0;min-height:var(--app-ui-profile-row-height);padding:var(--app-ui-profile-row-padding-block) var(--app-ui-profile-row-padding-inline);border:0;background:transparent;color:var(--component-app-shell-text);text-align:left;font:var(--app-ui-weight-medium) var(--app-ui-profile-row-font-size)/var(--app-ui-line-row) var(--font-body);cursor:pointer;transition:background-color var(--app-ui-profile-row-motion) var(--app-ui-ease-default),border-color var(--app-ui-profile-row-motion) var(--app-ui-ease-default),box-shadow var(--app-ui-profile-row-motion) var(--app-ui-ease-default),color var(--app-ui-profile-row-motion) var(--app-ui-ease-default)}
.profile-row+.profile-row{border-top:var(--app-ui-border-width) solid var(--component-profile-divider)}
.profile-row-icon{display:grid;width:var(--app-ui-profile-icon-size);height:var(--app-ui-profile-icon-size);place-items:center;border-radius:var(--app-ui-profile-icon-radius);background:var(--component-profile-icon-surface)}
.profile-row-icon svg{width:var(--app-ui-profile-icon-glyph-size);height:var(--app-ui-profile-icon-glyph-size);fill:none;stroke:currentColor;stroke-width:var(--app-ui-profile-icon-stroke-width);stroke-linecap:round;stroke-linejoin:round}
.profile-row-icon.is-projects{color:var(--color-profile-icon-projects)}
.profile-row-icon.is-favorites{color:var(--color-profile-icon-favorites)}
.profile-row-icon.is-reports{color:var(--color-profile-icon-reports)}
.profile-row-icon.is-settings{color:var(--color-profile-icon-settings)}
.profile-row-icon.is-modules{color:var(--color-profile-icon-modules)}
.profile-row-icon.is-control{color:var(--semantic-accent)}
.profile-row-title{min-width:0;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}
.profile-row-value{max-width:none;color:var(--component-app-shell-muted);font-size:var(--app-ui-profile-value-font-size);white-space:nowrap}
.profile-row-chevron{color:var(--component-app-shell-muted);font-size:var(--app-ui-profile-chevron-font-size);line-height:1}
.profile-row[data-profile-route="#authorization/control-center"]{background:var(--gradient-accent-surface);box-shadow:inset 0 0 0 var(--app-ui-size-1) var(--color-accent-line)}
.profile-row[data-profile-route="#authorization/control-center"] .profile-row-icon{background:var(--color-accent-tint);color:var(--semantic-accent)}
.profile-row[data-profile-route="#authorization/control-center"] .profile-row-chevron{color:var(--semantic-accent)}
.profile-row[data-profile-route="#authorization/projects"],.profile-row[data-profile-route="#authorization/profile-tools"]{background:var(--gradient-owner-surface)}
.profile-row[data-profile-route="#authorization/projects"] .profile-row-icon{background:var(--color-accent-tint);color:var(--semantic-accent)}
.profile-row[data-profile-route="#authorization/profile-tools"] .profile-row-icon{background:color-mix(in srgb,var(--color-profile-icon-modules) 12%,transparent);color:var(--color-profile-icon-modules)}
.profile-row[data-profile-route="#authorization/projects"] .profile-row-value,.profile-row[data-profile-route="#authorization/profile-tools"] .profile-row-value{padding:var(--app-ui-profile-row-value-pill-padding-block) var(--app-ui-profile-row-value-pill-padding-inline);border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-pill);background:var(--component-profile-group-surface)}
.profile-group[aria-label="Избранное"] .profile-group-heading{color:var(--semantic-accent);font-family:var(--font-mono);letter-spacing:var(--app-ui-profile-favorites-letter-spacing)}
.profile-group[aria-label="Избранное"] .profile-empty{display:grid;justify-items:start;gap:var(--app-ui-profile-favorites-gap)}
.profile-group[aria-label="Избранное"] .profile-empty::before{content:"★";display:grid;width:var(--app-ui-profile-icon-size);height:var(--app-ui-profile-icon-size);place-items:center;border-radius:var(--app-ui-profile-icon-radius);background:var(--color-accent-tint);color:var(--semantic-accent);font-size:var(--app-ui-profile-favorite-icon-font-size)}
.profile-empty{padding:var(--app-ui-profile-empty-padding-top) var(--app-ui-profile-empty-padding-inline) var(--app-ui-profile-empty-padding-bottom);color:var(--component-app-shell-muted);font-size:var(--app-ui-profile-empty-font-size);line-height:var(--app-ui-profile-empty-line-height)}
.profile-subscreen-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;margin-bottom:20px}
.profile-subscreen-header h1{margin:0;font-size:clamp(22px,4vw,30px);letter-spacing:-.035em}

.profile-settings-card,.profile-empty-panel{display:grid;gap:14px;margin-bottom:13px;padding:18px;border:1px solid var(--component-profile-group-border);border-radius:20px;background:var(--component-profile-group-surface);box-shadow:var(--component-profile-group-shadow)}
.profile-settings-card h2{margin:0;font-size:16px}
.profile-settings-card p{margin:0;color:var(--component-app-shell-muted);font-size:13px;line-height:1.5}
.profile-settings-card form{display:grid;gap:12px}
.profile-settings-card label{display:grid;gap:7px;color:var(--component-app-shell-muted);font-size:13px}
.profile-submit,.profile-secondary{min-height:44px;padding:0 16px;border:1px solid var(--component-app-shell-border);border-radius:13px;background:var(--component-app-shell-active-surface);color:var(--component-app-shell-active);font:600 13px/1 var(--font-body);cursor:pointer}
.profile-secondary{background:var(--component-profile-field);color:var(--component-app-shell-text)}
.profile-form-notice{padding:12px 14px;border:1px solid var(--component-app-shell-border);border-radius:12px;background:var(--component-profile-notice);color:var(--component-app-shell-text);font-size:13px;line-height:1.5}
.profile-form-notice[hidden]{display:none}
.profile-empty-panel{min-height:120px;align-content:center;color:var(--component-app-shell-muted);line-height:1.6}
.profile-row:focus-visible,.profile-submit:focus-visible,.profile-secondary:focus-visible{outline:2px solid var(--component-app-shell-focus-ring);outline-offset:2px}
@media(hover:hover){.profile-row:hover{background:var(--component-profile-row-hover)}.profile-row[data-profile-route="#authorization/control-center"]:hover{background:var(--gradient-accent-surface)}}
.profile-row:active{background:var(--component-profile-row-pressed);box-shadow:inset 0 0 0 1px var(--semantic-accent)}
.profile-row[data-profile-route="#authorization/control-center"]:active{background:var(--gradient-accent-surface)}
@media(max-width:380px){.profile-row{grid-template-columns:var(--app-ui-profile-compact-icon-column) minmax(0,1fr) auto var(--app-ui-grid-chevron-compact);gap:var(--app-ui-profile-compact-row-gap);padding-inline:var(--app-ui-profile-compact-row-padding-inline)}.profile-row-value{font-size:var(--app-ui-profile-compact-value-font-size)}}
@media(prefers-reduced-motion:reduce){.profile-row{transition:none}}

.profile-row-icon.is-tools{color:var(--color-profile-icon-modules)}
.profile-tools-screen{display:grid;gap:var(--app-ui-space-5)}
.profile-tools-intro{max-width:var(--app-ui-size-640);margin:var(--app-ui-space-2) 0 0;color:var(--component-app-shell-muted);font-size:var(--app-ui-type-body);line-height:var(--app-ui-line-relaxed)}
.profile-tools-group{min-width:0;margin:0}
.profile-tools-group>h2{margin:0 0 var(--app-ui-space-2);color:var(--component-app-shell-muted);font-size:var(--app-ui-type-caption);font-weight:var(--app-ui-weight-bold);letter-spacing:var(--app-ui-letter-spacing-label);text-transform:uppercase}
.profile-tools-list{overflow:hidden;border:var(--app-ui-border-width) solid var(--component-profile-group-border);border-radius:var(--app-ui-profile-group-radius);background:var(--component-profile-group-surface);box-shadow:var(--component-profile-group-shadow)}
.profile-tool-row{display:flex;min-width:0;min-height:var(--app-ui-profile-row-height);align-items:center;justify-content:space-between;gap:var(--app-ui-space-3);padding:var(--app-ui-space-3) var(--app-ui-space-4)}
.profile-tool-row+.profile-tool-row,.profile-tool-category+.profile-tool-row,.profile-tool-row+.profile-tool-category{border-top:var(--app-ui-border-width) solid var(--component-profile-divider)}
.profile-tool-row-copy{display:grid;min-width:0;gap:var(--app-ui-space-1)}
.profile-tool-row-copy strong,.profile-tool-category-heading strong{color:var(--component-app-shell-text);font-size:var(--app-ui-type-row);font-weight:var(--app-ui-weight-semibold);line-height:var(--app-ui-line-normal)}
.profile-tool-row-copy small,.profile-tool-category-heading small{color:var(--component-app-shell-muted);font-size:var(--app-ui-type-caption);line-height:var(--app-ui-line-detail)}
.profile-tool-access{flex:0 0 auto;max-width:42%;padding:var(--app-ui-space-1) var(--app-ui-space-2);border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-pill);background:var(--component-profile-surface);color:var(--component-app-shell-muted);font-size:var(--app-ui-type-caption);line-height:var(--app-ui-line-caption);text-align:center;overflow-wrap:anywhere}
.profile-tool-category-heading{display:grid;gap:var(--app-ui-space-1);padding:var(--app-ui-space-3) var(--app-ui-space-4) var(--app-ui-space-2)}
.profile-tool-category .profile-tool-row{padding-inline-start:var(--app-ui-space-6)}
@media(max-width:380px){.profile-tool-row{align-items:flex-start;gap:var(--app-ui-space-2);padding-inline:var(--app-ui-space-3)}.profile-tool-access{max-width:38%;white-space:normal}.profile-tool-category .profile-tool-row{padding-inline-start:var(--app-ui-space-5)}}


/* Tool catalog iconography — exact SVG silhouettes and teal tile treatment from prototype v3. */
.profile-tool-row .profile-row-icon.app-ui-v3-tile{background:var(--app-ui-v3-teal-tint);color:var(--app-ui-v3-teal)}

/* Profile and secondary screens — prototype v3 component contract. */
.profile-screen.app-ui-v3-frame,.profile-subscreen.app-ui-v3-frame{width:min(100%,var(--app-ui-v3-max-width));min-width:0;min-height:100%;margin-inline:auto;overflow:visible;background-color:transparent;background-image:none;color:var(--app-ui-v3-text);font-family:var(--app-ui-v3-font-family)}
.profile-toolbar{min-height:var(--app-ui-v3-header-height);margin:0 0 18px}
.profile-toolbar h1.app-ui-v3-heading,.profile-subscreen-header h1.app-ui-v3-heading{margin:6px 4px 18px;color:var(--app-ui-v3-text);font-size:var(--app-ui-v3-title-size);font-weight:700;line-height:1.1;letter-spacing:-.03em;text-align:start}
.profile-identity.app-ui-v3-group{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 18px;padding:12px;border:1px solid var(--app-ui-v3-accent-line);border-radius:var(--app-ui-v3-group-radius);background:var(--app-ui-v3-surface-accent-gradient);box-shadow:none;text-align:start}
.profile-avatar{width:40px;height:40px;border:1px solid var(--app-ui-v3-accent-line);box-shadow:none;font-size:16px}
.profile-identity h2{font-size:15px;line-height:1.25;letter-spacing:0}
.profile-identity p{font-size:12px;color:var(--app-ui-v3-muted)}
.profile-role{padding:4px 9px;border:1px solid var(--app-ui-v3-accent-line);border-radius:999px;background:var(--app-ui-v3-accent-tint);color:var(--app-ui-v3-accent);font-size:11px}
.profile-groups{gap:12px}
.profile-group.app-ui-v3-group{border:1px solid var(--app-ui-v3-line);border-radius:var(--app-ui-v3-group-radius);background:var(--app-ui-v3-surface-gradient);box-shadow:none}
.profile-group-heading.app-ui-v3-group-label{min-height:0;margin:0;padding:14px 16px 10px;border-bottom:1px solid var(--app-ui-v3-line);color:var(--app-ui-v3-muted);font:500 var(--app-ui-v3-group-label-size)/1.2 var(--app-ui-v3-font-mono);letter-spacing:var(--app-ui-v3-group-label-spacing)}
.profile-row.app-ui-v3-row{display:flex;width:100%;min-width:0;height:var(--app-ui-v3-row-height);min-height:var(--app-ui-v3-row-height);align-items:center;gap:14px;padding:0 16px 0 12px;border:0;background:transparent;color:var(--app-ui-v3-text);text-align:start;font:inherit;cursor:pointer}
.profile-row.app-ui-v3-row+.profile-row.app-ui-v3-row{border-top:0}
.profile-row.app-ui-v3-row+.profile-row.app-ui-v3-row::before{position:absolute;inset-block-start:0;inset-inline-start:var(--app-ui-v3-row-divider-inset);inset-inline-end:0;height:1px;background:var(--app-ui-v3-line);content:""}
.profile-row-icon.app-ui-v3-tile{flex:0 0 var(--app-ui-v3-tile-size);width:var(--app-ui-v3-tile-size);height:var(--app-ui-v3-tile-size);border-radius:var(--app-ui-v3-tile-radius);background:var(--app-ui-v3-accent-tint);color:var(--app-ui-v3-accent)}
.profile-row-icon.app-ui-v3-tile svg{width:var(--app-ui-v3-icon-size);height:var(--app-ui-v3-icon-size);stroke-width:var(--app-ui-v3-icon-stroke)}
.profile-row-copy.app-ui-v3-row__copy{display:grid;flex:1;min-width:0;gap:2px}
.profile-row-title.app-ui-v3-row__title{overflow:hidden;color:inherit;font-size:var(--app-ui-v3-row-title-size);font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.profile-row-value.app-ui-v3-row__value{max-width:48%;overflow:hidden;padding:0;border:0;background:transparent;color:var(--app-ui-v3-muted);font-size:var(--app-ui-v3-row-detail-size);line-height:1.2;text-align:start;text-overflow:ellipsis;white-space:nowrap}
.profile-row-chevron.app-ui-v3-row__chevron{flex:0 0 var(--app-ui-v3-chevron-size);width:var(--app-ui-v3-chevron-size);height:var(--app-ui-v3-chevron-size);color:var(--app-ui-v3-subtle);font-size:var(--app-ui-v3-chevron-size)}
.profile-group[aria-label="Избранное"] .profile-empty.app-ui-v3-empty{display:grid;justify-items:start;gap:10px;padding:16px;color:var(--app-ui-v3-muted);font-size:14px;line-height:1.5}
.profile-group[aria-label="Избранное"] .profile-empty.app-ui-v3-empty::before{content:"★";width:var(--app-ui-v3-tile-size);height:var(--app-ui-v3-tile-size);border-radius:var(--app-ui-v3-tile-radius);background:var(--app-ui-v3-accent-tint);color:var(--app-ui-v3-accent);font-size:20px;line-height:var(--app-ui-v3-tile-size);text-align:center}
.profile-subscreen-header{margin-block-end:18px}
.profile-tools-screen{gap:20px}
.profile-tools-intro{color:var(--app-ui-v3-muted);font-size:13px;line-height:1.45}
.profile-tools-group>h2{margin:0 4px 10px;color:var(--app-ui-v3-muted);font:500 var(--app-ui-v3-group-label-size)/1.2 var(--app-ui-v3-font-mono);letter-spacing:var(--app-ui-v3-group-label-spacing)}
.profile-tools-list{overflow:hidden;border:1px solid var(--app-ui-v3-line);border-radius:var(--app-ui-v3-group-radius);background:var(--app-ui-v3-surface-gradient);box-shadow:none}
.profile-tool-row{display:block;min-height:var(--app-ui-v3-row-height);padding:14px 16px}
.profile-tool-row+.profile-tool-row,.profile-tool-category+.profile-tool-row,.profile-tool-row+.profile-tool-category{border-top:1px solid var(--app-ui-v3-line)}
.profile-tool-row-copy{gap:4px}
.profile-tool-row-copy strong,.profile-tool-category-heading strong{color:var(--app-ui-v3-text);font-size:15px;font-weight:500}
.profile-tool-row-copy small,.profile-tool-category-heading small{color:var(--app-ui-v3-muted);font-size:13px;line-height:1.35}
.profile-tool-category-heading{gap:4px;padding:14px 16px 10px}
.profile-tool-category .profile-tool-row{padding-inline-start:24px}
.profile-tool-access{display:none}
.profile-settings-card.app-ui-v3-group{margin:0 0 12px;padding:16px;border:1px solid var(--app-ui-v3-line);border-radius:var(--app-ui-v3-group-radius);background:var(--app-ui-v3-surface-gradient);box-shadow:none;color:var(--app-ui-v3-text)}
.profile-settings-card h2{color:var(--app-ui-v3-text);font-size:16px}
.profile-settings-card p{color:var(--app-ui-v3-muted);font-size:13px;line-height:1.45}
.profile-settings-card label{color:var(--app-ui-v3-muted);font-size:13px}
.profile-settings-card input{min-height:48px;padding:12px 14px;border:1px solid var(--app-ui-v3-line);border-radius:16px;background:var(--app-ui-v3-surface-secondary);color:var(--app-ui-v3-text);font:400 16px/1.3 var(--app-ui-v3-font-family)}
.profile-settings-card input:focus-visible{border-color:var(--app-ui-v3-accent);outline:2px solid var(--app-ui-v3-accent);outline-offset:2px}
.profile-submit.app-ui-v3-button{width:100%;margin-block-start:10px}
@media(max-width:380px){.profile-identity.app-ui-v3-group{grid-template-columns:40px minmax(0,1fr);gap:10px}.profile-role{grid-column:2;justify-self:start}.profile-row.app-ui-v3-row{gap:10px;padding-inline:10px}.profile-row.app-ui-v3-row+.profile-row.app-ui-v3-row::before{inset-inline-start:58px}.profile-row-value.app-ui-v3-row__value{max-width:42%}.profile-tool-row{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.profile-row.app-ui-v3-row{transition:none}}
