/* Consistent spacing and constrained controls; business-specific grids keep their own structure. */
.admin-shell{--admin-border:#e0e8e3;--admin-muted:#75867c;color:#19372f}
.admin-shell .admin-content,.admin-shell .admin-page-title,.admin-shell .tablewrap{min-width:0}
.admin-shell .admin-page-title{padding-top:20px!important;padding-bottom:16px!important}
.admin-shell .admin-page-title h1{font-size:26px;line-height:1.35;margin:8px 0}
.admin-shell .admin-page-title p{font-size:13px;margin:0;color:var(--admin-muted)}
.admin-shell .admin-content>.row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.admin-shell .admin-content h3{font-size:17px;line-height:1.45;margin-top:0}
.admin-shell .admin-content p{line-height:1.7}
.admin-shell .admin-content .field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.admin-shell .admin-content .field-grid>*{min-width:0}
.admin-shell .tablewrap{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%}
.admin-shell table{width:100%;border-collapse:collapse}
.admin-shell th{font-size:12px;line-height:1.5;font-weight:600;white-space:nowrap;padding:13px 12px}
.admin-shell td{font-size:13px;line-height:1.7;padding:14px 12px;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
.admin-shell tbody tr:hover{background:#f8fbf9}
.admin-shell td input:not([type=checkbox]),.admin-shell td select{min-width:0;max-width:120px;box-sizing:border-box}
.admin-shell td button{margin:2px 3px 2px 0}
.admin-shell input,.admin-shell select,.admin-shell textarea{font-family:inherit;font-size:14px;box-sizing:border-box}
.admin-shell input:not([type=checkbox]):not([type=file]),.admin-shell select{min-height:41px}
.admin-shell textarea{line-height:1.7;resize:vertical}
.admin-shell button,.admin-shell .smallbtn{min-height:36px;font-size:13px;line-height:1.4}
.admin-shell .primary{font-weight:650;box-shadow:none}
.admin-shell .ops-filters,.admin-shell .al-filters,.admin-shell .ops-log-filters{border:1px solid var(--admin-border);border-radius:12px;background:#fff;padding:14px;margin:14px 0}
.admin-shell .ops-filters input,.admin-shell .ops-filters select{margin:0}
.admin-shell .ops-pager,.admin-shell .al-pager{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:12px 0 0;font-size:12px;color:var(--admin-muted)}
.admin-shell .ops-filters{flex-wrap:wrap;gap:12px}
.admin-shell .notice,.admin-shell small{line-height:1.65}
.admin-shell .admin-inline-editor .field-grid{align-items:start}
.admin-shell .admin-inline-editor form>label{display:block;margin:14px 0 7px}
.admin-shell .admin-inline-editor form>input,.admin-shell .admin-inline-editor form>select,.admin-shell .admin-inline-editor form>textarea{width:100%;max-width:780px}
.admin-shell .admin-inline-editor form>button[type=submit]{margin-top:18px}
.admin-shell .admin-topbar-actions{gap:10px;min-width:0}
.admin-shell .admin-breadcrumb{font-size:13px}
.admin-shell .admin-nav-item{font-size:14px;min-height:42px;gap:10px}
.admin-shell .fx-intro{margin-bottom:12px}
.admin-shell .fx-workspace .field-grid .card{margin:0 0 14px}
.admin-shell .fx-filter{padding:12px 16px;gap:12px}
.admin-shell .ops-telegram form>.primary{margin:4px 0 20px}
.admin-shell .ops-telegram .card{margin-bottom:16px}
.admin-shell .ops-log-center .card table{table-layout:fixed;min-width:850px}
.admin-shell .ops-log-center th:nth-child(1){width:18%}.admin-shell .ops-log-center th:nth-child(2){width:15%}.admin-shell .ops-log-center th:nth-child(3){width:27%}.admin-shell .ops-log-center th:nth-child(4){width:40%}
.admin-shell .ops-log-center td{vertical-align:top}
.admin-shell .ops-log-center details pre{margin:8px 0 0;max-width:100%;max-height:450px;overflow:auto}
.admin-shell .ops-task-list table{min-width:1140px}
.admin-shell .ops-task-list td:last-child{white-space:normal;min-width:145px}
.admin-shell .ops-task-list td:last-child .crypto-switch{display:inline-flex;gap:5px;align-items:center;vertical-align:middle}
body:not(:has(.admin-shell)) button,body:not(:has(.admin-shell)) a{touch-action:manipulation}
body:not(:has(.admin-shell)) .task-card .info{min-width:0}
body:not(:has(.admin-shell)) .task-card h3{overflow-wrap:anywhere;line-height:1.5}
body:not(:has(.admin-shell)) .card input,body:not(:has(.admin-shell)) .card select,body:not(:has(.admin-shell)) .card textarea{max-width:100%;box-sizing:border-box}
body:not(:has(.admin-shell)) #nav a{min-height:48px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #60a895;outline-offset:3px}
button[disabled]{cursor:not-allowed}
@media(max-width:900px){.admin-shell .admin-content .field-grid{grid-template-columns:minmax(0,1fr)}.admin-shell .admin-content>.row{align-items:flex-start}.admin-shell .admin-user-label{display:none}.admin-shell .admin-topbar-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
.ops-user-directory table{min-width:950px}.ops-user-directory td small{display:block;color:#7d8e84;margin-top:5px}.ops-user-directory td:nth-child(6){white-space:nowrap}.ops-user-directory .crypto-switch{display:inline-flex;gap:5px;align-items:center}
