/* 门店数据管理表单页：独立的浅色工作台样式，不依赖其他页面的布局规则。 */
:root{
  --ink:#193633;--muted:#71827c;--line:#e1e9e4;--paper:#f5f7f3;--white:#fff;
  --green:#1b5a4c;--lime:#deefb2;--amber:#a9761b;--red:#b23b32;--teal:#2b7f8c;
  --shadow:0 10px 34px rgba(19,54,51,.07);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink);font-size:14px;background:var(--paper)
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9dc6b3;outline-offset:2px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#eaf0eb;padding:1px 5px;border-radius:4px}

.admin-topbar{height:70px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:34px;padding:0 32px;position:sticky;top:0;z-index:20}
.admin-brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:20px;font-weight:750;letter-spacing:.5px}
.admin-brand:hover{text-decoration:none}
.admin-brand small{display:block;font-size:9px;letter-spacing:2.2px;color:#8a9992;margin-top:2px;font-weight:600}
.admin-brand-icon{background:var(--ink);color:var(--lime);width:36px;height:40px;display:grid;place-items:center;font-size:28px;border-radius:11px 11px 5px 11px}
.admin-nav{display:flex;align-items:stretch;height:100%;gap:26px}
.admin-nav a{display:flex;align-items:center;color:#4b635b;font-size:13px;font-weight:600;border-bottom:3px solid transparent;padding-top:3px;white-space:nowrap}
.admin-nav a:hover{text-decoration:none;color:var(--green)}
.admin-nav a[aria-current=page]{color:var(--green);border-bottom-color:var(--green)}
.admin-mode{margin-left:auto;font-size:11px;color:var(--muted);background:#f0f4ef;border:1px solid var(--line);padding:6px 12px;border-radius:20px;white-space:nowrap}

.admin-main{max-width:1560px;margin:0 auto;padding:30px 32px 48px}
.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.admin-eyebrow{font-size:10px;letter-spacing:2.4px;color:#7c9a8d;font-weight:700;margin-bottom:8px}
.admin-heading h1{font-size:30px;line-height:1.2;margin:0 0 8px;letter-spacing:.5px}
.admin-heading p{margin:0;color:var(--muted);font-size:13px;max-width:760px;line-height:1.7}
.admin-tip{display:block;max-width:330px;font-size:11px;line-height:1.65;color:#6b7f76;background:#eef3ec;border-left:3px solid #8dbba5;padding:9px 12px;border-radius:0 7px 7px 0}

.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
.admin-stats>div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:15px 18px;box-shadow:var(--shadow)}
.admin-stats span{display:block;font-size:11px;color:var(--muted)}
.admin-stats strong{display:block;font-size:28px;line-height:1.25;margin:4px 0;font-variant-numeric:tabular-nums}
.admin-stats small{font-size:10px;color:#9aa9a2}

.admin-panel{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.admin-toolbar{padding:16px 18px;margin-bottom:16px}
.admin-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.admin-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);font-weight:600}
.admin-filters select,.admin-filters input,.admin-pagination select{height:36px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);padding:0 10px;font-size:13px;min-width:150px}
.admin-filters .admin-search{flex:1;min-width:260px;position:relative}
.admin-search span{position:absolute;left:12px;bottom:8px;font-size:18px;color:#8ba59a;line-height:1}
.admin-search input{width:100%;padding-left:34px}
.admin-action-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:14px}
.admin-action-spacer{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:8px 14px;border-radius:7px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s}
.btn:hover{background:#f0f4ef;text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn.primary:hover{background:#28584d}
.btn.danger{color:var(--red);border-color:#efcfca;background:#fff8f7}
.btn.danger:hover{background:#fdece9}
.btn:disabled{opacity:.45;cursor:not-allowed}
.admin-readonly{opacity:.55}
.admin-readonly:hover{opacity:.8}
.admin-status{margin:12px 0 0;font-size:11.5px;line-height:1.65;color:#5d756b;background:#f5f8f4;border-radius:6px;padding:8px 11px}
.admin-status[data-kind=error]{color:#9c332b;background:#fdf0ee}
.admin-status[data-kind=ok]{color:#1b5a4c;background:#eef7ee}

.admin-table-panel{overflow:hidden}
.admin-table-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}
.admin-table-heading h2{display:inline;font-size:16px;margin:0 10px 0 0}
.admin-table-heading span{font-size:11px;color:var(--muted)}
.admin-table-hint{text-align:right}
.admin-table-wrap{overflow:auto;max-height:min(62vh,720px)}
.admin-table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0;font-size:12.5px}
.admin-table th{position:sticky;top:0;z-index:2;background:#f1f5f0;border-bottom:1px solid #d8e3dc;text-align:left;font-size:11px;color:#557468;font-weight:700;white-space:nowrap;padding:0}
.admin-table th button{width:100%;text-align:left;background:transparent;border:0;padding:11px 12px;font:inherit;color:inherit;font-weight:700;white-space:nowrap}
.admin-table th button:hover{color:var(--green);background:#e9f0e9}
.sort-mark{display:inline-block;width:12px;font-style:normal;color:#98aaa1;font-size:10px}
th[data-active=true]{color:var(--green);background:#e7f1e8}
th[data-active=true] .sort-mark{color:var(--green)}
.admin-table td{padding:10px 12px;border-bottom:1px solid #edf1ed;vertical-align:middle;color:#2c443d}
.admin-table tbody tr:hover td{background:#f7faf6}
.admin-table tbody tr[data-selected=true] td{background:#eef6f0}
.admin-table .col-check{width:38px;padding:11px 12px}
.admin-table .col-index{width:52px;text-align:center;color:#98aaa1;font-variant-numeric:tabular-nums}
.admin-table .col-actions{width:184px}
.admin-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--green);cursor:pointer}
.admin-cell-strong{font-weight:650;color:var(--ink)}
.admin-cell-muted{color:#94a49c}
.admin-cell-clip{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-region{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.admin-region i{width:9px;height:9px;border-radius:50%;flex:none;background:#8a94a3}
.admin-region.unconfigured{color:#9a7b46}
.admin-pill{display:inline-block;font-size:10.5px;font-weight:700;border-radius:20px;padding:3px 9px;white-space:nowrap}
.admin-pill.located{background:#e6f4ea;color:#1f6b4b}
.admin-pill.pending{background:#fbf1dc;color:#9a7115}
.admin-pill.demo{background:#eeeaf5;color:#6c5391}
.admin-pill.auto{background:#fdf0dd;color:#9a5b12;border:1px solid #f0cf9c}
.admin-row-actions{display:flex;gap:5px;white-space:nowrap}
.admin-row-actions button{border:1px solid var(--line);background:var(--white);color:#42665b;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600}
.admin-row-actions button:hover{background:#edf4ee}
.admin-row-actions button.is-danger{color:var(--red);border-color:#efd6d2}
.admin-row-actions button.is-danger:hover{background:#fdf0ee}
.admin-empty{text-align:center;padding:44px 16px!important;color:var(--muted)}
.admin-empty strong{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}
.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.admin-pagination>div{display:flex;align-items:center;gap:12px}
.admin-pagination select{height:30px;min-width:70px;font-size:12px}
.admin-page-buttons .btn{min-height:30px;padding:5px 12px;font-size:12px}

.admin-advanced{margin-top:16px;padding:0 18px}
.admin-advanced summary{cursor:pointer;padding:13px 0;font-size:12.5px;font-weight:650;color:#4b635b}
.admin-advanced-body{border-top:1px solid var(--line);padding:4px 0 16px}
.admin-advanced-body p{font-size:11.5px;color:var(--muted);line-height:1.7;max-width:900px}
.admin-footnote{margin:18px 2px 0;font-size:11px;color:#8b9b93;line-height:1.8}

.admin-form-dialog{width:min(880px,96vw);max-height:92vh;padding:0;border:1px solid #ccdbd2;border-radius:14px;background:#f7faf7;color:var(--ink);box-shadow:0 30px 90px #04161366;overflow:hidden}
.admin-form-dialog::backdrop{background:#041613a8;backdrop-filter:blur(4px)}
#admin-form{display:flex;flex-direction:column;max-height:92vh}
.admin-form-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;background:var(--white);border-bottom:1px solid var(--line)}
.admin-form-header small{font-size:9px;letter-spacing:2px;color:#7c9a8d;font-weight:700}
.admin-form-header h2{font-size:21px;margin:5px 0}
.admin-form-header p{margin:0;font-size:11.5px;color:var(--muted)}
.admin-icon-button{border:0;background:#e6eee8;color:#356055;width:32px;height:32px;border-radius:8px;font-size:20px;line-height:1}
.admin-icon-button:hover{background:#d6e6dc}
.admin-form-body{overflow:auto;padding:18px 24px 8px}
.admin-form-meta{margin:0 0 16px;padding:9px 12px;background:#eaf2ea;border-left:3px solid #7fae96;border-radius:0 6px 6px 0;font-size:11.5px;color:#42665b;line-height:1.7}
.admin-form-dialog fieldset{border:1px solid var(--line);border-radius:9px;background:var(--white);margin:0 0 14px;padding:14px 16px 16px}
.admin-form-dialog legend{font-size:12px;font-weight:700;color:var(--green);padding:0 7px}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.admin-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:#59736a;font-weight:600}
.admin-form-grid label b{color:var(--red)}
.admin-form-grid input,.admin-form-grid textarea,.admin-form-grid select{width:100%;border:1px solid #d7e2da;border-radius:6px;background:#fcfdfb;color:var(--ink);padding:8px 10px;font-size:13px;font-weight:400}
.admin-form-grid textarea{resize:vertical;line-height:1.55}
.admin-form-grid input:focus,.admin-form-grid textarea:focus,.admin-form-grid select:focus{border-color:#78ad92}
.admin-span-2{grid-column:1/-1}
.admin-readonly-field{background:#f1f5f0;border:1px dashed #cfddd3;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:400;color:#6d8379;min-height:35px}
.admin-field-hint{margin:10px 0 0;font-size:11px;line-height:1.65;color:#899a91}
.admin-form-error{margin:2px 0 12px;color:var(--red);font-size:12px;min-height:16px}
.admin-form-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 24px;background:var(--white);border-top:1px solid var(--line)}
.admin-form-footer>span{font-size:11px;color:var(--muted)}
.admin-form-footer>span b{color:var(--red)}
.admin-form-footer>div{display:flex;gap:9px}

#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:12000;max-width:min(560px,90vw);background:#173a30;color:#eef8f1;border-radius:9px;padding:11px 18px;font-size:12.5px;line-height:1.6;box-shadow:0 12px 34px #04161355}
#toast[hidden]{display:none}

@media(max-width:1100px){
 .admin-stats{grid-template-columns:repeat(3,1fr)}
 .admin-heading{flex-direction:column;align-items:flex-start}
 .admin-tip{max-width:none}
}
@media(max-width:760px){
 .admin-topbar{height:auto;flex-wrap:wrap;gap:12px;padding:12px 16px}
 .admin-nav{gap:16px;order:3;width:100%;overflow:auto}
 .admin-nav a{font-size:12px;padding-top:0;height:34px}
 .admin-mode{font-size:10px}
 .admin-main{padding:20px 14px 36px}
 .admin-heading h1{font-size:24px}
 .admin-stats{grid-template-columns:repeat(2,1fr);gap:10px}
 .admin-stats strong{font-size:22px}
 .admin-filters .admin-search{min-width:100%}
 .admin-filters label{flex:1;min-width:130px}
 .admin-filters select,.admin-filters input{min-width:0;width:100%}
 .admin-table-heading{flex-direction:column;align-items:flex-start}
 .admin-table-hint{text-align:left}
 .admin-pagination{flex-direction:column;align-items:flex-start}
 .admin-form-grid{grid-template-columns:1fr}
 .admin-form-header,.admin-form-body,.admin-form-footer{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
