:root{--red:#c91520;--deep:#250607;--bg:#f1eee8;--card:#fffdf8;--ink:#261b1b;--muted:#766969;--line:#ddd2c7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:28px 20px;background:var(--deep);color:#fff}.logo{display:flex;align-items:center;gap:12px;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.1)}.logo>i{width:40px;height:40px;display:grid;place-items:center;border:1px solid #e45b60;border-radius:50%;color:#ff5d63;font-family:Georgia,serif;font-size:19px;font-style:normal}.logo span{display:flex;flex-direction:column;gap:2px}.logo b{letter-spacing:.15em}.logo small{color:#895d5f;font-size:7px;letter-spacing:.2em}.sidebar nav{flex:1;padding-top:30px}.sidebar nav>p{margin:0 12px 12px;color:#70494b;font-size:8px;letter-spacing:.2em}.sidebar nav a{display:block;margin:4px 0;padding:13px 14px;border-radius:4px;color:#bb9798;font-size:12px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.08);color:#fff}.sidebar footer{padding:18px 10px 2px;border-top:1px solid rgba(255,255,255,.1)}.sidebar footer b{display:block;font-size:10px}.sidebar footer button{margin-top:10px;padding:0;border:0;background:none;color:#8b6264;font-size:9px;cursor:pointer}.main{min-width:0}.page{width:min(1220px,calc(100% - 64px));margin:0 auto;padding:56px 0 90px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:38px}.kicker{margin:0 0 9px;color:var(--red);font-size:8px;font-weight:700;letter-spacing:.18em}.page-header h1{margin:0 0 10px;font-family:Georgia,"Noto Serif SC",serif;font-size:52px;font-weight:500;letter-spacing:-.04em}.page-header span{color:var(--muted);font-family:Georgia,"Noto Serif SC",serif;font-size:12px}.primary{min-height:44px;padding:0 18px;border:0;background:var(--red);color:#fff;font-size:11px;cursor:pointer}.primary:hover{background:#e1242e}.primary:disabled{opacity:.6}.overview{display:grid;grid-template-columns:1fr 1fr;gap:18px}.overview article{min-height:320px;display:flex;flex-direction:column;padding:36px;border:1px solid var(--line);background:var(--card)}.overview article.private{background:linear-gradient(145deg,#3c090c,#210607);color:#fff}.overview small{color:var(--red);font-size:8px;letter-spacing:.18em}.overview h2{margin:auto 0 16px;font-family:Georgia,"Noto Serif SC",serif;font-size:34px;font-weight:500}.overview p{color:var(--muted);font-size:12px;line-height:1.9}.overview .private p{color:#ad8587}.overview a{margin-top:25px;color:var(--red);font-size:10px}.notice{margin-top:18px;padding:20px 24px;border:1px solid #e3cbc8;background:#faeae6;color:#79423f;font-size:10px}.editor,.records{border:1px solid var(--line);background:var(--card)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:32px}.form-grid label,.contract-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label.wide,.contract-grid label.wide{grid-column:1/-1}.form-grid span,.contract-grid span{color:var(--muted);font-size:9px}.form-grid input,.form-grid textarea,.contract-grid input,.contract-grid textarea,.contract-grid select{width:100%;padding:12px;border:1px solid var(--line);background:#fff;color:var(--ink)}.form-grid input,.contract-grid input,.contract-grid select{height:44px}.form-grid textarea,.contract-grid textarea{resize:vertical}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:19px 32px;border-top:1px solid var(--line);background:#eeeae3}.message{margin-right:auto;color:#6e5b5b;font-size:10px}.summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;border:1px solid var(--line);background:var(--card)}.summary div{min-height:110px;display:flex;flex-direction:column;padding:22px 26px}.summary div+div{border-left:1px solid var(--line)}.summary span,.summary small{color:var(--muted);font-size:8px}.summary strong{margin:auto 0 5px;font-family:Georgia,serif;font-size:27px;font-weight:500}.records-top{display:flex;align-items:center;justify-content:space-between;padding:25px 28px}.records-top h2{margin:5px 0 0;font-family:Georgia,"Noto Serif SC",serif;font-size:28px;font-weight:500}.search{display:flex;gap:10px;padding:18px 28px;border-top:1px solid var(--line);background:#eee9e2}.search input{flex:1;height:42px;padding:0 12px;border:1px solid var(--line)}.list-head,.contract-row>summary{display:grid;grid-template-columns:1.3fr 1fr .7fr 1.1fr 1fr .6fr;gap:15px;align-items:center}.list-head{min-height:40px;padding:0 25px;border-top:1px solid var(--line);background:#e2dbd2;color:var(--muted);font-size:8px}.contract-row{border-top:1px solid var(--line)}.contract-row>summary{min-height:75px;padding:12px 25px;cursor:pointer;list-style:none}.contract-row>summary::-webkit-details-marker{display:none}.contract-row>summary:hover{background:#f4eee8}.contract-row span{min-width:0;font-size:10px}.contract-row b,.contract-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-row b{margin-bottom:5px;font-family:Georgia,"Noto Serif SC",serif;font-size:12px;font-weight:500}.contract-row small{color:var(--muted);font-size:8px}.status{display:inline-block;padding:5px 7px;background:#f1ded7;color:#923d39;font:8px Arial,sans-serif}.contract-detail{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:22px;padding:22px 25px;border-top:1px dashed var(--line);background:#f6f1eb}.contract-detail p{margin:0;font-size:10px;line-height:1.8}.docs a{display:grid;grid-template-columns:60px 1fr auto;gap:8px;margin-top:6px;padding:9px;border:1px solid var(--line);font-size:9px}.docs i{color:var(--red);font-style:normal}.empty{padding:65px;text-align:center;color:var(--muted);font-size:11px}.modal{position:fixed;inset:0;z-index:20;overflow:auto;padding:28px;background:rgba(16,3,4,.82)}.modal[hidden]{display:none}.modal-card{width:min(1000px,100%);margin:0 auto;background:var(--card)}.modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line);background:var(--card)}.modal-head h2{margin:5px 0 0;font-family:Georgia,serif;font-size:28px;font-weight:500}.close{width:40px;height:40px;border:1px solid var(--line);background:none;font-size:22px;cursor:pointer}.contract-form{padding:0 28px 28px}.contract-form fieldset{margin:0;padding:25px 0;border:0;border-bottom:1px solid var(--line)}.contract-form legend{color:var(--red);font-size:9px;font-weight:700}.contract-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.profit-box{display:flex;flex-direction:column;justify-content:center;padding:12px 15px;background:#f5e4df}.profit-box strong{margin:7px 0;font-family:Georgia,serif;font-size:20px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 70% 15%,#6b0d12,#220607 55%,#100304);color:#fff}.login-card{width:min(480px,100%);padding:50px;border:1px solid rgba(255,255,255,.15);background:rgba(31,4,6,.86)}.login-card h1{margin:22px 0 12px;font-family:Georgia,"Noto Serif SC",serif;font-size:38px;font-weight:500}.login-card>p{color:#b98f91;font-size:12px;line-height:1.8}.login-card label{display:flex;flex-direction:column;gap:8px;margin-top:18px;color:#c9a5a6;font-size:9px}.login-card input{height:46px;padding:0 13px;border:1px solid #67373a;background:#170607;color:#fff}.login-card button{width:100%;margin-top:22px}.login-card a{display:block;margin-top:18px;color:#8c6264;font-size:9px;text-align:center}.login-message{min-height:18px;color:#ff8a8f;font-size:10px}@media(max-width:850px){.shell{display:block}.sidebar{height:auto;position:static;flex-direction:row;align-items:center;padding:12px 16px}.logo{padding:0;border:0}.logo span,.sidebar footer,.sidebar nav>p{display:none}.sidebar nav{display:flex;margin-left:auto;padding:0}.sidebar nav a{font-size:10px}.page{width:calc(100% - 30px);padding-top:34px}.overview,.form-grid{grid-template-columns:1fr}.summary{grid-template-columns:1fr}.summary div+div{border-left:0;border-top:1px solid var(--line)}.list-head{display:none}.contract-row>summary{grid-template-columns:1fr 1fr}.contract-row>summary span:nth-child(3),.contract-row>summary span:nth-child(4){display:none}.contract-detail{grid-template-columns:1fr}.contract-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sidebar nav a:first-child{display:none}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:40px}.search{flex-direction:column}.contract-grid{grid-template-columns:1fr}.contract-grid label.wide{grid-column:auto}.modal{padding:0}.modal-card{min-height:100vh}.overview{grid-template-columns:1fr}}

:root {
  --red: #c8101e;
  --red-bright: #e42b37;
  --red-deep: #8e0b14;
  --admin-bg: #fff7f3;
  --admin-card: #ffffff;
  --admin-ink: #681017;
  --admin-night: #c8101e;
  --admin-aqua: #ffffff;
  --admin-line: #efd7d4;
  --admin-muted: #94666a;
}

.admin-shell,
.shell {
  background:
    radial-gradient(circle at 88% 8%, rgba(225, 43, 55, .09), transparent 25%),
    #fff7f3;
  color: #681017;
}

.admin-sidebar,
.sidebar {
  background:
    radial-gradient(circle at 25% 5%, rgba(255, 255, 255, .18), transparent 25%),
    linear-gradient(175deg, #d51a27 0%, #bd0d19 62%, #990a13 100%);
  color: #fff;
  box-shadow: 16px 0 45px rgba(153, 10, 19, .12);
}

.admin-brand,
.logo {
  border-bottom-color: rgba(255, 255, 255, .2);
}

.admin-brand-mark,
.logo>i {
  border-color: rgba(255, 255, 255, .75);
  color: #fff;
  background: rgba(255, 255, 255, .09);
}

.admin-brand small,
.logo small,
.admin-sidebar nav>p,
.sidebar nav>p {
  color: #ffd1d3;
}

.admin-sidebar nav a,
.sidebar nav a {
  color: #ffe7e8;
  border: 1px solid transparent;
  transition: background .2s, border-color .2s, transform .2s;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active,
.sidebar nav a:hover,
.sidebar nav a.active {
  background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .16);
  color: #fff;
  transform: translateX(3px);
}

.admin-sidebar nav i {
  color: #fff;
}

.admin-account,
.sidebar footer {
  border-top-color: rgba(255, 255, 255, .2);
}

.admin-account small,
.admin-account a,
.sidebar footer button {
  color: #ffd1d3;
}

.admin-page,
.page {
  position: relative;
}

.admin-header p,
.contract-title p,
.contract-form-title p,
.kicker {
  color: #c8101e;
}

.admin-header h1,
.page-header h1 {
  color: #681017;
}

.admin-primary,
.primary {
  border-radius: 8px;
  background: linear-gradient(135deg, #c8101e, #e42b37);
  box-shadow: 0 10px 24px rgba(200, 16, 30, .18);
  transition: transform .2s, box-shadow .2s;
}

.admin-primary:hover,
.primary:hover {
  background: linear-gradient(135deg, #b90d19, #d51a27);
  box-shadow: 0 14px 30px rgba(200, 16, 30, .25);
  transform: translateY(-1px);
}

.admin-overview article,
.overview article,
.content-editor,
.editor,
.contract-records,
.records,
.contract-summary,
.summary {
  border-color: #efd7d4;
  border-radius: 16px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 18px 50px rgba(136, 13, 22, .07);
  overflow: hidden;
}

.admin-overview-private,
.overview article.private {
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .16), transparent 28%),
    linear-gradient(140deg, #d51a27, #aa0b16) !important;
  color: #fff;
}

.admin-overview-private>span,
.admin-overview-private p,
.overview .private p {
  color: #ffdadd !important;
}

.admin-overview-private a,
.overview .private a {
  color: #fff;
}

.admin-notice,
.notice,
.privacy-badge {
  border-color: #edc9c6;
  border-radius: 12px;
  background: #fff0eb;
  color: #8b383c;
}

.content-form input,
.content-form textarea,
.form-grid input,
.form-grid textarea,
.contract-grid input,
.contract-grid select,
.contract-grid textarea,
.contract-search input,
.search input {
  border-color: #e9cfcc;
  border-radius: 8px;
  background: #fff;
  color: #681017;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}

.content-form input:focus,
.content-form textarea:focus,
.form-grid input:focus,
.form-grid textarea:focus,
.contract-grid input:focus,
.contract-grid select:focus,
.contract-grid textarea:focus,
.contract-search input:focus,
.search input:focus {
  border-color: #d7333d;
  box-shadow: 0 0 0 3px rgba(200, 16, 30, .09);
}

.content-actions,
.form-actions,
.contract-search,
.search {
  background: #fff5f1;
  border-color: #efd7d4;
}

.contract-summary>div+div,
.summary div+div,
.contract-head,
.list-head,
.contract-row,
.contract-detail {
  border-color: #efd7d4;
}

.contract-head,
.list-head {
  background: #fae9e5;
}

.contract-row>summary:hover,
.contract-row[open]>summary {
  background: #fff3ef;
}

.contract-detail {
  background: #fff9f6;
}

.contract-status,
.status {
  border-radius: 999px;
  background: #fbe2dd;
  color: #a61b23;
}

.profit-box {
  border-radius: 10px;
  background: #fff0eb;
}

.contract-modal,
.modal {
  background: rgba(127, 8, 16, .72);
  backdrop-filter: blur(8px);
}

.contract-modal>section,
.modal-card {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 35px 100px rgba(111, 7, 14, .28);
}

.login-page,
.login {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 14%, rgba(223, 38, 50, .16), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(200, 16, 30, .11), transparent 30%),
    linear-gradient(145deg, #fffdfb, #fff1ec);
  color: #681017;
}

.login-page:before,
.login:before {
  content: "百";
  position: fixed;
  right: -.08em;
  bottom: -.25em;
  color: rgba(200, 16, 30, .045);
  font-family: Georgia, "Noto Serif SC", serif;
  font-size: min(70vw, 780px);
  line-height: 1;
  pointer-events: none;
}

.login-page section,
.login-card {
  position: relative;
  z-index: 1;
  border: 1px solid #ecd0cd;
  border-radius: 20px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 90px rgba(147, 11, 21, .14);
}

.login-page section:before,
.login-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 7px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(90deg, #b70d18, #eb3540);
}

.login-page p,
.login-card .kicker {
  color: #c8101e;
}

.login-page h1,
.login-card h1 {
  color: #681017;
}

.login-page span,
.login-card>p {
  color: #93686b;
}

.login-card label {
  color: #8d565b;
}

.login-card input {
  border-color: #e5c4c1;
  border-radius: 9px;
  background: #fffaf8;
  color: #681017;
}

.login-card input:focus {
  border-color: #d62b36;
  box-shadow: 0 0 0 3px rgba(200, 16, 30, .09);
  outline: none;
}

.login-card a,
.login-page a:last-child {
  color: #a45157;
}

@media (max-width: 850px) {
  .admin-sidebar,
  .sidebar {
    box-shadow: 0 10px 30px rgba(153, 10, 19, .12);
  }
  .admin-sidebar nav a:hover,
  .admin-sidebar nav a.active,
  .sidebar nav a:hover,
  .sidebar nav a.active {
    transform: none;
  }
}

/* Official Bailiyun logo */
.logo {
  min-height: 68px;
  padding: 0 4px 24px;
}

.logo>i {
  width: 184px;
  height: 54px;
  flex: 0 0 184px;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 9px;
  background: #fff url('/assets/company-logo.jpg') center center / 198px 198px no-repeat;
  box-shadow: 0 10px 28px rgba(111, 6, 14, .16);
  color: transparent;
  font-size: 0;
}

.logo>span {
  display: none;
}

.login-card {
  padding-top: 144px;
}

.login-card:after {
  content: "";
  position: absolute;
  top: 42px;
  left: 50px;
  width: 230px;
  height: 68px;
  border: 1px solid #edd0cd;
  border-radius: 10px;
  background: #fff url('/assets/company-logo.jpg') center center / 248px 248px no-repeat;
  box-shadow: 0 9px 25px rgba(147, 11, 21, .08);
}

@media (max-width: 850px) {
  .logo {
    min-height: auto;
    padding: 0;
  }
  .logo>i {
    width: 145px;
    height: 44px;
    flex-basis: 145px;
    background-size: 160px 160px;
  }
}

@media (max-width: 520px) {
  .login-card {
    padding: 132px 30px 38px;
  }
  .login-card:after {
    top: 34px;
    left: 30px;
    width: 205px;
    height: 62px;
    background-size: 222px 222px;
  }
}
