/* Shared admin interface. Scoped to upgraded templates; never changes column widths. */
.admin-refresh {
    --admin-accent: #008f80;
    --admin-ink: #283e38;
    --admin-muted: #74857d;
    --admin-border: #e1e9e5;
    --admin-surface: #f3f6f4;
    color: var(--admin-ink);
    background: var(--admin-surface);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
    font-size: 14px;
}
.admin-refresh .layui-fluid { padding: 22px 24px; }
.admin-refresh .admin-page-heading { padding: 2px 0 20px; }
.admin-refresh .admin-page-heading h1 { margin: 0; font-size: 23px; line-height: 1.5; font-weight: 600; }
.admin-refresh .admin-page-heading p { margin: 6px 0 0; color: var(--admin-muted); font-size: 13px; line-height: 1.7; }
.admin-refresh .layui-card { border: 1px solid var(--admin-border); border-radius: 7px; box-shadow: none; margin-bottom: 18px; }
.admin-refresh .layui-card-header { color: var(--admin-ink); border-bottom-color: var(--admin-border); font-weight: 500; }
.admin-refresh .layui-card-body { padding: 18px; }
.admin-refresh .layuiadmin-card-header-auto { padding: 18px; }
.admin-refresh .admin-search-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; }
.admin-refresh .admin-search-bar .layui-form-item { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; margin-bottom: 0; }
.admin-refresh .admin-search-bar .layui-row:before,.admin-refresh .admin-search-bar .layui-row:after { display: none; }
.admin-refresh .admin-search-bar .layui-inline { margin: 0; width: auto; max-width: 100%; }
.admin-refresh .admin-search-bar .layui-form-label { width: auto; float: none; display: block; padding: 0 0 7px; line-height: 20px; height: auto; text-align: left; color: #64786d; font-size: 12px; }
.admin-refresh .admin-search-bar .layui-input-block { margin-left: 0; }
.admin-refresh .admin-search-bar .layui-input-inline { margin: 0; max-width: 100%; }
.admin-refresh .admin-search-bar .layui-input-block > .layui-input,
.admin-refresh .admin-search-bar .layui-form-select { min-width: 150px; }
.admin-refresh .layui-input,.admin-refresh .layui-textarea,.admin-refresh .layui-select { border-color: #d8e3dc; border-radius: 4px; color: var(--admin-ink); }
.admin-refresh .layui-input:hover,.admin-refresh .layui-textarea:hover { border-color: #a9bfb2!important; }
.admin-refresh .layui-input:focus,.admin-refresh .layui-textarea:focus { border-color: var(--admin-accent)!important; box-shadow: 0 0 0 3px rgba(0,143,128,.08); }
.admin-refresh .layui-input::placeholder,.admin-refresh .layui-textarea::placeholder { color: #9aa79f; }
.admin-refresh .layui-form-select dl { border-color: var(--admin-border); border-radius: 4px; box-shadow: 0 6px 20px rgba(31,58,43,.10); }
.admin-refresh .layui-form-select dl dd.layui-this { background: var(--admin-accent); }
.admin-refresh .layui-btn { border-radius: 4px; background-color: var(--admin-accent); transition: background-color .15s; }
.admin-refresh .layui-btn:hover { opacity: 1; filter: brightness(.95); }
.admin-refresh .layui-btn-normal { background: #e8f4ee; color: #187b62; border: 1px solid #cde6d8; }
.admin-refresh .layui-btn-danger { background: #fff1ed; color: #ae5146; border: 1px solid #efd6cf; }
.admin-refresh .layui-btn-warm { background: #fff6e6; color: #946626; border: 1px solid #eadbc1; }
.admin-refresh .layui-btn-primary { background: #fff; color: #536a5d; border-color: #d8e3dc; }
.admin-refresh .layui-btn-disabled { background: #eef1ee!important; color: #9aa79e!important; filter: none; }
.admin-refresh .layui-btn-xs { height: 22px; line-height: 20px; padding: 0 5px; }
.admin-refresh :is(button,a,input,textarea,select,[tabindex]):focus-visible { outline: 2px solid var(--admin-accent); outline-offset: 3px; }
.admin-refresh .layui-table-view { border-color: var(--admin-border); border-radius: 5px; }
.admin-refresh .layui-table th,.admin-refresh .layui-table td { border-color: #e6ece8; }
.admin-refresh .layui-table thead tr { background: #f5f8f6; color: #64786d; }
.admin-refresh .layui-table tbody tr:hover,.admin-refresh .layui-table-hover { background: #f4f9f6!important; }
.admin-refresh .layui-table th { font-weight: 500; }
.admin-refresh .layui-table-cell { font-variant-numeric: tabular-nums; }
.admin-refresh .layui-table-page { border-top-color: var(--admin-border); background: #fff; }
.admin-refresh .layui-laypage .layui-laypage-curr .layui-laypage-em { background: var(--admin-accent); border-radius: 3px; }
.admin-refresh .layui-laypage input,.admin-refresh .layui-laypage select,.admin-refresh .layui-laypage button { border-color: var(--admin-border); border-radius: 3px; }
.admin-refresh .layui-table-tool { background: #f8faf8; border-color: var(--admin-border); }
.admin-refresh .layui-table-tips-main { max-width: min(400px,85vw); overflow-wrap: anywhere; }
.admin-refresh .layui-form-radio > i:hover,.admin-refresh .layui-form-radioed > i { color: var(--admin-accent); }
.admin-refresh .layui-form-checked[lay-skin=primary] i,.admin-refresh .layui-form-onswitch { border-color: var(--admin-accent); background: var(--admin-accent); }
.admin-refresh .layui-tab-title { border-bottom-color: var(--admin-border); }
.admin-refresh .layui-tab-title .layui-this { color: var(--admin-accent); }
.admin-refresh .layui-tab-brief > .layui-tab-title .layui-this:after { border-bottom-color: var(--admin-accent); }
.admin-refresh .layui-layer { border-radius: 8px; box-shadow: 0 18px 60px rgba(25,49,36,.18); }
.admin-refresh .layui-layer-title { border-radius: 8px 8px 0 0; background: #f7faf8; color: var(--admin-ink); border-bottom: 1px solid var(--admin-border); font-weight: 600; }
.admin-refresh .layui-layer-btn .layui-layer-btn0 { background: var(--admin-accent); border-color: var(--admin-accent); }
.admin-refresh .layui-layer-btn a { border-radius: 4px; }
.admin-refresh.admin-form-page { background: #fff; min-height: 100vh; }
.admin-refresh.admin-form-page > .layui-form,
.admin-refresh.admin-form-page > form,
.admin-refresh.admin-form-page > div > .form-layer { padding: 24px!important; text-align: left!important; }
.admin-refresh.admin-form-page .layui-form-item { margin-bottom: 20px; }
.admin-refresh.admin-form-page .layui-form-label { color: #52695b; }
.admin-refresh.admin-form-page .layui-textarea { min-height: 110px; }
.admin-refresh .admin-form-actions { position: sticky; bottom: 0; z-index: 10; background: #fff; padding: 14px 0!important; margin-bottom: 0!important; border-top: 1px solid var(--admin-border); }
.admin-refresh .admin-form-actions .layui-btn { height: 36px; line-height: 34px; padding: 0 18px; }
.admin-refresh .admin-network-status { position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); padding: 10px 16px; background: #fff4eb; color: #945b29; border: 1px solid #eed9c6; border-radius: 5px; box-shadow: 0 5px 20px #243a2314; max-width: 85vw; z-index: 999999; font-size: 13px; }
.admin-refresh .admin-table-empty { color: var(--admin-muted); padding: 24px!important; }
/* Shell keeps existing menu, tab and collapse contracts. */
.admin-refresh.admin-shell .layui-side-menu,.admin-refresh.admin-shell .layui-side-menu .layui-nav { background: #20362f!important; }
.admin-refresh.admin-shell .layui-logo { background: #1a2e27!important; box-shadow: none; font-weight: 600; letter-spacing: .5px; }
.admin-refresh.admin-shell .layui-side-menu .layui-nav-item > a { color: #cedbd4; }
.admin-refresh.admin-shell .layui-nav-tree .layui-nav-child a { color: #aebfb4; }
.admin-refresh.admin-shell .layui-nav-tree .layui-this > a { background: #008f80!important; color: #fff!important; }
.admin-refresh.admin-shell .layui-nav-tree .layui-nav-bar { background: #62bda0; }
.admin-refresh.admin-shell .layui-header { box-shadow: none; border-bottom: 1px solid #e6ece8; }
.admin-refresh.admin-shell .layadmin-pagetabs { box-shadow: none; border-bottom: 1px solid #e2e9e5; }
.admin-refresh.admin-shell .layadmin-pagetabs .layui-tab-title li.layui-this { background: #edf6f0; color: #157f64; }
.admin-refresh.admin-shell .layadmin-pagetabs .layui-tab-title li.layui-this:after { background-color: #008f80; }
/* Dedicated dashboard and sign-in surfaces. */
.admin-refresh.admin-dashboard .layuimini-container { padding: 22px 24px; }
.admin-refresh.admin-dashboard .layui-card-header { padding: 6px 18px; }
.admin-refresh.admin-dashboard .layui-bg-number { border-radius: 5px; background: #f1f6f2; }
.admin-refresh.admin-dashboard .layuimini-qiuck-module a i { background: #eef6f1; color: #238368; border-radius: 5px; }
.admin-refresh.admin-dashboard .layuimini-qiuck-module a:hover i { background: #e0f0e5; }
.admin-refresh.admin-login { background: #ecf2ed!important; min-height: 100vh; }
.admin-refresh.admin-login .main-body { width: min(440px,calc(100vw - 32px)); }
.admin-refresh.admin-login .login-main { width: 100%!important; border: 1px solid #dfe8e1; border-radius: 12px; box-shadow: 0 20px 65px rgba(25,56,37,.10); overflow: hidden; }
.admin-refresh.admin-login .login-main .login-top { width: 100%!important; background: #203d31; height: auto; padding: 30px 0; line-height: 32px; }
.admin-refresh.admin-login .login-top > span:first-child { font-size: 21px; font-weight: 600; }
.admin-refresh.admin-login .login-top .bg1,.admin-refresh.admin-login .login-top .bg2 { display: none; }
.admin-refresh.admin-login .login-main .login-bottom { width: 100%!important; background: #fff; padding: 28px 0; }
.admin-refresh.admin-login .login-main .login-bottom .center { padding-top: 8px; }
.admin-refresh.admin-login .login-main .login-bottom .center .item input { background: #fff; color: #283e38; }
.admin-refresh.admin-login .login-main .login-bottom .tip .login-tip { color: #71847a; }
.admin-refresh.admin-login .login-btn { background: var(--admin-accent)!important; border-radius: 5px; }
.admin-refresh.admin-login .footer { color: #7e9183; }
.admin-refresh.admin-login .footer a,.admin-refresh.admin-login .footer span { color: inherit; }
.admin-refresh.admin-report { background: #071b29; color: #dcece6; font-variant-numeric: tabular-nums; }
.admin-refresh.admin-report .outer { border-radius: 8px; }
.admin-refresh.admin-map { background: #f3f6f4!important; padding: 18px; }
.admin-refresh.admin-map > div { max-width: 100%; }
.admin-refresh.admin-map #container { max-width: calc(100vw - 36px); border: 1px solid #dce6df!important; border-radius: 6px; margin-top: 18px; }
.admin-refresh.admin-map input { padding: 8px; border: 1px solid #cfddd4; border-radius: 4px; max-width: 100%; margin-bottom: 10px; }
.admin-refresh.admin-map input[type=button] { color: white; background: #008f80; cursor: pointer; }
.admin-refresh.admin-image { display: grid; min-height: 100vh; place-items: center; margin: 0; }
.admin-refresh.admin-image > img { max-width: 100%; max-height: 95vh; object-fit: contain; border-radius: 8px; box-shadow: 0 8px 30px #18352318; }
.admin-refresh.admin-code .main { background: #f3f6f4; }
.admin-refresh.admin-code .center { background: #fff; border-color: #dce6df; border-radius: 8px; max-width: 90vw; }
@media(max-width:768px) {
    .admin-refresh .layui-fluid { padding: 14px; }
    .admin-refresh .layui-card-body,.admin-refresh .layuiadmin-card-header-auto { padding: 12px; }
    .admin-refresh .admin-page-heading { padding-bottom: 14px; }
    .admin-refresh .admin-page-heading h1 { font-size: 20px; }
    .admin-refresh .admin-search-bar .layui-inline { width: 100%; }
    .admin-refresh .admin-search-bar .layui-input-inline { width: 100%; }
    .admin-refresh.admin-form-page .layui-form-label { float: none; display: block; text-align: left; width: auto; padding: 0 0 8px; }
    .admin-refresh.admin-form-page .layui-input-block { margin-left: 0; }
    .admin-refresh.admin-form-page .layui-input-inline { float: none; width: 100%; margin-left: 0; }
    .admin-refresh.admin-form-page .layui-inline { max-width: 100%; }
    .admin-refresh .admin-search-bar .layui-input-block > .layui-input { min-width: 0; }
}
@media(prefers-reduced-motion:reduce) { .admin-refresh * { transition: none!important; } }
