/* Only the Perkolator portal wrapper is styled. No theme-wide selectors. */
.perk-portal-root { --perk-navy:#17364e; --perk-border:#d9e2e8; --perk-bg:#f5f8fa; --perk-text:#193247; color:var(--perk-text); font:400 16px/1.5 Arial,Helvetica,sans-serif; max-width:1100px; margin:28px auto; padding:0 12px; box-sizing:border-box; }
.perk-portal-root *, .perk-portal-root *::before, .perk-portal-root *::after { box-sizing:border-box; }
.perk-portal-root .perk-portal-card { max-width:440px; margin:20px auto; padding:32px; border:1px solid var(--perk-border); border-radius:14px; background:white; box-shadow:0 8px 28px rgba(0,0,0,.05); }
.perk-portal-root .perk-portal-logo { display:block; width:240px; max-width:100%; height:auto; margin:0 auto 18px; object-fit:contain; }
.perk-portal-root h2, .perk-portal-root h3 { font-family:Arial,Helvetica,sans-serif; color:var(--perk-text); font-style:normal; text-transform:none; letter-spacing:normal; line-height:1.3; }
.perk-portal-root h2 { font-size:24px; margin:0 0 16px; }
.perk-portal-root h3 { font-size:18px; margin:20px 0 12px; }
.perk-portal-root p { margin:10px 0 16px; }
.perk-portal-root a { color:#17618c; text-decoration:underline; }
.perk-portal-root .perk-portal-login label:not(.perk-portal-check) { display:block; font-size:14px; font-weight:700; margin:12px 0 6px; }
.perk-portal-root .perk-portal-login input:not([type=checkbox]) { display:block; width:100%; max-width:100%; min-height:43px; background:#fff; border:1px solid #9aafbd; border-radius:6px; padding:9px 12px; color:#193247; font:inherit; box-shadow:none; }
.perk-portal-root .perk-portal-check { display:flex; align-items:center; gap:8px; margin:14px 0; font-size:14px; }
.perk-portal-root .perk-portal-check input { width:auto; margin:0; }
.perk-portal-root button, .perk-portal-root .perk-portal-button { display:inline-block; background:var(--perk-navy); color:white; border:0; border-radius:7px; padding:12px 18px; font:700 15px/1.3 Arial,Helvetica,sans-serif; text-decoration:none; cursor:pointer; min-height:43px; box-shadow:none; text-transform:none; }
.perk-portal-root .perk-portal-login button { width:100%; }
.perk-portal-root button:hover, .perk-portal-root .perk-portal-button:hover { background:#255a7c; color:white; }
.perk-portal-root .perk-portal-alert { padding:10px; border-left:4px solid #b52222; background:#fff3f3; }
.perk-portal-root .perk-portal-shell { background:#fff; border:1px solid var(--perk-border); border-radius:12px; overflow:hidden; }
.perk-portal-root .perk-portal-header { background:var(--perk-navy); padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:white; }
.perk-portal-root .perk-portal-header .perk-portal-logo { width:185px; margin:0; background:white; padding:6px; border-radius:5px; }
.perk-portal-root .perk-portal-header strong, .perk-portal-root .perk-portal-header span { display:block; text-align:right; color:white; }
.perk-portal-root .perk-portal-header span { font-size:13px; opacity:.85; }
.perk-portal-root .perk-portal-nav { display:flex; gap:20px; padding:10px 22px; background:#eaf1f5; }
.perk-portal-root .perk-portal-nav a { font-size:14px; font-weight:700; }
.perk-portal-root .perk-portal-main { padding:24px; }
.perk-portal-root .perk-portal-muted { color:#536b7b; }
.perk-portal-root .perk-portal-territories { margin:0; padding-left:22px; }
.perk-portal-root .perk-portal-upcoming { margin-top:30px; }
.perk-portal-root .perk-portal-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.perk-portal-root .perk-portal-tiles > div { padding:18px; border:1px solid var(--perk-border); border-radius:8px; background:var(--perk-bg); font-weight:700; }
.perk-portal-root .perk-portal-tiles small { display:block; color:#587083; font-size:12px; font-weight:400; }
@media(max-width:600px) { .perk-portal-root .perk-portal-tiles { grid-template-columns:1fr; } .perk-portal-root .perk-portal-header { flex-wrap:wrap; } .perk-portal-root .perk-portal-header strong,.perk-portal-root .perk-portal-header span { text-align:left; } .perk-portal-root .perk-portal-card { padding:22px; } }

.perk-portal-root .perk-portal-success { border: 1px solid #78ae89; background: #eef8f0; color: #19542d; border-radius: 6px; padding: 12px; }

.perk-portal-root .perk-portal-nav{align-items:center;flex-wrap:wrap}.perk-portal-root .perk-portal-nav .perk-portal-signout{margin-left:auto}.perk-portal-root .perk-portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:900px}.perk-portal-root .perk-portal-form label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px}.perk-portal-root .perk-portal-form input,.perk-portal-root .perk-portal-form select{width:100%;min-height:42px;border:1px solid #9aafbd;border-radius:5px;padding:8px;background:white;color:#193247}.perk-portal-root .perk-portal-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.perk-portal-root .perk-portal-scroll{overflow-x:auto}.perk-portal-root .perk-portal-table{width:100%;border-collapse:collapse}.perk-portal-root .perk-portal-table th,.perk-portal-root .perk-portal-table td{text-align:left;border-bottom:1px solid #d9e2e8;padding:9px}.perk-portal-root .perk-portal-form>button{justify-self:start}@media(max-width:650px){.perk-portal-root .perk-portal-form{grid-template-columns:1fr}.perk-portal-root .perk-portal-nav .perk-portal-signout{margin-left:0;width:100%;border-top:1px solid #cad6de;padding-top:10px}}

.perk-portal-root .perk-portal-hst-hint{grid-column:1/-1;color:#536b7b;font-size:13px;margin:0}.perk-portal-root .perk-portal-hst-hint code{white-space:nowrap}.perk-portal-root .perk-portal-form input:disabled{background:#edf0f2;color:#677b86}

/* v0.2.9 unified rounded action styling */
.perk-portal-root button,.perk-portal-root .perk-portal-button,.perk-portal-root a.perk-action{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;transition:background-color .15s,box-shadow .15s;text-decoration:none;font-weight:700}
.perk-portal-root a.perk-action{background:#edf3f7;color:#17364e;border:1px solid #bdd0dc}
.perk-portal-root a.perk-action:hover{background:#dcebf3}
.perk-portal-root .perk-portal-table td a{display:inline-block;margin:3px 2px}
.perk-portal-root textarea{width:100%;min-height:72px;border-radius:8px;border:1px solid #9aafbd;padding:10px}

/* v0.2.10 compact icon-action system, scoped to plugin only */
.perk-portal-root button,.perk-portal-root .perk-portal-button,.perk-portal-root a.perk-action{min-height:30px;border-radius:999px;padding:5px 11px;font-size:12px;line-height:1.35;letter-spacing:0;box-shadow:none;white-space:nowrap;vertical-align:middle}
.perk-portal-root a.perk-action-secondary{background:#fff;color:#194a70;border:1px solid #b5c8d8}
.perk-portal-root a.perk-action-secondary:hover{background:#eaf2f8;color:#123953}
.perk-portal-root .perk-portal-table td:last-child{min-width:250px;line-height:2.5}
.perk-portal-root .perk-portal-actions{gap:7px}
.perk-portal-root .perk-preview-banner{background:#fff5d7;border:1px solid #d4aa49;border-radius:10px;padding:12px 15px;margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.perk-portal-root .perk-preview-banner span{font-size:12px;color:#55451d}
.perk-portal-root .perk-preview-banner .perk-portal-button{margin-left:auto}
