.portal-shell{max-width:860px;margin:auto;padding:24px 24px max(28px,env(safe-area-inset-bottom))}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:42px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:800;letter-spacing:1px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--green);border-radius:11px;color:white;font-size:21px}.brand-sub{font-size:12px;letter-spacing:0;font-weight:500;color:var(--muted);margin-left:8px}.login-wrap{max-width:440px;margin:55px auto 0}.login-wrap h1{font-size:42px;line-height:1.3;letter-spacing:-1.5px}.login-card{margin-top:32px}.login-card form{margin-top:26px}.login-caption{display:flex;justify-content:center;align-items:center;gap:13px;color:var(--muted);font-size:12px}.login-caption i{width:3px;height:3px;background:#a5b8ae;border-radius:50%}.welcome h1{font-size:36px}.welcome .subtitle{font-size:14px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.mode-card{border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;align-items:center;text-align:left;padding:22px 18px;color:var(--ink);gap:14px;min-height:110px;box-shadow:0 5px 20px #143f2d03}.mode-card[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white;box-shadow:0 8px 20px #143f2d1b}.mode-card[aria-pressed=true] small{color:#c5dbcd}.mode-card[aria-pressed=true] .mode-icon{background:#ffffff20;color:white}.mode-icon{display:grid;place-items:center;background:var(--soft);border-radius:13px;width:44px;height:44px;flex-shrink:0;font-size:29px;color:var(--green)}.mode-copy{flex:1}.mode-copy strong{display:block;font-size:19px;font-weight:750}.mode-copy small{font-size:11px;color:var(--muted);display:block;margin-top:5px;white-space:nowrap}.mode-arrow{font-size:20px}.activation-panel{padding:28px;border:1px solid #dfe8e3;background:white;border-radius:24px;margin-bottom:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.panel-heading h2{font-size:21px}.step-label{font-size:10px;letter-spacing:2px;color:#638775;display:block;margin-bottom:4px}.panel-heading .pill{font-size:11px;white-space:nowrap}.form-grid{display:grid;grid-template-columns:100px 1fr;gap:16px}.channel-link{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);border:1px solid #ccdcd2;border-radius:18px;background:#e3eee7;padding:18px 20px;margin:22px 0}.channel-link>span:nth-child(2){flex:1}.channel-link strong{font-size:16px;display:block}.channel-link small{display:block;font-size:12px;color:#6b8274;margin-top:3px}.channel-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b8cfc0;border-radius:11px;font-size:22px}.portal-history{margin-top:24px}.portal-history h2{font-size:19px}.filter-chips{display:flex;gap:8px;margin-top:20px;overflow:auto;padding:2px 0 5px}.chip{min-height:40px;border:0;border-radius:11px;background:#eef3ef;color:#708476;padding:8px 14px;font-size:13px;white-space:nowrap}.chip.selected{background:var(--green);color:white}.record-code{display:block;font-family:Consolas,ui-monospace,monospace;font-size:17px;letter-spacing:.6px;overflow-wrap:anywhere;margin:13px 0;color:var(--ink)}.record-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.record-actions button{min-height:42px;font-size:12px;padding:8px 14px}.danger-action{color:#9a5145}.portal-status{position:sticky;bottom:16px;border-radius:12px;background:#fff2e9;padding:12px 16px;box-shadow:0 5px 20px #143f2d0b;z-index:3}.portal-status:empty{display:none}.portal-footer{font-size:10px;letter-spacing:1.5px;margin-top:35px}.portal-footer span{display:block;font-size:11px;letter-spacing:0;margin-top:5px}.portal-shell .text-button{min-height:44px}.portal-shell input,.portal-shell select{font-size:16px}.portal-shell button:focus-visible,.portal-shell a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.channel-page .hero{margin-bottom:4px}.channel-page .admin-nav{min-height:44px;display:inline-flex;align-items:center}.channel-page .filter-row input{min-width:0}.channel-page .filter-field{min-width:0;flex-basis:calc(50% - 12px)}
@media(max-width:650px){.portal-shell{padding:20px 18px 30px}.portal-header{margin-bottom:34px}.welcome h1{font-size:31px}.mode-grid{gap:10px;margin:22px 0}.mode-card{display:block;position:relative;padding:17px 14px;min-height:153px;border-radius:18px}.mode-icon{width:37px;height:37px;font-size:25px;border-radius:10px;margin-bottom:14px}.mode-copy strong{font-size:18px}.mode-copy small{font-size:10px;letter-spacing:-.3px}.mode-arrow{position:absolute;right:14px;top:20px}.activation-panel{padding:23px 20px;border-radius:21px}.panel-heading h2{font-size:19px}.panel-heading .pill{font-size:10px;padding:5px 9px}.channel-link{padding:17px 16px}.portal-history{padding:22px 20px}.login-wrap{margin-top:50px}.login-wrap h1{font-size:38px}.channel-page .shell{padding-top:22px}.channel-page .hero{padding-bottom:12px}.channel-page .subtitle{font-size:14px}.channel-page .admin-grid{gap:16px}.channel-page .choice{font-size:13px}.channel-page .card{border-radius:21px}.channel-page .key-box{font-size:13px}}
@media(max-width:360px){.portal-shell{padding-left:14px;padding-right:14px}.mode-card{padding:15px 11px}.mode-copy small{font-size:9px}.brand-sub{margin-left:3px}.activation-panel{padding:21px 17px}.form-grid{grid-template-columns:80px 1fr;gap:12px}}

#online-grace-option label{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;margin:14px 0 20px;cursor:pointer}#online-grace{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:1px 0 0;accent-color:var(--green)}
