:root{color:#243036;background:#fff6df;font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,Yu Gothic UI,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:linear-gradient(180deg,#fff9e8,#e8f8ff 52%,#fff1f6)}button,input,select{font:inherit}button{min-width:0}.page-shell{width:min(1040px,calc(100% - 28px));margin:0 auto;padding:28px 0}.hero{display:grid;gap:14px;padding:26px;border:2px solid #ffd166;border-radius:8px;background:#fff;box-shadow:0 16px 42px #ff7e5f29}.school,.eyebrow{margin:0;color:#1a8a9e;font-weight:700}h1,h2,h3{margin:0;letter-spacing:0}h1{color:#ff6b6b;font-size:36px;line-height:1.25}h2{color:#243036;font-size:28px;line-height:1.3}h3{color:#243036;font-size:20px;line-height:1.35}.step-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.step-meter span{display:grid;min-height:42px;place-items:center;border:2px solid #b8e7f2;border-radius:8px;background:#f4fcff;color:#48717a;font-weight:700}.step-meter span.active{border-color:#ff9f1c;background:#ffbf69;color:#243036}.selection-page,.confirm-page{display:grid;gap:18px;padding-top:22px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.total-badge{display:grid;min-width:190px;gap:2px;padding:12px 16px;border:2px solid #7bdff2;border-radius:8px;background:#fff;text-align:right;box-shadow:0 10px 28px #4cc9f029}.total-badge span{color:#48717a;font-size:14px;font-weight:700}.total-badge strong{color:#ff6b6b;font-size:26px;line-height:1.2}.product-list,.bundle-section,.single-products{display:grid;gap:12px}.image-disclaimer{margin:0;padding:10px 14px;border-left:4px solid #4dabf7;border-radius:4px;background:#eef9ff;color:#37596b;font-size:14px;line-height:1.6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.section-heading>div{display:grid;gap:3px}.section-heading>span{padding:6px 10px;border-radius:999px;background:#ffefb0;color:#7d5200;font-size:13px;font-weight:700}.bundle-list{display:grid;gap:12px}.bundle-row{display:grid;grid-template-columns:34px 116px minmax(0,1fr) 130px 96px;gap:14px;align-items:center;padding:16px;border:2px solid #ffd166;border-radius:8px;background:#fffdf5;box-shadow:0 10px 24px #ff9f1c1a;transition:background .16s ease,border-color .16s ease,transform .16s ease}.bundle-row:hover,.bundle-row.selected{border-color:#ff9f1c;background:#fff6dc}.bundle-row.partial{border-style:dashed}.bundle-row:hover{transform:translateY(-1px)}.bundle-row input[type=checkbox]{width:28px;height:28px;accent-color:#ff9f1c;cursor:pointer}.bundle-image{width:116px;height:116px;object-fit:contain;border-radius:4px;filter:drop-shadow(0 4px 5px rgb(31 88 103 / 12%))}.bundle-main{display:grid;min-width:0;gap:5px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.bundle-title{color:#243036;font-size:19px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.bundle-guidance{color:#a15c00;font-size:13px;font-weight:500}.bundle-items{color:#53727a;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.product-row{display:grid;grid-template-columns:34px minmax(0,1fr) 130px 96px;gap:14px;align-items:center;padding:16px;border:2px solid #d6f2f7;border-radius:8px;background:#fff;transition:background .16s ease,border-color .16s ease,transform .16s ease}.product-row.has-image{grid-template-columns:34px 92px minmax(0,1fr) 130px 96px}.product-image{width:92px;height:128px;object-fit:contain;border-radius:4px;filter:drop-shadow(0 4px 5px rgb(31 88 103 / 14%))}.product-row:hover,.product-row.selected{border-color:#ffbf69;background:#fff8e8}.product-row:hover{transform:translateY(-1px)}.product-row input[type=checkbox]{width:28px;height:28px;accent-color:#ff9f1c;cursor:pointer}.product-main{display:grid;min-width:0;gap:5px;border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer}.product-name{color:#243036;font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.product-note{color:#a15c00;font-size:13px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}.price{justify-self:end;color:#ff6b6b;font-size:18px;font-weight:700;white-space:nowrap}.grade-picker{display:grid;gap:4px;color:#53727a;font-size:13px;font-weight:500}.grade-picker select{width:100%;min-height:40px;border:2px solid #b8e7f2;border-radius:8px;background:#fff;color:#243036;padding:0 10px;cursor:pointer}.confirm-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.selected-list,.payment-panel,.warning,.empty-state{border-radius:8px;background:#fff}.selected-list,.payment-panel{border:2px solid #d6f2f7}.selected-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid #e8f4f6}.selected-row:last-child{border-bottom:0}.selected-row div{display:grid;gap:4px;min-width:0}.selected-row strong,.selected-row span{overflow-wrap:anywhere}.selected-row strong{color:#243036;font-size:17px}.selected-row span{color:#53727a;font-size:14px;font-weight:500}.selected-row b{color:#ff6b6b;white-space:nowrap}.payment-panel{display:grid;gap:14px;padding:18px}.warning{margin:0;padding:14px 16px;border:2px solid #ffd166;color:#7d5200;font-weight:700;line-height:1.75}.fee-notes{display:grid;gap:6px;color:#7d5200;font-size:13px;font-weight:500;line-height:1.65}.fee-notes p{margin:0}.method-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.method-switch button,.primary-button,.secondary-button{min-height:48px;border-radius:8px;cursor:pointer;font-weight:700}.method-switch button{border:2px solid #7bdff2;background:#fff;color:#1a8a9e}.method-switch button.active{border-color:#ff9f1c;background:#ffbf69;color:#243036}.totals{display:grid;gap:12px;margin:0}.totals div{display:flex;justify-content:space-between;gap:16px}.totals dt,.totals dd{margin:0}.totals dd{font-weight:700}.grand-total{border-top:2px dashed #ffd166;padding-top:14px;color:#ff6b6b;font-size:20px;font-weight:700}.step-actions{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;padding-top:4px}.primary-button,.secondary-button{border:2px solid transparent}.primary-button{background:#ff9f1c;color:#243036}.secondary-button{background:#fff;border-color:#7bdff2;color:#1a8a9e}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.order-error{margin:0;padding:12px 14px;border:2px solid #ff8a7a;border-radius:8px;background:#fff1ee;color:#8b2c21;font-weight:700;line-height:1.6}.empty-state{margin:0;padding:22px;border:2px dashed #7bdff2;color:#53727a;font-weight:700;text-align:center}@media (max-width: 820px){.page-shell{width:min(100% - 20px,1040px);padding:18px 0}.hero{padding:18px}h1{font-size:30px}h2{font-size:24px}.page-heading,.selected-row{align-items:stretch;flex-direction:column}.total-badge{min-width:0;text-align:left}.step-meter{grid-template-columns:repeat(2,minmax(0,1fr))}.product-row{grid-template-columns:34px minmax(0,1fr)}.product-row.has-image{grid-template-columns:34px 70px minmax(0,1fr);gap:10px}.bundle-row{grid-template-columns:34px 76px minmax(0,1fr);gap:10px}.bundle-image{width:76px;height:76px}.bundle-row .grade-picker,.bundle-row .price{grid-column:3}.product-image{width:70px;height:98px}.product-row.has-image .grade-picker,.product-row.has-image .price{grid-column:3}.grade-picker,.price{grid-column:2}.price{justify-self:start}.confirm-layout,.step-actions{grid-template-columns:1fr}}
