@charset "utf-8";
:root{--blue-900:#123b68;--blue-800:#1b4f82;--blue-700:#176fbd;--blue-600:#2685d8;--blue-100:#dcecff;--blue-50:#f2f8ff;--line:#cfe0f2;--line-light:#e6eef7;--text:#26384d;--muted:#718197;--white:#fff}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:#f7faff;color:var(--text);font:14px/1.65 "Microsoft YaHei","Segoe UI",sans-serif}
a{color:var(--blue-700);text-decoration:none}
.topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:9px 24px;color:var(--blue-900);background:linear-gradient(180deg,#f0f6ff 0%,#dceaff 100%);border-top:1px solid #c8dcf3;border-bottom:1px solid #a9c9eb;box-shadow:0 1px 5px rgba(42,90,138,.08)}
.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:.3px}
.brand:before{content:"";display:block;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#fff url("logo.png") center/contain no-repeat;box-shadow:0 1px 4px rgba(38,91,61,.13)}
.userbar{display:flex;align-items:center;gap:11px;color:#40546c}
.userbar span:before{content:"●";margin-right:7px;color:#4c91d8;font-size:10px}
.userbar a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 14px;border:1px solid #c6daf0;border-radius:4px;background:rgba(255,255,255,.85);color:#1769aa;box-shadow:0 1px 2px rgba(32,83,132,.04)}
.userbar a:hover{border-color:#80b3e3;background:#fff;color:#0e5996}
.layout{display:flex;min-height:calc(100vh - 64px)}
.sidebar{flex:0 0 220px;padding:0 12px 22px;background:#fff;border-right:1px solid #bad3eb;box-shadow:2px 0 8px rgba(40,91,140,.035)}
.sidebar:before{content:"导航菜单";display:block;margin:0 -12px 10px;padding:9px 14px;color:#31455c;background:#f3f6f9;border-bottom:1px solid #e0e8f0;font-size:15px;font-weight:700}
.sidebar a{position:relative;display:flex;align-items:center;margin:3px 0;padding:9px 12px 9px 39px;border:1px solid transparent;border-radius:4px;color:#33475d;transition:.16s ease}
.sidebar a:before{position:absolute;left:14px;display:grid;place-items:center;width:16px;height:16px;border-radius:4px;color:#fff;background:#78a8d5;font-size:11px;font-weight:700}
.sidebar a[href="Index.aspx"]:before{content:"⌂";background:#69a37c}
.sidebar a[href="Default.aspx"]:before{content:"基";background:#5a9bd5;font-size:10px}
.sidebar a[href="AdminManage.aspx"]:before{content:"管";background:#e49757;font-size:10px}
.sidebar a[href="Logs.aspx"]:before{content:"记";background:#8797aa;font-size:9px}
.sidebar a:hover{background:#f2f8ff;border-color:#dceafa;color:#1769aa}
.sidebar a.active{color:#0868b7;background:linear-gradient(90deg,#e6f3ff,#f7fbff);border-color:#c8e1f7;font-weight:700}
.sidebar a.active:after{content:"";position:absolute;left:-13px;top:5px;bottom:5px;width:3px;border-radius:0 3px 3px 0;background:#2180d2}
.main{flex:1;min-width:0;padding:16px 20px 30px}
.page-title{position:relative;margin:0 0 18px;padding:8px 15px 8px 41px;min-height:42px;color:var(--blue-900);background:linear-gradient(180deg,#f1f7ff,#e5f0ff);border:1px solid #c9def4;border-radius:3px;font-size:17px;line-height:24px}
.page-title:before{content:"";position:absolute;left:15px;top:13px;width:14px;height:14px;border-radius:3px;background:linear-gradient(135deg,#efb64b 0 36%,#6c98bd 37% 100%);transform:rotate(-12deg)}
.card{margin-bottom:18px;padding:22px 24px;background:#fff;border:1px solid #dce7f2;border-radius:5px;box-shadow:0 2px 10px rgba(35,80,125,.035)}
.card h2{margin:0 0 20px;padding-left:11px;border-left:4px solid #167bd3;color:var(--blue-900);font-size:17px;line-height:24px}
.card h2:not(:first-child){margin-top:28px}
.form-grid{display:grid;grid-template-columns:165px minmax(260px,760px);gap:15px 16px;align-items:center}
.form-grid label{color:#405267;font-weight:600;text-align:right}
input[type=text],input[type=password],input[type=date],input[type=time],select,textarea{width:100%;min-height:38px;padding:8px 11px;border:1px solid #bfd5ed;border-radius:5px;outline:0;background:#fff;color:#26384d;font:inherit;transition:border-color .16s,box-shadow .16s}
textarea{min-height:112px;resize:vertical;line-height:1.65}
input:focus,select:focus,textarea:focus{border-color:#4b9ade;box-shadow:0 0 0 3px rgba(49,139,215,.11)}
input[type=checkbox]{width:16px;height:16px;accent-color:#2180d2}
.help{margin-top:5px;color:var(--muted);font-size:12px}
.actions{margin-top:20px;padding-left:181px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 19px;border:1px solid #1671bd;border-radius:4px;background:linear-gradient(180deg,#3b96df,#1d79c7);color:#fff;font:inherit;cursor:pointer;box-shadow:0 1px 2px rgba(22,94,153,.12)}
.btn:hover{background:linear-gradient(180deg,#2888d7,#126bb5)}
.btn.secondary{border-color:#8295a8;background:linear-gradient(180deg,#94a5b6,#778a9d)}
.btn.danger{border-color:#c44b4b;background:linear-gradient(180deg,#df6868,#c64949)}
.btn.small{min-height:29px;padding:4px 11px;font-size:12px}
.notice{margin-bottom:16px;padding:10px 14px;border:1px solid #bfe3cb;border-radius:4px;background:#eefaf2;color:#27713f}
.notice.error{border-color:#f0c8c8;background:#fff2f2;color:#ad3535}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:10px 11px;border:1px solid #dce7f2;text-align:left;vertical-align:middle}
th{background:linear-gradient(180deg,#f5f9fd,#eaf2f9);color:#3c536b;font-weight:700}
tbody tr:hover td{background:#f9fcff}
.table-input{min-width:120px}.sort-input{width:75px!important}
.empty{padding:26px;color:#7b8999;text-align:center}
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.pager a{padding:5px 10px;border:1px solid #cbdceb;border-radius:3px;background:#fff}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stat{position:relative;overflow:hidden;padding:17px 20px;border:1px solid #d9e8f6;border-radius:5px;background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%);color:#62758a}
.stat:after{content:"";position:absolute;right:-17px;bottom:-22px;width:72px;height:72px;border-radius:50%;background:#e6f2ff}
.stat strong{position:relative;z-index:1;display:block;margin-top:4px;color:var(--blue-900);font-size:20px}
.overview-card{padding:0}
.panel-heading{padding:10px 14px;color:var(--blue-900);background:linear-gradient(180deg,#eaf4ff,#dcecff);border-bottom:1px solid #bfd8f1;border-radius:5px 5px 0 0;font-size:16px;font-weight:700}
.info-rows{padding:20px 24px 24px}
.info-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-height:49px;border-bottom:1px solid #edf1f5}
.info-row:last-child{border-bottom:0}
.info-label{color:#6c7a8a}
.info-value{color:#2d3d50;font-size:15px;font-weight:600}
.status-pill{display:inline-block;padding:2px 10px;border-radius:12px;font-size:13px}
.status-pill.is-open{background:#e5f7ec;color:#22804a}
.status-pill.is-closed{background:#fff0f0;color:#d04444}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.55) 0 4%,transparent 26%),linear-gradient(135deg,#e9f4ff 0%,#bddcff 48%,#eaf4ff 100%)}
.login-card{position:relative;width:400px;padding:38px 38px 34px;border:1px solid rgba(126,173,215,.65);border-radius:9px;background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(45,92,140,.2)}
.login-card:before{content:"";display:block;width:58px;height:58px;margin:-70px auto 12px;border-radius:50%;background:#fff url("logo.png") center/contain no-repeat;box-shadow:0 6px 20px rgba(47,97,143,.15)}
.login-card h1{margin:0 0 25px;color:var(--blue-900);text-align:center;font-size:22px}
.login-card .field{margin-bottom:16px}.login-card label{display:block;margin-bottom:6px;color:#405267;font-weight:600}.login-card .btn{width:100%;margin-top:7px}
@media(max-width:900px){.topbar{padding:9px 14px}.brand{font-size:18px}.userbar span{display:none}.sidebar{flex-basis:190px}.main{padding:14px}.form-grid{grid-template-columns:135px minmax(0,1fr)}.actions{padding-left:151px}}
@media(max-width:680px){.topbar{align-items:flex-start;gap:8px;flex-direction:column}.userbar{width:100%;justify-content:flex-end}.layout{display:block}.sidebar{display:flex;gap:6px;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid #bad3eb}.sidebar:before{display:none}.sidebar a{flex:0 0 auto;margin:0;padding:8px 11px 8px 34px}.sidebar a.active:after{display:none}.main{padding:12px}.stats{grid-template-columns:1fr}.card{padding:18px 14px}.form-grid{grid-template-columns:1fr;gap:7px}.form-grid label{text-align:left;margin-top:7px}.actions{padding-left:0}.info-row{grid-template-columns:1fr;gap:3px;padding:10px 0}.info-rows{padding:14px}table{min-width:700px}.login-card{width:min(400px,100%);padding:34px 24px 28px}}
