/* Admin styles for PNR Control Page Access */
.pnrcpa-wrap .nav-tab-wrapper { margin-top: 20px; }
.pnrcpa-wrap .nav-tab { display: inline-block; padding: 8px 14px; border: 1px solid #ccd0d4; background: #f0f0f1; color: #1d2327; text-decoration: none; margin-right: 4px; border-bottom: none; border-radius: 4px 4px 0 0; }
.pnrcpa-wrap .nav-tab-active { background: #fff; color: #000; }
.pnrcpa-admin-box { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
.pnrcpa-admin-title { font-size: 24px; margin: 4px 0 12px; color: #1f2937; }
.pnrcpa-admin-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.pnrcpa-admin-btn { display: inline-block; padding: 10px 18px; background: #0b3d91; color: #ffffff; text-decoration: none; border-radius: 8px; font-weight: 600; box-shadow: 0 1px 0 rgba(10,61,145,0.25); }
.pnrcpa-admin-btn:hover, .pnrcpa-admin-btn:focus { background: #072f73; color: #ffffff; }
.pnrcpa-admin-btn.active { background: #072f73; }
.pnrcpa-admin-btn:link, .pnrcpa-admin-btn:visited, .pnrcpa-admin-btn:active { color: #ffffff !important; text-decoration: none !important; }
.pnrcpa-roles-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 8px; max-width: 800px; }
.pnrcpa-role-item { background: #fff; border: 1px solid #ccd0d4; padding: 8px; border-radius: 4px; }
.pnrcpa-roles-list { list-style: disc; margin-left: 20px; }
.pnrcpa-form textarea, .pnrcpa-form input[type=text], .pnrcpa-form input[type=url] { width: 100%; max-width: 700px; }

/* Front-end restricted message */
.pnrcpa-restricted { border: 2px dashed #d63638; padding: 16px; background: #fff5f5; }
.pnrcpa-restricted .pnrcpa-button { display: inline-block; padding: 8px 14px; background: #2271b1; color: #fff; text-decoration: none; border-radius: 4px; }
.pnrcpa-restricted .pnrcpa-button:hover { background: #135e96; }