/* GMP149: the 90 percent bonus (2 free weeks): the Today block, the register scores, the student's card, the parent's card. Tokens of gmp-portal.css where they exist. */
.d149{margin:0 0 18px;font-family:inherit}
.d149 .d149-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.d149 .d149-head h2{margin:0;font-size:1.35rem;color:#0B3C49}
.d149-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}
.d149-tile{background:#fff;border:1px solid #D5E3E7;border-radius:12px;padding:12px 14px;min-width:0}
.d149-tile b{display:block;font-size:1.5rem;line-height:1.1;color:#0B3C49}
.d149-tile span{display:block;color:#5C6685;font-size:.82rem;margin-top:4px;overflow-wrap:anywhere}
.d149-tile.hot{background:#FFF7E6;border-color:#E0A72E}
.d149-alerts{margin:0 0 10px}
.d149-alert{display:flex;gap:12px;align-items:flex-start;background:#FFFDF7;border:2px solid #E0A72E;border-radius:12px;padding:12px 14px;margin:0 0 10px;flex-wrap:wrap}
.d149-alert[data-d149-state="approved"]{border-color:#1E7F4F;background:#F2FBF6}
.d149-alert[data-d149-state="declined"]{border-color:#D5E3E7;background:#F7FAFB;opacity:.85}
.d149-gift{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#FFF1D1;color:#B47A00;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.d149-at{flex:1 1 320px;min-width:0}
.d149-at p{margin:0 0 4px}
.d149-at p.sub{color:#5C6685}
.d149-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.d149-acts .pt-btn{min-height:40px}
.d149-acts .pt-btn.quiet{background:#fff;border:1px solid #D5E3E7;color:#0B3C49}
.d149-decl input{min-height:40px;padding:6px 10px;border:1px solid #D5E3E7;border-radius:8px;min-width:220px;font:inherit}
.d149-msg{min-height:1em;margin:6px 0 0}
.d149-msg.ok{color:#1E7F4F}
.d149-msg.bad{color:#B3261E}
.d149-close,.d149-rate{display:flex;gap:8px;align-items:flex-start;margin:0 0 8px;padding:10px 14px;background:#fff;border:1px solid #D5E3E7;border-radius:10px}
.d149-close i,.d149-rate i{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#E0A72E;margin-top:6px}
.d149-rate i{background:#2E6FD8}
.d149-tablebox{background:#fff;border:1px solid #D5E3E7;border-radius:12px;padding:12px 14px;margin:8px 0;overflow-x:auto}
.d149-th{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.d149-th h3{margin:0;font-size:1.05rem;color:#0B3C49}
.d149-table{width:100%;border-collapse:collapse;font-size:.92rem}
.d149-table th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#5C6685;padding:8px 10px 8px 0;border-bottom:1px solid #D5E3E7;white-space:nowrap}
.d149-table td{padding:10px 10px 10px 0;border-bottom:1px solid #EEF3F5;vertical-align:top}
.d149-table td small{display:block;color:#5C6685;font-size:.78rem;margin-top:2px}
.d149-table td small.d149-in{display:inline;margin:0 0 0 2px}
.d149-table a.ui-name{color:#0B3C49;font-weight:600;text-decoration:none}
.d149-n b{font-weight:700;color:#B47A00}
.d149-n.ok b{color:#1E7F4F}
.d149-n.grey b{color:#5C6685;font-weight:600}
.d149-unr{color:#2E6FD8 !important}
.d149-days{display:flex;gap:2px;align-items:flex-end;height:18px;margin:4px 0 2px}
.d149-days i{display:block;width:7px;background:#D5E3E7;border-radius:2px 2px 0 0;min-height:2px}
.d149-days i.on{background:#0B3C49}
.d149-segs{display:inline-flex;gap:3px;margin:0 0 4px}
.d149-segs i{display:block;width:22px;height:8px;border-radius:4px;background:#E3E9EC}
.d149-segs i.ok{background:#1E7F4F}
.d149-bonus{display:block;font-size:.86rem;color:#2B3A4A}
.d149-pill{display:inline-block;padding:2px 10px;border-radius:999px;background:#E3E9EC;font-size:.8rem}
.d149-pill.ok{background:#DDF3E6;color:#1E7F4F;font-weight:600}
.d149-defs{color:#5C6685;font-size:.84rem;line-height:1.5;margin:8px 0 0}
.d149-approve{margin:0 0 14px}
.d149-h4{margin:8px 0;font-size:1rem;color:#0B3C49}
@media (max-width:900px){.d149-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.d149-tile:last-child{grid-column:span 2}}
/* the register (R10) */
.eng149{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:10px}
.eng149-btns{display:inline-flex;gap:6px}
.eng149-b{min-width:40px;min-height:40px;border-radius:50%;border:1px solid #B8C4D2;background:#fff;color:#0B3C49;font:inherit;font-weight:700;cursor:pointer}
.eng149-b.on{background:#0B3C49;color:#fff;border-color:#0B3C49}
.eng149-b.new{box-shadow:0 0 0 3px #FFE3A3}
.eng149-w{color:#5C6685;font-size:.86rem;min-width:7em}
.eng149-no{color:#8A97A3;font-size:.86rem;margin-left:10px}
.eng149-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 4px;padding-top:10px;border-top:1px solid #EEF3F5}
.eng149-n{color:#5C6685;font-size:.9rem}
.eng149-guide{background:#fff;border:1px solid #D5E3E7;border-radius:12px;padding:12px 14px;margin:10px 0 0;max-width:420px}
.eng149-guide h4{margin:0 0 8px;font-size:1rem;color:#0B3C49}
.eng149-g{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-top:1px solid #EEF3F5}
.eng149-g i{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#E3F0F2;color:#0B3C49;font-style:normal;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.86rem}
.eng149-g span{font-size:.9rem;line-height:1.4}
/* the student's card (R06) and the parent's */
.hm-bonus,.pg-bonus,.bn-parent{margin:0 0 16px}
.bn-card{background:linear-gradient(135deg,#0B3C49,#13596C);color:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 10px 30px rgba(11,60,73,.18)}
.bn-card .bn-kicker{display:block;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#FFC94D;font-weight:700}
.bn-card h3{margin:4px 0 6px;font-size:1.35rem;line-height:1.2;color:#fff}
.bn-card p{margin:0 0 10px;color:rgba(255,255,255,.86);line-height:1.45}
.bn-card p.bn-ready{color:#FFC94D;font-weight:600}
.bn-rows{display:flex;flex-direction:column;gap:12px;margin:12px 0 10px}
.bn-row{display:grid;grid-template-columns:minmax(7em,1.2fr) 3fr auto;gap:12px;align-items:center}
.bn-k{color:#fff}
.bn-bar{position:relative;height:10px;background:rgba(255,255,255,.18);border-radius:999px;display:block;overflow:visible}
.bn-fill{position:absolute;left:0;top:0;bottom:0;background:#FFAD1F;border-radius:999px;width:0}
.bn-fill.ok{background:#4CD18B}
.bn-90{position:absolute;left:90%;top:-5px;width:2px;height:20px;background:#fff;border-radius:1px}
.bn-v{text-align:right;min-width:6em}
.bn-v b{display:block;font-size:1.05rem}
.bn-v small{display:block;color:rgba(255,255,255,.8);font-size:.78rem;white-space:nowrap}
.bn-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.25);padding-top:10px;font-size:.86rem;color:rgba(255,255,255,.9)}
.bn-legend{color:rgba(255,255,255,.7)}
.bn-card.bn-earned{background:#fff;color:#0B3C49;border:2px solid #1E7F4F;box-shadow:none}
.bn-card.bn-earned .bn-kicker{color:#1E7F4F}
.bn-card.bn-earned h3{color:#0B3C49}
.bn-card.bn-earned p{color:#2B3A4A}
.bn-profile h3{margin:0 0 8px}
.bn-plist{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.bn-chip{display:inline-block;padding:4px 12px;border-radius:999px;background:#DDF3E6;color:#1E7F4F;font-weight:600;font-size:.9rem}
@media (max-width:600px){.bn-row{grid-template-columns:1fr auto;grid-template-areas:"k v" "bar bar"}.bn-k{grid-area:k}.bn-bar{grid-area:bar}.bn-v{grid-area:v;text-align:right}.bn-v small{white-space:normal}}
