.p1-actions { display:flex;gap:10px;align-items:center;flex-wrap:wrap; }
.p1-file { display:block;max-width:100%;margin-top:8px;font-size:12px; }
.p1-summary { margin:20px 0 12px;padding:14px 16px;border-radius:12px;background:var(--brand-soft);color:var(--brand-text);font-size:13px; }
.p1-import-table { max-height:340px;overflow:auto; }
.p1-import-table th { position:sticky;top:0;background:white;z-index:1; }
.p1-favorite { border:1px solid var(--line);background:white;border-radius:50%;width:34px;height:34px;flex:0 0 34px;color:var(--muted);font-size:23px;cursor:pointer; }
.p1-favorite[aria-pressed=true] { color:var(--brand-text);background:var(--brand-soft);border-color:var(--brand-border); }
.p1-favorite:focus-visible { outline:2px solid var(--brand-text);outline-offset:3px; }
.p1-panel-note { margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.8; }
.p1-device-card { margin-bottom:20px; }
.p1-device-card summary { cursor:pointer;font-weight:650; }
.p1-device-card summary span { margin-left:12px;font-weight:400;font-size:12px;color:var(--muted); }
.p1-device-card table { margin:18px 0; }
.p1-report-filters { display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:22px 0 10px; }
.p1-report-filters label { display:grid;gap:8px;flex:1 1 140px;font-size:12px; }
.p1-report-filters input,.p1-report-filters select { min-width:0;width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:10px;color:var(--ink); }
.p1-report-grid { display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin:20px 0; }
.p1-report-rate { display:block;font-size:52px;color:var(--brand-text);letter-spacing:-2px;margin:22px 0 16px; }
.p1-report-rate small { font-size:22px; }
.p1-meter { display:block;overflow:hidden;height:8px;border-radius:8px;background:var(--brand-soft); }
.p1-meter > i { display:block;height:100%;background:var(--brand-primary);border-radius:8px; }
.p1-ranking > div { display:flex;align-items:center;gap:14px;margin:22px 0;font-size:13px; }
.p1-ranking strong { flex:1; }.p1-ranking .p1-meter { margin-top:9px; }.p1-ranking small { color:var(--muted); }
.p1-mobile-scan { display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap; }
.p1-mobile-scan small { color:var(--muted);font-size:12px; }
#panel-qr:disabled { opacity:.45;cursor:default; }
@media(max-width:700px){
 .p1-report-grid{grid-template-columns:1fr}.p1-report-filters label{flex-basis:calc(50% - 14px)}
 .p1-report-filters button{width:100%}.p1-ranking small{font-size:10px}
 .workflow-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:20px}
 .workflow-form-grid{grid-template-columns:1fr}.workflow-form-footer{flex-wrap:wrap;gap:10px}
 .workflow-form-footer button{flex:1;min-height:44px}.notice-item button,.invitation-actions button{min-height:44px}
 .notification-drawer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}
 .notice-toolbar{flex-wrap:wrap}.invitation-actions{flex-wrap:wrap}.invitation-actions span{width:100%}
 .mine-row .mine-actions{flex-wrap:wrap;gap:10px}.p1-mobile-scan button{width:100%;min-height:44px}
 #arrival-scanned-room{max-width:100%;min-width:0}.arrival-dialog{max-height:calc(100dvh - 24px);overflow:auto}
 .workflow-filters{flex-wrap:wrap}.workflow-filters input,.workflow-filters select{min-width:0;max-width:100%}
}

.p1-audit-detail { margin-top:10px;font-size:12px;line-height:1.8; }.p1-audit-detail summary { cursor:pointer;color:var(--brand-text); }
@media(max-width:700px){
 .arrival-backdrop{padding:10px}.arrival-dialog{width:100%;padding:24px 18px;gap:16px;max-height:calc(100dvh - 20px)}
 .arrival-explainer ol{display:none}.arrival-explainer h2{padding-right:24px}.arrival-explainer > p:not(.eyebrow){font-size:12px}
 .phone-preview{width:100%;min-width:0;min-height:0;border:0;border-radius:14px;box-shadow:none;padding:18px}
 .phone-preview .phone-bar{display:none}.phone-brand{margin:0 0 18px;font-size:14px}
 .phone-preview > small,.phone-meeting span,.phone-meeting small,.arrival-window,.booking-code-link{font-size:12px}
 .phone-meeting strong{font-size:16px}.phone-preview #confirm-arrival{font-size:14px;min-height:46px}
 .phone-preview #confirm-arrival:disabled{background:#e7e9ee;color:#626677}.phone-preview #arrival-scanned-room{width:100%;min-height:44px}
 #event-actions > button{min-height:44px}.p1-favorite{width:40px;height:40px;flex-basis:40px}
}

/* Panel information has no button treatment; only check-in is interactive. */
#door-panel .panel-state-note { display:grid;gap:9px;max-width:260px;padding:2px 0 2px 20px;border-left:1px solid #ffffff55;color:white; }
#door-panel .panel-state-note .panel-note-caption { font-size:11px;opacity:.72;letter-spacing:.5px; }
#door-panel .panel-state-note strong { font-size:17px;line-height:1.6; }
#door-panel .panel-state-note>span:last-child { font-size:12px;line-height:1.7;opacity:.82; }
#door-panel .panel-book-button { width:auto;height:auto;min-height:44px;padding:11px 18px; }
.p1-device-card .admin-row-actions { white-space:nowrap; }
@media(max-width:680px){#door-panel .panel-state-note { max-width:100%;padding:12px 0 0;border-left:0;border-top:1px solid #ffffff55; }#door-panel .panel-action-area { width:100%; }}

/* Panel preview focuses on one status and QR check-in, without duplicate status cards. */
#view-panel [data-panel-state]:focus:not(:focus-visible) { outline:none; }
#view-panel [data-panel-state]:focus-visible { outline:2px solid var(--brand-text);outline-offset:-3px; }
#door-panel .panel-qr { width:156px;padding:14px;border-radius:12px;box-shadow:none; }
#door-panel .panel-qr svg { width:112px;height:112px; }
#door-panel .panel-qr span { font-size:12px;line-height:1.6;margin-top:10px; }
#door-panel .panel-qr:disabled { opacity:1;cursor:default; }

#door-panel .panel-reservation { display:grid;gap:10px;margin-top:20px; }
#door-panel .panel-reservation p { margin:0;font-size:clamp(20px,2.4vw,30px);line-height:1.5;font-weight:600;overflow-wrap:anywhere; }
#door-panel .panel-reservation strong { font-size:clamp(20px,2vw,26px);line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums;opacity:.9; }
.panel-title-privacy { display:flex;align-items:flex-start;gap:9px;margin:0 0 18px;font-size:12px;line-height:1.7;color:var(--ink); }
.panel-title-privacy input { flex-shrink:0;width:16px;height:16px;margin:3px 0 0;accent-color:var(--brand-text); }
.panel-title-privacy small { display:block;color:var(--muted);font-size:11px; }
