/* V16.5: podium, point ledger, approved allocation and structured sponsor tracking. */
.honor-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;padding:26px 0 8px}
.honor-card{position:relative;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:18px;min-height:330px;padding:30px 18px 24px;border-radius:26px;border:1px solid #c4a65e;background:linear-gradient(145deg,#fffefa,#f7edcf);box-shadow:0 12px 30px #75632a12;overflow:hidden}
.honor-card:before{content:"";position:absolute;inset:7px;border:1px solid #bda36044;border-radius:20px;pointer-events:none}
.honor-card.podium-slot-0{order:2;min-height:390px;background:radial-gradient(ellipse at 50% 0,#376454,transparent 65%),linear-gradient(145deg,#173f34,#09281f);border-color:#d3ae60;box-shadow:0 18px 40px #122f2525;--rank:#f4d184;--rank-soft:#ffffff0d;color:#fff7dd}
.honor-card.podium-slot-1{order:1}.honor-card.podium-slot-2{order:3;min-height:310px}
.honor-card.rank-silver{background:linear-gradient(145deg,#fff,#e8eef3);border-color:#a8b5c1;--rank:#526b7e;--rank-soft:#ffffff80}
.honor-card.rank-bronze{background:linear-gradient(145deg,#fffaf5,#f0dfd0);border-color:#c19b7f;--rank:#885932;--rank-soft:#ffffff80}
.honor-card.podium-slot-0 .honor-person h3{color:#fff7dd}.honor-laurel{width:100px;height:100px;flex:none}.honor-laurel b{font-size:38px}.honor-position{font-size:15px;letter-spacing:.2px}.honor-person{justify-content:center;margin-top:10px}.honor-person h3{font-size:24px}.honor-score{display:flex;align-items:baseline;justify-content:center;gap:9px;min-height:0;padding:12px 22px;border:1px solid #9c875430;border-radius:100px}.honor-score strong{font-size:32px}.podium-slot-0 .honor-score small{color:#ddcfa9}.honor-list[data-count="1"]{grid-template-columns:minmax(0,440px);justify-content:center}.honor-list[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:auto}.honor-list[data-count="2"] .podium-slot-0{order:0}
body.dark .honor-card.podium-slot-0{background:radial-gradient(ellipse at 50% 0,#315747,transparent 65%),#0e2c23;border-color:#b99b51;--rank:#f4d184;--rank-soft:#ffffff0d}body.dark .honor-card.rank-silver{background:linear-gradient(140deg,#21333f,#13242f);--rank:#c7dae8;--rank-soft:#ffffff08}body.dark .honor-card.rank-bronze{background:linear-gradient(140deg,#382c24,#241f1d);--rank:#edbd91;--rank-soft:#ffffff08}
.points-history-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 16px}.points-history-head h3{margin:0}.points-history-head>span{font-size:12px;color:var(--muted)}.points-timeline{display:grid;gap:12px}.points-event{display:flex;gap:14px;padding:18px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.points-event-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:13px;background:#e3f3e9;color:#166544;font-size:25px;font-weight:800}.points-event-body{flex:1;min-width:0}.points-event-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.points-event h4{font-size:17px;margin:0;color:var(--text)}.points-event p{margin:9px 0;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.points-event time{font-size:12px;color:var(--muted)}.points-delta{padding:6px 12px;background:#e3f3e9;color:#166544;border-radius:10px;font-size:18px;font-weight:800;white-space:nowrap}.points-delta small{font-size:11px;font-weight:500}.points-deduct .points-delta,.points-deduct .points-event-icon{background:#fce9e9;color:#a72f3f}.points-neutral .points-delta,.points-neutral .points-event-icon{background:var(--stat);color:var(--muted)}body.dark .points-add .points-delta,body.dark .points-add .points-event-icon{background:#173d2f;color:#a9edc6}body.dark .points-deduct .points-delta,body.dark .points-deduct .points-event-icon{background:#492932;color:#ffb7c2}
.owner-approved{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(120deg,#e8f6ec,#fff)!important;border:1px solid #91bda5!important}.owner-approved h3{margin-bottom:10px}.owner-approved strong{font-size:30px;color:#176443;display:block}.owner-approved p{margin-bottom:0;line-height:1.8}.approval-check{display:grid;place-items:center;flex:none;width:44px;height:44px;background:#1d7754;color:#fff;border-radius:50%;font-size:25px}body.dark .owner-approved{background:linear-gradient(120deg,#123c2c,#14282b)!important;border-color:#386d52!important}body.dark .owner-approved strong{color:#a8efcb}
.sponsor-heading,.sponsor-group-head,.sponsor-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sponsor-heading h3{margin:6px 0}.sponsor-request-title{font-weight:800;color:var(--text)}.sponsor-group{border:1px solid var(--border);border-radius:17px;padding:16px;margin:18px 0;background:var(--stat)}.sponsor-group-head{align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:14px}.sponsor-group-head h4{font-size:18px;margin:0}.sponsor-group-head p{margin:5px 0 0;line-height:1.8;overflow-wrap:anywhere}.sponsor-count{font-size:12px;border:1px solid var(--border);border-radius:30px;padding:5px 12px;white-space:nowrap;background:var(--surface)}.sponsor-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--surface);margin:12px 0}.sponsor-card-head{background:transparent;color:var(--text);border:0;padding:0;margin-bottom:15px}.sponsor-card-head h4{margin:0;font-size:17px;overflow-wrap:anywhere}.sponsor-card-head button{font-size:12px}.sponsor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sponsor-fields>div{min-width:0}.sponsor-fields textarea{min-height:85px}.sponsor-empty{font-size:13px;text-align:center;padding:14px;line-height:1.9}.sponsor-state{font-size:12px;background:var(--stat);color:var(--text);padding:6px 10px;border-radius:30px}.sponsor-state.agreed{background:#e3f3e9;color:#176443}.sponsor-state.declined{background:#fce9e9;color:#a72f3f}.sponsor-contact{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.sponsor-detail-list{margin:0;display:grid;gap:13px}.sponsor-detail-list dt{font-size:12px;color:var(--muted);margin-bottom:4px}.sponsor-detail-list dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;color:var(--text)}.agreement-cell{white-space:pre-wrap;min-width:260px;max-width:420px;line-height:1.9;overflow-wrap:anywhere}body.dark .sponsor-state.agreed{background:#173d2f;color:#a9edc6}body.dark .sponsor-state.declined{background:#492932;color:#ffb7c2}button:disabled{cursor:default;opacity:.6}
@media(max-width:650px){.honor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px}.honor-card{padding:22px 12px;gap:13px;min-height:260px;border-radius:20px}.honor-card.podium-slot-0{grid-column:1/-1;order:0;min-height:290px}.honor-card.podium-slot-2{min-height:260px}.honor-laurel{width:78px;height:78px}.honor-person h3{font-size:19px}.honor-position{font-size:13px}.honor-score{padding:8px 14px;gap:6px}.honor-score strong{font-size:27px}.honor-list[data-count="2"]{grid-template-columns:1fr}.honor-list[data-count="2"] .podium-slot-1{min-height:250px}.sponsor-fields{grid-template-columns:minmax(0,1fr)}.sponsor-group{padding:12px}.sponsor-card{padding:12px}.points-event{padding:14px;gap:10px}.points-event-icon{width:34px;height:34px;font-size:22px}.points-event h4{font-size:16px}.points-delta{font-size:17px}.owner-approved{gap:12px}.owner-approved strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.honor-card{transition:none}}
