:root { --ivory:#f7f4ee; --paper:#fffdf9; --ink:#1f1f1d; --muted:#77746d; --line:#ded9cf; --gold:#a98445; --wine:#6e2f3d; --sage:#839388; }
* { box-sizing: border-box; }
body { margin:0; min-width:320px; background:var(--ivory); color:var(--ink); font-family:"Microsoft YaHei","Noto Sans SC",sans-serif; letter-spacing:0; }
button,input,select { font:inherit; letter-spacing:0; }
button { cursor:pointer; }
.eyebrow { display:block; color:#87682f; font:9px Arial,sans-serif; letter-spacing:1.6px; margin-bottom:7px; }
.admin-login { min-height:100vh; display:grid; place-items:center; padding:30px; background:var(--ivory); }
.login-brand { position:absolute; left:32px; top:28px; display:flex; gap:12px; align-items:center; }
.login-brand > span, .admin-brand > span { width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--ink);font:20px Georgia,serif; }
.login-brand div, .admin-brand div { display:grid;gap:3px; }
.login-brand strong { font:17px Georgia,serif; }.login-brand small,.admin-brand small { font:9px Arial;letter-spacing:1.5px;color:var(--muted); }
.login-form { width:min(390px,100%); background:var(--paper); padding:42px 40px 34px; border:1px solid var(--line); box-shadow:0 20px 70px rgba(42,36,25,.08); }
.login-form h1 { margin:0;font:28px Georgia,"Songti SC",serif; }.login-form p { color:var(--muted);font-size:11px;line-height:1.8;margin:10px 0 28px; }
.login-form label { display:grid; gap:7px; font-size:11px; margin-top:15px; }.login-form input { height:42px;border:1px solid var(--line);background:#fbfaf6;padding:0 11px;outline:0; }.login-form input:focus { border-color:var(--gold); }
.login-form > button { margin-top:24px;width:100%;height:46px;border:0;background:var(--ink);color:#fff;display:flex;justify-content:space-between;padding:0 15px;align-items:center; }.login-hint { display:block;color:#aaa49a;font-size:9px;line-height:1.7;margin-top:16px; }.login-error { color:var(--wine);font-size:11px;margin-top:9px;min-height:15px; }
.admin-app { min-height:100vh; display:grid; grid-template-columns:230px 1fr; }.admin-app[hidden] { display:none; }
.admin-sidebar { background:#242321;color:#f6f1e8;padding:26px 18px;display:flex;flex-direction:column; }
.admin-brand { color:#f6f1e8;text-decoration:none;display:flex;gap:12px;align-items:center;padding:0 8px; }.admin-brand > span { border-color:#b9ab8a;color:#e5ce9d; }.admin-brand strong { font:18px Georgia,serif; }.admin-brand small { color:#9c978e; }
.admin-nav { margin-top:70px;display:grid;gap:4px; }.admin-nav button { border:0;background:transparent;color:#a8a49b;text-align:left;height:46px;padding:0 11px;display:flex;align-items:center;gap:13px;font-size:11px; }.admin-nav button span { font:9px Arial;color:#77736b; }.admin-nav button.active { background:#3a3834;color:#f8f3ea; }.admin-nav button.active span { color:#d1b475; }
.sidebar-foot { margin-top:auto;display:grid;gap:13px;padding:16px 8px;border-top:1px solid #44413c; }.sidebar-foot a,.sidebar-foot button { color:#aaa49b;background:transparent;border:0;text-align:left;font-size:10px;text-decoration:none;padding:0; }
.admin-main { min-width:0; }.admin-header { height:100px;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line); }.admin-header h1 { margin:0;font:26px Georgia,"Songti SC",serif; }.admin-user { display:flex;align-items:center;gap:8px;font-size:11px; }.admin-user i { width:26px;height:26px;border-radius:50%;background:#d7bdae;display:block; }
.admin-content { padding:32px 40px 60px;max-width:1400px; }.admin-section { display:none; }.admin-section.active { display:block; }
.stats-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }.stat { background:var(--paper);border-top:2px solid var(--gold);padding:18px 20px;display:grid;gap:8px; }.stat.alert { border-top-color:var(--wine); }.stat span { color:var(--muted);font-size:10px; }.stat strong { font:28px Georgia,serif; }.stat small { color:#aaa49b;font-size:9px; }
.overview-grid { display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:20px; }.dashboard-block { background:var(--paper);padding:24px;min-height:310px; }.block-title,.section-top { display:flex;justify-content:space-between;align-items:flex-start;gap:20px; }.block-title h2,.section-top h2 { margin:0;font:21px Georgia,"Songti SC",serif; }.block-title button { border:0;background:transparent;color:var(--gold-deep,#7e612f);font-size:10px; }.recent-orders { margin-top:22px; }.recent-order { display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line); }.recent-order strong { font-size:11px; }.recent-order small { color:var(--muted);font-size:9px; }.status-pill { display:inline-flex;padding:5px 8px;font-size:9px;background:#eeece7;color:#6b675f; }.status-pill.pending { background:#f2e7d0;color:#89672c; }.status-pill.making { background:#e6eee8;color:#607b68; }.status-pill.shipped,.status-pill.completed { background:#e6ebe9;color:#566c68; }.status-pill.cancelled { background:#f2e3e4;color:var(--wine); }.material-health { margin-top:22px;display:grid;gap:15px; }.health-row { display:grid;grid-template-columns:70px 1fr 38px;align-items:center;gap:9px;font-size:10px; }.health-row > div { height:4px;background:#e6e1d8; }.health-row > div i { display:block;height:100%;background:var(--sage); }.health-row.low > div i { background:var(--wine); }.health-row strong { text-align:right;font:10px Arial; }
.section-top { margin-bottom:26px; }.section-top p { color:var(--muted);font-size:10px;margin:9px 0 0; }.dark-button { height:40px;border:0;background:var(--ink);color:#fff;padding:0 16px;font-size:11px;white-space:nowrap; }.filter-row { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:14px; }.admin-tabs { display:flex;gap:20px;border-bottom:1px solid var(--line); }.admin-tabs button { height:36px;border:0;background:transparent;font-size:11px;color:var(--muted);position:relative; }.admin-tabs button.active { color:var(--ink); }.admin-tabs button.active::after { content:"";position:absolute;height:2px;background:var(--gold);left:0;right:0;bottom:-1px; }.filter-row input,.order-filter select { border:1px solid var(--line);background:var(--paper);height:36px;padding:0 10px;font-size:10px;outline:0; }.filter-row input { width:220px; }.material-table-wrap { overflow:auto;background:var(--paper); }.data-table { width:100%;border-collapse:collapse;min-width:720px; }.data-table th { text-align:left;color:#99938a;font-weight:400;font-size:9px;padding:14px 15px;border-bottom:1px solid var(--line); }.data-table td { padding:14px 15px;border-bottom:1px solid var(--line);font-size:10px; }.data-table tr:last-child td { border-bottom:0; }.material-cell { display:flex;align-items:center;gap:9px; }.table-swatch { width:30px;height:30px;border-radius:50%; }.material-cell div { display:grid;gap:3px; }.material-cell small { color:var(--muted);font:8px Arial; }.table-action { background:transparent;border:0;color:var(--gold-deep,#7e612f);font-size:10px;margin-right:10px; }.table-action.danger { color:var(--wine); }.stock-low { color:var(--wine); }
.order-list { background:var(--paper); }.order-card { display:grid;grid-template-columns:1fr 1.2fr 120px 110px;gap:18px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line); }.order-card:last-child { border-bottom:0; }.order-main,.order-customer,.order-composition { display:grid;gap:5px; }.order-main strong { font:13px Arial; }.order-card small { color:var(--muted);font-size:9px; }.order-composition { max-height:48px;overflow:hidden; }.order-status select { border:1px solid var(--line);background:transparent;height:31px;font-size:10px;padding:0 5px; }.order-empty { padding:60px;text-align:center;color:var(--muted);font-size:12px; }
.settings-form { background:var(--paper);padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:760px; }.setting-group { display:grid;gap:14px;align-content:start; }.setting-group h3 { margin:0 0 3px;font:15px Georgia,serif; }.setting-group label { position:relative;display:grid;gap:7px;font-size:10px; }.setting-group input { height:39px;border:1px solid var(--line);background:#fbfaf6;padding:0 10px;outline:0;font-size:11px; }.setting-group label > span { position:absolute;right:10px;bottom:11px;color:var(--muted);font:11px Arial; }.setting-group label > span + input { padding-right:28px; }.settings-form > button { grid-column:1/-1;width:130px; }
.admin-modal { display:none;position:fixed;inset:0;z-index:50; }.admin-modal.open { display:block; }.admin-modal-bg { position:absolute;inset:0;background:rgba(19,19,18,.54);backdrop-filter:blur(4px); }.material-form-panel { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(650px,calc(100% - 30px));max-height:calc(100vh - 30px);overflow:auto;background:var(--paper);padding:34px; }.material-form-panel h2 { margin:0 0 23px;font:24px Georgia,serif; }.admin-close { position:absolute;right:14px;top:11px;border:0;background:transparent;font:24px Arial; }.material-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }.material-form-grid label { display:grid;gap:7px;font-size:10px; }.material-form-grid input,.material-form-grid select { height:39px;border:1px solid var(--line);background:#fbfaf6;padding:0 9px;outline:0;font-size:11px; }.material-form-grid input[type=color] { padding:3px; }.material-form-grid label.file-label { grid-column:1/-1; }.file-label small { color:var(--muted);font-size:9px; }.active-toggle { display:flex;align-items:center;gap:8px;margin:17px 0;font-size:10px; }.material-form-panel > form > .dark-button { width:100%; }
.toast { position:fixed;bottom:25px;left:50%;transform:translate(-50%,18px);background:var(--ink);color:#fff;padding:10px 16px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:100; }.toast.show { opacity:1;transform:translate(-50%,0); }
.table-swatch { background-color:var(--material-color,#d9d6ce);background-image:radial-gradient(circle at 30% 24%,rgba(255,255,255,.9) 0 7%,transparent 25%),radial-gradient(circle at 65% 70%,rgba(0,0,0,.18),transparent 52%);box-shadow:inset -3px -4px 6px rgba(0,0,0,.12),0 3px 7px rgba(0,0,0,.13); }
@media (max-width:900px) { .admin-app { grid-template-columns:1fr; }.admin-sidebar { position:sticky;top:0;z-index:10;height:62px;padding:0 15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between; }.admin-brand > span { width:32px;height:32px;font-size:17px; }.admin-brand strong { font-size:15px; }.admin-brand small { display:none; }.admin-nav { margin:0;display:flex;gap:3px; }.admin-nav button { width:42px;height:40px;padding:0;justify-content:center;font-size:0; }.admin-nav button span { font-size:9px; }.sidebar-foot { margin:0;padding:0;border:0;display:flex;gap:10px; }.sidebar-foot a { font-size:0; }.sidebar-foot a::before { content:"↗";font-size:18px; }.sidebar-foot button { font-size:0; }.sidebar-foot button::before { content:"×";font-size:21px; }.admin-header { height:82px;padding:19px 17px; }.admin-header h1 { font-size:22px; }.admin-content { padding:20px 15px 50px; }.stats-grid { grid-template-columns:1fr 1fr; }.overview-grid { grid-template-columns:1fr; }.section-top { align-items:flex-end; }.section-top h2 { font-size:20px; }.filter-row { align-items:stretch;flex-direction:column; }.filter-row input { width:100%; }.admin-tabs { overflow:auto; }.order-card { grid-template-columns:1fr 1fr;gap:15px; }.order-status { text-align:right; }.settings-form { grid-template-columns:1fr; }.settings-form > button { grid-column:1; }.login-brand { left:20px;top:20px; }.login-form { padding:34px 22px 27px; } }
@media (max-width:530px) { .admin-nav button { width:35px; }.stat { padding:14px; }.stat strong { font-size:22px; }.dashboard-block { padding:17px; }.recent-order { grid-template-columns:1fr auto; }.recent-order .status-pill { grid-column:2;grid-row:1/3; }.order-card { grid-template-columns:1fr; }.order-status { text-align:left; }.material-form-panel { padding:28px 18px; }.material-form-grid { grid-template-columns:1fr; }.material-form-grid label.file-label { grid-column:auto; } }
