:root{color-scheme:light;--bg:#f2eadc;--surface:#fffaf2;--surface-alt:#f8f0e3;--input:#fffdf8;--text:#241d18;--muted:#67594c;--border:#cdbda8;--accent:#74472c;--accent-text:#fffaf1;--danger:#982d23;--success:#346044;--focus:#2f6652;--shadow:0 8px 24px rgb(72 49 31 / 9%);font-family:Arial,"Noto Sans TC",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}a{color:var(--accent)}button,input,select{font:inherit;min-height:44px;border:1px solid var(--border);border-radius:8px}input,select{width:100%;padding:8px 10px;background:var(--input);color:var(--text)}button{padding:8px 15px;background:var(--surface);color:var(--text);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}input:focus,select:focus,button:focus-visible{outline:3px solid rgb(47 102 82 / 22%);border-color:var(--focus)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px clamp(15px,4vw,40px);background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-size:1.15rem;font-weight:700;text-decoration:none;color:var(--text)}nav{display:flex;gap:16px;align-items:center}nav form{margin:0}.link-button{border:0;min-height:auto;padding:0;color:var(--accent);background:transparent}.page-shell{width:min(1480px,100%);margin:auto;padding:24px clamp(14px,3vw,32px)}h1,h2,p{margin-top:0}h1{font-size:1.55rem}h2{font-size:1.2rem}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.page-heading p,label small{color:var(--muted)}.panel,.auth-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.auth-panel{max-width:480px;margin:8vh auto}.auth-panel form,.panel form{display:grid;gap:13px}label{display:grid;gap:6px;font-weight:700}.inline-control{display:flex;gap:8px}.inline-control button{flex:0 0 auto}.search-panel{max-width:900px}.status{color:var(--muted);min-height:24px}.notice{padding:12px 14px;margin-bottom:16px;border-radius:8px;background:var(--surface)}.notice.error,.warning{color:var(--danger)}.notice.success{color:var(--success)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:18px}.version-panel{margin-top:18px}.dataset-summary{display:grid;gap:10px;margin:0}.dataset-summary div{display:grid;grid-template-columns:90px 1fr;gap:10px}.dataset-summary dt{color:var(--muted);font-weight:700}.dataset-summary dd{margin:0}.preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:18px}.preview-summary div{display:grid;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt)}.preview-summary strong{font-size:1.5rem}.preview-summary span{color:var(--muted)}.preview-panel form{margin-top:18px}.table-wrap{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:9px}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{padding:10px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:2;color:var(--muted);white-space:nowrap;background:#eee3d3}tbody tr:nth-child(even){background:var(--surface-alt)}td small{display:block;color:var(--muted)}.account-create{margin-bottom:18px}.account-create-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end}.account-table{min-width:980px}.account-table td:nth-child(1){width:130px}.account-table td:nth-child(4){width:130px}.account-inline-form{display:grid!important;grid-template-columns:minmax(140px,1fr) minmax(120px,.65fr) auto;gap:8px}.account-inline-form.password-form{grid-template-columns:minmax(150px,1fr) auto}.account-state-form{display:inline-block!important;margin-left:8px}.status-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.86rem;font-weight:700}.status-badge.enabled{background:#dcebdd;color:var(--success)}.status-badge.disabled{background:#eadeda;color:var(--danger)}.inactive-row{opacity:.7}.danger-button{background:var(--danger);border-color:var(--danger);color:white;font-weight:700}
@media(max-width:900px){.account-create-form{grid-template-columns:1fr 1fr}}
.account-table td:nth-child(4){width:220px}.account-profile-fields{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,.65fr);gap:8px}.account-save-button{width:100%;margin-bottom:10px}@media(max-width:600px){.account-profile-fields{grid-template-columns:1fr}.account-table td:nth-child(4){width:100%}}
.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none}.button-link.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto;min-height:auto;accent-color:var(--focus)}
@media(max-width:600px){body{font-size:16px}.site-header{display:block}.site-header nav{margin-top:10px;flex-wrap:wrap}.page-heading{display:block}.page-shell{padding:16px 12px}.inline-control,.account-create-form{display:grid;grid-template-columns:1fr}.table-wrap{overflow:visible;max-height:none;border:0}table,tbody,tr,td{display:block;width:100%}thead{display:none}tr{padding:10px;border:1px solid var(--border);border-radius:9px;margin-bottom:10px}td{display:grid;grid-template-columns:112px 1fr;gap:10px;border:0;padding:6px 0}td:before{content:attr(data-label);color:var(--muted);font-weight:700}.account-table{min-width:0}.account-inline-form,.account-inline-form.password-form{grid-template-columns:1fr}.account-state-form{display:block!important;margin:8px 0 0}.account-state-form button{width:100%}}
