:root { --ink:#0f172a; --ink2:#17233a; --slate:#334155; --muted:#64748b; --line:#dbe3eb; --paper:#f3f6f9; --white:#fff; --blue:#0369a1; --blue2:#0ea5e9; --signal:#2dd4bf; --red:#dc2626; --radius:12px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased; }
body,button,input,textarea,select { font:inherit; } a { color:inherit; text-decoration:none; } button,a,select { cursor:pointer;touch-action:manipulation; } img { display:block; max-width:100%; }
:focus-visible { outline:3px solid rgba(14,165,233,.48); outline-offset:2px; }
.admin-body { min-height:100vh; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:30; width:260px; padding:28px 20px 22px; display:flex; flex-direction:column; color:#cbd5e1; background:var(--ink); }
.admin-brand { min-height:66px; padding:0 10px 22px; display:grid; gap:9px; border-bottom:1px solid rgba(255,255,255,.1); }.admin-brand img { width:146px; }.admin-brand span { color:#64748b; font-size:11px; letter-spacing:.16em; }
.admin-sidebar nav { display:grid; gap:4px; margin-top:24px; }.admin-sidebar nav a { min-height:48px; padding:0 13px; display:flex; align-items:center; justify-content:space-between; border-radius:7px; color:#94a3b8; transition:background .2s,color .2s; }.admin-sidebar nav a:hover,.admin-sidebar nav a.active { color:white; background:rgba(255,255,255,.08); }.admin-sidebar nav a.active { box-shadow:inset 3px 0 var(--signal); }.admin-sidebar nav b { font:600 10px ui-monospace,Consolas,monospace; color:#475569; }
.admin-sidebar-footer { margin-top:auto; padding:18px 10px 0; display:grid; gap:8px; border-top:1px solid rgba(255,255,255,.1); }.admin-sidebar-footer a,.admin-sidebar-footer button { width:100%; min-height:40px; padding:0; display:flex; align-items:center; justify-content:space-between; color:#94a3b8; background:none; border:0; text-align:left; font-size:13px; }.admin-sidebar-footer a:hover,.admin-sidebar-footer button:hover { color:var(--signal); }
.admin-page { min-height:100vh; margin-left:260px; }
.admin-topbar { position:sticky; top:0; z-index:20; min-height:88px; padding:18px 34px; display:flex; align-items:center; justify-content:space-between; gap:22px; background:rgba(255,255,255,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }.admin-topbar p { margin:0;color:var(--blue);font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.15em; }.admin-topbar h1 { margin:2px 0 0;font-size:21px; }.admin-user { display:flex;align-items:center;gap:10px;color:var(--slate);font-size:13px; }.admin-user i { width:36px;height:36px;display:grid;place-items:center;color:white;background:var(--blue);border-radius:50%;font-style:normal;font-weight:800; }.admin-menu { display:none;width:44px;height:44px;border:1px solid var(--line);background:white; }.admin-menu span { display:block;width:18px;height:2px;margin:4px auto;background:var(--ink); }
.admin-main { width:min(1180px,calc(100% - 60px)); margin:0 auto; padding:36px 0 80px; }
.admin-flash { margin-bottom:22px;padding:13px 16px;border-left:3px solid #059669;color:#065f46;background:#ecfdf5; }.admin-flash.error { border-color:var(--red);color:#991b1b;background:#fef2f2; }
.admin-button { min-height:44px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cbd5e1;border-radius:7px;background:white;color:var(--ink);font-weight:700;transition:transform .2s,background .2s,border .2s; }.admin-button:hover { transform:translateY(-1px);border-color:#94a3b8; }.admin-button.primary { color:white;background:var(--blue);border-color:var(--blue); }.admin-button.primary:hover { background:#075985; }
.admin-button:disabled { cursor:wait;opacity:.7;transform:none; }
.admin-welcome { padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:white;background:linear-gradient(125deg,var(--ink),#173a59);overflow:hidden;position:relative; }.admin-welcome::after { content:"";position:absolute;right:-80px;top:-110px;width:330px;height:330px;border:1px solid rgba(45,212,191,.18);border-radius:50%;box-shadow:0 0 0 42px rgba(45,212,191,.04),0 0 0 88px rgba(45,212,191,.03); }.admin-welcome>div,.admin-welcome>a { position:relative;z-index:1; }.admin-welcome p { margin:0;color:var(--signal);font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.15em; }.admin-welcome h2 { margin:6px 0;font-size:32px; }.admin-welcome span { color:#94a3b8; }
.metric-grid { margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }.metric-grid a { min-height:156px;padding:22px;display:grid;align-content:space-between;background:white;border:1px solid var(--line);transition:transform .2s,box-shadow .2s; }.metric-grid a:hover { transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.08); }.metric-grid span { color:var(--muted);font-size:13px; }.metric-grid strong { font-size:38px;line-height:1;letter-spacing:-.04em; }.metric-grid small { color:var(--blue);font-size:11px; }
.admin-grid-two { margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.admin-panel { background:white;border:1px solid var(--line);box-shadow:0 8px 24px rgba(15,23,42,.035); }
.panel-heading { min-height:78px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line); }.panel-heading p { margin:0;color:var(--blue);font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.15em;text-transform:uppercase; }.panel-heading h2 { margin:3px 0 0;font-size:21px; }.panel-heading>span,.panel-heading>a { color:var(--muted);font-size:12px; }.panel-heading>a:hover { color:var(--blue); }
.page-heading { margin-bottom:20px;padding:0;min-height:60px;border:0; }.page-heading h2 { font-size:28px; }
.quick-links { display:grid; }.quick-links a { min-height:70px;padding:0 22px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);transition:background .2s; }.quick-links a:last-child { border:0; }.quick-links a:hover { background:#f8fafc; }.quick-links b { color:var(--blue);font:700 11px ui-monospace,Consolas,monospace; }.quick-links i { color:var(--muted);font-style:normal; }
.latest-list { display:grid; }.latest-list a { min-height:66px;padding:11px 22px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line); }.latest-list a:last-child { border:0; }.latest-list i { width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#cbd5e1; }.latest-list i.unread { background:var(--signal);box-shadow:0 0 0 5px rgba(45,212,191,.14); }.latest-list div { min-width:0;display:grid; }.latest-list strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }.latest-list span { color:var(--muted);font-size:11px; }.empty-state { padding:38px;color:var(--muted);text-align:center; }
.admin-form label { display:grid;gap:7px;color:var(--slate);font-size:13px;font-weight:700; }.admin-form input,.admin-form textarea,.admin-form select { width:100%;min-height:46px;padding:10px 12px;color:var(--ink);background:white;border:1px solid #cbd5e1;border-radius:7px;transition:border .2s,box-shadow .2s; }.admin-form textarea { resize:vertical; }.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus { outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(3,105,161,.13); }.admin-form input[readonly] { color:var(--muted);background:#f8fafc; }.admin-form label>span { color:var(--muted);font-size:11px;font-weight:400; }
.admin-editor { display:grid;gap:18px; }.editor-section .form-grid { padding:24px; }.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }.form-grid.four { grid-template-columns:repeat(4,1fr); }.form-grid.one { grid-template-columns:1fr;max-width:680px; }.form-grid .full { grid-column:1/-1; }.account-form { max-width:820px; }.file-field { min-height:116px;padding:18px;border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc;align-content:center; }.file-field input { padding:0;border:0;background:none; }.image-preview { max-width:720px;padding:12px;background:#f1f5f9;border:1px solid var(--line); }.image-preview img { width:100%;max-height:380px;object-fit:contain;background:white; }.editor-actions { position:sticky;bottom:12px;z-index:10;padding:14px;display:flex;justify-content:flex-end;gap:10px;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 14px 38px rgba(15,23,42,.12);backdrop-filter:blur(10px); }
.content-table-wrap { overflow:hidden; }.content-table { min-width:860px; }.content-tr { min-height:82px;padding:10px 20px;display:grid;grid-template-columns:minmax(310px,1.5fr) 70px 100px 150px 110px;align-items:center;gap:18px;border-bottom:1px solid var(--line);font-size:12px; }.content-tr:last-child { border:0; }.content-tr.table-head { min-height:46px;color:var(--muted);background:#f8fafc;font-weight:700; }.content-primary { min-width:0;display:flex;align-items:center;gap:14px; }.table-thumb { width:72px;height:52px;flex:0 0 auto;background:#e2e8f0;overflow:hidden; }.table-thumb img { width:100%;height:100%;object-fit:cover; }.content-primary>div:last-child { min-width:0;display:grid; }.content-primary strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }.content-primary span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted); }.status-dot { width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%;background:#94a3b8; }.status-dot.published { background:#10b981; }.table-actions { display:flex;align-items:center;gap:8px; }.table-actions a,.table-actions button { min-width:40px;min-height:32px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;color:var(--blue);background:0;border:0;font-size:12px; }.table-actions button { color:var(--red); }
.inquiry-list { display:grid;gap:14px; }.inquiry-card { padding:24px; }.inquiry-head { display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line); }.inquiry-head p { margin:0 0 4px;color:var(--blue);font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.1em; }.inquiry-head h3 { margin:0;font-size:20px; }.inquiry-head h3 span { color:var(--muted);font-size:13px;font-weight:500; }.inquiry-head time { color:var(--muted);font-size:11px; }.inquiry-body { padding:20px 0;display:grid;grid-template-columns:230px 1fr;gap:32px; }.inquiry-body>a,.inquiry-body>div { display:grid;align-content:start;gap:5px; }.inquiry-body span { color:var(--muted);font-size:11px; }.inquiry-body strong { font-size:18px; }.inquiry-body p { margin:0;white-space:pre-wrap; }.inquiry-actions { padding-top:14px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line); }.inquiry-actions small { color:var(--muted); }.inquiry-actions button { color:var(--red);background:none;border:0;font-size:12px; }
.auth-body { min-height:100vh;background:var(--ink); }.auth-shell { min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr; }.auth-brand-panel { position:relative;padding:60px clamp(40px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between;color:white;overflow:hidden;background:linear-gradient(140deg,#0f172a,#173a59); }.auth-brand-panel::before { content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent); }.auth-brand-panel::after { content:"";position:absolute;right:-160px;bottom:-160px;width:520px;height:520px;border:1px solid rgba(45,212,191,.2);border-radius:50%;box-shadow:0 0 0 52px rgba(45,212,191,.04),0 0 0 108px rgba(45,212,191,.025); }.auth-brand-panel>* { position:relative;z-index:1; }.auth-brand-panel>a img { width:180px; }.auth-brand-panel>div { max-width:620px; }.auth-brand-panel p { margin:0;color:var(--signal);font:700 11px ui-monospace,Consolas,monospace;letter-spacing:.16em; }.auth-brand-panel h1 { margin:16px 0;font-size:clamp(44px,5vw,76px);line-height:1.06;letter-spacing:-.055em; }.auth-brand-panel span { color:#94a3b8;font-size:17px; }.auth-brand-panel small { color:#475569;font:600 10px ui-monospace,Consolas,monospace;letter-spacing:.14em; }
.auth-form-panel { display:grid;place-items:center;padding:34px;background:white; }.auth-form-wrap { width:min(440px,100%); }.auth-kicker { margin:0;color:var(--blue);font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.16em; }.auth-form-wrap h2 { margin:8px 0 10px;font-size:34px;letter-spacing:-.035em; }.auth-desc { margin:0;color:var(--muted); }.auth-form { margin-top:30px;display:grid;gap:18px; }.auth-form .admin-button { margin-top:6px; }.auth-hint { margin:18px 0 0;color:var(--muted);font-size:11px; }.auth-back { display:inline-block;margin-top:26px;color:var(--muted);font-size:13px; }.auth-back:hover { color:var(--blue); }
@media(max-width:980px){.admin-sidebar{transform:translateX(-100%);transition:transform .25s}.admin-sidebar.open{transform:none}.admin-page{margin-left:0}.admin-menu{display:block}.admin-topbar{justify-content:flex-start}.admin-user{margin-left:auto}.metric-grid{grid-template-columns:1fr 1fr}.admin-grid-two{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:340px;padding:36px}.auth-brand-panel h1{font-size:45px}.auth-brand-panel small{display:none}.form-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.admin-main{width:calc(100% - 28px);padding-top:22px}.admin-topbar{padding:13px 14px}.admin-user span{display:none}.admin-welcome{align-items:flex-start;flex-direction:column;padding:26px}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid a{min-height:132px;padding:17px}.admin-grid-two{gap:12px}.form-grid,.form-grid.four{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.content-table-wrap{overflow-x:auto}.inquiry-head,.inquiry-actions{align-items:flex-start;flex-direction:column}.inquiry-body{grid-template-columns:1fr}.auth-brand-panel{min-height:280px}.auth-brand-panel h1{font-size:36px}.auth-form-panel{padding:28px 20px}.page-heading{align-items:flex-start;flex-direction:column}.editor-actions{justify-content:stretch}.editor-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
