/* Общие компоненты. Только оформление: роли, ACL, API и сохранение принадлежат приложению. */
:where(.edem-wtf,[data-edem-theme="wtf"]) [hidden] { display:none !important; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button,
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-icon-button,
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-action,
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-shortcut {
  font-family:var(--edem-font);color:var(--edem-ink);background:var(--edem-surface);
  border:1px solid var(--edem-line);text-decoration:none;box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;transition:transform var(--edem-press-duration) ease;
}
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button { display:inline-flex;align-items:center;justify-content:center;gap:var(--edem-space-2);min-block-size:var(--edem-target);padding:.75rem 1rem;border-radius:var(--edem-radius-control);box-shadow:var(--edem-shadow-small);font-size:var(--edem-text-body);font-weight:500;line-height:1.35; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button--accent { color:var(--edem-brand-text);border-color:#d8a4a4; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button--danger { color:var(--edem-danger);border-color:#dbb1ac; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button--quiet { border-color:transparent;box-shadow:none;background:transparent; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button--block { inline-size:100%; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-button>svg { inline-size:20px;block-size:20px;flex-shrink:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) :is(.e-button,.e-icon-button,.e-action,.e-shortcut):not(:disabled):not([aria-disabled="true"]):active { transform:translateY(2px) scale(.97); }
:where(.edem-wtf,[data-edem-theme="wtf"]) :is(.e-button,.e-icon-button,.e-action,.e-shortcut):is(:disabled,[aria-disabled="true"]) { color:var(--edem-muted);border-color:var(--edem-line);box-shadow:none;background:var(--edem-surface-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-icon-button { display:inline-flex;align-items:center;justify-content:center;min-inline-size:var(--edem-target);min-block-size:var(--edem-target);padding:6px;border-radius:var(--edem-radius-control);box-shadow:var(--edem-shadow-small); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-icon-button>svg { inline-size:26px;block-size:26px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-icon-button>img { inline-size:32px;block-size:32px;object-fit:contain; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-header { display:flex;align-items:center;justify-content:space-between;gap:10px;min-inline-size:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-logo { display:block;inline-size:clamp(108px,40%,176px);block-size:auto;min-inline-size:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-header-actions { display:flex;align-items:center;gap:4px;flex-shrink:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-country { min-inline-size:44px;min-block-size:44px;padding:0;border:0;background:transparent;font:inherit;font-size:26px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-language { padding:0 4px;font-size:var(--edem-text-caption);line-height:1;color:var(--edem-muted); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-main-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-action { display:flex;flex-direction:column;align-items:center;gap:18px;min-inline-size:0;padding:20px 12px 21px;border-radius:var(--edem-radius-card);box-shadow:var(--edem-shadow-raised);font-size:var(--edem-text-caption);font-weight:400;line-height:1.3;text-align:center; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-action-art { inline-size:min(100%,var(--edem-icon-main));aspect-ratio:1;block-size:auto;object-fit:contain;display:block; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-action-label { font-size:var(--edem-text-caption);font-weight:400;line-height:1.3;overflow-wrap:anywhere; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-icon-strip { display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:5px 2px 13px;scrollbar-width:thin;scrollbar-color:var(--edem-line-strong) transparent; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-shortcut { flex:0 0 94px;min-inline-size:0;display:flex;align-items:center;flex-direction:column;gap:11px;padding:4px 4px 9px;background:transparent;border:0;box-shadow:none;border-radius:14px;font-size:var(--edem-text-caption);font-weight:400;line-height:1.3;text-align:center;scroll-snap-align:start; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-app-icon { display:flex;align-items:center;justify-content:center;inline-size:var(--edem-icon-small);block-size:var(--edem-icon-small);flex-shrink:0;border-radius:var(--edem-radius-icon);background:var(--edem-surface);box-shadow:var(--edem-shadow-small);overflow:hidden; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-app-icon>img { display:block;inline-size:100%;block-size:100%;object-fit:contain; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-app-icon>svg { inline-size:var(--edem-icon-small-object);block-size:var(--edem-icon-small-object); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-fields { display:flex;flex-direction:column;gap:var(--edem-space-5); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-field { display:flex;flex-direction:column;gap:8px;min-inline-size:0;font-size:.875rem; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-field-label { display:flex;align-items:center;gap:8px;font-weight:500; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-field-label>img { inline-size:30px;block-size:30px;object-fit:contain; }
:where(.edem-wtf,[data-edem-theme="wtf"]) :is(.e-input,.e-select,.e-textarea) { box-sizing:border-box;inline-size:100%;min-inline-size:0;min-block-size:var(--edem-field-height);padding:12px;border:1px solid var(--edem-control-line);border-radius:var(--edem-radius-control);background:var(--edem-surface);color:var(--edem-ink);font:400 var(--edem-text-field)/1.45 var(--edem-font);box-shadow:inset 0 1px 2px #26351b05,0 2px 0 #f1f3ed; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-textarea { min-block-size:110px;resize:vertical; }
:where(.edem-wtf,[data-edem-theme="wtf"]) :is(.e-input,.e-textarea)::placeholder { color:var(--edem-muted);opacity:1; }
:where(.edem-wtf,[data-edem-theme="wtf"]) [aria-invalid="true"]:is(.e-input,.e-select,.e-textarea) { border-color:var(--edem-danger); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-hint { margin:0;color:var(--edem-muted);font-size:var(--edem-text-caption);line-height:1.45; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-error { color:var(--edem-danger);font-size:var(--edem-text-caption); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-choice { display:flex;align-items:center;gap:10px;min-block-size:var(--edem-target);padding:10px 12px;border:1px solid var(--edem-line);border-radius:var(--edem-radius-control);background:var(--edem-surface);font-size:.875rem; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-choice>:is(input[type=checkbox],input[type=radio]) { inline-size:19px;block-size:19px;min-inline-size:19px;margin:0;accent-color:var(--edem-brand); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-fold { border-block:1px solid var(--edem-line);padding-block:4px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-fold>summary { min-block-size:var(--edem-target);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-fold-body { padding:12px 0 16px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-card { background:var(--edem-surface);border:1px solid var(--edem-line);border-radius:var(--edem-radius-card);padding:var(--edem-space-4);min-inline-size:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-card-title { font-size:var(--edem-text-section);font-weight:500;line-height:1.3;margin:0 0 8px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-card-body { margin:0;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-list { display:flex;flex-direction:column;padding:0;margin:0;list-style:none; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-list-row { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-block-size:var(--edem-target);padding:13px 2px;border-bottom:1px solid var(--edem-line);font-size:.875rem; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-list-row:last-child { border-bottom:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-list-row>:first-child { min-inline-size:0;overflow-wrap:anywhere; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-badge { display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:10px;background:var(--edem-surface-soft);color:var(--edem-muted);font-size:var(--edem-text-caption);line-height:1.3; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-badge--verified { color:var(--edem-success);background:var(--edem-success-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-badge--unknown { color:var(--edem-warning);background:var(--edem-warning-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-badge--error { color:var(--edem-danger);background:var(--edem-danger-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-tabs { display:flex;gap:4px;flex-wrap:wrap;background:var(--edem-surface-soft);border-radius:var(--edem-radius-control);padding:4px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-tabs>button { flex:1 1 auto;min-block-size:44px;padding:9px 11px;border:0;border-radius:12px;background:transparent;color:var(--edem-ink);font:400 .875rem/1.3 var(--edem-font); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-tabs>button[aria-selected="true"],
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-tabs>button[aria-pressed="true"] { background:var(--edem-surface);box-shadow:0 2px 5px #2532190a;font-weight:500; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-filter { display:inline-flex;align-items:center;gap:6px;min-block-size:44px;padding:9px 12px;border:1px solid var(--edem-line);border-radius:14px;background:var(--edem-surface);color:var(--edem-ink);font:400 .8125rem/1.3 var(--edem-font); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-filter[aria-pressed="true"] { border-color:var(--edem-line-strong);background:var(--edem-surface-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-filter[data-draft="true"] { border-style:dashed; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-state { display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:28px 16px;min-inline-size:0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-state>img { inline-size:92px;block-size:92px;object-fit:contain; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-state-title { margin:0;font-size:var(--edem-text-section);font-weight:500; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-state-copy { color:var(--edem-muted);margin:0;max-inline-size:30rem;font-size:.875rem;line-height:1.5; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-alert { display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-radius:16px;background:var(--edem-danger-soft);color:var(--edem-danger);font-size:.875rem; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-alert>svg { inline-size:20px;block-size:20px;flex-shrink:0;margin-top:1px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-loading { display:flex;flex-direction:column;gap:10px;padding:20px 0; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-loading>span { display:block;block-size:12px;border-radius:5px;background:var(--edem-surface-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-loading>span:last-child { inline-size:67%; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-photos { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-photo-slot { display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-block-size:70px;border:1px dashed var(--edem-line-strong);border-radius:18px;background:var(--edem-surface);box-shadow:0 3px 0 #f0f3eb; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-photo-slot>img { inline-size:48px;block-size:48px;object-fit:contain; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-photo-slot>svg { inline-size:24px;block-size:24px;color:var(--edem-muted); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-dialog { box-sizing:border-box;inline-size:min(100%,35rem);min-inline-size:0;border:1px solid var(--edem-line);border-radius:24px;padding:20px;background:var(--edem-surface);color:var(--edem-ink);box-shadow:var(--edem-shadow-overlay); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-dialog-title { margin:0;font-size:var(--edem-text-section);font-weight:500; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-sheet { background:var(--edem-surface);border-radius:var(--edem-radius-sheet) var(--edem-radius-sheet) 0 0;padding:0 16px 18px;box-shadow:var(--edem-shadow-sheet);transition:transform var(--edem-sheet-duration) var(--edem-ease); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-sheet-grip { display:flex;align-items:center;justify-content:center;min-block-size:30px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-sheet-grip::before { content:"";inline-size:36px;block-size:4px;border-radius:4px;background:var(--edem-line-strong); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-map[data-moving="true"] .e-sheet { transform:translateY(calc(100% + 24px));pointer-events:none; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-zone-key { display:inline-flex;align-items:center;gap:8px;font-size:var(--edem-text-caption); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-zone-key::before { content:"";inline-size:20px;block-size:20px;border:1px dashed var(--edem-zone-line);border-radius:50%;background:var(--edem-zone-fill); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-zone-key[data-paused="true"]::before { border-color:var(--edem-muted);background:transparent; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-composer { display:flex;align-items:flex-end;gap:8px;padding:10px;border:1px solid var(--edem-line);border-radius:20px;background:var(--edem-surface); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-composer>.e-textarea { min-block-size:48px;box-shadow:none;border:0;padding:10px 4px; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-message { padding:11px 14px;border:1px solid var(--edem-line);border-radius:17px;background:var(--edem-surface);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-message--own { background:var(--edem-surface-soft); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-table-wrap { overflow-x:auto; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-table { border-collapse:collapse;inline-size:100%;font-size:.875rem; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-table :is(th,td) { padding:12px 10px;text-align:start;border-bottom:1px solid var(--edem-line);vertical-align:top; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-table th { color:var(--edem-muted);font-weight:400; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-table .e-button { font-size:var(--edem-text-small); }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-page-title { margin:0;font-size:var(--edem-text-title);font-weight:500;line-height:1.2; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-section-title { margin:0;font-size:var(--edem-text-section);font-weight:500;line-height:1.3; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-page { inline-size:min(100%,72rem);margin-inline:auto;padding:16px;box-sizing:border-box; }
:where(.edem-wtf,[data-edem-theme="wtf"]) .e-two-columns { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
@media (max-width:600px) { :where(.edem-wtf,[data-edem-theme="wtf"]) .e-two-columns { grid-template-columns:minmax(0,1fr); } }
@media (hover:hover) and (pointer:fine) {
 :where(.edem-wtf,[data-edem-theme="wtf"]) :is(.e-button,.e-action,.e-icon-button):not(:disabled):not([aria-disabled="true"]):hover { border-color:var(--edem-line-strong); }
}
