body.admin{background:var(--ink-900)}

/* ---- login ---- */
.login-shell{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.login-card{
  width:100%;max-width:380px;
  background:var(--ink-800);
  border:1px solid var(--line-cyan-dim);
  border-radius:var(--radius);
  padding:40px 32px;
  box-shadow:var(--shadow-lift);
}
.login-card .brand{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-size:1.3rem;
  margin-bottom:6px;text-decoration:none;color:var(--ink-text);
}
.login-card .eyebrow{display:block;margin-bottom:22px}
.login-card .field{margin-bottom:18px}
.login-card .btn{width:100%;margin-top:6px}

/* ---- admin shell ---- */
.admin-nav{
  border-bottom:1px solid var(--line-cyan-dim);
  background:var(--ink-800);
}
.admin-nav .container{
  display:flex;align-items:center;justify-content:space-between;
  height:70px;
}
.admin-tabs{display:flex;gap:6px}
.admin-tab{
  font-family:var(--font-mono);font-size:.85rem;
  background:transparent;border:1px solid transparent;
  color:var(--ink-text-dim);padding:9px 16px;border-radius:var(--radius);
  cursor:pointer;
}
.admin-tab.is-active{
  color:var(--ink-text);border-color:var(--line-cyan-dim);
  background:rgba(111,184,201,.08);
}
.admin-main{padding:44px 0 100px}
.admin-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:28px;flex-wrap:wrap;gap:14px;
}
.admin-head h1{font-size:1.5rem;margin:0}

.panel{display:none}
.panel.is-active{display:block}

/* ---- package edit cards ---- */
.pkg-edit-list{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}
.pkg-edit{
  background:var(--ink-800);border:1px solid var(--line-cyan-dim);
  border-radius:var(--radius);padding:26px 28px;
}
.pkg-edit.is-inactive{opacity:.55}
.pkg-edit-top{
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;gap:16px;
}
.pkg-edit-top h3{margin:0;font-size:1.1rem}
.pkg-edit-meta{
  font-family:var(--font-mono);font-size:.78rem;color:var(--ink-text-dim);
  display:flex;gap:14px;margin-top:4px;
}
.pkg-edit-body{margin-top:24px;display:none}
.pkg-edit.is-open .pkg-edit-body{display:block}
.pkg-edit.is-open .chevron{transform:rotate(180deg)}
.chevron{transition:transform .2s}

.list-editor{border-top:1px dashed var(--line-cyan-dim);padding-top:16px;margin-top:16px}
.list-editor > label{
  display:block;font-family:var(--font-mono);font-size:.8rem;
  color:var(--ink-text-dim);margin-bottom:10px;
}
.list-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}
.list-row input,.list-row textarea{flex:1}
.clause-row{flex-direction:column;background:rgba(111,184,201,.05);padding:12px;border-radius:var(--radius)}
.clause-row .clause-fields{display:flex;gap:8px;width:100%}
.clause-row .clause-fields input{flex:1}
.clause-row textarea{width:100%;margin-top:8px;min-height:60px}
.icon-btn{
  flex:none;background:transparent;border:1px solid var(--line-cyan-dim);
  color:var(--ink-text-dim);width:38px;height:38px;border-radius:var(--radius);
  cursor:pointer;font-size:1rem;
}
.icon-btn:hover{color:var(--bad);border-color:var(--bad)}
.add-row-btn{
  font-family:var(--font-mono);font-size:.82rem;
  background:transparent;border:1px dashed var(--line-cyan-dim);
  color:var(--line-cyan);padding:9px 16px;border-radius:var(--radius);
  cursor:pointer;margin-top:4px;
}
.add-row-btn:hover{border-style:solid}

.pkg-edit-actions{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:24px;padding-top:20px;border-top:1px solid var(--line-cyan-dim);
  gap:12px;flex-wrap:wrap;
}
.checkbox-field{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink-text-dim)}

.new-pkg-btn{margin-bottom:10px}

/* ---- orders table ---- */
.orders-table-wrap{overflow-x:auto;border:1px solid var(--line-cyan-dim);border-radius:var(--radius)}
table.orders-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:820px}
table.orders-table th{
  text-align:right;font-family:var(--font-mono);font-size:.75rem;
  color:var(--ink-text-dim);padding:14px 16px;
  background:var(--ink-800);border-bottom:1px solid var(--line-cyan-dim);
  white-space:nowrap;
}
table.orders-table td{
  padding:14px 16px;border-bottom:1px solid rgba(111,184,201,.15);
  vertical-align:top;
}
table.orders-table tr:last-child td{border-bottom:none}
.order-notes{color:var(--ink-text-dim);font-size:.85rem;max-width:220px}
.status-select{
  background:var(--ink-800);color:var(--ink-text);
  border:1px solid var(--line-cyan-dim);border-radius:var(--radius);
  padding:7px 10px;font-family:var(--font-mono);font-size:.8rem;
}
.order-price{font-family:var(--font-mono);direction:ltr;text-align:left;white-space:nowrap}
.order-date{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-text-dim);white-space:nowrap}

.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink-800);border:1px solid var(--line-cyan-dim);
  color:var(--ink-text);padding:12px 22px;border-radius:var(--radius);
  font-size:.88rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
  z-index:100;box-shadow:var(--shadow-lift);
}
.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.is-error{border-color:var(--bad);color:#f0a48f}

.btn-link{
  background:none;border:none;color:var(--line-cyan);
  font-family:var(--font-mono);font-size:.82rem;
  text-decoration:underline;cursor:pointer;padding:0;
}
.btn-link:hover{color:var(--ink-text)}
