.signup-panel{margin:24px 0;padding:24px;background:#fff;border:1px solid #d7e0e9;border-radius:15px;min-width:0}
.signup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.signup-heading h2{margin:0;color:#17354f;font-size:1.45rem}
.signup-heading p{margin:6px 0 0;color:#526579}
.signup-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.signup-controls label{display:grid;gap:5px;font-size:.85rem;font-weight:700;color:#17354f}
.signup-controls select{min-height:40px;max-width:100%;border:1px solid #c3d0dd;border-radius:8px;background:#fff;padding:8px 30px 8px 10px;color:#17354f;font:inherit}
.signup-controls .btn{min-height:40px}
.signup-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.signup-metrics>div{display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px;background:#f1f6fc;border:1px solid #dbe6f1;border-radius:10px}
.signup-metrics span{font-size:.9rem;color:#3e5871;overflow-wrap:anywhere}
.signup-metrics strong{font-size:2rem;line-height:1.2;color:#00539c;font-variant-numeric:tabular-nums}
.signup-period{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;margin-bottom:12px}
.signup-period>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;color:#17354f;font-weight:600}
.signup-period strong{font-size:1.3rem;font-variant-numeric:tabular-nums}
.signup-period p{margin:0;font-size:.85rem;color:#526579}
.signup-table-scroll{max-height:362px;overflow:auto;border:1px solid #d7e0e9;border-radius:9px;scrollbar-gutter:stable}
.signup-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;color:#17354f}
.signup-table th,.signup-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5ebf1}
.signup-table thead th{position:sticky;top:0;background:#eaf1f9;z-index:1;font-weight:700}
.signup-table tr>:last-child{text-align:right;font-variant-numeric:tabular-nums}
.signup-table tbody th{font-weight:500}
.signup-table tbody tr:nth-child(even){background:#f8fafc}
.signup-table tbody tr:last-child>*{border-bottom:0}
.signup-today-label{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:20px;background:#fff0c5;color:#594000;font-size:.73rem;font-weight:700;vertical-align:middle}
.signup-notes{margin-top:16px;color:#607286;font-size:.8rem;line-height:1.6}
.signup-notes p{margin:4px 0}
.signup-status{padding:14px 0;color:#526579}
.signup-data-note{margin:14px 0 0;font-size:.85rem;color:#594000}
.signup-error{margin-top:20px;padding:16px;border:1px solid #e9c0bc;border-radius:9px;background:#fff7f6;color:#8b3028}
.signup-error p{margin:0 0 12px}
.signup-table-scroll:focus-visible,.signup-controls select:focus-visible{outline:3px solid #00539c;outline-offset:3px}
@media(max-width:600px){.signup-panel{padding:16px}.signup-heading{gap:16px}.signup-controls{width:100%}.signup-controls label{flex:1;min-width:0}.signup-metrics{gap:8px}.signup-metrics>div{padding:12px 9px}.signup-metrics strong{font-size:1.65rem}.signup-metrics span{font-size:.8rem}.signup-table th,.signup-table td{padding:11px 10px}.signup-today-label{display:table;margin:3px 0 0}.signup-period p{line-height:1.5}}
@media(max-width:480px){.signup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.signup-metrics>div:last-child{grid-column:1/-1;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}.signup-metrics span{overflow-wrap:normal}}
.signup-date-link{color:#00539c;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0}
.signup-date-link:focus-visible{outline:3px solid #00539c;outline-offset:3px;border-radius:2px}
.signup-drilldown-help{font-size:.83rem;color:#526579;margin:0 0 12px;line-height:1.5}
