
/* Centered professional blue/white theme (Montserrat) */
.co-shell{ display:flex; justify-content:center; }
.co-frontend, .co-admin-wrap { font-family:'Montserrat',sans-serif; color:#051223; width:100%; }
.co-center{ max-width:880px; margin:0 auto; }
.co-card{ background:#fff; border-radius:16px; box-shadow:0 10px 28px rgba(5,18,35,.08); padding:22px; margin:18px auto; }
.co-title{ color:#0b57d0; margin:0 0 6px; text-align:center; }
.co-section-title{ color:#063a7a; font-size:18px; margin:18px 0 10px; text-align:left; font-weight:700; }
.co-divider{ height:1px; background:#eef3fb; margin:14px 0; }
.co-kv{ display:grid; gap:10px; }
.co-kv.one{ grid-template-columns: 1fr; }
.co-kv.two{ grid-template-columns: repeat(2,minmax(220px,1fr)); }
.kv{ display:flex; justify-content:space-between; gap:12px; padding:10px 12px; background:#f8fbff; border:1px solid #e6eefb; border-radius:12px; }
.kv span{ color:#5d6c7c; }
.kv strong{ color:#092038; word-break: break-word; }
.co-bottom .kv{ background:#f2f7ff; }
.co-form{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin:18px auto; }
.co-form input[type="text"]{ flex:1 1 340px; padding:14px 16px; border:1px solid #d7e3f5; border-radius:12px; font-size:16px; outline:none; }
.co-form input[type="text"]:focus{ box-shadow:0 0 0 4px rgba(11,87,208,.07); border-color:#0b57d0; }
.co-form button{ background:#0b57d0; color:#fff; border:none; padding:14px 18px; border-radius:12px; font-weight:700; cursor:pointer; transition:transform .12s ease, box-shadow .12s ease; }
.co-form button:hover{ transform:translateY(-2px); box-shadow:0 12px 22px rgba(11,87,208,.18); }
.co-loading{ width:100%; display:flex; justify-content:center; }
.co-spinner{ border:4px solid #f3f3f3; border-top:4px solid #0b57d0; border-radius:50%; width:32px; height:32px; animation:spin 1s linear infinite; }
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@media(max-width:768px){ .co-kv.two{ grid-template-columns:1fr; } .co-form button{ width:100%; } }

/* Print styles: show results only for a clean print */
@media print{
  body * { visibility:hidden !important; }
  #co-print-area, #co-print-area * { visibility:visible !important; }
  #co-print-area{ position:absolute; left:0; top:0; width:100%; box-shadow:none; }
  .co-actions, .co-form, .co-loading{ display:none !important; }
}

/* Admin */
.co-admin-title{ color:#0b57d0; }
.co-admin-form .co-grid{ display:grid; grid-template-columns: repeat(2,minmax(260px,1fr)); gap:16px; }
@media(max-width:1024px){ .co-admin-form .co-grid{ grid-template-columns:1fr; } }
.co-input{ width:100%; padding:10px 12px; border:1px solid #d7e3f5; border-radius:10px; font-size:14px; }
.co-input:focus{ outline:none; border-color:#0b57d0; box-shadow:0 0 0 3px rgba(11,87,208,.07); }
.co-admin-wrap legend{ font-weight:700; color:#063a7a; }

/* Print action button */
.co-actions{ display:flex; justify-content:flex-end; gap:10px; margin:8px 0 14px; }
.co-print{ background:#0b57d0; color:#fff; border:none; padding:10px 14px; border-radius:10px; font-weight:700; cursor:pointer; }
.co-print:hover{ box-shadow:0 10px 18px rgba(11,87,208,.18); transform:translateY(-1px); }
