:root{--ink:#173e36;--muted:#65756e;--paper:#f6f5f0;--line:#dfe4dc;--gold:#ad8650;--light:#e9efdf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Inter,'Segoe UI',sans-serif}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.2}h1{font-size:clamp(32px,5vw,50px);margin:12px 0 20px}h2{font-size:27px;margin:0 0 16px}h3{font-size:15px}p{color:var(--muted)}button,a,input{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:12px 19px;background:white;color:var(--ink);text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--ink);color:white;border-color:var(--ink)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.portal-header{display:flex;align-items:center;gap:24px;padding:22px max(20px,calc((100vw - 1100px)/2));border-bottom:1px solid var(--line);background:white}.portal-header img{width:165px;height:60px;object-fit:contain}.portal-header span{font-size:10px;letter-spacing:2px;margin-left:auto;color:var(--muted)}main{max-width:1100px;margin:auto;padding:45px 22px}.eyebrow{letter-spacing:2px;font-size:11px;color:var(--gold)}.welcome{padding:18px 0 28px}.muted,small{color:var(--muted)}.card{padding:28px;border:1px solid var(--line);border-radius:14px;background:white;margin:20px 0}.login{max-width:900px;margin:20px auto;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:white}.login-copy{padding:42px;background:var(--ink);color:white;display:flex;flex-direction:column;justify-content:center}.login-copy p{color:#cfdbd0}.login-form{padding:36px}.login-form label{display:block;font-size:13px;margin:14px 0 5px}.login-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px}.login-form button{margin-top:18px}.login-form .primary{width:100%}.text-button{padding:5px 0;border:0;background:none;text-decoration:underline}.notice{padding:14px 17px;border-radius:8px;background:var(--light);color:var(--ink);white-space:pre-wrap}.error{background:#f8e9e6;color:#822f24}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{padding:22px;background:var(--light);border-radius:12px}.stat small{display:block}.stat strong{display:block;font-size:25px;margin-top:5px}.tabs{display:flex;gap:9px;overflow-x:auto;padding:8px 0}.tabs button{white-space:nowrap}.tabs [aria-current]{background:var(--ink);color:white}.event-choice{width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:white}.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.facts b{display:block}.item,.delivery{padding:16px 0;border-bottom:1px solid var(--line)}.item:last-child,.delivery:last-child{border:0}.item p{margin:4px 0;white-space:pre-wrap}.delivery{display:flex;gap:14px}.check{background:var(--light);border-radius:50%;width:28px;height:28px;flex-shrink:0;text-align:center}.done .check{background:var(--ink);color:white}.delivery small{display:block}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}td,th{padding:13px 8px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}.contract{overflow-wrap:anywhere}.contract p{white-space:pre-wrap}.empty{padding:20px;color:var(--muted)}footer{text-align:center;color:var(--muted);padding:35px 20px;border-top:1px solid var(--line);font-family:Georgia,serif}footer small{font:11px Inter,sans-serif}.contract h2{font-size:25px}.updated{font-size:12px}.portal-message{white-space:pre-wrap}@media(max-width:650px){main{padding:24px 16px}.login{grid-template-columns:1fr}.login-copy,.login-form{padding:25px}.login-copy h1{font-size:32px}.stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between;padding:15px}.stat strong{margin:0;font-size:23px}.facts{grid-template-columns:1fr}.card{padding:21px}.portal-header{gap:12px;padding:15px}.portal-header img{width:125px}.portal-header span{font-size:9px;letter-spacing:1px}}@media print{.portal-header,.tabs,.event-choice,#logout,footer,button{display:none!important}main{padding:0;max-width:none}.card{border:0}body{background:white}}
:root [hidden]{display:none!important}.portal-header img{filter:brightness(0);opacity:.8}

.portal-video{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;margin:20px 0}.portal-media-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.expiry-urgent{background:#fff2df;border:1px solid #e7ba78;color:#704314}.stats strong{overflow-wrap:anywhere}
