/* Users and the action log. Tokens come from panel.css. */
.access-page{max-width:1160px}
.access-page .bots-summary{margin-bottom:18px}
.is-mono{font-family:var(--mono)}
.access-page a.button{text-decoration:none}
.button.is-danger{color:var(--danger)}
.button.is-danger:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:var(--danger-soft)}
.button.is-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}
.button.is-danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,#000)}

/* Steam restrictions of a maFile */
.mf-limits{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised)}
.mf-limits-head{display:flex;align-items:center;gap:8px}
.mf-limits-head b{font-size:12.5px;font-weight:650}
.mf-limits-head small{margin-left:auto;color:var(--faint);font-size:11.5px}
.mf-limits-head .icon-button{width:26px;height:26px}
.mf-limits-head .icon-button svg{width:14px;height:14px}
.mf-limit{display:flex;flex-direction:column;gap:1px;padding:6px 10px;border-radius:7px;font-size:12.5px;font-weight:600}
.mf-limit small{color:var(--muted);font-size:11.5px;font-weight:500;overflow-wrap:anywhere}
.mf-limit.is-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}
.mf-limit.is-warn{background:color-mix(in srgb,var(--warn) 13%,transparent);color:var(--warn)}
.mf-limit.is-ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}
.mf-limit.is-muted{padding-top:0;color:var(--muted);font-weight:500}
.mf-flag.is-lock{color:var(--danger)}

/* maFiles uploaded by drag and drop */
.mafiles-page{position:relative;min-height:calc(100vh - 90px)}
.mf-import{margin-bottom:16px}

/* A devices page with no PC */
.devices-empty{margin-bottom:14px;border:1.5px dashed var(--line-strong);border-radius:var(--radius)}
.device.accounts-only{padding-top:4px}

/* User cards */
.uc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.uc-empty{grid-column:1/-1;border:1.5px dashed var(--line-strong);border-radius:var(--radius)}
.uc-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);min-width:0}
.uc-card.is-blocked{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger-soft) 55%,var(--card))}
.uc-head{display:flex;gap:12px;align-items:flex-start;min-width:0}
.uc-avatar{position:relative;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:16px;font-weight:650}
.uc-card.is-blocked .uc-avatar{background:var(--danger-soft);color:var(--danger)}
.uc-avatar.is-online::after{content:"";position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border:2px solid var(--card);border-radius:50%;background:var(--ok)}
.uc-name{flex:1;min-width:0}
.uc-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.uc-title b{font-size:15px;font-weight:650;overflow-wrap:anywhere}
.uc-name p{margin-top:2px;font-size:12.5px;overflow-wrap:anywhere}
.uc-name .uc-reason{color:var(--danger)}
.uc-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}
.uc-chip.is-admin{background:var(--accent-soft);color:var(--accent)}
.uc-chip.is-online{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok)}
.uc-chip.is-blocked{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}
.uc-facts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.uc-fact{min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised)}
.uc-fact small{display:block;color:var(--muted);font-size:11px;font-weight:550}
.uc-fact b{display:block;font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uc-meta{display:flex;flex-wrap:wrap;gap:3px 12px;color:var(--muted);font-size:12px}
.uc-limit{color:var(--warn)}
.uc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto}
.uc-actions .button{min-height:30px;padding:5px 10px;font-size:12.5px}
.uc-remove{margin-left:auto}
.uc-remove:hover:not(:disabled){color:var(--danger)}
.uc-section-title{margin:30px 0 10px;font-size:15px;font-weight:650}

/* Профиль */
.profile-page{max-width:820px}
.pf-hero{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
.pf-avatar{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:22px;font-weight:650}
.pf-who{flex:1;min-width:0}
.pf-who .uc-title b{font-size:17px}
.pf-who p{margin-top:2px;font-size:12.5px}
.pf-hero-actions{display:flex;flex-wrap:wrap;gap:8px}
.pf-block .setting-row+.setting-row{margin-top:8px}
.pf-block-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:30px 0 10px}
.pf-block-head .uc-section-title{margin:0}
.pf-segment{display:inline-flex;flex-shrink:0;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--raised)}
.pf-segment-item{min-height:30px;padding:4px 12px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:550;white-space:nowrap}
.pf-segment-item:hover{color:var(--text)}
.pf-segment-item.is-on{background:var(--card);color:var(--text);box-shadow:0 0 0 1px var(--line),var(--shadow)}
.pf-swatches{display:flex;flex-wrap:wrap;gap:8px}
.pf-swatch{width:28px;height:28px;padding:0;border:2px solid var(--card);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--line-strong);transition:box-shadow .15s}
.pf-swatch:hover:not(.is-on){box-shadow:0 0 0 1px var(--text)}
.pf-swatch.is-on{box-shadow:0 0 0 2px var(--accent)}
@media (max-width:640px){
 .pf-hero{flex-wrap:wrap}
 .pf-hero-actions{width:100%}
 .pf-block .setting-row{flex-wrap:wrap}
}
.uc-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
.uc-table{width:100%;border-collapse:collapse;font-size:12.5px}
.uc-table th{padding:9px 14px;border-bottom:1px solid var(--line);background:var(--raised);color:var(--muted);font-size:11.5px;font-weight:650;text-align:left;white-space:nowrap}
.uc-table td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.uc-table tr:last-child td{border-bottom:0}
.uc-table td b{font-weight:600;margin-right:6px}
.uc-table .button{min-height:28px;padding:4px 10px;font-size:12px}
.uc-cell-end{text-align:right}

/* Own security and the 2FA switch */
.setting-row .uc-need{color:var(--warn)}
.uc-chip.is-2fa{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok)}
.uc-security{width:min(500px,calc(100vw - 32px))}
.uc-security-body{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.uc-security-body>.button{align-self:flex-start}
.uc-secret{letter-spacing:.06em}
.uc-link{color:var(--info);font-size:12.5px}
.uc-code-row{display:flex;gap:8px}
.uc-code-row input{flex:1;min-width:0;font:600 16px var(--mono);letter-spacing:.2em}
.sidebar .profile[role=button]{cursor:pointer;border-radius:var(--radius-sm)}
.sidebar .profile[role=button]:hover b,.sidebar .profile[role=button]:hover div{color:var(--text)}

/* Dialogs */
.uc-dialog{width:min(460px,calc(100vw - 32px))}
.uc-dialog form{display:flex;flex-direction:column;gap:14px}
.uc-dialog input,.uc-dialog textarea{width:100%}
.uc-dialog-actions{display:flex;justify-content:flex-end;gap:8px}
.uc-token-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised)}
.uc-token{flex:1;min-width:0;font:13px/1.5 var(--mono);word-break:break-all;user-select:all}

/* Editor */
.ue{display:flex;flex-direction:column;gap:14px;max-width:1000px}
.ue .page-heading{margin-bottom:4px}
.ue-back{align-self:flex-start;padding:0;border:0;background:none;color:var(--muted);font-weight:600}
.ue-back:hover{color:var(--text)}
.ue-card{padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);transition:opacity .15s}
.ue-card>header{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.ue-card>header b{font-size:14px;font-weight:650}
.ue-card>header small{color:var(--muted);font-size:12.5px}
.ue-card.is-off .ue-body{opacity:.4;pointer-events:none}
.ue-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
.ue-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.ue-field>span{color:var(--muted);font-size:12px;font-weight:600}
.ue-field>small{color:var(--faint);font-size:11.5px}
.ue-field input,.ue-field textarea{width:100%}
.ue-field textarea{resize:vertical;font-family:var(--mono);font-size:12.5px}
.ue-role{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}
.ue-role .ue-note{flex:1;min-width:240px}
.ue-note{color:var(--muted);font-size:12px;line-height:1.5}
.ue-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--raised)}
.ue-seg button{min-height:28px;padding:4px 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;white-space:nowrap}
.ue-seg button:hover:not(:disabled){color:var(--text)}
.ue-seg button.is-on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}
.ue-presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}
.ue-label{color:var(--muted);font-size:12px;font-weight:600;margin-right:2px}
.ue-preset{min-height:28px;padding:4px 10px;font-size:12px}
.ue-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.ue-group{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised)}
.ue-group-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--line);font-weight:650;cursor:pointer}
.ue-group-head small{margin-left:auto;color:var(--muted);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}
.ue-right{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:12.5px;line-height:1.45;cursor:pointer}
.ue-right:hover span{color:var(--text)}
.ue-right.is-risky span::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 1px 7px;border-radius:50%;background:var(--warn);vertical-align:middle}
.ue-group .ue-note{margin-top:6px}
.ue input[type=checkbox]{flex-shrink:0;width:15px;height:15px;margin:2px 0 0;accent-color:var(--accent)}
.ue-scopes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ue-scope{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--raised)}
.ue-scope-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.ue-scope-head b{font-weight:650}
.ue-scope-head small{color:var(--muted);font-size:11.5px}
.ue-scope .ue-seg{align-self:flex-start}
.ue-picker-wrap{display:flex;flex-direction:column;gap:6px}
.ue-picker-tools{display:flex;align-items:center;gap:6px}
.ue-picker-tools input{flex:1;min-width:0;min-height:32px;padding:5px 10px}
.ue-chip{min-height:28px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}
.ue-chip:hover{border-color:var(--line-strong);color:var(--text)}
.ue-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ue-picker{max-height:250px;overflow:auto;padding:4px 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}
.ue-picker label{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;cursor:pointer}
.ue-picker label:hover{background:var(--hover)}
.ue-picker label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ue-picker label small{margin-left:auto;color:var(--faint);font:11px var(--mono)}
.ue-picker label.is-missing span{color:var(--danger)}
.ue-picker input[type=checkbox]{margin:0}
.ue-pc{padding:7px 10px 3px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.3px;text-transform:uppercase}
.ue-picker-empty{padding:12px;text-align:center;font-size:12.5px}
.ue-limits{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:start}
.ue-foot{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:10px;padding:14px 0 6px;background:linear-gradient(transparent,var(--bg) 35%)}
.ue-foot p{margin-left:auto;font-size:12.5px}
.ue-foot p.is-error{color:var(--danger)}

/* Templates */
.ut{margin-top:10px}
.ut-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.ut-head .uc-section-title{margin-bottom:2px}
.ut-empty{border:1.5px dashed var(--line-strong);border-radius:var(--radius)}
.ut-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}
.ut-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow)}
.ut-text{flex:1;min-width:0}
.ut-text b{display:block;font-weight:650;overflow-wrap:anywhere}
.ut-text small{display:block;color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ut-row .button{min-height:28px;padding:4px 10px;font-size:12px}
.ut-row .uc-remove{margin-left:0}
.ue-template{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--card);overflow:hidden}
.ue-template.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft)}
.ue-template-apply{min-height:26px;padding:3px 4px 3px 11px;border:0;background:none;color:var(--text);font-size:12px;font-weight:600}
.ue-template.is-on .ue-template-apply{color:var(--accent)}
.ue-template-drop{min-height:26px;padding:0 9px 0 5px;border:0;background:none;color:var(--faint);font-size:14px;line-height:1}
.ue-template-drop:hover{color:var(--danger)}
.ue-chip.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent)}
.ue-chip:disabled{opacity:.45}
.ue-count{margin-top:2px;color:var(--muted);font-size:12px}
.ue-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--line-strong)}
.ue-dot.is-online{background:var(--ok)}
.ue-picker label em{color:var(--faint);font-style:normal}
.ue-warnings:empty{display:none}
.ue-warnings{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.ue-warning{padding:8px 12px;border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 10%,var(--card));color:var(--text);font-size:12.5px}

/* Action log */
.al-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.al-tools input[type=search]{flex:1;min-width:220px}
.al-tools select{min-width:150px}
.al-list{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.al-day{padding:7px 16px;border-bottom:1px solid var(--line);background:var(--raised);color:var(--muted);font-size:11.5px;font-weight:650}
.al-row{display:grid;grid-template-columns:72px 150px minmax(0,1fr) auto;gap:14px;align-items:start;padding:10px 16px;border-bottom:1px solid var(--line)}
.al-row:last-child{border-bottom:0}
.al-row:hover{background:color-mix(in srgb,var(--hover) 60%,transparent)}
.al-time{padding-top:1px;color:var(--muted);font:12px/1.5 var(--mono);font-variant-numeric:tabular-nums}
.al-user{justify-self:start;max-width:100%;padding:0;border:0;background:none;font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al-user:hover{text-decoration:underline}
.al-user.is-anon{color:var(--faint);font-weight:500}
.al-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.al-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.al-line b{font-weight:600}
.al-group{padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--muted);font-size:11px;font-weight:650;line-height:18px}
.al-target{padding:0;border:0;background:none;color:var(--info);font-size:12.5px;overflow-wrap:anywhere;text-align:left}
.al-target:hover{text-decoration:underline}
.al-details{font-size:12px;overflow-wrap:anywhere}
.al-error{color:var(--danger);font-size:12px}
.al-meta{color:var(--faint);font-size:11.5px}
.al-result{padding:1px 8px;border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}
.al-row.is-ok .al-result{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok)}
.al-row.is-error .al-result{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}
.al-row.is-denied{box-shadow:inset 3px 0 0 var(--danger)}
.al-row.is-denied .al-result{background:var(--danger);color:#fff}
.al-row.is-limited .al-result{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}
.al-list .empty{list-style:none}
.al-more{display:flex;justify-content:center;padding:14px}

@media (max-width:900px){
 .ue-fields,.ue-scopes,.ue-limits{grid-template-columns:1fr}
 .uc-facts{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
 .al-row{grid-template-columns:64px minmax(0,1fr) auto}
 .al-user{grid-column:2;grid-row:1}
 .al-main{grid-column:1/-1}
 .al-result{grid-column:3;grid-row:1}
}
