.opening-hero{padding:26px;border-radius:25px;background:#173c86;color:white;margin:20px 0}.opening-hero-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#d9e6ff}.opening-hero-label svg{width:18px;height:18px}.opening-hero h2{font-size:22px;line-height:1.3;margin:22px 0 8px;max-width:300px}.opening-hero p{color:#d9e6ff;font-size:12px;line-height:1.6}.opening-countdown{display:block;font-size:43px;letter-spacing:1px;font-variant-numeric:tabular-nums;line-height:1.2;margin:25px 0 8px}.opening-hero>small{font-size:11px;color:#d9e6ff}.opening-hero.state-open{background:#146448}.opening-hero.state-late,.opening-hero.state-missed{background:#973349}.opening-hero.state-off{background:#405274}.opening-upload{padding:22px;border:1px solid #dce4f1;border-radius:21px;background:#fff;margin:22px 0}.opening-upload h2{font-size:20px;line-height:1.35;margin:12px 0}.opening-upload .muted{font-size:12px;line-height:1.7}.opening-camera-label{margin:20px 0 8px!important;font-size:12px}.opening-camera-label input{display:block;padding:14px 10px;margin-top:10px;width:100%;font-size:14px!important;min-width:0;box-sizing:border-box}.opening-file-hint{display:block;color:#536781;font-size:11px;line-height:1.7}.opening-preview{display:block;max-height:280px;object-fit:contain;max-width:100%;margin:18px auto;border-radius:12px}.opening-submit{margin-top:20px;min-height:54px!important;font-size:13px!important;white-space:normal}.opening-submit svg{width:18px;height:18px;flex-shrink:0}.opening-upload textarea{font-size:16px!important;line-height:1.6;resize:vertical}.opening-upload [data-opening-reason-label]{margin-top:20px;color:#8f273d}.opening-feedback{font-size:13px;line-height:1.6;color:#146448}.opening-confirmation{padding:22px;background:#eaf6ef;border:1px solid #bad9c6;border-radius:20px;margin:22px 0}.opening-confirmation h2{font-size:18px;color:#146448}.opening-confirmation p{font-size:13px;line-height:1.7;color:#254f3b;white-space:pre-wrap;overflow-wrap:anywhere}.opening-month{margin-top:34px}.opening-month-form{display:flex;gap:10px;margin:16px 0}.opening-month-form input{flex:1;min-width:0;font-size:16px!important;background:white}.opening-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.opening-stats article{padding:19px 16px;background:white;border:1px solid #dce4f1;border-radius:18px;min-width:0}.opening-stats article:first-child{background:#eaf0ff;border-color:#d4dff7}.opening-stats small{font-size:9px;letter-spacing:.6px;color:#536781;font-weight:700;line-height:1.5}.opening-stats b{display:block;font-size:33px;margin:10px 0;font-variant-numeric:tabular-nums;color:#1c3767}.opening-stats span{display:block;font-size:10px;color:#536781;line-height:1.5}.opening-month-note{font-size:11px;line-height:1.8;color:#536781;margin:14px 0}.opening-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:20px}.opening-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;border-radius:11px;background:#fff;border:1px solid #dce4f1;color:#536781;font-size:12px;font-variant-numeric:tabular-nums}.opening-day i{font-style:normal;font-size:10px}.opening-day.state-open{background:#e5f6ed;border-color:#9ecdb1;color:#125b3e}.opening-day.state-late{background:#fff3db;border-color:#e1c28a;color:#795214}.opening-day.state-missed{background:#ffecf0;border-color:#e4b4c0;color:#92283f}.opening-day.state-off{background:#edf0f5;border-color:#e3e7ee;color:#5c6c83}.opening-day.state-future{border-style:dashed}.opening-legend{display:flex;flex-wrap:wrap;gap:8px 15px;margin:13px 0;font-size:10px;color:#536781}.opening-history{border:1px solid #dce4f1;background:white;border-radius:16px;margin-top:18px}.opening-history summary{padding:18px;display:flex;justify-content:space-between;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.opening-history article{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-top:1px solid #edf0f6;font-size:12px}.opening-history article>span:last-child{text-align:right}.opening-history small{display:block;font-size:10px;color:#536781;line-height:1.6;margin-top:6px}.opening-points-section{margin:32px 0}.opening-points-section .section-line>span{font-size:11px;color:#536781}.opening-point-list{border:1px solid #dce4f1;border-radius:20px;background:white;overflow:hidden;margin-top:17px}.opening-point{display:flex;align-items:center;gap:12px;padding:19px 16px;border-bottom:1px solid #edf0f6}.opening-point:last-child{border:0}.opening-point-avatar{width:38px;height:38px;flex-shrink:0;border-radius:13px;background:#eaf0fc;display:grid;place-items:center;color:#2752a4;font-size:12px;font-weight:700}.opening-point>div{flex:1;min-width:0}.opening-point b{font-size:13px;overflow-wrap:anywhere}.opening-point>span:last-child{font-size:11px;font-variant-numeric:tabular-nums;color:#536781;white-space:nowrap}.opening-status{display:block;font-size:11px;line-height:1.6;margin-top:5px;color:#536781}.opening-status.status-open{color:#146448}.opening-status.status-missed,.opening-status.status-late{color:#9b2e46}.opening-schedules{max-width:850px}.opening-schedule-card{margin:16px 0}.opening-schedule-card summary{display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;cursor:pointer;min-height:44px}.opening-schedule-card summary small{display:block;color:#536781;font-size:12px;margin-top:6px}.opening-schedule-card summary>span:last-child{font-size:12px;color:#315daf;white-space:nowrap}.opening-schedule-card form{margin-top:22px}.opening-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.opening-weekdays{display:flex;flex-wrap:wrap;gap:12px;border:1px solid #dce4f1;border-radius:14px;padding:15px;margin:0 0 20px}.opening-weekdays legend{font-size:12px;color:#536781;padding:0 6px}.opening-weekdays label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;font-size:13px;cursor:pointer}.opening-weekdays input{width:18px;height:18px;accent-color:#2752a4}.opening-future{margin:15px 0;padding:10px 16px;background:#edf3ff;border-radius:12px;color:#294a80;font-size:12px;line-height:1.7}.opening-admin-filter{margin:22px 0}.opening-admin-totals{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.opening-admin-totals>span{padding:14px 18px;background:white;border:1px solid #dce4f1;border-radius:13px;font-size:13px}.opening-admin-totals b{margin-left:15px}.opening-admin-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.opening-admin-card .section-line{align-items:start;gap:15px}.opening-admin-card h2{font-size:20px}.opening-admin-card .opening-status{margin:0;text-align:right;max-width:150px}.opening-receipt-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:#536781;margin:20px 0}.opening-receipt-meta b{display:block;font-size:17px;color:#1c3767;margin-top:7px;font-variant-numeric:tabular-nums}.opening-reason{padding:16px;background:#fff0f3;border-radius:13px;font-size:12px;line-height:1.7;color:#8f273d}.opening-reason p{white-space:pre-wrap;overflow-wrap:anywhere}.opening-receipt-link{display:block;margin-top:18px;text-decoration:none}.opening-receipt-link img{display:block;max-height:220px;width:100%;object-fit:contain;background:#edf1f7;border-radius:12px}.opening-receipt-link span{display:block;font-size:12px;margin-top:12px}.race-direction{font-size:12px;line-height:1.6;margin:16px 0;color:inherit}.point-app .app-nav{padding-left:5px;padding-right:5px}.point-app .app-nav a{min-width:0;min-height:48px;font-size:9px}.point-app .app-nav .app-nav-icon{width:40px}
.point-app .opening-hero h2,.opening-hero h2{color:#fff}
@media(max-width:700px){.opening-admin-cards{grid-template-columns:minmax(0,1fr)}.opening-admin-filter{flex-wrap:wrap}.opening-admin-filter input{min-width:0}.opening-schedule-grid{grid-template-columns:minmax(0,1fr)}.opening-schedule-grid input{width:100%;min-width:0}.opening-admin-totals{display:grid;grid-template-columns:1fr 1fr}.opening-admin-totals>span{font-size:11px;padding:14px 12px}.opening-admin-totals b{margin-left:8px}.opening-schedule-card summary{align-items:start}.opening-schedule-card summary>span:last-child{font-size:10px}}
@media(max-width:360px){.opening-hero{padding:23px 20px}.opening-countdown{font-size:38px}.opening-stats{gap:9px}.opening-stats article{padding:17px 12px}.opening-upload{padding:18px}.opening-points-section .section-line{gap:8px}.opening-points-section .section-line h2{font-size:18px}.opening-point{padding:16px 12px;gap:9px}.opening-point-avatar{width:32px;height:32px}.opening-point b{font-size:12px}.opening-status{font-size:10px}.opening-point>span:last-child{font-size:10px}}
