/* Functional boundaries: one frame per task, quiet controls inside. */
.swiss-site .tool-page-main:has(.workspace-heading) .drop-zone {
    border: 1px solid var(--line); background: #f5f4ef;
    padding: 24px 76px 24px 24px; min-height: 138px;
}
.swiss-site .tool-page-main:has(.workspace-heading) .drop-zone::after { right: 20px; top: 24px; }
.swiss-site .tool-page-main:has(.workspace-heading) .drop-zone:hover,
.swiss-site .tool-page-main:has(.workspace-heading) .drop-zone.dragover { background: #eeede6; border-color: var(--accent); }
.swiss-site .work-group { border: 1px solid var(--line); padding: 24px; margin-top: 28px; min-width: 0; }
.swiss-site .work-group-title { font-size: 14px; font-weight: 600; line-height: 1.5; margin: 0 0 24px; }
.swiss-site .tool-page-main:has(.workspace-heading) .work-group .options { grid-template-columns: 1fr; padding: 0; margin: 0 !important; gap: 18px; }
.swiss-site .work-group .options label { justify-content: space-between; }
.swiss-site .tool-page-main:has(.workspace-heading) .work-group .buttons { display: flex; flex-wrap: wrap; gap: 16px; max-width: none; border-top: 1px solid var(--line); padding-top: 20px; margin: 24px 0 0; }
.swiss-site .tool-page-main:has(.workspace-heading) .work-group .buttons .tool-btn { min-width: 120px; padding: 10px 18px; }
.swiss-site .tool-page-main:has(.workspace-heading) .work-group .buttons .tool-btn:last-child { min-width: 44px; margin-left: auto; }
.swiss-site .tool-page-main .work-group > .ctrl-row { margin-top: 0; margin-bottom: 20px; }
.swiss-site .tool-page-main .work-group > .tier-bar { margin: 24px 0 0; }
.swiss-site .tool-page-main .work-group > .manual-box { border: 0; padding: 0; }
.swiss-site .tool-page-main:has(.workspace-heading) .preview-card { border: 1px solid var(--line); padding: 18px; }
.swiss-site .tool-page-main .preview-card h3 { font-size: 14px; margin-bottom: 16px; }
.swiss-site .result-actions { margin-top: 18px; }
.swiss-site .result-actions .tool-btn { width: 100%; font-size: 13px; padding: 10px 12px; }
.swiss-site .tool-page-main:has(.workspace-heading) #lobby { display: block; }
.swiss-site .connection-group .toolbar { margin: 0; }
.swiss-site .connection-group .lan-field { margin: 0; }
.swiss-site .connection-group .lan-row { gap: 16px; }
.swiss-site .tool-page-main:has(.workspace-heading) .room-grid .lan-card { border: 1px solid var(--line); padding: 24px; }

/* Account: one narrow form, no nested panel, compact tabs and clear labels. */
.swiss-site .tool-page-main:has(#authSection) { width: min(420px, calc(100% - 48px)); padding: 44px 0 64px; margin: 0 auto; }
.swiss-site .tool-page-main:has(#authSection) > .tool-page-title { font-size: 28px; text-align: left; margin: 0 0 28px; }
.swiss-site .tool-page-main:has(#authSection) > div[style="height:24px;"] { display: none; }
.swiss-site :is(.auth-container, .profile-container) { max-width: none; padding: 0; }
.swiss-site .auth-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.swiss-site .auth-tab { flex: 0 0 auto; padding: 0 0 12px; background: transparent; font-size: 14px; border-bottom: 2px solid transparent; }
.swiss-site .auth-tab.active { color: var(--ink); background: transparent; border-bottom-color: var(--accent); }
.swiss-site .auth-form { padding: 0; border: 0; background: transparent; }
.swiss-site .form-group { margin-bottom: 20px; }
.swiss-site .form-label { font-size: 13px; margin-bottom: 8px; color: var(--ink); }
.swiss-site .form-input { padding: 11px 12px; min-height: 44px; font-size: 16px; background: #fcfbf8; }
.swiss-site .password-toggle .form-input { padding-right: 44px; }
.swiss-site .form-btn { min-height: 44px; padding: 11px 16px; font-size: 14px; }
.swiss-site .form-hint { text-align: right; margin-top: 16px; }
.swiss-site .code-btn { background: transparent; color: var(--ink); border: 1px solid var(--line); font-size: 12px; padding: 0 12px; }
.swiss-site .profile-card { border: 0; padding: 0; }
.swiss-site .profile-avatar { width: 40px; height: 40px; font-size: 18px; }
.swiss-site .profile-info h2 { font-size: 17px; }
.swiss-site :is(.btn-change-pwd, .btn-logout) { padding: 10px 14px; min-height: 44px; font-size: 14px; }
@media (max-width: 640px) {
    .swiss-site .tool-page-main:has(.workspace-heading) .upload-grid,
    .swiss-site .tool-page-main:has(.workspace-heading) #createPanel > div[style*="grid-template-columns"] { gap: 16px !important; }
    .swiss-site .work-group { padding: 20px 16px; }
    .swiss-site .tool-page-main:has(.workspace-heading) .drop-zone { padding: 22px 68px 22px 20px; min-height: 120px; }
    .swiss-site .tool-page-main:has(.workspace-heading) .drop-zone::after { right: 16px; top: 22px; }
    .swiss-site .tool-page-main:has(.workspace-heading) .drop-zone strong { font-size: 16px; }
    .swiss-site .work-group .options label { gap: 10px; font-size: 12px; }
    .swiss-site .tool-page-main:has(#authSection) { padding-top: 32px; }
}
