:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f4f7fb;line-height:1.5}*{box-sizing:border-box}body{margin:0}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{background:#12355b;color:#fff;box-shadow:0 2px 12px #0002}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.25rem;font-weight:750;color:#fff;text-decoration:none}.nav nav{display:flex;gap:8px;flex-wrap:wrap}.nav nav a{color:#dbeafe;text-decoration:none;padding:8px 12px;border-radius:8px}.nav nav a:hover{background:#ffffff18;color:#fff}main{padding:32px 0 56px}.hero{margin-bottom:24px}.hero h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.6rem)}.hero p{color:#536176;margin:0}.card{background:#fff;border:1px solid #dde5ef;border-radius:16px;box-shadow:0 8px 30px #17324d0d;padding:24px;margin-bottom:24px}.notice{background:#eff6ff;border-left:4px solid #2563eb;padding:14px 16px;border-radius:8px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.span-2{grid-column:span 2}.field.span-4{grid-column:1/-1}label{font-weight:650;font-size:.92rem}input,textarea,select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;font:inherit}input:focus,textarea:focus,select:focus{outline:3px solid #2563eb22;border-color:#2563eb}.required{color:#b91c1c}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 16px;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(.95)}.btn-danger{background:#b91c1c}.btn-small{padding:7px 10px;font-size:.82rem}.table-wrap{overflow:auto;background:#fff;border:1px solid #dde5ef;border-radius:14px}table{width:100%;border-collapse:collapse;min-width:1000px}th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #e7edf4}th{background:#eef3f9;color:#334155;font-size:.84rem;text-transform:uppercase;letter-spacing:.03em}tbody tr:hover{background:#f8fafc}.cancelled{background:#edf0f3;color:#687386;text-decoration:line-through}.actions{display:flex;gap:6px}.actions form{margin:0}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px}.alert-success{background:#dcfce7;color:#166534}.alert-error{background:#fee2e2;color:#991b1b}.empty{padding:32px;text-align:center;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:12px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 0 12px}.section-title h2{margin:0}.footer{padding:20px 0 40px;color:#718096;font-size:.9rem}@media(max-width:850px){.nav{align-items:flex-start;flex-direction:column;padding:14px 0}.form-grid{grid-template-columns:1fr 1fr}.field.span-4{grid-column:1/-1}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.field.span-2,.field.span-4{grid-column:auto}.container{width:min(100% - 20px,1180px)}}@media print{.topbar,.no-print,.footer{display:none}.container{width:100%}main{padding:0}.card,.table-wrap{box-shadow:none;border:0}table{min-width:0;font-size:10pt}}
.field small { display:block; margin-top:.35rem; color:#667085; font-size:.82rem; }
input:invalid:not(:placeholder-shown) { border-color:#b42318; }

.audit{min-width:150px;font-size:.9rem}.audit hr{border:0;border-top:1px solid #d8dee8;margin:.5rem 0}.muted{color:#6b7280}

.subscription-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0;
  padding: .85rem 1rem;
  border: 1px solid #d7e0e8;
  border-radius: .75rem;
  background: #fff;
}
.subscription-panel > div { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; }
.subscription-panel form { margin: 0; }
.subscription-status { display: inline-block; padding: .2rem .55rem; border-radius: 999px; font-size: .82rem; font-weight: 700; }
.status-on { background: #dcfce7; color: #166534; }
.status-off { background: #f1f5f9; color: #475569; }
.btn-secondary { background: #64748b; }
@media (max-width: 700px) {
  .subscription-panel { align-items: stretch; flex-direction: column; }
  .subscription-panel button { width: 100%; }
}
.status-cancelled{display:inline-block;margin-top:.35rem;padding:.15rem .45rem;border-radius:999px;background:#64748b;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-decoration:none}
