body{font-family:"Microsoft YaHei",sans-serif}
.moon-login{min-height:100vh;display:grid;place-items:center;background:#f5f6fa}
.login-box{width:min(390px,calc(100% - 32px));padding:34px;background:#fff;border:1px solid #e7edf3;border-radius:4px;box-shadow:0 8px 25px #26374a17}
.login-logo{display:flex;align-items:center;gap:8px;color:#2c3e50;font-size:20px;font-weight:700}
.login-logo img{width:28px;height:28px}
.login-box h1{margin:26px 0 6px;font-size:25px}
.login-box>p{margin:0 0 24px;color:#87909c}
.form-message{min-height:18px;margin:10px 0 0;color:#cc3c48;font-size:12px}
.toolbar{margin:0 0 18px}
.toolbar .btn{margin-right:6px}
.toolbar span{margin-left:8px;color:#8a949f;font-size:12px}
.editor-card{margin-bottom:18px}
.editor-card .card-header{min-height:51px}
.editor-card .card-header h4{display:inline-block;margin:0;line-height:31px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field-grid label:last-child{grid-column:span 2}
.field-grid label,.engine-row-editor label,.category-top label,.link-row label{display:grid;gap:6px;margin:0;color:#59636e;font-size:13px;font-weight:600}
.sortable-list,.categories-editor{display:grid;gap:12px}
.engine-row-editor,.category-editor{border:1px solid #e7edf2;border-radius:4px;background:#fbfcfd}
.engine-row-editor{display:grid;grid-template-columns:64px minmax(120px,.8fr) minmax(200px,1.5fr) minmax(160px,.9fr) auto;gap:12px;align-items:end;padding:16px}
.move-controls{width:64px;display:grid;grid-template-columns:repeat(2,30px);gap:4px}
.move-controls button,.remove-button,.icon-upload{height:34px;padding:0 8px;border:1px solid #d9e1e8;border-radius:3px;background:#fff;color:#58636e;font:13px inherit;cursor:pointer}
.move-controls button{width:30px;padding:0}
.remove-button{color:#c6454e}
.category-editor{padding:16px}
.category-top{display:grid;grid-template-columns:64px minmax(150px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.link-list{display:grid;gap:8px;margin-top:16px;padding:14px;background:#f4f8fa}
.link-row{display:grid;grid-template-columns:64px minmax(120px,.8fr) minmax(200px,1.5fr) minmax(130px,.8fr) minmax(160px,.8fr) auto;gap:10px;align-items:end}
.link-row>*,.category-top>*{min-width:0}
.icon-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}
.link-actions{margin-top:10px}
.toast{position:fixed;z-index:20;right:18px;bottom:18px;padding:11px 14px;border-radius:3px;background:#243849;color:#fff;opacity:0;transform:translateY(10px);transition:.18s;pointer-events:none}
.toast.show{opacity:1;transform:none}
dialog{width:min(430px,calc(100% - 32px));border:0;border-radius:4px;box-shadow:0 12px 42px #1624344f}
dialog::backdrop{background:#18253666}
dialog form{position:relative;padding:24px}
.dialog-close{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:23px;cursor:pointer}
.dialog-hint{color:#8a949f;font-size:12px}
@media(max-width:1100px){.engine-row-editor,.category-top,.link-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.engine-row-editor .move-controls,.category-top .move-controls,.link-row .move-controls{grid-column:1/-1}
.remove-button{justify-self:start}
}
@media(max-width:700px){.field-grid,.engine-row-editor,.category-top,.link-row{grid-template-columns:1fr}
.field-grid label:last-child{grid-column:auto}
.engine-row-editor,.category-top,.link-row{padding:14px}
.link-list{padding:10px}
.toolbar{display:flex;flex-wrap:wrap;gap:6px}
.toolbar .btn{margin:0}
.toolbar span{width:100%;margin:4px 0}
.toolbar .pull-right{margin-left:auto}
.lyear-layout-sidebar{z-index:101}
}

/* The sidebar leaves roughly 950px for content on a common laptop display.
   Keep the editor readable there instead of forcing the desktop six-column row. */
.moon-sidebar-brand{height:72px;display:flex;align-items:center;gap:10px;padding:0 20px;color:#34495e;text-decoration:none;font-weight:700}
.moon-sidebar-brand img{width:29px;height:29px;object-fit:contain}
.moon-sidebar-brand span{display:grid;gap:1px;line-height:1;font-size:18px;letter-spacing:.04em}
.moon-sidebar-brand small{color:#8a97a4;font-size:10px;font-weight:500;letter-spacing:0}
.form-control,.icon-input{min-width:0;max-width:100%}
.icon-field{min-width:0;align-items:center}
.icon-upload{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;margin:0!important}
.icon-file{display:none!important}
@media(max-width:1450px){
  .engine-row-editor,.category-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .engine-row-editor .move-controls,.category-top .move-controls{grid-column:1/-1}
  .engine-row-editor .remove-button,.category-top .remove-button{justify-self:start}
  .link-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px}
  .link-row .move-controls{grid-column:1;grid-row:1 / span 2;align-self:end}
  .link-row>label:nth-of-type(1){grid-column:2;grid-row:1}
  .link-row>label:nth-of-type(2){grid-column:3;grid-row:1}
  .link-row>label:nth-of-type(3){grid-column:2;grid-row:2}
  .link-row>label:nth-of-type(4){grid-column:3;grid-row:2}
  .link-row .remove-button{grid-column:1/-1;justify-self:end}
}
@media(max-width:700px){
  .engine-row-editor,.category-top,.link-row{grid-template-columns:1fr}
  .link-row .move-controls{grid-column:auto;grid-row:auto}
  .link-row>label:nth-of-type(n){grid-column:auto;grid-row:auto}
  .link-row .remove-button{grid-column:auto;justify-self:start}
  .icon-field{grid-template-columns:1fr auto}
}
