/* beeShip Offer — admin UI */
:root{
  --b:#2A99E8; --bd:#1a7ec4; --bl:#EAF4FD; --ink:#0A0F1E; --ink2:#1C2340;
  --ink3:#2E3A5C; --mid:#64748B; --soft:#94A3B8; --bg:#F7F9FC; --w:#fff;
  --ok:#16A34A; --okl:#DCFCE7; --warn:#D97706; --warnl:#FEF3C7;
  --danger:#DC2626; --dangerl:#FEF2F2; --border:#E1E8F0;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink3);
  font-family:"Heebo",system-ui,-apple-system,sans-serif;font-size:15px}
h1,h2,h3{font-family:"Manrope",sans-serif;color:var(--ink);margin:0 0 12px}
a{color:var(--b);text-decoration:none}
.muted{color:var(--mid)} .small{font-size:12.5px} .center{text-align:center}
code{background:#eef2f7;padding:2px 6px;border-radius:5px;font-size:13px}

.admin{display:flex;min-height:100vh}
.sidebar{width:220px;background:var(--ink);color:#cdd6e4;display:flex;flex-direction:column;flex-shrink:0}
.brand{display:flex;align-items:center;gap:10px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{height:22px;filter:brightness(0) invert(1)}
.brand span{font-family:"Manrope";font-weight:800;color:#fff}
.sidebar nav{display:flex;flex-direction:column;padding:12px 0;flex:1}
.sidebar nav a{color:#cdd6e4;padding:11px 20px;font-weight:600}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav a.active{background:var(--b);color:#fff}
.sidebar-foot{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);font-size:13px}
.sidebar-foot span{display:block;color:#fff;margin-bottom:4px}
.sidebar-foot a{color:#9fb4cf}
.main{flex:1;padding:28px 34px;max-width:1200px}

.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}
.page-head h1{margin:0}
.head-actions{display:flex;gap:10px;flex-wrap:wrap}

.card{background:var(--w);border:1px solid var(--border);border-radius:14px;padding:22px 24px;margin-bottom:20px}
.card h2{font-size:17px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.cols{display:flex;gap:20px;flex-wrap:wrap}
.cols>.card{flex:1;min-width:280px}

label{display:block;margin:10px 0;font-weight:600;color:var(--ink2)}
label.sm{font-size:13px;font-weight:600}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;
  font:inherit;font-size:14px;background:#fff;color:var(--ink)}
textarea{resize:vertical}
label.check,label.check *{font-weight:600}
label.check{display:flex;align-items:center;gap:9px}
label.check input{width:18px;height:18px;accent-color:var(--b)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.form-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.inline-form input{width:auto}

.btn{display:inline-block;border:0;border-radius:10px;padding:10px 18px;font-weight:700;
  font-family:"Manrope";cursor:pointer;font-size:14px;text-decoration:none}
.btn-primary{background:var(--b);color:#fff!important}
.btn-primary:hover{background:var(--bd)}
.btn-ghost{background:#fff;color:var(--b)!important;border:1.5px solid var(--b)}
.btn-warn{background:var(--warn);color:#fff!important}
.btn-danger{background:var(--danger);color:#fff!important}
.btn-block{width:100%}
.btn-xs{padding:5px 10px;font-size:12.5px;border-radius:7px;background:#eef2f7;color:var(--ink2)!important}

.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.table th{background:#f3f6fa;text-align:left;padding:11px 14px;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--mid)}
.table td{padding:11px 14px;border-top:1px solid var(--border);vertical-align:top}
.table tr.row-warn{background:var(--warnl)}
.row-actions{display:flex;gap:6px;white-space:nowrap}

.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700}
.badge-draft{background:#eef2f7;color:var(--mid)}
.badge-sent{background:#e0edfb;color:var(--bd)}
.badge-viewed{background:#e7e0fb;color:#6d4bd0}
.badge-signed{background:var(--warnl);color:var(--warn)}
.badge-mandate{background:#d9f2ff;color:var(--bd)}
.badge-complete{background:var(--okl);color:var(--ok)}
.badge-expired{background:var(--dangerl);color:var(--danger)}

.alert{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-weight:600}
.alert-ok{background:var(--okl);color:#15803d}
.alert-err{background:var(--dangerl);color:#b91c1c}

.stat-row{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 20px;flex:1;min-width:150px}
.stat-num{font-family:"Manrope";font-size:28px;font-weight:800;color:var(--ink);display:block}
.stat-lbl{color:var(--mid);font-size:13px}
.stat-warn{border-color:#f2d9a8} .stat-exp{border-color:#f2b8b8}

.filter-bar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.filter-bar input,.filter-bar select{width:auto;min-width:180px}

.copy-row{display:flex;gap:10px}
.copy-row input{background:#f7f9fc}
.doc-list{list-style:none;padding:0;margin:0}
.doc-list li{padding:8px 0;border-bottom:1px solid var(--border)}
.kv{width:100%;border-collapse:collapse}
.kv td{padding:7px 0;border-bottom:1px solid var(--border)}
.kv td:first-child{color:var(--mid);width:40%}

/* editor line items */
.li-edit{border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px;background:#fbfcfe}
.li-edit-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.li-name-input{font-weight:700;font-size:15px}
.li-remove{background:var(--dangerl);color:var(--danger);border:0;border-radius:8px;width:34px;height:34px;cursor:pointer;flex-shrink:0}
.snippet-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.chip{background:var(--bl);border:1px solid #bcd6ea;color:var(--bd);border-radius:99px;padding:5px 12px;font-size:12.5px;cursor:pointer}
.contacts-table input{border-radius:7px}

.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(150deg,#0d1e3d,#1460a8,#2A99E8)}
.login-card{background:#fff;border-radius:16px;padding:36px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.login-logo{height:26px;margin-bottom:18px}
.login-card h1{font-size:22px}

@media(max-width:820px){
  .sidebar{width:64px}.brand span,.sidebar nav a span,.sidebar-foot span{display:none}
  .sidebar nav a{text-align:center;padding:12px 0;font-size:11px}
  .grid-4{grid-template-columns:1fr 1fr}
}
