:root{--red:#7d1715;--red2:#a32b25;--gold:#c69a51;--ink:#24201d;--muted:#756d65;--line:#e7dfd5;--paper:#fff;--bg:#f5f1eb}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--bg)}
a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:linear-gradient(180deg,#251b18,#171211);color:#eadfd5;padding:24px 18px;z-index:20}
.brand{display:flex;align-items:center;gap:12px;padding:0 6px 26px;border-bottom:1px solid #493833}.brand-seal{width:44px;height:44px;border:1px solid #bd8b4a;color:#e7bd76;display:grid;place-items:center;font:700 24px serif;transform:rotate(-2deg)}.brand strong,.brand small{display:block}.brand strong{font:700 20px serif;letter-spacing:2px}.brand small{font-size:12px;color:#a99c93;margin-top:4px}
nav{padding-top:20px}nav a{display:block;padding:13px 16px;margin:5px 0;border-radius:6px;color:#cfc2b9}nav a:hover,nav a.active{background:#7d1715;color:#fff}.sidebar-bottom{position:absolute;left:24px;right:24px;bottom:24px;display:flex;justify-content:space-between;color:#ad9f96;font-size:13px}
.main{margin-left:238px;min-height:100vh}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:10}.topbar h1{font-size:23px;margin:0}.topbar p{font-size:12px;color:var(--muted);margin:5px 0 0}.admin-name{margin-left:auto;color:var(--muted)}.menu-button{display:none;border:0;background:none;font-size:24px;margin-right:12px}.content{padding:28px 34px;max-width:1500px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;margin-bottom:24px}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 14px rgba(49,34,24,.04)}.card{padding:22px}.card small{color:var(--muted)}.card strong{display:block;font:700 30px Georgia,serif;margin-top:10px;color:var(--red)}.panel{padding:22px;margin-bottom:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-head h2{font-size:18px;margin:0}.panel-head p{color:var(--muted);margin:0;font-size:13px}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--red);background:var(--red);color:white;border-radius:5px;padding:9px 15px;font:inherit;cursor:pointer}.button:hover{background:var(--red2)}.button.secondary{background:white;color:var(--red)}.button.light{background:#f6f1eb;color:#5d4c42;border-color:#dfd1c5}.button.danger{background:#fff;color:#a72720;border-color:#d9aaa6}.button.small{padding:6px 10px;font-size:12px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.toolbar .search{flex:1;min-width:240px}.input,.select,.textarea{width:100%;border:1px solid #d8cec4;border-radius:5px;background:#fff;padding:10px 12px;font:inherit;color:var(--ink)}.select{width:auto;min-width:130px}.textarea{min-height:360px;resize:vertical;line-height:1.7}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #eee6de;font-size:14px}th{font-size:12px;color:#81756d;background:#faf7f3}.title-cell{max-width:420px}.ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;border-radius:20px;padding:4px 9px;font-size:12px;background:#eee8e2;color:#61564e}.badge.on{background:#e8f5eb;color:#237139}.badge.headline{background:#fff1cf;color:#946015}
.alert{padding:12px 16px;margin-bottom:18px;border-radius:5px;background:#e8f5eb;color:#27653a}.alert.error{background:#fdecea;color:#9b2a23}.empty{text-align:center;color:var(--muted);padding:50px}
.stats-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.stats-tabs a{padding:9px 15px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}.stats-tabs a.active{background:var(--red);border-color:var(--red);color:#fff}.stats-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.stats-filter .field{min-width:160px}.stats-filter label{font-size:12px}.url-cell{max-width:300px}.url-cell a{color:#7d1715}.muted{color:var(--muted);font-size:12px}.browser-cell{max-width:230px}.two-line-time{white-space:nowrap;line-height:1.45}.rank-list{display:grid;gap:10px}.rank-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px;gap:14px;align-items:center}.rank-bar{height:7px;background:#eee6de;border-radius:10px;overflow:hidden;margin-top:6px}.rank-bar i{display:block;height:100%;background:var(--red)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:600;font-size:14px;margin-bottom:8px}.field .hint{color:var(--muted);font-size:12px;margin-top:6px}.check-row{display:flex;gap:24px;align-items:center;padding:10px 0}.check-row label{font-weight:400;margin:0}.pagination{display:flex;gap:6px;justify-content:center;margin-top:20px}.pagination a,.pagination span{padding:7px 11px;border:1px solid var(--line);background:white;border-radius:4px}.pagination .current{background:var(--red);color:#fff;border-color:var(--red)}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#6b3930,#1b1412 60%)}.login-box{width:min(420px,calc(100% - 32px));background:#fff;border-radius:10px;padding:34px;box-shadow:0 20px 60px #0006}.login-title{text-align:center;margin-bottom:28px}.login-title .brand-seal{margin:0 auto 14px}.login-title h1{margin:0;font:700 26px serif}.login-title p{color:var(--muted);font-size:13px}.login-box .field{margin-bottom:16px}.login-box .button{width:100%;padding:12px}.login-help{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}
.rich-editor{border:1px solid #d8cec4;border-radius:6px;background:#fff;overflow:hidden}.editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:9px;background:#f8f5f1;border-bottom:1px solid #ded5cc;position:sticky;top:85px;z-index:5}.editor-toolbar button,.editor-select,.color-tool{height:32px;border:1px solid #d8cec4;border-radius:4px;background:#fff;color:#3c332e;font:13px "Microsoft YaHei",sans-serif;padding:0 9px;cursor:pointer}.editor-toolbar button:hover,.editor-toolbar button.active,.editor-select:hover,.color-tool:hover{border-color:var(--red);color:var(--red);background:#fffaf5}.editor-select{padding-right:4px}.editor-divider{width:1px;height:23px;background:#d8cec4;margin:0 3px}.color-tool{display:inline-flex!important;align-items:center!important;position:relative;margin:0!important;font-weight:700!important}.color-tool input{position:absolute;left:0;right:0;bottom:0;width:100%;height:7px;border:0;padding:0;cursor:pointer}.color-tool.fill span{background:#fff1cf;padding:0 3px}.editor-content,.editor-source{min-height:430px;width:100%;padding:22px 26px;border:0;outline:0;font:16px/1.85 "Microsoft YaHei","PingFang SC",sans-serif;color:#29231f;background:#fff;overflow:auto}.editor-content:empty:before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.editor-content h2{font-size:26px;margin:1.2em 0 .6em}.editor-content h3{font-size:20px;margin:1.1em 0 .5em}.editor-content p{margin:.7em 0}.editor-content blockquote{margin:1em 0;padding:8px 18px;border-left:4px solid var(--gold);background:#faf6ef;color:#695d54}.editor-content img,.editor-content video{display:block;max-width:100%;height:auto;margin:18px auto}.editor-content table{width:100%;border-collapse:collapse;margin:18px 0}.editor-content th,.editor-content td{border:1px solid #d7cec6;padding:9px}.editor-source{display:none;resize:vertical;font:14px/1.6 Consolas,monospace;color:#3a302a}.source-mode .editor-content{display:none}.source-mode .editor-source{display:block}.editor-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.editor-uploading{opacity:.55;pointer-events:none}.editor-status{font-size:12px;color:var(--muted);padding:0 6px}.editor-status.error{color:#a72720}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.main{margin-left:0}.menu-button{display:block}.content{padding:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.table-wrap{overflow:auto}table{min-width:800px}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.topbar{padding:0 16px}.content{padding:16px}.panel{padding:15px}.admin-name{display:none}.editor-toolbar{top:85px;max-height:150px;overflow:auto}.editor-content,.editor-source{min-height:340px;padding:15px}.editor-divider{display:none}}
