/* 桌面、Pad 和手机共享组件；依据视口宽度切换密度和表格形态。 */
html{scroll-padding-top:130px}body{min-height:100dvh}.sidebar a.nav{text-decoration:none}#admin-navigation:empty{display:none}.pagehead>div,.field,.export-head{min-width:0}.notice,.sub,.help,.mono{overflow-wrap:anywhere}.toolbar input{min-width:0}.user-chip{flex-shrink:0}.topbar .brand{white-space:nowrap}
body[data-form-factor="tablet"] .sidebar{width:176px;padding:20px 10px}body[data-form-factor="tablet"] .main{padding:24px 18px 48px;max-width:none}body[data-form-factor="tablet"] .provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-form-factor="tablet"] .stats{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-form-factor="tablet"] .table td,body[data-form-factor="tablet"] .table th{padding:12px}body[data-form-factor="tablet"] .table .acts{flex-wrap:wrap}body[data-form-factor="tablet"] .login-layout{gap:36px;grid-template-columns:minmax(0,1fr) 360px}body[data-form-factor="tablet"] .health-grid{grid-template-columns:1fr}
@media(max-width:760px){
  html{scroll-padding-top:118px}.topbar{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.sidebar{scrollbar-width:none;overscroll-behavior-x:contain;gap:4px;padding:8px 12px}.sidebar::-webkit-scrollbar{display:none}.nav{min-height:42px}.main{padding:20px 14px max(28px,env(safe-area-inset-bottom))}.pagehead{align-items:flex-start;gap:12px}.pagehead h1{font-size:22px}.pagehead>.btn{padding:10px 12px;min-height:42px}.pagehead p{line-height:1.7}.stats{gap:10px}.stat{padding:14px}.stat .hint{font-size:11px}.provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.provider-card{min-width:0}.provider-card p{overflow-wrap:anywhere}.btn:not(.tiny){min-height:42px}.inp{height:46px;font-size:16px}.codewrap .send{height:38px;top:4px}.toolbar{padding:12px;gap:8px}.toolbar .inp{min-width:0;flex:1 1 140px;max-width:none}.toolbar .spacer{display:none}.toolbar .small{flex:1}.table-wrap{overflow:visible;max-height:none}.table{display:block;min-width:0!important;font-size:13px}.table thead{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.table tbody{display:grid;gap:12px;padding:12px}.table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.table td{display:block;border:0!important;padding:0;min-width:0;text-align:left!important;overflow-wrap:anywhere}.table td:first-child,.table td:last-child{grid-column:1/-1}.table td::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:4px;font-weight:400}.table td:last-child::before{display:none}.table .acts{justify-content:flex-start;white-space:normal;flex-wrap:wrap;gap:7px;border-top:1px solid var(--line);padding-top:10px}.table .acts .btn{min-height:38px;flex:1 0 auto}.table .audit-target{max-width:none;white-space:normal}.captcha-row{flex-wrap:wrap}.captcha-row>.inp{flex:1;min-width:120px}.captcha-row img{max-width:45%;height:56px}.steps{font-size:11px;gap:6px}.step-line{width:18px}.wizard-body{padding:20px 14px}.mode-tabs{gap:16px}.mode-tabs button{min-height:40px}.export-var .var-head>.row{width:100%}.export-var .var-head button{flex:1;min-height:38px}.export-var textarea{font-size:13px}.modal-body{max-height:65dvh}.modal-footer{flex-wrap:wrap;padding:12px 16px}.modal-footer .btn{flex:1}.health-grid .kv-grid{grid-template-columns:1fr}.login-screen{padding:28px 16px;min-height:100dvh}.login-layout{width:100%}.lbox{padding:22px}.login-intro h1{font-size:18px}.table td .row{gap:8px}#admin-navigation .nav{white-space:nowrap}
}
@media(max-width:360px){.brand{font-size:16px}.user-chip .username{max-width:64px}.user-chip .avatar{display:none}.pagehead{flex-direction:column;align-items:stretch}.pagehead>.btn{align-self:flex-start}.steps .step-line{width:10px}.modal-footer .btn{flex-basis:100%}}
@media(pointer:coarse){.icon-btn{width:42px;height:42px}.btn.tiny{min-height:38px}.inp{font-size:16px}}
.pill.limited{background:var(--amber-bg);color:var(--amber)}
.provider-icon.has-logo{background:transparent;overflow:hidden}.provider-icon img{width:100%;height:100%;display:block;object-fit:contain}.login-providers .provider-icon{background:transparent;overflow:hidden}
@media(max-width:760px){.toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.toolbar .inp{width:100%;max-width:none;min-width:0}.toolbar .small{min-width:0;white-space:nowrap}.toolbar>.btn{justify-self:end}.toolbar .spacer{display:none}}
/* Registration verification stays readable within the narrow login card. */
.signup-captcha-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.signup-captcha-row img { max-width: 100%; object-fit: contain; border-radius: 8px; }
.user-batchbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.user-choice { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; white-space: nowrap; }
.user-choice input { width: 16px; height: 16px; accent-color: var(--blue); flex-shrink: 0; }
.user-selection-cell { width: 66px; }
.user-select-label { display: none; }
.users-permission-table .acts { flex-wrap: wrap; }
@media(max-width:760px) {
  .user-batchbar { padding: 12px; gap: 8px; }
  .user-batchbar > span { width: 100%; }
  .user-batchbar > button { flex: 1 1 130px; }
  .users-permission-table .user-selection-cell { width: auto; }
  .users-permission-table .user-selection-cell::before { display: none; }
  .user-select-label { display: inline; }
  .user-taskflow-notice .btn { display: block; padding-left: 0; }
}
/* Registration, account cards and administration share the same compact spacing. */
.login-footer{max-width:440px;line-height:1.8}.login-footer a{color:inherit;text-decoration:none}.login-footer a:hover{text-decoration:underline}
.segmented,.access-tabs{display:flex;gap:4px;padding:4px;background:#e7ebf1;border-radius:10px}.segmented .btn,.access-tabs .btn{border:0;background:transparent}.segmented .selected,.access-tabs .selected{background:white;color:#0759e9;box-shadow:0 1px 4px #15223a14}.access-tabs{width:max-content;max-width:100%;margin-bottom:20px}.access-tabs .btn{padding:10px 18px}.access-registration-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px;margin-bottom:20px}.registration-options{display:grid;gap:10px}.registration-option{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #dce2eb;border-radius:10px;cursor:pointer}.registration-option:has(input:checked){border-color:#1763ed;background:#f3f7ff}.registration-option small,.setting-toggle small{display:block;color:#6b7280;font-weight:400;margin-top:5px;line-height:1.6}.registration-option input,.setting-toggle input,.switch-label input{accent-color:#1463f5;width:17px;height:17px;flex-shrink:0}.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;margin-bottom:14px;border-bottom:1px solid #edf0f5}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.form-actions{display:flex;gap:10px;margin-top:20px}.whitelist-add{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.whitelist-add .field{margin:0}.whitelist-add .error{grid-column:1/-1}.whitelist-search{max-width:360px;margin-top:12px}.toggle-line{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.toggle-line>div{flex:1}.toggle-line .error{width:100%}.switch-label{display:flex;gap:8px;align-items:center}.access-summary .profile-fields{margin:0}.access-summary dd{font-weight:600}
#access-tab-content>#taskflow-panel{margin-top:20px;display:block}#taskflow-panel>.settings-section-intro{padding:22px;border-bottom:1px solid #e0e5ed}#taskflow-panel>.bd{padding:24px}#taskflow-form{max-width:900px}#taskflow-form .field>label:has(input){display:flex;align-items:center;gap:8px;margin:10px 0}.taskflow-users{padding:12px 16px;background:#f7f9fc;border-radius:10px}.taskflow-log-toolbar{display:flex;align-items:center;gap:12px;margin:16px 0}.taskflow-log-toolbar .inp{max-width:180px}.log-time{white-space:nowrap}.log-message{min-width:180px;max-width:400px;white-space:normal;line-height:1.6}
.account-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.account-full-card{min-width:0}.account-full-card .hd{gap:12px}.account-full-card .hd h3{margin:0}.account-full-card .hd p{margin:4px 0 0}.account-full-card .account-summary>.section-title{margin-top:0}.account-full-card .account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card-actions{display:flex;gap:8px;padding:16px 20px;border-top:1px solid #e7ebf1;align-items:center;flex-wrap:wrap}.account-card-actions>span{margin-right:auto}.account-overview-summary .resource-details{margin-bottom:0}
@media(max-width:900px){.access-registration-grid,.account-card-grid{grid-template-columns:1fr}.whitelist-add{grid-template-columns:1fr 1fr}.whitelist-add>button{grid-column:1/-1;justify-self:start}.access-summary .profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.section-title{flex-wrap:wrap}}
@media(max-width:540px){.config-grid,.whitelist-add{grid-template-columns:1fr}.access-tabs{width:100%}.access-tabs .btn{padding:9px 10px;flex:1;white-space:nowrap}.access-summary .profile-fields{display:block}.account-full-card .hd{flex-wrap:wrap}.account-full-card .hd>.spacer{display:none}.account-full-card .hd>.pill{margin-left:auto}.taskflow-log-toolbar{flex-wrap:wrap}#taskflow-panel>.bd{padding:16px}.toggle-line{gap:12px}.toggle-line>div{flex-basis:100%}.login-layout .lbox{padding:24px}}
@media(max-width:540px){.access-tabs{flex-wrap:wrap}.access-tabs .btn{flex:1 1 40%}}

.account-overview-groups{display:grid;gap:32px}.account-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:18px;border-bottom:1px solid var(--line)}.account-category-heading h2{font-size:19px}.account-provider-section+.account-provider-section{margin-top:24px}.account-provider-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.account-provider-heading h3{font-size:14px}.account-provider-section .account-card-grid{align-items:start}@media(max-width:540px){.account-overview-groups{gap:26px}.account-category-heading{align-items:flex-start;flex-wrap:wrap}.account-category-heading h2{font-size:17px}}

.account-provider-section .account-full-card:only-child{grid-column:1/-1}.account-provider-section .account-full-card:only-child .account-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.account-provider-section .account-full-card:only-child .account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.service-sections{display:grid;gap:28px}.service-sections .account-category-heading{margin-bottom:14px}.service-sections .export-list{display:grid;gap:14px}.service-sections .export-card{margin-bottom:0}@media(max-width:540px){.service-sections{gap:24px}}

.service-sections .provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.service-sections .provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
