.wphd-portal{max-width:1100px;margin:1.5rem auto;font-family:inherit}.wphd-portal-hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.4rem;border-radius:18px;background:linear-gradient(135deg,#f0f6fc,#fff);border:1px solid #d8e8f7;box-shadow:0 10px 30px rgba(0,0,0,.06);margin-bottom:1rem}.wphd-portal-hero h2{margin:.1rem 0;font-size:1.8rem}.wphd-portal-hero p{margin:.25rem 0;color:#52616b}.wphd-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.78rem;color:#2271b1}.wphd-new-ticket-panel{margin:1rem 0}.wphd-card,.wphd-ticket-form{padding:1rem;border:1px solid #ddd;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.05)}.wphd-ticket-form label{display:block;margin:.75rem 0;font-weight:700}.wphd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.wphd-ticket-form input,.wphd-ticket-form select,.wphd-ticket-form textarea,.wphd-add-info textarea{width:100%;box-sizing:border-box;margin-top:.25rem;padding:.72rem;border:1px solid #b8c2cc;border-radius:10px;background:#fff}.wphd-ticket-form input:focus,.wphd-ticket-form select:focus,.wphd-ticket-form textarea:focus,.wphd-add-info textarea:focus{outline:2px solid #b6d6f2;border-color:#2271b1}.wphd-button,.wphd-ticket-form button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.05rem;border:0;border-radius:999px;cursor:pointer;text-decoration:none;font-weight:800;line-height:1.2;transition:transform .12s ease,box-shadow .12s ease}.wphd-button:hover,.wphd-ticket-form button:hover{transform:translateY(-1px);text-decoration:none}.wphd-button-primary,.wphd-ticket-form button{background:#2271b1;color:#fff;box-shadow:0 6px 18px rgba(34,113,177,.25)}.wphd-button-primary:hover,.wphd-ticket-form button:hover{background:#135e96;color:#fff}.wphd-result{margin-bottom:1rem}.wphd-section-heading{display:flex;justify-content:space-between;align-items:end;margin:1.4rem 0 .7rem}.wphd-section-heading h3{margin:0;font-size:1.35rem}.wphd-section-heading p{margin:0;color:#667085}.wphd-my-tickets{display:block}.wphd-empty-state{padding:1.2rem;border:1px dashed #b8c2cc;border-radius:16px;background:#fafafa}.wphd-ticket-card{padding:1.1rem;margin:.9rem 0;border:1px solid #dcdcde;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.05)}.wphd-ticket-main{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.wphd-ticket-main h4{margin:.15rem 0 .3rem;font-size:1.15rem}.wphd-ticket-id{font-weight:800;color:#2271b1;font-size:.82rem}.wphd-ticket-description{color:#4b5563;margin:.85rem 0}.wphd-ticket-meta{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem;margin:.75rem 0}.wphd-ticket-meta span{padding:.65rem;border-radius:12px;background:#f8f9fa;border:1px solid #eef0f2;color:#1f2937}.wphd-ticket-meta strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#667085;margin-bottom:.15rem}.wphd-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;font-weight:800;font-size:.78rem;background:#eef2f7;color:#344054}.wphd-status-open{background:#e8f3ff;color:#135e96}.wphd-status-pending{background:#fff6db;color:#8a5a00}.wphd-status-resolved,.wphd-status-closed{background:#eaf7ed;color:#008a20}.wphd-add-info{margin-top:.9rem}.wphd-add-info-button{display:inline-flex;align-items:center;gap:.45rem;width:max-content;padding:.68rem .95rem;border-radius:999px;background:#f0f6fc;color:#135e96;border:1px solid #b6d6f2;font-weight:800;cursor:pointer;list-style:none}.wphd-add-info-button::-webkit-details-marker{display:none}.wphd-add-info-button:before{content:'+';display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:#2271b1;color:#fff;font-weight:900}.wphd-add-info[open] .wphd-add-info-button:before{content:'–'}.wphd-add-info form{margin-top:.75rem;padding:.9rem;border:1px solid #dcdcde;border-radius:14px;background:#f8f9fa}.wphd-add-info textarea{margin-bottom:.7rem}.wphd-comments{margin-top:.8rem}.wphd-comments summary{cursor:pointer;font-weight:800;color:#344054}.wphd-comments div{padding:.55rem 0;border-top:1px solid #eef0f2}.wphd-comments p{margin:.25rem 0 0}.wphd-inline-form{margin:.5rem 0}@media(max-width:800px){.wphd-portal-hero{display:block}.wphd-toggle-new-ticket{margin-top:1rem}.wphd-form-grid,.wphd-ticket-meta{grid-template-columns:1fr}.wphd-ticket-main{display:block}.wphd-status-pill{margin-top:.5rem}}
.wphd-guest-note{margin-top:1rem;background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #dbe3ef;}
.wphd-guest-note p{margin:.35rem 0 0;color:#475569;}
/* v1.2.0 UI polish */
.wphd-portal{color:#111827}.wphd-portal *{box-sizing:border-box}.wphd-portal-hero{position:relative;overflow:hidden}.wphd-portal-hero:after{content:'';position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:50%;background:rgba(34,113,177,.09)}.wphd-portal-hero>div,.wphd-portal-hero>button{position:relative;z-index:1}.wphd-ticket-card{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.wphd-ticket-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.09);border-color:#b6d6f2}.wphd-ticket-form{border-color:#dbeafe}.wphd-ticket-form label{color:#1f2937}.wphd-result:not(:empty){padding:.8rem 1rem;border-radius:12px;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;font-weight:700}.wphd-button:focus-visible,.wphd-ticket-form button:focus-visible,.wphd-add-info-button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.wphd-ticket-meta span{min-height:58px}.wphd-ticket-description{padding:.85rem 1rem;border-left:4px solid #dbeafe;background:#f8fafc;border-radius:12px}.wphd-status-pill{text-transform:capitalize;white-space:nowrap}.wphd-status-urgent,.wphd-status-breached{background:#fee2e2;color:#991b1b}.wphd-status-high,.wphd-status-warning{background:#ffedd5;color:#9a3412}.wphd-add-info[open]{padding-top:.35rem}.wphd-comments{background:#fafafa;border-radius:14px;padding:.7rem .9rem;border:1px solid #eef0f2}.wphd-comments summary{list-style:none}.wphd-comments summary::-webkit-details-marker{display:none}

.wphd-guest-lookup-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0 18px}.wphd-guest-lookup-form label{flex:1;min-width:240px}.wphd-guest-ticket-list{display:grid;gap:14px}.wphd-ticket-card-summary{border-left:4px solid #64748b}.wphd-guest-summary-note{margin:.75rem 0 0;color:#64748b;font-size:.95rem}.wphd-button-secondary{background:#334155;color:#fff;border:0;border-radius:10px;padding:.75rem 1rem;font-weight:700;cursor:pointer}.wphd-button-secondary:hover{background:#1e293b;color:#fff}

/* v1.2.4 guest lookup visibility polish */
.wphd-guest-actions{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;align-items:start;margin-top:18px}
.wphd-guest-lookup-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:12px}
.wphd-guest-lookup-form label{flex:1;min-width:240px;font-weight:700;color:#1f2937}
.wphd-guest-lookup-form input{width:100%;margin-top:6px;border:1px solid #d1d5db;border-radius:12px;padding:12px 14px;font-size:15px;background:#fff}
.wphd-guest-lookup-result{margin-top:16px}
.wphd-ticket-card-summary .wphd-guest-summary-note{margin:12px 0 0;color:#6b7280;font-size:14px}
@media (max-width: 800px){.wphd-guest-actions{grid-template-columns:1fr}.wphd-guest-lookup-form{display:block}.wphd-guest-lookup-form .wphd-button{margin-top:10px;width:100%}}

/* v1.2.5 guest lookup by email or ticket number */
.wphd-lookup-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;flex:1 1 520px}
.wphd-lookup-grid label{min-width:0!important}
@media (max-width: 800px){.wphd-lookup-grid{grid-template-columns:1fr}}

/* v1.3.2 admin/front-end management polish */
.wphd-view-toggle{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 12px}
.wphd-button-ghost{background:#f8fafc;color:#135e96;border:1px solid #b6d6f2;box-shadow:none}
.wphd-button-ghost:hover{background:#e8f3ff;color:#135e96;box-shadow:0 6px 18px rgba(34,113,177,.12)}
.wphd-admin-portal{max-width:1200px;margin:1.5rem auto;color:#111827}
.wphd-admin-filter-bar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:1rem;border:1px solid #dbe3ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05);margin:1rem 0}
.wphd-admin-filter-bar label{font-weight:800;color:#1f2937;min-width:200px}
.wphd-admin-filter-bar select{display:block;width:100%;margin-top:6px;border:1px solid #d1d5db;border-radius:12px;padding:11px 14px;background:#fff}
.wphd-admin-ticket-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #eef0f2}
@media(max-width:800px){.wphd-view-toggle .wphd-button,.wphd-admin-filter-bar .wphd-button{width:100%}.wphd-admin-filter-bar{display:block}.wphd-admin-filter-bar label{display:block;margin-bottom:10px}}


/* v1.3.3 styled admin action buttons */
.wphd-inline-form .wphd-button,.wphd-detail-form .wphd-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1rem;border:0;border-radius:999px;cursor:pointer;text-decoration:none;font-weight:800;line-height:1.2;transition:transform .12s ease,box-shadow .12s ease;background:#2271b1;color:#fff;box-shadow:0 6px 18px rgba(34,113,177,.25);margin-top:.45rem}
.wphd-inline-form .wphd-button:hover,.wphd-detail-form .wphd-button:hover{transform:translateY(-1px);background:#135e96;color:#fff}
.wphd-inline-form .wphd-button:focus-visible,.wphd-detail-form .wphd-button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.wphd-detail-form{margin-top:.85rem;padding:.85rem;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc}
.wphd-detail-form textarea{width:100%;box-sizing:border-box;margin:.2rem 0 .55rem;padding:.72rem;border:1px solid #b8c2cc;border-radius:10px;background:#fff}
.wphd-detail-form label{display:block;margin:.35rem 0 .45rem;color:#334155;font-weight:700}
.wphd-ticket-update-form{display:grid;gap:.5rem;margin:.65rem 0;padding:.85rem;border:1px solid #dbe3ef;border-radius:14px;background:#fff}
.wphd-ticket-update-form label{display:block;font-weight:800;color:#1f2937}
.wphd-ticket-update-form select{width:100%;margin-top:.25rem;border:1px solid #d1d5db;border-radius:10px;padding:.55rem .7rem;background:#fff}
